code: public static void transposeM(float[] mTrans, int mTransOffset, float[] m,
              int mOffset) {
          for (int i = 0; i < 4; i++) {
              int mBase = i * 4 + mOffset;
              mTrans[i + mTransOffset] = m[mBase];
              mTrans[i + 4 + mTransOffset] = m[mBase + 1];
              mTrans[i + 8 + mTransOffset] = m[mBase + 2];
              mTrans[i + 12 + mTransOffset] = m[mBase + 3];
          }
      }
docs: Transposes a 4 x 4 matrix.
  
  @param mTrans the array that holds the output inverted matrix
  @param mTransOffset an offset into mInv where the inverted matrix is
  stored.
  @param m the input array
  @param mOffset an offset into m where the matrix is stored.