operator * method
Implementation
FLeftMatrix operator *(FRightMatrix right) {
assert(right.nRows == this.nColumns);
FLeftMatrix result = FLeftMatrix.zero(right.nColumns, this.nRows);
for (int r = 0; r < this.nRows; ++r) {
Float32List resultRow = result.rowsData[r].buffer.asFloat32List();
for (int c = 0; c < right.nColumns; ++c) {
Float32x4 sum = Float32x4.zero();
Float32x4List leftRow = this.rowsData[r];
Float32x4List rightColumn = right.columnsData[c];
for (int i = 0; i < leftRow.length; ++i) {
sum += leftRow[i] * rightColumn[i];
}
resultRow[c] = sum.x + sum.y + sum.z + sum.w;
}
}
return result;
}