diff options
author | paul <nintendo6496@googlemail.com> | 2018-10-21 17:10:02 +0200 |
---|---|---|
committer | paul <nintendo6496@googlemail.com> | 2018-10-21 17:10:02 +0200 |
commit | 092462d83dcbbacf21c03252d760732617d45da5 (patch) | |
tree | 19e8620b02fccaa9f5c4b9693d2103761e438959 /src/math_util.c | |
parent | e396bcdb7229645f4a4893b8e3c1d364a0e7930c (diff) | |
parent | 26ca9acfa5858f1caaa67f2a5e0509a6b47ee644 (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/math_util.c')
-rw-r--r-- | src/math_util.c | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/math_util.c b/src/math_util.c new file mode 100644 index 000000000..466a31921 --- /dev/null +++ b/src/math_util.c @@ -0,0 +1,86 @@ +#include "global.h" + +s16 sub_80D8AA0(s16 x, s16 y) +{ + s32 result; + + result = x; + result *= y; + result /= 256; + return result; +} + +s16 sub_80D8ABC(u8 s, s16 x, s16 y) +{ + s32 result; + + result = x; + result *= y; + result /= (1 << s); + return result; +} + +s32 sub_80D8AE0(s32 x, s32 y) +{ + s64 result; + + result = x; + result *= y; + result /= 256; + return result; +} + +s16 sub_80D8B1C(s16 x, s16 y) +{ + if (y == 0) + { + return 0; + } + return (x << 8) / y; +} + +s16 sub_80D8B40(u8 s, s16 x, s16 y) +{ + if (y == 0) + { + return 0; + } + return (x << s) / y; +} + +s32 sub_80D8B68(s32 x, s32 y) +{ + s64 _x; + + if (y == 0) + { + return 0; + } + _x = x; + _x *= 256; + return _x / y; +} + +s16 sub_80D8B90(s16 y) +{ + s32 x; + + x = 0x10000; + return x / y; +} + +s16 sub_80D8BA8(u8 s, s16 y) +{ + s32 x; + + x = 0x100 << s; + return x / y; +} + +s32 sub_80D8BC8(s32 y) +{ + s64 x; + + x = 0x10000; + return x / y; +} |