determinant static method

double determinant(
  1. List<double> matrix
)

Implementation

static double determinant(List<double> matrix) {
  var m00 = matrix[0];
  var m01 = matrix[1];
  var m02 = matrix[2];
  var m03 = matrix[3];
  var m10 = matrix[4];
  var m11 = matrix[5];
  var m12 = matrix[6];
  var m13 = matrix[7];
  var m20 = matrix[8];
  var m21 = matrix[9];
  var m22 = matrix[10];
  var m23 = matrix[11];
  var m30 = matrix[12];
  var m31 = matrix[13];
  var m32 = matrix[14];
  var m33 = matrix[15];
  return (m03 * m12 * m21 * m30 -
      m02 * m13 * m21 * m30 -
      m03 * m11 * m22 * m30 +
      m01 * m13 * m22 * m30 +
      m02 * m11 * m23 * m30 -
      m01 * m12 * m23 * m30 -
      m03 * m12 * m20 * m31 +
      m02 * m13 * m20 * m31 +
      m03 * m10 * m22 * m31 -
      m00 * m13 * m22 * m31 -
      m02 * m10 * m23 * m31 +
      m00 * m12 * m23 * m31 +
      m03 * m11 * m20 * m32 -
      m01 * m13 * m20 * m32 -
      m03 * m10 * m21 * m32 +
      m00 * m13 * m21 * m32 +
      m01 * m10 * m23 * m32 -
      m00 * m11 * m23 * m32 -
      m02 * m11 * m20 * m33 +
      m01 * m12 * m20 * m33 +
      m02 * m10 * m21 * m33 -
      m00 * m12 * m21 * m33 -
      m01 * m10 * m22 * m33 +
      m00 * m11 * m22 * m33);
}