added Mod and ModPositive
This commit is contained in:
parent
de82000934
commit
a18f1c51cb
16
math.go
16
math.go
@ -1,6 +1,8 @@
|
||||
package gmath
|
||||
|
||||
import "math"
|
||||
import (
|
||||
"math"
|
||||
)
|
||||
|
||||
func Pow[N Number](x, y N) N {
|
||||
return N(math.Pow(float64(x), float64(y)))
|
||||
@ -9,3 +11,15 @@ func Pow[N Number](x, y N) N {
|
||||
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
|
||||
}
|
||||
|
10
math_test.go
Normal file
10
math_test.go
Normal file
@ -0,0 +1,10 @@
|
||||
package gmath
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestMod(t *testing.T) {
|
||||
fmt.Println(ModPositive(-1, 10))
|
||||
}
|
Loading…
Reference in New Issue
Block a user