date and time created 83/01/21 11:16:34 by dlw
[unix-history] / usr / src / usr.bin / f77 / libF77 / pow_di.c
/*
* "@(#)pow_di.c 1.1"
*/
double pow_di(ap, bp)
double *ap;
long int *bp;
{
double pow, x;
long int n;
pow = 1;
x = *ap;
n = *bp;
if(n != 0)
{
if(n < 0)
{
if(x == 0)
{
return(pow);
}
n = -n;
x = 1/x;
}
for( ; ; )
{
if(n & 01)
pow *= x;
if(n >>= 1)
x *= x;
else
break;
}
}
return(pow);
}