Commit 4331293f authored by Rob Pike's avatar Rob Pike

update to new world. still can't use it but it's a lot of editing....

SVN=125218
parent 390d5fe5
......@@ -2,11 +2,11 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package asin
package math
import math "atan"
import math "sqrt"
import sys "sys"
import atan "atan"
import sqrt "sqrt"
export asin, acos
/*
......@@ -34,14 +34,14 @@ asin(arg double)double
sign = true;
}
if arg > 1 {
return sys.NaN();
panic "return sys.NaN()";
}
temp = sqrt.sqrt(1 - x*x);
temp = sqrt(1 - x*x);
if x > 0.7 {
temp = pio2 - atan.atan(temp/x);
temp = pio2 - atan(temp/x);
} else {
temp = atan.atan(x/temp);
temp = atan(x/temp);
}
if sign {
......@@ -54,7 +54,7 @@ func
acos(arg double)double
{
if(arg > 1 || arg < -1) {
return sys.NaN();
panic "return sys.NaN()";
}
return pio2 - asin(arg);
}
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package atan
package math
export atan
......
......@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package atan2
package math
import atan "atan"
import math "atan"
export atan2
/*
......@@ -29,7 +29,7 @@ atan2(arg1, arg2 double) double
}
return -pio2;
}
x = atan.atan(arg1/arg2);
x = atan(arg1/arg2);
if arg2 < 0 {
if x <= 0 {
return x + pi;
......
......@@ -2,10 +2,9 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package exp
package math
import sys "sys"
import floor "floor"
import math "floor"
export exp
/*
......@@ -34,21 +33,21 @@ exp(arg double) double
var x, fract, temp1, temp2, xsq double;
var ent int;
if arg == 0 {
if arg == 0. {
return 1;
}
if arg < -maxf {
return 0;
return 0.;
}
if arg > maxf {
return sys.Inf(1);
panic "return sys.Inf(1)"
}
x = arg*log2e;
ent = int(floor.floor(x));
ent = int(floor(x));
fract = (x-double(ent)) - 0.5;
xsq = fract*fract;
temp1 = ((p2*xsq+p1)*xsq+p0)*fract;
temp2 = ((xsq+q2)*xsq+q1)*xsq + q0;
return sys.ldexp(sqrt2*(temp2+temp1)/(temp2-temp1), ent);
return sys.ldexp(ent, sqrt2*(temp2+temp1)/(temp2-temp1));
}
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package fabs
package math
export fabs
......
......@@ -2,9 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package floor
package math
import sys "sys"
export floor, ceil
/*
......
......@@ -2,9 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package fmod
package math
import sys "sys"
export fmod
/*
......@@ -39,7 +38,7 @@ fmod(x, y double) double
if rfr < yfr {
rexp = rexp - 1;
}
r = r - sys.ldexp(y, rexp-yexp);
r = r - sys.ldexp(rexp-yexp, y);
}
if sign {
r = -r;
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package hypot
package math
export hypot
......
......@@ -2,9 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package log
package math
import sys "sys"
export log, log10
/*
......@@ -37,7 +36,7 @@ log(arg double) double
var exp int;
if arg <= 0 {
return sys.NaN();
panic "return sys.NaN()";
}
exp,x = sys.frexp(arg);
......@@ -64,7 +63,7 @@ log10(arg double) double
{
if arg <= 0 {
return sys.NaN();
panic "return sys.NaN()";
}
return log(arg) * ln10o1;
}
......@@ -2,13 +2,12 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package pow
package math
import sys "sys"
import floor "floor"
import sqrt "sqrt"
import log "log"
import exp "exp"
import math "floor"
import math "sqrt"
import math "log"
import math "exp"
export pow
/*
......@@ -27,14 +26,14 @@ pow(arg1,arg2 double) double
if arg1 <= 0 {
if(arg1 == 0) {
if arg2 <= 0 {
return sys.NaN();
panic "return sys.NaN()";
}
return 0;
}
temp = floor.floor(arg2);
temp = floor(arg2);
if temp != arg2 {
return sys.NaN();
panic "return sys.NaN()";
}
l = long(temp);
......@@ -44,15 +43,15 @@ pow(arg1,arg2 double) double
return pow(-arg1, arg2);
}
temp = floor.floor(arg2);
temp = floor(arg2);
if temp != arg2 {
if arg2-temp == .5 {
if temp == 0 {
return sqrt.sqrt(arg1);
return sqrt(arg1);
}
return pow(arg1, temp) * sqrt.sqrt(arg1);
return pow(arg1, temp) * sqrt(arg1);
}
return exp.exp(arg2 * log.log(arg1));
return exp(arg2 * log(arg1));
}
l = long(temp);
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package pow10
package math
export pow10
......
......@@ -2,9 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package sin
package math
import sys "sys"
export sin, cos
const
......@@ -41,7 +40,7 @@ sinus(arg double, quad int) double
} else {
k = long(x);
y = x - double(k);
quad = (quad + k) & 3;
quad = (quad + int(k)) & 3;
}
if quad&1 != 0 {
......
......@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package sinh
package math
import exp "exp"
import math "exp"
export sinh, cosh
/*
......@@ -45,10 +45,10 @@ sinh(arg double) double
}
switch true {
case arg > 21:
temp = exp.exp(arg)/2;
temp = exp(arg)/2;
case arg > 0.5:
temp = (exp.exp(arg) - exp.exp(-arg))/2;
// temp = (exp(arg) - exp(-arg))/2;
default:
argsq = arg*arg;
......@@ -69,7 +69,7 @@ cosh(arg double) double
arg = - arg;
}
if arg > 21 {
return exp.exp(arg)/2;
return exp(arg)/2;
}
return (exp.exp(arg) + exp.exp(-arg))/2;
// return (exp(arg) + exp(-arg))/2;
}
......@@ -2,9 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package sqrt
package math
import sys "sys"
export sqrt
/*
......@@ -20,13 +19,14 @@ sqrt(arg double) double
var x, temp double;
var exp, i int;
/* BUG: NO isINF
if sys.isInf(arg, 1) {
return arg;
}
*/
if arg <= 0 {
if arg < 0 {
return sys.NaN();
panic "return sys.NaN()"
}
return 0;
}
......
......@@ -2,9 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package tan
package math
import sys "sys"
export tan
/*
......@@ -63,7 +62,7 @@ tan(arg double) double
if flag {
if(temp == 0) {
return sys.NaN();
panic "return sys.NaN()";
}
temp = 1/temp;
}
......
......@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package tanh
package math
import sinh "sinh"
import math "sinh"
export tanh
/*
......@@ -23,10 +23,10 @@ tanh(arg double) double
if arg > 21 {
return -1;
}
return -sinh.sinh(arg)/sinh.cosh(arg);
return -sinh(arg)/cosh(arg);
}
if arg > 21 {
return 1;
}
return sinh.sinh(arg)/sinh.cosh(arg);
return sinh(arg)/cosh(arg);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment