Project Ne10
An open, optimized software library for the ARM architecture.
Macros
NE10_fft_bfly.h File Reference
#include "NE10_types.h"
#include "NE10_fft_cplx_ops.h"
#include "NE10_fft_common_varibles.h"

Go to the source code of this file.

Macros

#define NE10_FFT_R2C_4R_RCR(OUT, IN)
 
#define NE10_FFT_C2R_RCR_4R(OUT, IN)
 
#define NE10_FFT_R2C_4R_CC(OUT, IN)
 
#define NE10_FFT_C2R_CC_4R(OUT, IN)
 
#define NE10_FFT_R2C_CC_CC(OUT, IN)
 
#define NE10_FFT_C2R_CC_CC(OUT, IN)
 

Macro Definition Documentation

#define NE10_FFT_C2R_CC_4R (   OUT,
  IN 
)
Value:
do { \
ne10_float32_t SCRATCH [4]; \
OUT[0] = ( IN[0] + IN[2]); \
OUT[2] = (-IN[1] + IN[3]); \
OUT[0] = OUT[0] + OUT[0]; \
OUT[2] = OUT[2] + OUT[2]; \
SCRATCH[0] = (IN[0] - IN[2]); \
SCRATCH[1] = (IN[1] + IN[3]); \
SCRATCH[2] = (SCRATCH[0] + SCRATCH[1]); \
SCRATCH[3] = (SCRATCH[0] - SCRATCH[1]); \
OUT[3] = SCRATCH[2] / TW_81N_F32; \
OUT[1] = SCRATCH[3] / TW_81_F32; \
} while (0)
float ne10_float32_t
Definition: NE10_types.h:80

Definition at line 87 of file NE10_fft_bfly.h.

#define NE10_FFT_C2R_CC_CC (   OUT,
  IN 
)
Value:
do { \
ne10_fft_cpx_float32_t SCRATCH[4]; \
SCRATCH[0].r = (IN[0].r + IN[1].r); \
SCRATCH[2].r = (IN[0].r - IN[1].r); \
SCRATCH[2].i = (IN[0].i + IN[1].i); \
SCRATCH[0].i = (IN[0].i - IN[1].i); \
SCRATCH[1].r = (IN[2].r + IN[3].r); \
SCRATCH[3].i = (IN[2].r - IN[3].r); \
SCRATCH[3].r = (IN[2].i + IN[3].i) * -1.0f; \
SCRATCH[1].i = (IN[2].i - IN[3].i); \
OUT[0].r = (SCRATCH[0].r + SCRATCH[1].r); \
OUT[2].r = (SCRATCH[0].r - SCRATCH[1].r); \
OUT[0].i = (SCRATCH[0].i + SCRATCH[1].i); \
OUT[2].i = (SCRATCH[0].i - SCRATCH[1].i); \
OUT[1].r = (SCRATCH[2].r + SCRATCH[3].r); \
OUT[3].r = (SCRATCH[2].r - SCRATCH[3].r); \
OUT[1].i = (SCRATCH[2].i + SCRATCH[3].i); \
OUT[3].i = (SCRATCH[2].i - SCRATCH[3].i); \
} while (0)

Definition at line 129 of file NE10_fft_bfly.h.

#define NE10_FFT_C2R_RCR_4R (   OUT,
  IN 
)
Value:
do { \
ne10_float32_t SCRATCH [4]; \
SCRATCH[0] =(IN[0] + IN[3]); \
SCRATCH[1] =(IN[0] - IN[3]); \
SCRATCH[2] = IN[1] + IN[1]; \
SCRATCH[3] = IN[2] + IN[2]; \
OUT[0] = SCRATCH[0] + SCRATCH[2]; \
OUT[1] = SCRATCH[1] - SCRATCH[3]; \
OUT[2] = SCRATCH[0] - SCRATCH[2]; \
OUT[3] = SCRATCH[1] + SCRATCH[3]; \
} while (0)
float ne10_float32_t
Definition: NE10_types.h:80

Definition at line 56 of file NE10_fft_bfly.h.

#define NE10_FFT_R2C_4R_CC (   OUT,
  IN 
)
Value:
do { \
ne10_float32_t SCRATCH [2]; \
ne10_float32_t TMP [2]; \
SCRATCH[0] = (IN[3] - IN[1]) * TW_81N_F32; \
SCRATCH[1] = (IN[3] + IN[1]) * TW_81N_F32; \
OUT[0] = IN[0] + SCRATCH[0]; \
OUT[2] = IN[0] - SCRATCH[0]; \
OUT[1] = SCRATCH[1] - IN[2]; \
OUT[3] = SCRATCH[1] + IN[2]; \
} while (0)
float ne10_float32_t
Definition: NE10_types.h:80

Definition at line 72 of file NE10_fft_bfly.h.

#define NE10_FFT_R2C_4R_RCR (   OUT,
  IN 
)
Value:
do { \
ne10_float32_t SCRATCH [2]; \
SCRATCH[0] = IN[0] + IN[2]; \
SCRATCH[1] = IN[1] + IN[3]; \
OUT[0] = SCRATCH[0] + SCRATCH[1]; \
OUT[1] = IN[0] - IN[2]; \
OUT[2] = IN[3] - IN[1]; \
OUT[3] = SCRATCH[0] - SCRATCH[1]; \
} while (0)
float ne10_float32_t
Definition: NE10_types.h:80

Definition at line 42 of file NE10_fft_bfly.h.

#define NE10_FFT_R2C_CC_CC (   OUT,
  IN 
)
Value:
do { \
ne10_fft_cpx_float32_t TMP[4]; \
ne10_float32_t TMP_SWAP; \
NE10_CPX_ADD (TMP[0], IN[0], IN[2]); \
NE10_CPX_SUB (TMP[1], IN[0], IN[2]); \
NE10_CPX_ADD (TMP[2], IN[1], IN[3]); \
NE10_CPX_SUB (TMP[3], IN[1], IN[3]); \
TMP_SWAP = TMP[3].i; \
TMP[3].i = - TMP[3].r; \
TMP[3].r = TMP_SWAP; \
OUT[0].r = TMP[0].r + TMP[2].r; \
OUT[0].i = TMP[0].i + TMP[2].i; \
OUT[2].r = TMP[0].r - TMP[2].r; \
OUT[2].i = -(TMP[0].i - TMP[2].i); \
OUT[1].r = TMP[1].r + TMP[3].r; \
OUT[1].i = TMP[1].i + TMP[3].i; \
OUT[3].r = TMP[1].r - TMP[3].r; \
OUT[3].i = -(TMP[1].i - TMP[3].i); \
} while (0)
float ne10_float32_t
Definition: NE10_types.h:80
#define NE10_CPX_ADD(Z, A, B)
#define NE10_CPX_SUB(Z, A, B)

Definition at line 105 of file NE10_fft_bfly.h.