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