|
Krotos Modules 3
|
Classes | |
| class | Buffer |
| Simple buffer implementation (uses 16-byte alignment if SSE optimization is enabled) More... | |
| class | FFTConvolver |
| Implementation of a partitioned FFT convolution algorithm with uniform block size. More... | |
| class | SplitComplex |
| Buffer for split-complex representation of FFT results. More... | |
| class | TwoStageFFTConvolver |
| FFT convolver using two different block sizes. More... | |
Typedefs | |
| typedef float | Sample |
| Type of one sample. | |
| typedef Buffer< Sample > | SampleBuffer |
| Buffer for samples. | |
Functions | |
| bool | SSEEnabled () |
| Returns whether SSE optimization for the convolver is enabled. | |
| void | Sum (Sample *FFTCONVOLVER_RESTRICT result, const Sample *FFTCONVOLVER_RESTRICT a, const Sample *FFTCONVOLVER_RESTRICT b, size_t len) |
| Sums two given sample arrays. | |
| void | ComplexMultiplyAccumulate (SplitComplex &result, const SplitComplex &a, const SplitComplex &b) |
| Adds the complex product of two split-complex buffers to a result buffer. | |
| void | ComplexMultiplyAccumulate (Sample *FFTCONVOLVER_RESTRICT re, Sample *FFTCONVOLVER_RESTRICT im, const Sample *FFTCONVOLVER_RESTRICT reA, const Sample *FFTCONVOLVER_RESTRICT imA, const Sample *FFTCONVOLVER_RESTRICT reB, const Sample *FFTCONVOLVER_RESTRICT imB, const size_t len) |
| Adds the complex product of two split-complex arrays to a result array. | |
| template<typename T > | |
| T | NextPowerOf2 (const T &val) |
| Returns the next power of 2 of a given number. | |
| template<typename T > | |
| void | CopyAndPad (Buffer< T > &dest, const T *src, size_t srcSize) |
| Copies a source array into a destination buffer and pads the destination buffer with zeros. | |
| typedef float fftconvolver::Sample |
Type of one sample.
| typedef Buffer<Sample> fftconvolver::SampleBuffer |
Buffer for samples.
| void fftconvolver::ComplexMultiplyAccumulate | ( | Sample *FFTCONVOLVER_RESTRICT | re, |
| Sample *FFTCONVOLVER_RESTRICT | im, | ||
| const Sample *FFTCONVOLVER_RESTRICT | reA, | ||
| const Sample *FFTCONVOLVER_RESTRICT | imA, | ||
| const Sample *FFTCONVOLVER_RESTRICT | reB, | ||
| const Sample *FFTCONVOLVER_RESTRICT | imB, | ||
| const size_t | len ) |
Adds the complex product of two split-complex arrays to a result array.
| re | The real part of the result buffer |
| im | The imaginary part of the result buffer |
| reA | The real part of the 1st factor of the complex product |
| imA | The imaginary part of the 1st factor of the complex product |
| reB | The real part of the 2nd factor of the complex product |
| imB | The imaginary part of the 2nd factor of the complex product |
| void fftconvolver::ComplexMultiplyAccumulate | ( | SplitComplex & | result, |
| const SplitComplex & | a, | ||
| const SplitComplex & | b ) |
Adds the complex product of two split-complex buffers to a result buffer.
| result | The result buffer |
| a | The 1st factor of the complex product |
| b | The 2nd factor of the complex product |
| void fftconvolver::CopyAndPad | ( | Buffer< T > & | dest, |
| const T * | src, | ||
| size_t | srcSize ) |
Copies a source array into a destination buffer and pads the destination buffer with zeros.
| dest | The destination buffer |
| src | The source array |
| srcSize | The size of the source array |
| T fftconvolver::NextPowerOf2 | ( | const T & | val | ) |
Returns the next power of 2 of a given number.
| val | The number |
| bool fftconvolver::SSEEnabled | ( | ) |
Returns whether SSE optimization for the convolver is enabled.
| void fftconvolver::Sum | ( | Sample *FFTCONVOLVER_RESTRICT | result, |
| const Sample *FFTCONVOLVER_RESTRICT | a, | ||
| const Sample *FFTCONVOLVER_RESTRICT | b, | ||
| size_t | len ) |
Sums two given sample arrays.
| result | The result array |
| a | The 1st array |
| b | The 2nd array |
| len | The length of the arrays |