Update to 2.0.0 tree from current Fremantle build
[opencv] / 3rdparty / lapack / pow_ri.c
diff --git a/3rdparty/lapack/pow_ri.c b/3rdparty/lapack/pow_ri.c
new file mode 100644 (file)
index 0000000..d291ed1
--- /dev/null
@@ -0,0 +1,31 @@
+#include "clapack.h"
+
+double pow_ri(real *ap, integer *bp)
+{
+    double pow, x;
+    integer n;
+    unsigned long u;
+
+    pow = 1;
+    x = *ap;
+    n = *bp;
+
+    if(n != 0)
+    {
+        if(n < 0)
+        {
+            n = -n;
+            x = 1/x;
+        }
+        for(u = n; ; )
+        {
+            if(u & 01)
+                pow *= x;
+            if(u >>= 1)
+                x *= x;
+            else
+                break;
+        }
+    }
+    return(pow);
+}