date and time created 83/01/21 11:16:34 by dlw
authorDavid Wasley <dlw@ucbvax.Berkeley.EDU>
Sat, 22 Jan 1983 03:16:34 +0000 (19:16 -0800)
committerDavid Wasley <dlw@ucbvax.Berkeley.EDU>
Sat, 22 Jan 1983 03:16:34 +0000 (19:16 -0800)
SCCS-vsn: usr.bin/f77/libF77/pow_di.c 1.1

usr/src/usr.bin/f77/libF77/pow_di.c [new file with mode: 0644]

diff --git a/usr/src/usr.bin/f77/libF77/pow_di.c b/usr/src/usr.bin/f77/libF77/pow_di.c
new file mode 100644 (file)
index 0000000..b51e44c
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ *     "@(#)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);
+}