multiply method
out
= a
* b
; Starting at outOffset
, aOffset
, and bOffset
.
Implementation
static void multiply(Float32List out, int outOffset, Float32List a,
int aOffset, Float32List b, int bOffset) {
final double a00 = a[aOffset++];
final double a01 = a[aOffset++];
final double a02 = a[aOffset++];
final double a03 = a[aOffset++];
final double a10 = a[aOffset++];
final double a11 = a[aOffset++];
final double a12 = a[aOffset++];
final double a13 = a[aOffset++];
final double a20 = a[aOffset++];
final double a21 = a[aOffset++];
final double a22 = a[aOffset++];
final double a23 = a[aOffset++];
final double a30 = a[aOffset++];
final double a31 = a[aOffset++];
final double a32 = a[aOffset++];
final double a33 = a[aOffset++];
double b0 = b[bOffset++];
double b1 = b[bOffset++];
double b2 = b[bOffset++];
double b3 = b[bOffset++];
out[outOffset++] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
out[outOffset++] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
out[outOffset++] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
out[outOffset++] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
b0 = b[bOffset++];
b1 = b[bOffset++];
b2 = b[bOffset++];
b3 = b[bOffset++];
out[outOffset++] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
out[outOffset++] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
out[outOffset++] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
out[outOffset++] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
b0 = b[bOffset++];
b1 = b[bOffset++];
b2 = b[bOffset++];
b3 = b[bOffset++];
out[outOffset++] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
out[outOffset++] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
out[outOffset++] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
out[outOffset++] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
b0 = b[bOffset++];
b1 = b[bOffset++];
b2 = b[bOffset++];
b3 = b[bOffset++];
out[outOffset++] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
out[outOffset++] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
out[outOffset++] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
out[outOffset++] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
}