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}