RetroArch
Classes | Functions
fft.c File Reference
#include <math.h>
#include <stdlib.h>
#include "fft.h"
#include <retro_miscellaneous.h>
Include dependency graph for fft.c:
This graph shows which files directly or indirectly include this file:

Classes

struct  fft
 

Functions

static unsigned bitswap (unsigned x, unsigned size_log2)
 
static void build_bitinverse (unsigned *bitinverse, unsigned size_log2)
 
static fft_complex_t exp_imag (double phase)
 
static void build_phase_lut (fft_complex_t *out, int size)
 
static void interleave_complex (const unsigned *bitinverse, fft_complex_t *out, const fft_complex_t *in, unsigned samples, unsigned step)
 
static void interleave_float (const unsigned *bitinverse, fft_complex_t *out, const float *in, unsigned samples, unsigned step)
 
static void resolve_float (float *out, const fft_complex_t *in, unsigned samples, float gain, unsigned step)
 
fft_tfft_new (unsigned block_size_log2)
 
void fft_free (fft_t *fft)
 
static void butterfly (fft_complex_t *a, fft_complex_t *b, fft_complex_t mod)
 
static void butterflies (fft_complex_t *butterfly_buf, const fft_complex_t *phase_lut, int phase_dir, unsigned step_size, unsigned samples)
 
void fft_process_forward_complex (fft_t *fft, fft_complex_t *out, const fft_complex_t *in, unsigned step)
 
void fft_process_forward (fft_t *fft, fft_complex_t *out, const float *in, unsigned step)
 
void fft_process_inverse (fft_t *fft, float *out, const fft_complex_t *in, unsigned step)
 

Function Documentation

◆ bitswap()

static unsigned bitswap ( unsigned  x,
unsigned  size_log2 
)
static
Here is the caller graph for this function:

◆ build_bitinverse()

static void build_bitinverse ( unsigned *  bitinverse,
unsigned  size_log2 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ build_phase_lut()

static void build_phase_lut ( fft_complex_t out,
int  size 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ butterflies()

static void butterflies ( fft_complex_t butterfly_buf,
const fft_complex_t phase_lut,
int  phase_dir,
unsigned  step_size,
unsigned  samples 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ butterfly()

static void butterfly ( fft_complex_t a,
fft_complex_t b,
fft_complex_t  mod 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ exp_imag()

static fft_complex_t exp_imag ( double  phase)
static
Here is the caller graph for this function:

◆ fft_free()

void fft_free ( fft_t fft)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ fft_new()

fft_t* fft_new ( unsigned  block_size_log2)
Here is the call graph for this function:

◆ fft_process_forward()

void fft_process_forward ( fft_t fft,
fft_complex_t out,
const float *  in,
unsigned  step 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ fft_process_forward_complex()

void fft_process_forward_complex ( fft_t fft,
fft_complex_t out,
const fft_complex_t in,
unsigned  step 
)
Here is the call graph for this function:

◆ fft_process_inverse()

void fft_process_inverse ( fft_t fft,
float *  out,
const fft_complex_t in,
unsigned  step 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ interleave_complex()

static void interleave_complex ( const unsigned *  bitinverse,
fft_complex_t out,
const fft_complex_t in,
unsigned  samples,
unsigned  step 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ interleave_float()

static void interleave_float ( const unsigned *  bitinverse,
fft_complex_t out,
const float *  in,
unsigned  samples,
unsigned  step 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ resolve_float()

static void resolve_float ( float *  out,
const fft_complex_t in,
unsigned  samples,
float  gain,
unsigned  step 
)
static
Here is the caller graph for this function: