multiply method Null safety

void multiply(
  1. Float32List out,
  2. int outOffset,
  3. Float32List a,
  4. int aOffset,
  5. Float32List b,
  6. int bOffset
)

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 a00 = a[aOffset++];
  final a01 = a[aOffset++];
  final a02 = a[aOffset++];
  final a03 = a[aOffset++];
  final a10 = a[aOffset++];
  final a11 = a[aOffset++];
  final a12 = a[aOffset++];
  final a13 = a[aOffset++];
  final a20 = a[aOffset++];
  final a21 = a[aOffset++];
  final a22 = a[aOffset++];
  final a23 = a[aOffset++];
  final a30 = a[aOffset++];
  final a31 = a[aOffset++];
  final a32 = a[aOffset++];
  final a33 = a[aOffset++];

  var b0 = b[bOffset++];
  var b1 = b[bOffset++];
  var b2 = b[bOffset++];
  var 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;
}