twitch-bot/internal/template/numeric/numeric.go
Knut Ahlers bf9ec094bf
Add "mod" function for modulo in templating
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2022-07-15 19:25:05 +02:00

25 lines
1010 B
Go

package numeric
import (
"math"
"github.com/Luzifer/twitch-bot/plugins"
)
func Register(args plugins.RegistrationArguments) error {
args.RegisterTemplateFunction("add", plugins.GenericTemplateFunctionGetter(add))
args.RegisterTemplateFunction("div", plugins.GenericTemplateFunctionGetter(div))
args.RegisterTemplateFunction("mod", plugins.GenericTemplateFunctionGetter(mod))
args.RegisterTemplateFunction("mul", plugins.GenericTemplateFunctionGetter(mul))
args.RegisterTemplateFunction("multiply", plugins.GenericTemplateFunctionGetter(mul)) // DEPRECATED
args.RegisterTemplateFunction("pow", plugins.GenericTemplateFunctionGetter(math.Pow))
args.RegisterTemplateFunction("sub", plugins.GenericTemplateFunctionGetter(sub))
return nil
}
func add(m1, m2 float64) float64 { return m1 + m2 }
func div(m1, m2 float64) float64 { return m1 / m2 }
func mod(m1, m2 int64) int64 { return m1 % m2 }
func mul(m1, m2 float64) float64 { return m1 * m2 }
func sub(m1, m2 float64) float64 { return m1 - m2 }