summaryrefslogtreecommitdiffstats
path: root/tpl/math/math.go
diff options
context:
space:
mode:
Diffstat (limited to 'tpl/math/math.go')
-rw-r--r--tpl/math/math.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/tpl/math/math.go b/tpl/math/math.go
index 08be42b47..950d95905 100644
--- a/tpl/math/math.go
+++ b/tpl/math/math.go
@@ -72,6 +72,18 @@ func (ns *Namespace) Log(a interface{}) (float64, error) {
return math.Log(af), nil
}
+// Sqrt returns the square root of a number.
+// NOTE: will return for NaN for negative values of a
+func (ns *Namespace) Sqrt(a interface{}) (float64, error) {
+ af, err := cast.ToFloat64E(a)
+
+ if err != nil {
+ return 0, errors.New("Sqrt operator can't be used with non integer or float value")
+ }
+
+ return math.Sqrt(af), nil
+}
+
// Mod returns a % b.
func (ns *Namespace) Mod(a, b interface{}) (int64, error) {
ai, erra := cast.ToInt64E(a)