summaryrefslogtreecommitdiff
path: root/lib/common.odin
blob: 3c6679f977c28b68d4f53addd39fc928bf2d78cc (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
package djup

import "core:math"

vec2 :: [2]f32

vec2_dot :: proc(a, b: vec2) -> vec2 {
	return vec2{a.x * b.x, a.y * b.y}
}

vec2_length :: proc(v: vec2) -> f32 {
	if v == (vec2{0, 0}) {
		return 0
	}
	return math.sqrt(math.pow(v.x, 2) + math.pow(v.y, 2))
}

vec2_normal :: proc(v: vec2) -> vec2 {
	len := vec2_length(v)
	if len == 0 {
		return vec2{0, 0}
	}
	return v * (1 / len)
}