1 diff -u -p -r1.1 div64.c
2 --- linux.org/lib/div64.c 29 Jul 2003 17:02:19 -0000 1.1
3 +++ linux/lib/div64.c 24 Oct 2003 04:10:59 -0000
6 uint32_t __div64_32(uint64_t *n, uint32_t base)
8 - uint32_t low, low2, high, rem;
11 + uint64_t res = 0, d = 1;
13 - low = *n & 0xffffffff;
15 - rem = high % (uint32_t)base;
16 - high = high / (uint32_t)base;
19 - rem = low2 % (uint32_t)base;
20 - low2 = low2 / (uint32_t)base;
23 - rem = low % (uint32_t)base;
24 - low = low / (uint32_t)base;
33 - ((uint64_t)low2 << 16) +
34 - ((uint64_t)high << 32);