summaryrefslogtreecommitdiff
path: root/src/pkg/math/sqrt.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/math/sqrt.go')
-rw-r--r--src/pkg/math/sqrt.go32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/pkg/math/sqrt.go b/src/pkg/math/sqrt.go
index 63f458b4b..1e2209f2a 100644
--- a/src/pkg/math/sqrt.go
+++ b/src/pkg/math/sqrt.go
@@ -27,39 +27,39 @@ func Sqrt(x float64) float64 {
if x < 0 {
return NaN()
}
- return 0;
+ return 0
}
- y, exp := Frexp(x);
+ y, exp := Frexp(x)
for y < 0.5 {
- y = y * 2;
- exp = exp - 1;
+ y = y * 2
+ exp = exp - 1
}
if exp&1 != 0 {
- y = y * 2;
- exp = exp - 1;
+ y = y * 2
+ exp = exp - 1
}
- temp := 0.5 * (1 + y);
+ temp := 0.5 * (1 + y)
for exp > 60 {
- temp = temp * float64(1<<30);
- exp = exp - 60;
+ temp = temp * float64(1<<30)
+ exp = exp - 60
}
for exp < -60 {
- temp = temp / float64(1<<30);
- exp = exp + 60;
+ temp = temp / float64(1<<30)
+ exp = exp + 60
}
if exp >= 0 {
- exp = 1 << uint(exp/2);
- temp = temp * float64(exp);
+ exp = 1 << uint(exp/2)
+ temp = temp * float64(exp)
} else {
- exp = 1 << uint(-exp/2);
- temp = temp / float64(exp);
+ exp = 1 << uint(-exp/2)
+ temp = temp / float64(exp)
}
for i := 0; i <= 4; i++ {
temp = 0.5 * (temp + x/temp)
}
- return temp;
+ return temp
}