Root/
Source at commit 1793 created 12 years 5 months ago. By blackosx, Attempt to overcome issue 211 by revising the code to remove all package .svn files before function makeSubstitutions() is called. The line it replaces should work but I can't figure out why it doesn't... | |
---|---|
1 | #include "libsaio.h"␊ |
2 | ␊ |
3 | extern void __divide_error();␊ |
4 | ␊ |
5 | uint64_t __udivmoddi4(uint64_t num, uint64_t den, uint64_t * rem_p)␊ |
6 | {␊ |
7 | ␉uint64_t quot = 0, qbit = 1;␊ |
8 | ␊ |
9 | ␉if (den == 0) {␊ |
10 | ␉␉__divide_error();␊ |
11 | ␉␉return 0;␉/* If trap returns... */␊ |
12 | ␉}␊ |
13 | ␊ |
14 | ␉/* Left-justify denominator and count shift */␊ |
15 | ␉while ((int64_t) den >= 0) {␊ |
16 | ␉␉den <<= 1;␊ |
17 | ␉␉qbit <<= 1;␊ |
18 | ␉}␊ |
19 | ␊ |
20 | ␉while (qbit) {␊ |
21 | ␉␉if (den <= num) {␊ |
22 | ␉␉␉num -= den;␊ |
23 | ␉␉␉quot += qbit;␊ |
24 | ␉␉}␊ |
25 | ␉␉den >>= 1;␊ |
26 | ␉␉qbit >>= 1;␊ |
27 | ␉}␊ |
28 | ␊ |
29 | ␉if (rem_p)␊ |
30 | ␉␉*rem_p = num;␊ |
31 | ␊ |
32 | ␉return quot;␊ |
33 | }␊ |
34 |