Function

vDSP_vclip

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

Declaration

void vDSP_vclip(const float *__A, vDSP_Stride __IA, const float *__B, const float *__C, float *__D, vDSP_Stride __ID, vDSP_Length __N);

Parameters

__A

Single-precision real input vector

__IA

Stride for A

__B

Pointer to single-precision real input scalar: low clipping threshold

__C

Pointer to single-precision real input scalar: high clipping threshold

__D

Single-precision real output vector

__ID

Stride for D

__N

The number of elements to process

Discussion

This performs the following operation:

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

Elements of A are copied to D, while clipping elements that are outside the interval [*B, *C] to the endpoints of the interval.

See Also

Clipping Operations

vDSP_vclipD

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

vDSP_vclipc

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

vDSP_vclipcD

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

vDSP_viclip

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

vDSP_viclipD

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

vDSP_vthr

Calculates single-precision vector threshold to the specified range.

vDSP_vthrD

Calculates double-precision vector threshold to the specified range.