]> CyberLeo.Net >> Repos - FreeBSD/releng/8.1.git/blob - contrib/libf2c/libF77/pow_ri.c
Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.
[FreeBSD/releng/8.1.git] / contrib / libf2c / libF77 / pow_ri.c
1 #include "f2c.h"
2
3 double
4 pow_ri (real * ap, integer * bp)
5 {
6   double pow, x;
7   integer n;
8   unsigned long u;
9
10   pow = 1;
11   x = *ap;
12   n = *bp;
13
14   if (n != 0)
15     {
16       if (n < 0)
17         {
18           n = -n;
19           x = 1 / x;
20         }
21       for (u = n;;)
22         {
23           if (u & 01)
24             pow *= x;
25           if (u >>= 1)
26             x *= x;
27           else
28             break;
29         }
30     }
31   return (pow);
32 }