module.exports = transpose /** * Transpose the values of a mat2 * * @alias mat2.transpose * @param {mat2} out the receiving matrix * @param {mat2} a the source matrix * @returns {mat2} out */ function transpose(out, a) { // If we are transposing ourselves we can skip a few steps but have to cache some values if (out === a) { var a1 = a[1] out[1] = a[2] out[2] = a1 } else { out[0] = a[0] out[1] = a[2] out[2] = a[1] out[3] = a[3] } return out }