sequencer
Namespaces | Functions | Variables
fft.hpp File Reference
#include <sequencer/assert.hpp>
#include <sequencer/type_traits.hpp>
#include <sequencer/vector_view.hpp>
#include <array>
#include <cassert>
#include <cmath>
#include <complex>
#include <cstring>
#include <vector>
Include dependency graph for fft.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 sequencer::audio
 

Functions

template<class T >
auto sequencer::audio::create_table ()
 
template<class T >
auto & sequencer::audio::gauss_table ()
 
template<class T , class Size >
std::complex< T > sequencer::audio::compute_gauss (Size k, Size size)
 
template<class Container >
auto sequencer::audio::radix2 (const Container &x)
 
template<class Container , class Result >
void sequencer::audio::radix2 (const Container &x, Result &result)
 
template<class Container >
auto sequencer::audio::inverse_radix2 (Container x)
 
template<class T , std::enable_if_t< !is_complex_v< T > > * = nullptr>
std::vector< std::complex< T > > sequencer::audio::fft (const std::vector< T > &x)
 
template<class T , std::enable_if_t< !is_complex_v< T > > * = nullptr>
std::pair< std::vector< std::complex< T > >, std::vector< std::complex< T > > > sequencer::audio::fft (const std::vector< T > &x, const std::vector< T > &y)
 
template<class T , std::enable_if_t< !is_complex_v< T > > * = nullptr>
void sequencer::audio::fft (const std::vector< T > &x, std::vector< std::complex< T > > &result)
 
template<class T , std::enable_if_t< !is_complex_v< T > > * = nullptr>
std::vector< T > sequencer::audio::fft_abs_scaled (const std::vector< T > &x)
 
template<class T , std::enable_if_t< !is_complex_v< T > > * = nullptr>
std::vector< T > sequencer::audio::inverse_fft (const std::vector< std::complex< T > > &x)
 

Variables

template<class T >
constexpr std::complex< T > sequencer::audio::imag = std::complex< T >{0, 1}