POK
Main Page
Classes
Files
File List
File Members
__udivdi3.c
1
/*
2
* POK header
3
*
4
* The following file is a part of the POK project. Any modification should
5
* made according to the POK licence. You CANNOT use this file or a part of
6
* this file is this part of a file for your own project
7
*
8
* For more information on the POK licence, please see our LICENCE FILE
9
*
10
* Please follow the coding guidelines described in doc/CODING_GUIDELINES
11
*
12
* Copyright (c) 2007-2009 POK team
13
*
14
* Created by julien on Thu Jan 15 23:34:13 2009
15
*/
16
17
#include <core/dependencies.h>
18
19
#ifdef POK_CONFIG_NEEDS_FUNC_UDIVDI3
20
21
unsigned
long
long
__udivdi3(
unsigned
long
long
num,
22
unsigned
long
long
den)
23
{
24
unsigned
long
long
quot = 0, qbit = 1;
25
26
if
(den == 0)
27
return
0;
28
29
while
((
long
long
) den >= 0)
30
{
31
den <<= 1;
32
qbit <<= 1;
33
}
34
35
while
(qbit)
36
{
37
if
(den <= num)
38
{
39
num -= den;
40
quot += qbit;
41
}
42
den >>= 1;
43
qbit >>= 1;
44
}
45
46
return
quot;
47
}
48
#endif
49
libpok
libc
misc
__udivdi3.c
Generated on Fri Jun 1 2012 19:07:13 for POK by
1.8.1