pub fn normalize<T: Norm<D, Output = R> + DivAssign<R>, R: Num, D>(
v: &mut T,
desc: D,
)Expand description
Normalizes the vector v according to the norm desc,
i.e. divides it by its norm.
As long as the implementations of Div and DivAssign on T match,
v will be equal to normalized(v) after calling this function.
§Attention
Due to numerical errors, v is not guaranteed to have exactly norm 1
after calling this function.
On integer types this function will do complete nonsense since
DivAssign is implemented as an integer division for integers.
§Example
use norman::normalize;
use norman::desc::Abs;
let mut a = 0.25f32;
normalize(&mut a, Abs::new());
assert_eq!(a, 1.0);
let mut a = -3.0f32;
normalize(&mut a, Abs::new());
assert_eq!(a, -1.0);