B2G/gecko/browser/devtools/tilt/TiltMath.jsm
/**
   * Calculate the determinant of a mat4.
   *
   * @param {Array} aMat
   *                mat4 to calculate determinant of
   *
   * @return {Number} determinant of the matrix
   */
Calculate the determinant of a mat4.
@param {Array} aMat
mat4 to calculate determinant of

@return {Number} determinant of the matrix
Calculate the determinant of a mat4 . @param { Array } aMat mat4 to calculate determinant of @return { Number } determinant of the matrix
function M4_determinant(mat)
  {
    let a00 = mat[0], a01 = mat[1], a02 = mat[2], a03 = mat[3];
    let a10 = mat[4], a11 = mat[5], a12 = mat[6], a13 = mat[7];
    let a20 = mat[8], a21 = mat[9], a22 = mat[10], a23 = mat[11];
    let a30 = mat[12], a31 = mat[13], a32 = mat[14], a33 = mat[15];
    return a30 * a21 * a12 * a03 - a20 * a31 * a12 * a03 -
           a30 * a11 * a22 * a03 + a10 * a31 * a22 * a03 +
           a20 * a11 * a32 * a03 - a10 * a21 * a32 * a03 -
           a30 * a21 * a02 * a13 + a20 * a31 * a02 * a13 +
           a30 * a01 * a22 * a13 - a00 * a31 * a22 * a13 -
           a20 * a01 * a32 * a13 + a00 * a21 * a32 * a13 +
           a30 * a11 * a02 * a23 - a10 * a31 * a02 * a23 -
           a30 * a01 * a12 * a23 + a00 * a31 * a12 * a23 +
           a10 * a01 * a32 * a23 - a00 * a11 * a32 * a23 -
           a20 * a11 * a02 * a33 + a10 * a21 * a02 * a33 +
           a20 * a01 * a12 * a33 - a00 * a21 * a12 * a33 -
           a10 * a01 * a22 * a33 + a00 * a11 * a22 * a33;
  }
function M4_determinant ( mat ) { let a00 = mat [ 0 ] , a01 = mat [ 1 ] , a02 = mat [ 2 ] , a03 = mat [ 3 ] ; let a10 = mat [ 4 ] , a11 = mat [ 5 ] , a12 = mat [ 6 ] , a13 = mat [ 7 ] ; let a20 = mat [ 8 ] , a21 = mat [ 9 ] , a22 = mat [ 10 ] , a23 = mat [ 11 ] ; let a30 = mat [ 12 ] , a31 = mat [ 13 ] , a32 = mat [ 14 ] , a33 = mat [ 15 ] ; return a30 * a21 * a12 * a03 - a20 * a31 * a12 * a03 - a30 * a11 * a22 * a03 + a10 * a31 * a22 * a03 + a20 * a11 * a32 * a03 - a10 * a21 * a32 * a03 - a30 * a21 * a02 * a13 + a20 * a31 * a02 * a13 + a30 * a01 * a22 * a13 - a00 * a31 * a22 * a13 - a20 * a01 * a32 * a13 + a00 * a21 * a32 * a13 + a30 * a11 * a02 * a23 - a10 * a31 * a02 * a23 - a30 * a01 * a12 * a23 + a00 * a31 * a12 * a23 + a10 * a01 * a32 * a23 - a00 * a11 * a32 * a23 - a20 * a11 * a02 * a33 + a10 * a21 * a02 * a33 + a20 * a01 * a12 * a33 - a00 * a21 * a12 * a33 - a10 * a01 * a22 * a33 + a00 * a11 * a22 * a33 ; }
Calculate the determinant of a mat4.
Calculate the determinant of a mat4 .