git.samba.org
/
sfrench
/
cifs-2.6.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Merge git://git.infradead.org/mtd-2.6
[sfrench/cifs-2.6.git]
/
arch
/
parisc
/
lib
/
libgcc
/
__udivmodsi4.c
1
#include "libgcc.h"
2
3
u32 __udivmodsi4(u32 num, u32 den, u32 * rem_p)
4
{
5
u32 quot = 0, qbit = 1;
6
7
if (den == 0) {
8
BUG();
9
}
10
11
/* Left-justify denominator and count shift */
12
while ((s32) den >= 0) {
13
den <<= 1;
14
qbit <<= 1;
15
}
16
17
while (qbit) {
18
if (den <= num) {
19
num -= den;
20
quot += qbit;
21
}
22
den >>= 1;
23
qbit >>= 1;
24
}
25
26
if (rem_p)
27
*rem_p = num;
28
29
return quot;
30
}
31
EXPORT_SYMBOL(__udivmodsi4);