# 2D Convolution

No overview available.

## Topics

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