You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

__divmoddi4.c 373B

12345678910111213141516171819202122232425
  1. #include "libgcc.h"
  2. __libgcc int64_t __divmoddi4(int64_t num, int64_t den, int64 *rem_p)
  3. {
  4. int minus = 0;
  5. int64_t v;
  6. if ( num < 0 ) {
  7. num = -num;
  8. minus = 1;
  9. }
  10. if ( den < 0 ) {
  11. den = -den;
  12. minus ^= 1;
  13. }
  14. v = __udivmoddi4(num, den, (uint64_t *)rem_p);
  15. if ( minus ) {
  16. v = -v;
  17. if ( rem_p )
  18. *rem_p = -(*rem_p);
  19. }
  20. return v;
  21. }