Bell 32V development
[unix-history] / usr / src / libF77 / pow_ri.c
CommitLineData
0c9e74ab
TL
1float pow_ri(ap, bp)
2float *ap;
3long int *bp;
4{
5double pow, x;
6long int n;
7
8pow = 1;
9x = *ap;
10n = *bp;
11
12if(n != 0)
13 {
14 if(n < 0)
15 {
16 if(x == 0)
17 {
18 return(pow);
19 }
20 n = -n;
21 x = 1/x;
22 }
23 for( ; ; )
24 {
25 if(n & 01)
26 pow *= x;
27 if(n >>= 1)
28 x *= x;
29 else
30 break;
31 }
32 }
33return(pow);
34}