OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [gcc/] [config/] [scarts16/] [udivdi.c] - Blame information for rev 12

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 12 jlechner
unsigned long long __udivdi3(unsigned long long a, unsigned long long b)
2
{
3
  long long result;
4
  long long t;
5
 
6
  if (b == 0)
7
    return a;
8
  if (a == 0)
9
    return a;
10
 
11
  t = b;
12
  while ((long long)b > 0)
13
    b <<= 1;
14
 
15
  result = 0;
16
  while (b >= t)
17
    {
18
      result <<= 1;
19
      if (b <= a)
20
        {
21
          a -= b;
22
          result += 1;
23
        }
24
      b >>= 1;
25
    }
26
 
27
  return result;
28
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.