multiplyTranspose method

void multiplyTranspose (Matrix4 arg)

Multiply this with a transposed arg.

Implementation

void multiplyTranspose(Matrix4 arg) {
  final double m00 = _m4storage[0];
  final double m01 = _m4storage[4];
  final double m02 = _m4storage[8];
  final double m03 = _m4storage[12];
  final double m10 = _m4storage[1];
  final double m11 = _m4storage[5];
  final double m12 = _m4storage[9];
  final double m13 = _m4storage[13];
  final double m20 = _m4storage[2];
  final double m21 = _m4storage[6];
  final double m22 = _m4storage[10];
  final double m23 = _m4storage[14];
  final double m30 = _m4storage[3];
  final double m31 = _m4storage[7];
  final double m32 = _m4storage[11];
  final double m33 = _m4storage[15];
  final Float64List argStorage = arg._m4storage;
  _m4storage[0] = (m00 * argStorage[0]) +
      (m01 * argStorage[4]) +
      (m02 * argStorage[8]) +
      (m03 * argStorage[12]);
  _m4storage[4] = (m00 * argStorage[1]) +
      (m01 * argStorage[5]) +
      (m02 * argStorage[9]) +
      (m03 * argStorage[13]);
  _m4storage[8] = (m00 * argStorage[2]) +
      (m01 * argStorage[6]) +
      (m02 * argStorage[10]) +
      (m03 * argStorage[14]);
  _m4storage[12] = (m00 * argStorage[3]) +
      (m01 * argStorage[7]) +
      (m02 * argStorage[11]) +
      (m03 * argStorage[15]);
  _m4storage[1] = (m10 * argStorage[0]) +
      (m11 * argStorage[4]) +
      (m12 * argStorage[8]) +
      (m13 * argStorage[12]);
  _m4storage[5] = (m10 * argStorage[1]) +
      (m11 * argStorage[5]) +
      (m12 * argStorage[9]) +
      (m13 * argStorage[13]);
  _m4storage[9] = (m10 * argStorage[2]) +
      (m11 * argStorage[6]) +
      (m12 * argStorage[10]) +
      (m13 * argStorage[14]);
  _m4storage[13] = (m10 * argStorage[3]) +
      (m11 * argStorage[7]) +
      (m12 * argStorage[11]) +
      (m13 * argStorage[15]);
  _m4storage[2] = (m20 * argStorage[0]) +
      (m21 * argStorage[4]) +
      (m22 * argStorage[8]) +
      (m23 * argStorage[12]);
  _m4storage[6] = (m20 * argStorage[1]) +
      (m21 * argStorage[5]) +
      (m22 * argStorage[9]) +
      (m23 * argStorage[13]);
  _m4storage[10] = (m20 * argStorage[2]) +
      (m21 * argStorage[6]) +
      (m22 * argStorage[10]) +
      (m23 * argStorage[14]);
  _m4storage[14] = (m20 * argStorage[3]) +
      (m21 * argStorage[7]) +
      (m22 * argStorage[11]) +
      (m23 * argStorage[15]);
  _m4storage[3] = (m30 * argStorage[0]) +
      (m31 * argStorage[4]) +
      (m32 * argStorage[8]) +
      (m33 * argStorage[12]);
  _m4storage[7] = (m30 * argStorage[1]) +
      (m31 * argStorage[5]) +
      (m32 * argStorage[9]) +
      (m33 * argStorage[13]);
  _m4storage[11] = (m30 * argStorage[2]) +
      (m31 * argStorage[6]) +
      (m32 * argStorage[10]) +
      (m33 * argStorage[14]);
  _m4storage[15] = (m30 * argStorage[3]) +
      (m31 * argStorage[7]) +
      (m32 * argStorage[11]) +
      (m33 * argStorage[15]);
}