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.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software