/// <summary> /// Does a point wise subtraction of two arrays <c>z = x - y</c>. This can be used /// to subtract vectors or matrices. /// </summary> /// <param name="x">The array x.</param> /// <param name="y">The array y.</param> /// <param name="result">The result of the subtraction.</param> /// <remarks>There is no equivalent BLAS routine, but many libraries /// provide optimized (parallel and/or vectorized) versions of this /// routine.</remarks> public override void SubtractArrays(float[] x, float[] y, float[] result) { if (y == null) { throw new ArgumentNullException("y"); } if (x == null) { throw new ArgumentNullException("x"); } if (x.Length != y.Length) { throw new ArgumentException(Resources.ArgumentArraysSameLength); } if (x.Length != result.Length) { throw new ArgumentException(Resources.ArgumentArraysSameLength); } SafeNativeMethods.s_vector_subtract(x.Length, x, y, result); }
/// <summary> /// Does a point wise subtraction of two arrays <c>z = x - y</c>. This can be used /// to subtract vectors or matrices. /// </summary> /// <param name="x">The array x.</param> /// <param name="y">The array y.</param> /// <param name="result">The result of the subtraction.</param> /// <remarks>There is no equivalent BLAS routine, but many libraries /// provide optimized (parallel and/or vectorized) versions of this /// routine.</remarks> public override void SubtractArrays(float[] x, float[] y, float[] result) { if (y == null) { throw new ArgumentNullException(nameof(y)); } if (x == null) { throw new ArgumentNullException(nameof(x)); } if (x.Length != y.Length) { throw new ArgumentException("The array arguments must have the same length."); } if (x.Length != result.Length) { throw new ArgumentException("The array arguments must have the same length."); } SafeNativeMethods.s_vector_subtract(x.Length, x, y, result); }