summaryrefslogtreecommitdiff
path: root/src/lib/math/atan.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/math/atan.go')
-rw-r--r--src/lib/math/atan.go50
1 files changed, 25 insertions, 25 deletions
diff --git a/src/lib/math/atan.go b/src/lib/math/atan.go
index 43990fe40..f2fd7ed33 100644
--- a/src/lib/math/atan.go
+++ b/src/lib/math/atan.go
@@ -15,30 +15,30 @@ package math
const
(
- p4 = .161536412982230228262e2;
- p3 = .26842548195503973794141e3;
- p2 = .11530293515404850115428136e4;
- p1 = .178040631643319697105464587e4;
- p0 = .89678597403663861959987488e3;
- q4 = .5895697050844462222791e2;
- q3 = .536265374031215315104235e3;
- q2 = .16667838148816337184521798e4;
- q1 = .207933497444540981287275926e4;
- q0 = .89678597403663861962481162e3;
- pio2 = .15707963267948966192313216e1;
- pio4 = .7853981633974483096156608e0;
- sq2p1 = .2414213562373095048802e1; // sqrt(2)+1
- sq2m1 = .414213562373095048802e0; // sqrt(2)-1
+ ap4 = .161536412982230228262e2;
+ ap3 = .26842548195503973794141e3;
+ ap2 = .11530293515404850115428136e4;
+ ap1 = .178040631643319697105464587e4;
+ ap0 = .89678597403663861959987488e3;
+ aq4 = .5895697050844462222791e2;
+ aq3 = .536265374031215315104235e3;
+ aq2 = .16667838148816337184521798e4;
+ aq1 = .207933497444540981287275926e4;
+ aq0 = .89678597403663861962481162e3;
+ apio2 = .15707963267948966192313216e1;
+ apio4 = .7853981633974483096156608e0;
+ asq2p1 = .2414213562373095048802e1; // sqrt(2)+1
+ asq2m1 = .414213562373095048802e0; // sqrt(2)-1
)
/*
* xatan evaluates a series valid in the
* range [-0.414...,+0.414...]. (tan(pi/8))
*/
-func Xatan(arg float64) float64 {
+func xatan(arg float64) float64 {
argsq := arg*arg;
- value := ((((p4*argsq + p3)*argsq + p2)*argsq + p1)*argsq + p0);
- value = value/(((((argsq + q4)*argsq + q3)*argsq + q2)*argsq + q1)*argsq + q0);
+ value := ((((ap4*argsq + ap3)*argsq + ap2)*argsq + ap1)*argsq + ap0);
+ value = value/(((((argsq + aq4)*argsq + aq3)*argsq + aq2)*argsq + aq1)*argsq + aq0);
return value*arg;
}
@@ -46,14 +46,14 @@ func Xatan(arg float64) float64 {
* satan reduces its argument (known to be positive)
* to the range [0,0.414...] and calls xatan.
*/
-func Satan(arg float64) float64 {
- if arg < sq2m1 {
- return Xatan(arg);
+func satan(arg float64) float64 {
+ if arg < asq2m1 {
+ return xatan(arg);
}
- if arg > sq2p1 {
- return pio2 - Xatan(1/arg);
+ if arg > asq2p1 {
+ return apio2 - xatan(1/arg);
}
- return pio4 + Xatan((arg-1)/(arg+1));
+ return apio4 + xatan((arg-1)/(arg+1));
}
/*
@@ -62,7 +62,7 @@ func Satan(arg float64) float64 {
*/
export func Atan(arg float64) float64 {
if arg > 0 {
- return Satan(arg);
+ return satan(arg);
}
- return -Satan(-arg);
+ return -satan(-arg);
}