SAF
Loading...
Searching...
No Matches
_kiss_fft_guts.h File Reference

KISS FFT internals, taken from: https://github.com/mborgerding/kissfft. More...

#include "kiss_fft.h"
#include <limits.h>

Go to the source code of this file.

Data Structures

struct  kiss_fft_cfg
 Internal KissFFT structure. More...
 

Macros

#define MAXFACTORS   32
 
#define S_MUL(a, b)   ( (a)*(b) )
 
#define C_MUL(m, a, b)
 
#define C_FIXDIV(c, div)   /* NOOP */
 
#define C_MULBYSCALAR(c, s)
 
#define CHECK_OVERFLOW_OP(a, op, b)   /* noop */
 
#define C_ADD(res, a, b)
 
#define C_SUB(res, a, b)
 
#define C_ADDTO(res, a)
 
#define C_SUBFROM(res, a)
 
#define KISS_FFT_COS(phase)   (kiss_fft_scalar) cos(phase)
 
#define KISS_FFT_SIN(phase)   (kiss_fft_scalar) sin(phase)
 
#define HALF_OF(x)   ((x)*.5f)
 
#define kf_cexp(x, phase)
 
#define pcpx(c)    fprintf(stderr,"%g + %gi\n",(double)((c)->r),(double)((c)->i) )
 
#define KISS_FFT_TMP_ALLOC(nbytes)   KISS_FFT_MALLOC(nbytes)
 
#define KISS_FFT_TMP_FREE(ptr)   KISS_FFT_FREE(ptr)
 

Detailed Description

KISS FFT internals, taken from: https://github.com/mborgerding/kissfft.

Author
Mark Borgerding
License
BSD 3-Clause

Definition in file _kiss_fft_guts.h.

Macro Definition Documentation

◆ C_ADD

#define C_ADD ( res,
a,
b )
Value:
do { \
CHECK_OVERFLOW_OP((a).r,+,(b).r)\
CHECK_OVERFLOW_OP((a).i,+,(b).i)\
(res).r=(a).r+(b).r; (res).i=(a).i+(b).i; \
}while(0)

Definition at line 103 of file _kiss_fft_guts.h.

◆ C_ADDTO

#define C_ADDTO ( res,
a )
Value:
do { \
CHECK_OVERFLOW_OP((res).r,+,(a).r)\
CHECK_OVERFLOW_OP((res).i,+,(a).i)\
(res).r += (a).r; (res).i += (a).i;\
}while(0)

Definition at line 115 of file _kiss_fft_guts.h.

◆ C_FIXDIV

#define C_FIXDIV ( c,
div )   /* NOOP */

Definition at line 93 of file _kiss_fft_guts.h.

◆ C_MUL

#define C_MUL ( m,
a,
b )
Value:
do{ (m).r = (a).r*(b).r - (a).i*(b).i;\
(m).i = (a).r*(b).i + (a).i*(b).r; }while(0)

Definition at line 90 of file _kiss_fft_guts.h.

◆ C_MULBYSCALAR

#define C_MULBYSCALAR ( c,
s )
Value:
do{ (c).r *= (s);\
(c).i *= (s); }while(0)

Definition at line 94 of file _kiss_fft_guts.h.

◆ C_SUB

#define C_SUB ( res,
a,
b )
Value:
do { \
CHECK_OVERFLOW_OP((a).r,-,(b).r)\
CHECK_OVERFLOW_OP((a).i,-,(b).i)\
(res).r=(a).r-(b).r; (res).i=(a).i-(b).i; \
}while(0)

Definition at line 109 of file _kiss_fft_guts.h.

◆ C_SUBFROM

#define C_SUBFROM ( res,
a )
Value:
do {\
CHECK_OVERFLOW_OP((res).r,-,(a).r)\
CHECK_OVERFLOW_OP((res).i,-,(a).i)\
(res).r -= (a).r; (res).i -= (a).i; \
}while(0)

Definition at line 122 of file _kiss_fft_guts.h.

◆ CHECK_OVERFLOW_OP

#define CHECK_OVERFLOW_OP ( a,
op,
b )   /* noop */

Definition at line 100 of file _kiss_fft_guts.h.

◆ HALF_OF

#define HALF_OF ( x)    ((x)*.5f)

Definition at line 141 of file _kiss_fft_guts.h.

◆ kf_cexp

#define kf_cexp ( x,
phase )
Value:
do{ \
(x)->r = KISS_FFT_COS(phase);\
(x)->i = KISS_FFT_SIN(phase);\
}while(0)

Definition at line 144 of file _kiss_fft_guts.h.

◆ KISS_FFT_COS

#define KISS_FFT_COS ( phase)    (kiss_fft_scalar) cos(phase)

Definition at line 139 of file _kiss_fft_guts.h.

◆ KISS_FFT_SIN

#define KISS_FFT_SIN ( phase)    (kiss_fft_scalar) sin(phase)

Definition at line 140 of file _kiss_fft_guts.h.

◆ KISS_FFT_TMP_ALLOC

#define KISS_FFT_TMP_ALLOC ( nbytes)    KISS_FFT_MALLOC(nbytes)

Definition at line 165 of file _kiss_fft_guts.h.

◆ KISS_FFT_TMP_FREE

#define KISS_FFT_TMP_FREE ( ptr)    KISS_FFT_FREE(ptr)

Definition at line 166 of file _kiss_fft_guts.h.

◆ MAXFACTORS

#define MAXFACTORS   32

Definition at line 23 of file _kiss_fft_guts.h.

◆ pcpx

#define pcpx ( c)     fprintf(stderr,"%g + %gi\n",(double)((c)->r),(double)((c)->i) )

Definition at line 152 of file _kiss_fft_guts.h.

◆ S_MUL

#define S_MUL ( a,
b )   ( (a)*(b) )

Definition at line 89 of file _kiss_fft_guts.h.