Function

# vDSP_f3x3(_:_:_:_:_:)

Filters a single-precision image by performing a 2D convolution with a 3 x 3 kernel.

## Parameters

`__A`

Single-precision real input matrix.

`__NR`

The number of rows in `A`. The value of `NR` must be greater than or equal to 3.

`__NC`

The number of columns in `A`. The value of `NC` must be even and greater than or equal to 4.

`__F`

Single-precision real 3x3 kernel.

`__C`

Single-precision real result matrix.

## Discussion

This function filters an image by performing a two-dimensional convolution with a 3x3 kernel (`F`) on the input matrix `A` and storing the resulting image in the output matrix `C`.

This function zero-pads the perimeter of the output image with a border of width 1:

### Fixed-Size Kernel

`static func convolve<T, U>(T, rowCount: Int, columnCount: Int, with3x3Kernel: U) -> [Double]`

Returns the 2D convolution of a double-precision vector with a 3 x 3 kernel.

`static func convolve<T, U>(T, rowCount: Int, columnCount: Int, with3x3Kernel: U) -> [Float]`

Returns the 2D convolution of a single-precision vector with a 3 x 3 kernel.

`static func convolve<T, U, V>(T, rowCount: Int, columnCount: Int, with3x3Kernel: U, result: inout V)`

Calculates the 2D convolution of a double-precision vector with a 3 x 3 kernel.

`static func convolve<T, U, V>(T, rowCount: Int, columnCount: Int, with3x3Kernel: U, result: inout V)`

Calculates the 2D convolution of a single-precision vector with a 3 x 3 kernel.

`static func convolve<T, U>(T, rowCount: Int, columnCount: Int, with5x5Kernel: U) -> [Double]`

Returns the 2D convolution of a double-precision vector with a 5 x 5 kernel.

`static func convolve<T, U>(T, rowCount: Int, columnCount: Int, with5x5Kernel: U) -> [Float]`

Returns the 2D convolution of a single-precision vector with a 5 x 5 kernel.

`static func convolve<T, U, V>(T, rowCount: Int, columnCount: Int, with5x5Kernel: U, result: inout V)`

Calculates the 2D convolution of a double-precision vector with a 5 x 5 kernel.

`static func convolve<T, U, V>(T, rowCount: Int, columnCount: Int, with5x5Kernel: U, result: inout V)`

Calculates the 2D convolution of a single-precision vector with a 5 x 5 kernel.