# Clipping, Limit, and Threshold Operations

No overview available.

## Topics

### Clipping Operations

The functions in this group restrict the values in a vector so that they fall within a given range or invert values outside a given range.

`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_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.

### 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.