multibyteMultiplyAccumulate
fn
void multibyteMultiplyAccumulate(uint [] dest, const(uint)[] left, const(uint)
[] right) pure @nogc @safeSets result = result[0 .. left.length] + left * right
It is defined in this way to allow cache-efficient multiplication. This function is equivalent to: ---- for (size_t i = 0; i< right.length; ++i) { dest[left.length + i] = multibyteMulAdd(dest[i .. left.length+i], left, right[i], 0); } ----