Function

vDSP_vcmprs(_:_:_:_:_:_:_:)

Compresses a single-precision vector using the specified gating vector.

Declaration

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

Parameters

__A

Single-precision real input vector

__IA

Stride for A

__B

Single-precision real gating vector

__IB

Stride for B

__C

Single-precision real output vector

__IC

Stride for C

__N

The number of elements to process.

Discussion

Performs the following operation:

vDSP_Length p = 0;
for (n = 0; n < N; ++n){
    if (B[n*IB] != 0)
        C[p++ * IC] = A[n*IA];
}

Compresses vector A based on the nonzero values of gating vector B. For nonzero elements of B, corresponding elements of A are sequentially copied to output vector C.

See Also

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