Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
baf701ad1e | |||
a18f1c51cb | |||
de82000934 | |||
![]() |
82073f40ae |
@ -14,6 +14,6 @@ func Max[N Number](a, b N) N {
|
|||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
func Limit[N Number](v, min, max N) N {
|
func Clamp[N Number](v, min, max N) N {
|
||||||
return Min(Max(v, min), max)
|
return Min(Max(v, min), max)
|
||||||
}
|
}
|
||||||
|
20
math.go
20
math.go
@ -1,7 +1,25 @@
|
|||||||
package gmath
|
package gmath
|
||||||
|
|
||||||
import "math"
|
import (
|
||||||
|
"math"
|
||||||
|
)
|
||||||
|
|
||||||
func Pow[N Number](x, y N) N {
|
func Pow[N Number](x, y N) N {
|
||||||
return N(math.Pow(float64(x), float64(y)))
|
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
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user