mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
Merge branch 'master' of https://github.com/odin-lang/Odin
This commit is contained in:
@@ -94,7 +94,7 @@ quaternion_cross :: proc(q1, q2: $Q) -> (q3: Q) where IS_QUATERNION(Q) {
|
|||||||
vector_cross :: proc{scalar_cross, vector_cross2, vector_cross3}
|
vector_cross :: proc{scalar_cross, vector_cross2, vector_cross3}
|
||||||
cross :: proc{scalar_cross, vector_cross2, vector_cross3, quaternion_cross}
|
cross :: proc{scalar_cross, vector_cross2, vector_cross3, quaternion_cross}
|
||||||
|
|
||||||
vector_normalize :: proc(v: $T/[$N]$E) -> T where IS_NUMERIC(E) {
|
vector_normalize :: proc(v: $T/[$N]$E) -> T where IS_FLOAT(E) {
|
||||||
return v / length(v)
|
return v / length(v)
|
||||||
}
|
}
|
||||||
quaternion_normalize :: proc(q: $Q) -> Q where IS_QUATERNION(Q) {
|
quaternion_normalize :: proc(q: $Q) -> Q where IS_QUATERNION(Q) {
|
||||||
@@ -102,7 +102,7 @@ quaternion_normalize :: proc(q: $Q) -> Q where IS_QUATERNION(Q) {
|
|||||||
}
|
}
|
||||||
normalize :: proc{vector_normalize, quaternion_normalize}
|
normalize :: proc{vector_normalize, quaternion_normalize}
|
||||||
|
|
||||||
vector_normalize0 :: proc(v: $T/[$N]$E) -> T where IS_NUMERIC(E) {
|
vector_normalize0 :: proc(v: $T/[$N]$E) -> T where IS_FLOAT(E) {
|
||||||
m := length(v)
|
m := length(v)
|
||||||
return 0 if m == 0 else v/m
|
return 0 if m == 0 else v/m
|
||||||
}
|
}
|
||||||
@@ -113,7 +113,7 @@ quaternion_normalize0 :: proc(q: $Q) -> Q where IS_QUATERNION(Q) {
|
|||||||
normalize0 :: proc{vector_normalize0, quaternion_normalize0}
|
normalize0 :: proc{vector_normalize0, quaternion_normalize0}
|
||||||
|
|
||||||
|
|
||||||
vector_length :: proc(v: $T/[$N]$E) -> E where IS_NUMERIC(E) {
|
vector_length :: proc(v: $T/[$N]$E) -> E where IS_FLOAT(E) {
|
||||||
return math.sqrt(dot(v, v))
|
return math.sqrt(dot(v, v))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user