Files
sqlite3/internal/util/math.go

30 lines
402 B
Go
Raw Normal View History

package util
2024-05-06 11:45:40 +01:00
2024-10-18 12:57:22 +01:00
import "math"
2024-05-06 11:45:40 +01:00
func abs(n int) int {
if n < 0 {
return -n
}
return n
}
func GCD(m, n int) int {
2024-05-06 11:45:40 +01:00
for n != 0 {
m, n = n, m%n
}
return abs(m)
}
func LCM(m, n int) int {
2024-05-06 11:45:40 +01:00
if n == 0 {
return 0
}
return abs(n) * (abs(m) / GCD(m, n))
2024-05-06 11:45:40 +01:00
}
2024-10-18 12:57:22 +01:00
// https://developer.nvidia.com/blog/lerp-faster-cuda/
func Lerp(v0, v1, t float64) float64 {
return math.FMA(t, v1, math.FMA(-t, v0, v0))
}