summaryrefslogtreecommitdiff
path: root/vendor/github.com/ncruces/go-sqlite3/internal/util/math.go
blob: a95f73764e3c6efc16a5330463d3b50242ee10d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package util

import "math"

func abs(n int) int {
	if n < 0 {
		return -n
	}
	return n
}

func GCD(m, n int) int {
	for n != 0 {
		m, n = n, m%n
	}
	return abs(m)
}

func LCM(m, n int) int {
	if n == 0 {
		return 0
	}
	return abs(n) * (abs(m) / GCD(m, n))
}

// 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))
}