Fast Functions
// ( c ) 2005 Andrew Cross
static int int_max(int a, int b)
{
b = a-b;
a -= b & (b>>31);
return a;
}
static int int_min(int a, int b)
{
b = b-a;
a += b & (b>>31);
return a;
}
static int int_abs(int a)
{
return a - ((a+a) & (a>>31));
}
ULONG fsqrt(register ULONG r)
{
register ULONG t,b,c=0;
for (b=0x10000000;b!=0;b>>=2)
{
t=c+b;
c>>=1;
if (t<=r)
{
r-=t;
c+=b;
}
}
return(c);
}
|