Function

vDSP_vthrsc(_:_:_:_:_:_:_:)

Calculates single-precision vector threshold with signed constant to the specified range.

Declaration

func vDSP_vthrsc(_ __A: UnsafePointer<Float>, _ __IA: vDSP_Stride, _ __B: UnsafePointer<Float>, _ __C: UnsafePointer<Float>, _ __D: UnsafeMutablePointer<Float>, _ __ID: 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

Pointer to single-precision real input scalar: output constant

__D

Single-precision real output vector

__ID

Stride for D

__N

The number of elements to process

Discussion

Performs the following operation:

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

Creates vector D using the plus or minus value of scalar *C. The sign of the output element is determined by comparing input from vector A with threshold scalar *B. For input values less than *B, the negated value of *C is written to vector D. For input values greater than or equal to *B, *C is copied to vector D.

See Also

Threshold Operations

static func threshold<U>(U, to: Double, with: vDSP.ThresholdRule<Double>) -> [Double]

Returns the elements of the supplied double-precision vector after applying a specified thresholding rule.

static func threshold<U>(U, to: Float, with: vDSP.ThresholdRule<Float>) -> [Float]

Returns the elements of the supplied single-precision vector after applying a specified thresholding rule.

static func threshold<U, V>(U, to: Double, with: vDSP.ThresholdRule<Double>, result: inout V)

Calculates the elements of the supplied double-precision vector after applying a specified thresholding rule.

static func threshold<U, V>(U, to: Float, with: vDSP.ThresholdRule<Float>, result: inout V)

Calculates the elements of the supplied single-precision vector after applying a specified thresholding rule.

enum vDSP.ThresholdRule

Vector Threshold Rules.