/* | |
* libgcc/__divsi3.c | |
*/ | |
#include <stdint.h> | |
#include <stddef.h> | |
extern uint32_t __udivmodsi4(uint32_t num, uint32_t den, uint32_t * rem); | |
int32_t __divsi3(int32_t num, int32_t den) | |
{ | |
int minus = 0; | |
int32_t v; | |
if (num < 0) { | |
num = -num; | |
minus = 1; | |
} | |
if (den < 0) { | |
den = -den; | |
minus ^= 1; | |
} | |
v = __udivmodsi4(num, den, NULL); | |
if (minus) | |
v = -v; | |
return v; | |
} |