Chameleon

Chameleon Svn Source Tree

Root/branches/mozodojo/i386/modules/klibc/__moddi3.c

1/*
2 * arch/i386/libgcc/__moddi3.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 __moddi3(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
24(void)__udivmoddi4(num, den, (uint64_t *) & v);
25if (minus)
26v = -v;
27
28return v;
29}
30

Archive Download this file

Revision: 1232