diff options
| author | Lucas Shaw <49287729+shawlucas@users.noreply.github.com> | 2021-01-31 11:27:50 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-31 13:27:50 -0500 |
| commit | 6fd644dff5b1aafbeb573ca5798046c1780bb5b1 (patch) | |
| tree | 4d50cd5a3f2eeccff57afcea401aa8978268430b /src | |
| parent | 8e8421fdecaf56f7a777ac4bc996babdebced564 (diff) | |
libm.s -> ll.c (#661)
* .
* remove tools/ZAP2 from origin master
* libm.s -> ll.c
* fix progress.py (i think?)
Diffstat (limited to 'src')
| -rw-r--r-- | src/libultra_boot_O1/ll.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/libultra_boot_O1/ll.c b/src/libultra_boot_O1/ll.c new file mode 100644 index 000000000..9d87204d1 --- /dev/null +++ b/src/libultra_boot_O1/ll.c @@ -0,0 +1,47 @@ +#include "global.h" + +s64 __ull_rshift(u64 l, s64 r) { + return l >> r; +} + +u64 __ull_rem(u64 l, u64 r) { + return l % r; +} + +u64 __ull_div(u64 l, u64 r) { + return l / r; +} + +s64 __ll_lshift(s64 l, s64 r) { + return l << r; +} + +s64 __ll_rem(s64 l, u64 r) { + return l % r; +} + +s64 __ll_div(s64 l, s64 r) { + return l / r; +} + +s64 __ll_mul(s64 l, s64 r) { + return l * r; +} + +void __ull_divremi(u64* quotient, u64* remainder, u64 dividend, u16 divisor) { + *quotient = dividend / divisor; + *remainder = dividend % divisor; +} + +s64 __ll_mod(s64 l, s64 r) { + s64 remainder = l % r; + + if (((remainder < 0) && (r > 0)) || ((remainder > 0) && (r < 0))) { + remainder += r; + } + return remainder; +} + +s64 __ll_rshift(s64 l, s64 r) { + return l >> r; +} |
