diff options
Diffstat (limited to 'src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/gopherjs/gopherjs/compiler/natives/src/math/math.go')
-rw-r--r-- | src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/gopherjs/gopherjs/compiler/natives/src/math/math.go | 255 |
1 files changed, 0 insertions, 255 deletions
diff --git a/src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/gopherjs/gopherjs/compiler/natives/src/math/math.go b/src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/gopherjs/gopherjs/compiler/natives/src/math/math.go deleted file mode 100644 index ca09bfcd02d..00000000000 --- a/src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/gopherjs/gopherjs/compiler/natives/src/math/math.go +++ /dev/null @@ -1,255 +0,0 @@ -// +build js - -package math - -import ( - "github.com/gopherjs/gopherjs/js" -) - -var math = js.Global.Get("Math") -var zero float64 = 0 -var posInf = 1 / zero -var negInf = -1 / zero -var nan = 0 / zero - -func Acos(x float64) float64 { - return math.Call("acos", x).Float() -} - -func Acosh(x float64) float64 { - return math.Call("acosh", x).Float() -} - -func Asin(x float64) float64 { - return math.Call("asin", x).Float() -} - -func Asinh(x float64) float64 { - return math.Call("asinh", x).Float() -} - -func Atan(x float64) float64 { - return math.Call("atan", x).Float() -} - -func Atanh(x float64) float64 { - return math.Call("atanh", x).Float() -} - -func Atan2(y, x float64) float64 { - return math.Call("atan2", y, x).Float() -} - -func Cbrt(x float64) float64 { - return math.Call("cbrt", x).Float() -} - -func Ceil(x float64) float64 { - return math.Call("ceil", x).Float() -} - -func Copysign(x, y float64) float64 { - if (x < 0 || 1/x == negInf) != (y < 0 || 1/y == negInf) { - return -x - } - return x -} - -func Cos(x float64) float64 { - return math.Call("cos", x).Float() -} - -func Cosh(x float64) float64 { - return math.Call("cosh", x).Float() -} - -func Erf(x float64) float64 { - return erf(x) -} - -func Erfc(x float64) float64 { - return erfc(x) -} - -func Exp(x float64) float64 { - return math.Call("exp", x).Float() -} - -func Exp2(x float64) float64 { - return math.Call("pow", 2, x).Float() -} - -func Expm1(x float64) float64 { - return expm1(x) -} - -func Floor(x float64) float64 { - return math.Call("floor", x).Float() -} - -func Frexp(f float64) (frac float64, exp int) { - return frexp(f) -} - -func Hypot(p, q float64) float64 { - return hypot(p, q) -} - -func Inf(sign int) float64 { - switch { - case sign >= 0: - return posInf - default: - return negInf - } -} - -func IsInf(f float64, sign int) bool { - if f == posInf { - return sign >= 0 - } - if f == negInf { - return sign <= 0 - } - return false -} - -func IsNaN(f float64) (is bool) { - return f != f -} - -func Ldexp(frac float64, exp int) float64 { - if -1024 < exp && exp < 1024 { // Use Math.pow for small exp values where it's viable. For performance. - if frac == 0 { - return frac - } - return frac * math.Call("pow", 2, exp).Float() - } - return ldexp(frac, exp) -} - -func Log(x float64) float64 { - if x != x { // workaround for optimizer bug in V8, remove at some point - return nan - } - return math.Call("log", x).Float() -} - -func Log10(x float64) float64 { - return log10(x) -} - -func Log1p(x float64) float64 { - return log1p(x) -} - -func Log2(x float64) float64 { - return log2(x) -} - -func Max(x, y float64) float64 { - return max(x, y) -} - -func Min(x, y float64) float64 { - return min(x, y) -} - -func Mod(x, y float64) float64 { - return js.Global.Call("$mod", x, y).Float() -} - -func Modf(f float64) (float64, float64) { - if f == posInf || f == negInf { - return f, nan - } - if 1/f == negInf { - return f, f - } - frac := Mod(f, 1) - return f - frac, frac -} - -func NaN() float64 { - return nan -} - -func Pow(x, y float64) float64 { - if x == 1 || (x == -1 && (y == posInf || y == negInf)) { - return 1 - } - return math.Call("pow", x, y).Float() -} - -func Remainder(x, y float64) float64 { - return remainder(x, y) -} - -func Signbit(x float64) bool { - return x < 0 || 1/x == negInf -} - -func Sin(x float64) float64 { - return math.Call("sin", x).Float() -} - -func Sinh(x float64) float64 { - return math.Call("sinh", x).Float() -} - -func Sincos(x float64) (sin, cos float64) { - return Sin(x), Cos(x) -} - -func Sqrt(x float64) float64 { - return math.Call("sqrt", x).Float() -} - -func Tan(x float64) float64 { - return math.Call("tan", x).Float() -} - -func Tanh(x float64) float64 { - return math.Call("tanh", x).Float() -} - -func Trunc(x float64) float64 { - if x == posInf || x == negInf || x != x || 1/x == negInf { - return x - } - return Copysign(float64(int(x)), x) -} - -var buf struct { - uint32array [2]uint32 - float32array [2]float32 - float64array [1]float64 -} - -func init() { - ab := js.Global.Get("ArrayBuffer").New(8) - js.InternalObject(buf).Set("uint32array", js.Global.Get("Uint32Array").New(ab)) - js.InternalObject(buf).Set("float32array", js.Global.Get("Float32Array").New(ab)) - js.InternalObject(buf).Set("float64array", js.Global.Get("Float64Array").New(ab)) -} - -func Float32bits(f float32) uint32 { - buf.float32array[0] = f - return buf.uint32array[0] -} - -func Float32frombits(b uint32) float32 { - buf.uint32array[0] = b - return buf.float32array[0] -} - -func Float64bits(f float64) uint64 { - buf.float64array[0] = f - return uint64(buf.uint32array[1])<<32 + uint64(buf.uint32array[0]) -} - -func Float64frombits(b uint64) float64 { - buf.uint32array[0] = uint32(b) - buf.uint32array[1] = uint32(b >> 32) - return buf.float64array[0] -} |