Chameleon

Chameleon Svn Source Tree

Root/branches/slice/i386/modules/klibc/__divdi3.c

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

Archive Download this file

Revision: 676