protected override void DoRemainder(float divisor, Matrix<float> result) { var denseResult = result as DenseMatrix; if (denseResult == null) { base.DoRemainder(divisor, result); return; } if (!ReferenceEquals(this, result)) { CopyTo(result); } CommonParallel.For(0, _values.Length, (a, b) => { var v = denseResult._values; for (int i = a; i < b; i++) { v[i] %= divisor; } }); }