UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
radfft.cpp File Reference
#include "rrCore.h"
#include "radfft.h"
#include <math.h>
#include "radfft_tables.inl"

Classes

struct  PlanElement
 
struct  KernelSet
 

Macros

#define USETABLES
 
#define FFTASSERT(cond)   if (!(cond)) RR_BREAK()
 
#define FFTALIGNED(type, name)   static RAD_ALIGN(type const, name, RADFFT_ALIGN)
 
#define ALIGNHINT(var, align)
 
#define FFTTABLE(type, name)   FFTALIGNED(type, name)
 
#define RAD_HAS_BUILTIN(n)   0
 
#define STATIC_KERNEL   &s_kernel_scalar
 
#define s_kernel   (STATIC_KERNEL)
 

Typedefs

typedef U16 Index
 
typedef void CFFTKernel(rfft_complex data[], PlanElement const *plan, UINTa Nover4)
 
typedef void BaseKernel(rfft_complex out[], rfft_complex const in0[], rfft_complex const in1[], rfft_complex const in2[], rfft_complex const in3[], UINTa j0, UINTa j1, Index const *perm)
 
typedef void MergeSplitKernel(F32 out[], F32 const in[], UINTa N)
 
typedef void MergeSplitKernelS16(S16 out[], F32 scale, F32 const in[], UINTa N)
 
typedef void MergeSplitKernelS16S(S16 out[], S16 left[], F32 scale, F32 const in[], UINTa N)
 
typedef void ModulateKernel(F32 out[], F32 const in[], UINTa N, UINTa Nlast, rfft_complex const *twiddle)
 

Functions

RADDEFEND typedef void RFFTPrePostKernel (rfft_complex data[], UINTa kEnd, UINTa N4)
 
void RADLINK radfft_init ()
 
void RADLINK radfft_cfft (rfft_complex out[], rfft_complex const in[], UINTa N)
 
void RADLINK radfft_cifft (rfft_complex out[], rfft_complex const in[], UINTa N)
 
void RADLINK radfft_rfft (rfft_complex out[], F32 const in[], UINTa N)
 
void RADLINK radfft_dct (F32 out[], F32 in[], UINTa N)
 
void RADLINK radfft_rifft (F32 out[], rfft_complex in[], UINTa N)
 
void RADLINK radfft_idct (F32 out[], F32 in[], UINTa N)
 
void RADLINK radfft_idct_to_S16 (S16 outs16[], F32 scale, F32 tmp[], F32 in[], UINTa N)
 
void RADLINK radfft_idct_to_S16_stereo_interleave (S16 outs16[], S16 left[], F32 scale, F32 tmp[], F32 in[], UINTa N)
 

Macro Definition Documentation

◆ ALIGNHINT

#define ALIGNHINT (   var,
  align 
)

◆ FFTALIGNED

#define FFTALIGNED (   type,
  name 
)    static RAD_ALIGN(type const, name, RADFFT_ALIGN)

◆ FFTASSERT

#define FFTASSERT (   cond)    if (!(cond)) RR_BREAK()

◆ FFTTABLE

#define FFTTABLE (   type,
  name 
)    FFTALIGNED(type, name)

◆ RAD_HAS_BUILTIN

#define RAD_HAS_BUILTIN (   n)    0

◆ s_kernel

#define s_kernel   (STATIC_KERNEL)

◆ STATIC_KERNEL

#define STATIC_KERNEL   &s_kernel_scalar

◆ USETABLES

#define USETABLES

Typedef Documentation

◆ BaseKernel

typedef void BaseKernel(rfft_complex out[], rfft_complex const in0[], rfft_complex const in1[], rfft_complex const in2[], rfft_complex const in3[], UINTa j0, UINTa j1, Index const *perm)

◆ CFFTKernel

typedef void CFFTKernel(rfft_complex data[], PlanElement const *plan, UINTa Nover4)

◆ Index

◆ MergeSplitKernel

typedef void MergeSplitKernel(F32 out[], F32 const in[], UINTa N)

◆ MergeSplitKernelS16

typedef void MergeSplitKernelS16(S16 out[], F32 scale, F32 const in[], UINTa N)

◆ MergeSplitKernelS16S

typedef void MergeSplitKernelS16S(S16 out[], S16 left[], F32 scale, F32 const in[], UINTa N)

◆ ModulateKernel

typedef void ModulateKernel(F32 out[], F32 const in[], UINTa N, UINTa Nlast, rfft_complex const *twiddle)

Function Documentation

◆ radfft_cfft()

void RADLINK radfft_cfft ( rfft_complex  out[],
rfft_complex const  in[],
UINTa  N 
)

◆ radfft_cifft()

void RADLINK radfft_cifft ( rfft_complex  out[],
rfft_complex const  in[],
UINTa  N 
)

◆ radfft_dct()

void RADLINK radfft_dct ( F32  out[],
F32  in[],
UINTa  N 
)

◆ radfft_idct()

void RADLINK radfft_idct ( F32  out[],
F32  in[],
UINTa  N 
)

◆ radfft_idct_to_S16()

void RADLINK radfft_idct_to_S16 ( S16  outs16[],
F32  scale,
F32  tmp[],
F32  in[],
UINTa  N 
)

◆ radfft_idct_to_S16_stereo_interleave()

void RADLINK radfft_idct_to_S16_stereo_interleave ( S16  outs16[],
S16  left[],
F32  scale,
F32  tmp[],
F32  in[],
UINTa  N 
)

◆ radfft_init()

void RADLINK radfft_init ( )

◆ radfft_rfft()

void RADLINK radfft_rfft ( rfft_complex  out[],
F32 const  in[],
UINTa  N 
)

◆ radfft_rifft()

void RADLINK radfft_rifft ( F32  out[],
rfft_complex  in[],
UINTa  N 
)

◆ RFFTPrePostKernel()

RADDEFEND typedef void RFFTPrePostKernel ( rfft_complex  data[],
UINTa  kEnd,
UINTa  N4 
)