Function

vDSP_vthr(_:_:_:_:_:_:)

Calculates single-precision vector threshold to the specified range.

Declaration

func vDSP_vthr(_ __A: UnsafePointer<Float>, _ __IA: vDSP_Stride, _ __B: UnsafePointer<Float>, _ __C: UnsafeMutablePointer<Float>, _ __IC: vDSP_Stride, _ __N: vDSP_Length)

Parameters

__A

Single-precision real input vector

__IA

Stride for A

__B

Pointer to single-precision real input scalar: lower threshold

__C

Single-precision real output vector

__IC

Stride for C

__N

The number of elements to process

Discussion

Performs the following operation:

for (n = 0; n < N; ++n){
    if (A[n*IA] >= *B)
        C[n*IC] = A[n*IA];
    else
        C[n*IC] = *B;
}

Creates vector C by comparing each input from vector A with scalar *B. If an input value is less than *B, *B is copied to C; otherwise, the input value from A is copied to C.

See Also

Clipping Operations

static func clip<U>(U, to: ClosedRange<Double>) -> [Double]

Returns the elements of a double-precision vector clipped to the specified range.

static func clip<U>(U, to: ClosedRange<Float>) -> [Float]

Returns the elements of a single-precision vector clipped to the specified range.

static func clip<U, V>(U, to: ClosedRange<Double>, result: inout V)

Calculates the elements of a double-precision vector clipped to the specified range.

static func clip<U, V>(U, to: ClosedRange<Float>, result: inout V)

Calculates the elements of a single-precision vector clipped to the specified range.

static func invertedClip<U>(U, to: ClosedRange<Double>) -> [Double]

Returns a double-precision vector that’s inverted-clipped to the specified range.

static func invertedClip<U>(U, to: ClosedRange<Float>) -> [Float]

Returns a single-precision vector that’s inverted-clipped to the specified range.

static func invertedClip<U, V>(U, to: ClosedRange<Double>, result: inout V)

Calculates a double-precision vector that’s inverted-clipped to the specified range.

static func invertedClip<U, V>(U, to: ClosedRange<Float>, result: inout V)

Calculates a single-precision vector that’s inverted-clipped to the specified range.

func vDSP_vclip(UnsafePointer<Float>, vDSP_Stride, UnsafePointer<Float>, UnsafePointer<Float>, UnsafeMutablePointer<Float>, vDSP_Stride, vDSP_Length)

Calculates the elements of a single-precision vector clipped to the specified range using the specified stride.

func vDSP_vclipD(UnsafePointer<Double>, vDSP_Stride, UnsafePointer<Double>, UnsafePointer<Double>, UnsafeMutablePointer<Double>, vDSP_Stride, vDSP_Length)

Calculates the elements of a double-precision vector clipped to the specified range using the specified stride.

func vDSP_viclip(UnsafePointer<Float>, vDSP_Stride, UnsafePointer<Float>, UnsafePointer<Float>, UnsafeMutablePointer<Float>, vDSP_Stride, vDSP_Length)

Calculates the elements of a single-precision vector inverted-clipped to the specified range using the specified stride.

func vDSP_viclipD(UnsafePointer<Double>, vDSP_Stride, UnsafePointer<Double>, UnsafePointer<Double>, UnsafeMutablePointer<Double>, vDSP_Stride, vDSP_Length)

Calculates the elements of a double-precision vector inverted-clipped to the specified range using the specified stride.