subtract(multiplication:multiplication:)
Returns the single-precision element-wise difference of the products of two pairs of vectors.
Declaration
static func subtract<R, S, T, U>(multiplication multiplicationAB: (a: T, b: U), multiplication multiplicationCD: (c: R, d: S)) -> [Float] where R : AccelerateBuffer, S : AccelerateBuffer, T : AccelerateBuffer, U : AccelerateBuffer, R.Element == Float, S.Element == Float, T.Element == Float, U.Element == FloatParameters
- multiplicationAB:
A tuple that contains the vectors
AandBinE = (A * B) - (C * D). - multiplicationCD:
A tuple that contains the vectors
CandDinE = (A * B) - (C * D).
Mentioned in
Return Value
The output vector E in E = (A * B) - (C * D).
Discussion
This function calculates the differences of the first N elements of the product of vectors A and B and the product of vectors C and D.
for (n = 0; n < N; ++n)
E[n] = A[n]*B[n] - C[n]*D[n]; [Image]
The following code shows an example of using this function:
let a: [Float] = [ 1, 2, 3, 4, 5]
let b: [Float] = [10, 20, 30, 40, 50]
let c: [Float] = [ 5, 4, 3, 2, 1]
let d: [Float] = [50, 40, 30, 20, 10]
let e = vDSP.subtract(multiplication: (a, b),
multiplication: (c, d))
// Prints "[-240.0, -120.0, 0.0, 120.0, 240.0]".
print(e)
See Also
Subtraction
subtract(_:_:)subtract(_:_:)subtract(_:_:result:)subtract(_:_:result:)subtract(_:from:count:result:)subtract(_:from:count:result:)subtract(multiplication:_:)subtract(multiplication:_:)subtract(multiplication:_:)subtract(multiplication:_:)subtract(multiplication:_:result:)subtract(multiplication:_:result:)subtract(multiplication:_:result:)subtract(multiplication:_:result:)subtract(multiplication:multiplication:)