nalgebra_glm/gtc/matrix_inverse.rs
1use crate::RealNumber;
2
3use crate::aliases::TMat;
4
5/// Fast matrix inverse for affine matrix.
6pub fn affine_inverse<T: RealNumber, const D: usize>(m: TMat<T, D, D>) -> TMat<T, D, D> {
7 // TODO: this should be optimized.
8 m.try_inverse().unwrap_or_else(TMat::<_, D, D>::zeros)
9}
10
11/// Compute the transpose of the inverse of a matrix.
12pub fn inverse_transpose<T: RealNumber, const D: usize>(m: TMat<T, D, D>) -> TMat<T, D, D> {
13 m.try_inverse()
14 .unwrap_or_else(TMat::<_, D, D>::zeros)
15 .transpose()
16}