gmath/math.go

26 lines
352 B
Go

package gmath
import (
"math"
)
func Pow[N Number](x, y N) N {
return N(math.Pow(float64(x), float64(y)))
}
func Abs[N Number](v N) N {
return N(math.Abs(float64(v)))
}
func Mod[N Number](a, b N) N {
return N(math.Mod(float64(a), float64(b)))
}
func ModPositive[N Number](a, b N) N {
m := Mod(a, b)
if m >= 0 {
return m
}
return m + b
}