determinant method

double determinant()

Returns the determinant of this matrix.

Implementation

double determinant() {
  final double det2_01_01 = _m4storage[0] * _m4storage[5] - _m4storage[1] * _m4storage[4];
  final double det2_01_02 = _m4storage[0] * _m4storage[6] - _m4storage[2] * _m4storage[4];
  final double det2_01_03 = _m4storage[0] * _m4storage[7] - _m4storage[3] * _m4storage[4];
  final double det2_01_12 = _m4storage[1] * _m4storage[6] - _m4storage[2] * _m4storage[5];
  final double det2_01_13 = _m4storage[1] * _m4storage[7] - _m4storage[3] * _m4storage[5];
  final double det2_01_23 = _m4storage[2] * _m4storage[7] - _m4storage[3] * _m4storage[6];
  final double det3_201_012 =
      _m4storage[8] * det2_01_12 - _m4storage[9] * det2_01_02 + _m4storage[10] * det2_01_01;
  final double det3_201_013 =
      _m4storage[8] * det2_01_13 - _m4storage[9] * det2_01_03 + _m4storage[11] * det2_01_01;
  final double det3_201_023 =
      _m4storage[8] * det2_01_23 - _m4storage[10] * det2_01_03 + _m4storage[11] * det2_01_02;
  final double det3_201_123 =
      _m4storage[9] * det2_01_23 - _m4storage[10] * det2_01_13 + _m4storage[11] * det2_01_12;
  return -det3_201_123 * _m4storage[12] +
      det3_201_023 * _m4storage[13] -
      det3_201_013 * _m4storage[14] +
      det3_201_012 * _m4storage[15];
}