pub fn scale<T, U>(s: T, a: U) -> Uwhere
T: Float,
U: QuaternionOps<T>,
Expand description
Multiplies each component of the quaternion (or vector) by a given real number, scaling the entire quaternion uniformly: s * a
.
ยงExamples
// --- Vector3 --- //
let v: Vector3<f64> = [1.0, 2.0, 3.0];
let v_result = scale(2.0, v);
assert!( (2.0 - v_result[0]).abs() < 1e-12 );
assert!( (4.0 - v_result[1]).abs() < 1e-12 );
assert!( (6.0 - v_result[2]).abs() < 1e-12 );
// --- Quaternion --- //
let q: Quaternion<f64> = (1.0, [2.0, 3.0, 4.0]);
let q_result = scale(2.0, q);
assert!( (2.0 - q_result.0).abs() < 1e-12 );
assert!( (4.0 - q_result.1[0]).abs() < 1e-12 );
assert!( (6.0 - q_result.1[1]).abs() < 1e-12 );
assert!( (8.0 - q_result.1[2]).abs() < 1e-12 );