123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- package stdlib
- import (
- "math"
- "github.com/d5/tengo/v2"
- )
- var mathModule = map[string]tengo.Object{
- "e": &tengo.Float{Value: math.E},
- "pi": &tengo.Float{Value: math.Pi},
- "phi": &tengo.Float{Value: math.Phi},
- "sqrt2": &tengo.Float{Value: math.Sqrt2},
- "sqrtE": &tengo.Float{Value: math.SqrtE},
- "sqrtPi": &tengo.Float{Value: math.SqrtPi},
- "sqrtPhi": &tengo.Float{Value: math.SqrtPhi},
- "ln2": &tengo.Float{Value: math.Ln2},
- "log2E": &tengo.Float{Value: math.Log2E},
- "ln10": &tengo.Float{Value: math.Ln10},
- "log10E": &tengo.Float{Value: math.Log10E},
- "maxFloat32": &tengo.Float{Value: math.MaxFloat32},
- "smallestNonzeroFloat32": &tengo.Float{Value: math.SmallestNonzeroFloat32},
- "maxFloat64": &tengo.Float{Value: math.MaxFloat64},
- "smallestNonzeroFloat64": &tengo.Float{Value: math.SmallestNonzeroFloat64},
- "maxInt": &tengo.Int{Value: math.MaxInt},
- "minInt": &tengo.Int{Value: math.MinInt},
- "maxInt8": &tengo.Int{Value: math.MaxInt8},
- "minInt8": &tengo.Int{Value: math.MinInt8},
- "maxInt16": &tengo.Int{Value: math.MaxInt16},
- "minInt16": &tengo.Int{Value: math.MinInt16},
- "maxInt32": &tengo.Int{Value: math.MaxInt32},
- "minInt32": &tengo.Int{Value: math.MinInt32},
- "maxInt64": &tengo.Int{Value: math.MaxInt64},
- "minInt64": &tengo.Int{Value: math.MinInt64},
- "abs": &tengo.UserFunction{
- Name: "abs",
- Value: FuncAFRF(math.Abs),
- },
- "acos": &tengo.UserFunction{
- Name: "acos",
- Value: FuncAFRF(math.Acos),
- },
- "acosh": &tengo.UserFunction{
- Name: "acosh",
- Value: FuncAFRF(math.Acosh),
- },
- "asin": &tengo.UserFunction{
- Name: "asin",
- Value: FuncAFRF(math.Asin),
- },
- "asinh": &tengo.UserFunction{
- Name: "asinh",
- Value: FuncAFRF(math.Asinh),
- },
- "atan": &tengo.UserFunction{
- Name: "atan",
- Value: FuncAFRF(math.Atan),
- },
- "atan2": &tengo.UserFunction{
- Name: "atan2",
- Value: FuncAFFRF(math.Atan2),
- },
- "atanh": &tengo.UserFunction{
- Name: "atanh",
- Value: FuncAFRF(math.Atanh),
- },
- "cbrt": &tengo.UserFunction{
- Name: "cbrt",
- Value: FuncAFRF(math.Cbrt),
- },
- "ceil": &tengo.UserFunction{
- Name: "ceil",
- Value: FuncAFRF(math.Ceil),
- },
- "copysign": &tengo.UserFunction{
- Name: "copysign",
- Value: FuncAFFRF(math.Copysign),
- },
- "cos": &tengo.UserFunction{
- Name: "cos",
- Value: FuncAFRF(math.Cos),
- },
- "cosh": &tengo.UserFunction{
- Name: "cosh",
- Value: FuncAFRF(math.Cosh),
- },
- "dim": &tengo.UserFunction{
- Name: "dim",
- Value: FuncAFFRF(math.Dim),
- },
- "erf": &tengo.UserFunction{
- Name: "erf",
- Value: FuncAFRF(math.Erf),
- },
- "erfc": &tengo.UserFunction{
- Name: "erfc",
- Value: FuncAFRF(math.Erfc),
- },
- "exp": &tengo.UserFunction{
- Name: "exp",
- Value: FuncAFRF(math.Exp),
- },
- "exp2": &tengo.UserFunction{
- Name: "exp2",
- Value: FuncAFRF(math.Exp2),
- },
- "expm1": &tengo.UserFunction{
- Name: "expm1",
- Value: FuncAFRF(math.Expm1),
- },
- "floor": &tengo.UserFunction{
- Name: "floor",
- Value: FuncAFRF(math.Floor),
- },
- "gamma": &tengo.UserFunction{
- Name: "gamma",
- Value: FuncAFRF(math.Gamma),
- },
- "hypot": &tengo.UserFunction{
- Name: "hypot",
- Value: FuncAFFRF(math.Hypot),
- },
- "ilogb": &tengo.UserFunction{
- Name: "ilogb",
- Value: FuncAFRI(math.Ilogb),
- },
- "inf": &tengo.UserFunction{
- Name: "inf",
- Value: FuncAIRF(math.Inf),
- },
- "is_inf": &tengo.UserFunction{
- Name: "is_inf",
- Value: FuncAFIRB(math.IsInf),
- },
- "is_nan": &tengo.UserFunction{
- Name: "is_nan",
- Value: FuncAFRB(math.IsNaN),
- },
- "j0": &tengo.UserFunction{
- Name: "j0",
- Value: FuncAFRF(math.J0),
- },
- "j1": &tengo.UserFunction{
- Name: "j1",
- Value: FuncAFRF(math.J1),
- },
- "jn": &tengo.UserFunction{
- Name: "jn",
- Value: FuncAIFRF(math.Jn),
- },
- "ldexp": &tengo.UserFunction{
- Name: "ldexp",
- Value: FuncAFIRF(math.Ldexp),
- },
- "log": &tengo.UserFunction{
- Name: "log",
- Value: FuncAFRF(math.Log),
- },
- "log10": &tengo.UserFunction{
- Name: "log10",
- Value: FuncAFRF(math.Log10),
- },
- "log1p": &tengo.UserFunction{
- Name: "log1p",
- Value: FuncAFRF(math.Log1p),
- },
- "log2": &tengo.UserFunction{
- Name: "log2",
- Value: FuncAFRF(math.Log2),
- },
- "logb": &tengo.UserFunction{
- Name: "logb",
- Value: FuncAFRF(math.Logb),
- },
- "max": &tengo.UserFunction{
- Name: "max",
- Value: FuncAFFRF(math.Max),
- },
- "min": &tengo.UserFunction{
- Name: "min",
- Value: FuncAFFRF(math.Min),
- },
- "mod": &tengo.UserFunction{
- Name: "mod",
- Value: FuncAFFRF(math.Mod),
- },
- "nan": &tengo.UserFunction{
- Name: "nan",
- Value: FuncARF(math.NaN),
- },
- "nextafter": &tengo.UserFunction{
- Name: "nextafter",
- Value: FuncAFFRF(math.Nextafter),
- },
- "pow": &tengo.UserFunction{
- Name: "pow",
- Value: FuncAFFRF(math.Pow),
- },
- "pow10": &tengo.UserFunction{
- Name: "pow10",
- Value: FuncAIRF(math.Pow10),
- },
- "remainder": &tengo.UserFunction{
- Name: "remainder",
- Value: FuncAFFRF(math.Remainder),
- },
- "signbit": &tengo.UserFunction{
- Name: "signbit",
- Value: FuncAFRB(math.Signbit),
- },
- "sin": &tengo.UserFunction{
- Name: "sin",
- Value: FuncAFRF(math.Sin),
- },
- "sinh": &tengo.UserFunction{
- Name: "sinh",
- Value: FuncAFRF(math.Sinh),
- },
- "sqrt": &tengo.UserFunction{
- Name: "sqrt",
- Value: FuncAFRF(math.Sqrt),
- },
- "tan": &tengo.UserFunction{
- Name: "tan",
- Value: FuncAFRF(math.Tan),
- },
- "tanh": &tengo.UserFunction{
- Name: "tanh",
- Value: FuncAFRF(math.Tanh),
- },
- "trunc": &tengo.UserFunction{
- Name: "trunc",
- Value: FuncAFRF(math.Trunc),
- },
- "y0": &tengo.UserFunction{
- Name: "y0",
- Value: FuncAFRF(math.Y0),
- },
- "y1": &tengo.UserFunction{
- Name: "y1",
- Value: FuncAFRF(math.Y1),
- },
- "yn": &tengo.UserFunction{
- Name: "yn",
- Value: FuncAIFRF(math.Yn),
- },
- }
|