home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / vbcc / machines / amiga68k / libsrc / _lmods.c < prev    next >
Encoding:
Text File  |  1998-06-24  |  351 b   |  17 lines

  1. long _lmods(long z,long n)
  2. {
  3.     unsigned long t=1,uz,un;int s=0;
  4.     if(!n) return(0);
  5.     if(z>=0) uz=z; else {uz=-z;s=1;}
  6.     if(n>=0) un=n; else un=-n;
  7.     while(un<=0xffffffff/2&&un<=uz/2){
  8.         un*=2;t++;
  9.     }
  10.     while(t){
  11.         if(uz>=un){ uz-=un;}
  12.         t--;
  13.         un/=2;
  14.     }
  15.     if(s) return(-(long)uz); else return((long)uz);
  16. }
  17.