home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / vbcc / machines / amiga68k / libsrc / _ldivs.c < prev    next >
Encoding:
Text File  |  1997-12-30  |  373 b   |  18 lines

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