function Matrix4(
  column0Row0,
  column1Row0,
  column2Row0,
  column3Row0,
  column0Row1,
  column1Row1,
  column2Row1,
  column3Row1,
  column0Row2,
  column1Row2,
  column2Row2,
  column3Row2,
  column0Row3,
  column1Row3,
  column2Row3,
  column3Row3,
) {
  this[0] = column0Row0 ?? 0.0;
  this[1] = column0Row1 ?? 0.0;
  this[2] = column0Row2 ?? 0.0;
  this[3] = column0Row3 ?? 0.0;
  this[4] = column1Row0 ?? 0.0;
  this[5] = column1Row1 ?? 0.0;
  this[6] = column1Row2 ?? 0.0;
  this[7] = column1Row3 ?? 0.0;
  this[8] = column2Row0 ?? 0.0;
  this[9] = column2Row1 ?? 0.0;
  this[10] = column2Row2 ?? 0.0;
  this[11] = column2Row3 ?? 0.0;
  this[12] = column3Row0 ?? 0.0;
  this[13] = column3Row1 ?? 0.0;
  this[14] = column3Row2 ?? 0.0;
  this[15] = column3Row3 ?? 0.0;
}
A 4x4 matrix, indexable as a column-major order array.
Constructor parameters are in row-major order for code readability.
@alias Matrix4
@constructor
@implements {ArrayLike<number>}

@param {number} [column0Row0=0.0] The value for column 0, row 0.
@param {number} [column1Row0=0.0] The value for column 1, row 0.
@param {number} [column2Row0=0.0] The value for column 2, row 0.
@param {number} [column3Row0=0.0] The value for column 3, row 0.
@param {number} [column0Row1=0.0] The value for column 0, row 1.
@param {number} [column1Row1=0.0] The value for column 1, row 1.
@param {number} [column2Row1=0.0] The value for column 2, row 1.
@param {number} [column3Row1=0.0] The value for column 3, row 1.
@param {number} [column0Row2=0.0] The value for column 0, row 2.
@param {number} [column1Row2=0.0] The value for column 1, row 2.
@param {number} [column2Row2=0.0] The value for column 2, row 2.
@param {number} [column3Row2=0.0] The value for column 3, row 2.
@param {number} [column0Row3=0.0] The value for column 0, row 3.
@param {number} [column1Row3=0.0] The value for column 1, row 3.
@param {number} [column2Row3=0.0] The value for column 2, row 3.
@param {number} [column3Row3=0.0] The value for column 3, row 3.

@see Matrix4.fromArray
@see Matrix4.fromColumnMajorArray
@see Matrix4.fromRowMajorArray
@see Matrix4.fromRotationTranslation
@see Matrix4.fromTranslationQuaternionRotationScale
@see Matrix4.fromTranslationRotationScale
@see Matrix4.fromTranslation
@see Matrix4.fromScale
@see Matrix4.fromUniformScale
@see Matrix4.fromRotation
@see Matrix4.fromCamera
@see Matrix4.computePerspectiveFieldOfView
@see Matrix4.computeOrthographicOffCenter
@see Matrix4.computePerspectiveOffCenter
@see Matrix4.computeInfinitePerspectiveOffCenter
@see Matrix4.computeViewportTransformation
@see Matrix4.computeView
@see Matrix2
@see Matrix3
@see Packable