12345678910111213141516171819202122232425 |
- #include "libgcc.h"
-
- __libgcc int64_t __divmoddi4(int64_t num, int64_t den, int64 *rem_p)
- {
- int minus = 0;
- int64_t v;
-
- if ( num < 0 ) {
- num = -num;
- minus = 1;
- }
- if ( den < 0 ) {
- den = -den;
- minus ^= 1;
- }
-
- v = __udivmoddi4(num, den, (uint64_t *)rem_p);
- if ( minus ) {
- v = -v;
- if ( rem_p )
- *rem_p = -(*rem_p);
- }
-
- return v;
- }
|