update for tahoe
[unix-history] / usr / src / usr.bin / f77 / libF77 / pow_ri.c
/*
* Copyright (c) 1980 Regents of the University of California.
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
* @(#)pow_ri.c 5.3 %G%
*/
float pow_ri(ap, bp)
float *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;
}
if (x == 0)
return(0);
for( ; ; )
{
if(n & 01)
pow *= x;
if(n >>= 1)
x *= x;
else
break;
}
}
return(pow);
}