ramp(withInitialValue:multiplyingBy:increment:)
Returns a single-precision vector that contains monotonically incrementing or decrementing values, and multiplies that vector by a source vector.
Declaration
static func ramp<U>(withInitialValue initialValue: inout Float, multiplyingBy vector: U, increment: Float) -> [Float] where U : AccelerateBuffer, U.Element == FloatParameters
- initialValue:
On input, the initial value of the ramp. On output, the next value in the ramp.
- vector:
The input vector that the function multiplies by the ramp.
- increment:
The increment, or decrement if negative, between each generated element.
Discussion
Use this function to generate and return a vector populated with ramped values with each element multiplied by the corresponding element in a second vector.
The following code generates a ramped vector with values in the range 0 ... 7. The function multiplies elements at even indices by 10 and multiplies elements at odd indices by 100.
var initialValue: Float = 0
let increment: Float = 1
let ramp = vDSP.ramp(withInitialValue: &initialValue,
multiplyingBy: [10, 100, 10, 100, 10, 100, 10, 100],
increment: increment)
// Prints "[0.0, 100.0, 20.0, 300.0, 40.0, 500.0, 60.0, 700.0]".
print(ramp)
// Prints "8".
print(initialValue)