Mercurial > hg > CbC > CbC_gcc
view gcc/config/udivmodsi4.c @ 12:ab98828ce7a7
refactor cbc_finish_labeled_goto, cbc_finish_nested_function.
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 11 Sep 2009 14:52:24 +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; }