|
@@ -217,7 +217,7 @@ quaternion64_mul_vector3 :: proc "contextless" (q: $Q/quaternion64, v: $V/[3]$F/
|
|
|
Raw_Quaternion :: struct {xyz: [3]f16, r: f16}
|
|
|
|
|
|
q := transmute(Raw_Quaternion)q
|
|
|
- v := transmute([3]f16)v
|
|
|
+ v := v
|
|
|
|
|
|
t := cross(2*q.xyz, v)
|
|
|
return V(v + q.r*t + cross(q.xyz, t))
|
|
@@ -227,7 +227,7 @@ quaternion128_mul_vector3 :: proc "contextless" (q: $Q/quaternion128, v: $V/[3]$
|
|
|
Raw_Quaternion :: struct {xyz: [3]f32, r: f32}
|
|
|
|
|
|
q := transmute(Raw_Quaternion)q
|
|
|
- v := transmute([3]f32)v
|
|
|
+ v := v
|
|
|
|
|
|
t := cross(2*q.xyz, v)
|
|
|
return V(v + q.r*t + cross(q.xyz, t))
|
|
@@ -237,7 +237,7 @@ quaternion256_mul_vector3 :: proc "contextless" (q: $Q/quaternion256, v: $V/[3]$
|
|
|
Raw_Quaternion :: struct {xyz: [3]f64, r: f64}
|
|
|
|
|
|
q := transmute(Raw_Quaternion)q
|
|
|
- v := transmute([3]f64)v
|
|
|
+ v := v
|
|
|
|
|
|
t := cross(2*q.xyz, v)
|
|
|
return V(v + q.r*t + cross(q.xyz, t))
|