Krotos Modules 3
Loading...
Searching...
No Matches
Utilities.h File Reference
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstring>
#include <new>

Go to the source code of this file.

Classes

class  fftconvolver::Buffer< T >
 Simple buffer implementation (uses 16-byte alignment if SSE optimization is enabled) More...
 
class  fftconvolver::SplitComplex
 Buffer for split-complex representation of FFT results. More...
 

Namespaces

namespace  fftconvolver
 

Macros

#define FFTCONVOLVER_RESTRICT
 

Typedefs

typedef float fftconvolver::Sample
 Type of one sample.
 
typedef Buffer< Samplefftconvolver::SampleBuffer
 Buffer for samples.
 

Functions

bool fftconvolver::SSEEnabled ()
 Returns whether SSE optimization for the convolver is enabled.
 
template<typename T >
fftconvolver::NextPowerOf2 (const T &val)
 Returns the next power of 2 of a given number.
 
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.
 
template<typename T >
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.
 
void fftconvolver::ComplexMultiplyAccumulate (SplitComplex &result, const SplitComplex &a, const SplitComplex &b)
 Adds the complex product of two split-complex buffers to a result buffer.
 
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.
 

Macro Definition Documentation

◆ FFTCONVOLVER_RESTRICT

#define FFTCONVOLVER_RESTRICT