Chameleon

Chameleon Svn Source Tree

Root/branches/Chimera/i386/modules/klibc/__divsi3.c

1/*
2 * libgcc/__divsi3.c
3 */
4
5#include <stdint.h>
6#include <stddef.h>
7
8extern uint32_t __udivmodsi4(uint32_t num, uint32_t den, uint32_t * rem);
9
10int32_t __divsi3(int32_t num, int32_t den)
11{
12int minus = 0;
13int32_t v;
14
15if (num < 0) {
16num = -num;
17minus = 1;
18}
19if (den < 0) {
20den = -den;
21minus ^= 1;
22}
23
24v = __udivmodsi4(num, den, NULL);
25if (minus)
26v = -v;
27
28return v;
29}
30

Archive Download this file

Revision: 850