summaryrefslogtreecommitdiff
path: root/src/lib/math/pow.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/math/pow.go')
-rw-r--r--src/lib/math/pow.go29
1 files changed, 12 insertions, 17 deletions
diff --git a/src/lib/math/pow.go b/src/lib/math/pow.go
index 2a6b19023..9e63db74b 100644
--- a/src/lib/math/pow.go
+++ b/src/lib/math/pow.go
@@ -4,20 +4,15 @@
package math
-import math "math"
+import "math"
/*
arg1 ^ arg2 (exponentiation)
*/
-export func
-pow(arg1,arg2 float64) float64
-{
- var temp float64;
- var l int32;
-
+export func Pow(arg1,arg2 float64) float64 {
if arg2 < 0 {
- return 1/pow(arg1, -arg2);
+ return 1/Pow(arg1, -arg2);
}
if arg1 <= 0 {
if(arg1 == 0) {
@@ -27,30 +22,30 @@ pow(arg1,arg2 float64) float64
return 0;
}
- temp = floor(arg2);
+ temp := Floor(arg2);
if temp != arg2 {
panic(sys.NaN());
}
- l = int32(temp);
+ l := int32(temp);
if l&1 != 0 {
- return -pow(-arg1, arg2);
+ return -Pow(-arg1, arg2);
}
- return pow(-arg1, arg2);
+ return Pow(-arg1, arg2);
}
- temp = floor(arg2);
+ temp := Floor(arg2);
if temp != arg2 {
if arg2-temp == .5 {
if temp == 0 {
- return sqrt(arg1);
+ return Sqrt(arg1);
}
- return pow(arg1, temp) * sqrt(arg1);
+ return Pow(arg1, temp) * Sqrt(arg1);
}
- return exp(arg2 * log(arg1));
+ return Exp(arg2 * Log(arg1));
}
- l = int32(temp);
+ l := int32(temp);
temp = 1;
for {
if l&1 != 0 {