nalgebra_glm/ext/quaternion_geometric.rs
1use crate::RealNumber;
2
3use crate::aliases::Qua;
4
5/// Multiplies two quaternions.
6pub fn quat_cross<T: RealNumber>(q1: &Qua<T>, q2: &Qua<T>) -> Qua<T> {
7 q1 * q2
8}
9
10/// The scalar product of two quaternions.
11pub fn quat_dot<T: RealNumber>(x: &Qua<T>, y: &Qua<T>) -> T {
12 x.dot(y)
13}
14
15/// The magnitude of the quaternion `q`.
16pub fn quat_length<T: RealNumber>(q: &Qua<T>) -> T {
17 q.norm()
18}
19
20/// The magnitude of the quaternion `q`.
21pub fn quat_magnitude<T: RealNumber>(q: &Qua<T>) -> T {
22 q.norm()
23}
24
25/// Normalizes the quaternion `q`.
26pub fn quat_normalize<T: RealNumber>(q: &Qua<T>) -> Qua<T> {
27 q.normalize()
28}