From adf77c962df309fffce36a3a25d51e917063c313 Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Sat, 21 Dec 2024 02:06:19 -0500 Subject: [PATCH] providers: Bring math provider back into service Sprig is missing some float math functions --- providers/all.go | 2 ++ providers/math/math.go | 23 +++-------------------- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/providers/all.go b/providers/all.go index edf95d8..6fd1ca2 100644 --- a/providers/all.go +++ b/providers/all.go @@ -6,6 +6,7 @@ import fplog "git.tebibyte.media/sashakoshka/step/providers/log" import fphttp "git.tebibyte.media/sashakoshka/step/providers/http" import fppath "git.tebibyte.media/sashakoshka/step/providers/path" import fpmime "git.tebibyte.media/sashakoshka/step/providers/mime" +import fpmath "git.tebibyte.media/sashakoshka/step/providers/math" import fpsprig "git.tebibyte.media/sashakoshka/step/providers/sprig" import fpimport "git.tebibyte.media/sashakoshka/step/providers/import" import fpcrypto "git.tebibyte.media/sashakoshka/step/providers/crypto" @@ -22,6 +23,7 @@ func All () []step.Provider { new(fphttp.Provider), new(fppath.Provider), new(fpmime.Provider), + new(fpmath.Provider), new(fpsprig.Provider), new(fpimport.Provider), new(fpcrypto.Provider), diff --git a/providers/math/math.go b/providers/math/math.go index a6b2112..b3ad44b 100644 --- a/providers/math/math.go +++ b/providers/math/math.go @@ -19,27 +19,10 @@ func (this *Provider) Package () string { // FuncMap fulfills the step.FuncProvider interface. func (this *Provider) FuncMap () template.FuncMap { return template.FuncMap { - "add": funcAdd, - "sub": funcSub, - "mul": funcMul, - "div": funcDiv, - "pow": math.Pow, - "sqrt": math.Sqrt, + "modf": funcModf, } } -func funcAdd (a, b float64) float64 { - return a + b -} - -func funcSub (a, b float64) float64 { - return a - b -} - -func funcMul (a, b float64) float64 { - return a * b -} - -func funcDiv (a, b float64) float64 { - return a / b +func funcModf (a, b float64) float64 { + return math.Mod(a, b) }