Mercurial > hg > CbC > CbC_gcc
view gcc/config/udivmodsi4.c @ 8:5066dc73ff8f
xxx
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 20 Aug 2009 19:10:35 +0900 |
parents | a06113de4d67 |
children | 77e2b8dfacca |
line wrap: on
line source
unsigned long udivmodsi4(unsigned long num, unsigned long den, int modwanted) { unsigned long bit = 1; unsigned long res = 0; while (den < num && bit && !(den & (1L<<31))) { den <<=1; bit <<=1; } while (bit) { if (num >= den) { num -= den; res |= bit; } bit >>=1; den >>=1; } if (modwanted) return num; return res; }