LIBDSP Version 4.1.9
LIBDSP Software Library
Loading...
Searching...
No Matches
riscv_math_transform.h File Reference
This graph shows which files directly or indirectly include this file:

Data Structures

struct  riscv_cfft_radix2_instance_f32
struct  riscv_cfft_radix4_instance_f32
struct  riscv_cfft_radix2_instance_f64
struct  riscv_cfft_radix4_instance_f64
struct  riscv_cfft_radix2_instance_q15
struct  riscv_cfft_radix4_instance_q15
struct  riscv_cfft_radix2_instance_q31
struct  riscv_cfft_radix4_instance_q31
struct  riscv_cfft_instance_f32
struct  riscv_cfft_instance_f64
struct  riscv_cfft_instance_q15
struct  riscv_cfft_instance_q31
struct  riscv_rfft_instance_f32
struct  riscv_rfft_fast_instance_f32
struct  riscv_rfft_fast_instance_f64
struct  riscv_rfft_instance_q15
struct  riscv_rfft_instance_q31
struct  riscv_dct4_instance_f32
struct  riscv_dct4_instance_q15
struct  riscv_dct4_instance_q31

Macros

#define LOG2_VALUE(n)
#define riscv_mfcc_instance_f32   tpt_mfcc_instance_f32
#define riscv_mfcc_instance_q15   tpt_mfcc_instance_q15
#define riscv_mfcc_instance_q31   tpt_mfcc_instance_q31
#define riscv_mfcc_init_f32(S, fftLen, nbMelFilters, nbDctOutputs, dctCoefs, filterPos, filterLengths, filterCoefs, windowCoefs)
#define riscv_mfcc_init_q15(S, fftLen, nbMelFilters, nbDctOutputs, dctCoefs, filterPos, filterLengths, filterCoefs, windowCoefs)
#define riscv_mfcc_init_q31(S, fftLen, nbMelFilters, nbDctOutputs, dctCoefs, filterPos, filterLengths, filterCoefs, windowCoefs)
#define riscv_mfcc_f32(S, pSrc, pDst, pTmp)
#define riscv_mfcc_q15(S, pSrc, pDst, pTmp)
#define riscv_mfcc_q31(S, pSrc, pDst, pTmp)

Typedefs

typedef enum tpt_math_datatype riscv_math_datatype
typedef enum tpt_math_target_arch riscv_math_target_arch

Enumerations

enum  tpt_math_datatype {
  TPT_MATH_F16 = 16 , TPT_MATH_F32 = 32 , TPT_MATH_F64 = 64 , TPT_MATH_Q7 = 7 ,
  TPT_MATH_Q15 = 15 , TPT_MATH_Q31 = 31 , RISCV_MATH_F16 = 16 , RISCV_MATH_F32 = 32 ,
  RISCV_MATH_F64 = 64 , RISCV_MATH_Q7 = 7 , RISCV_MATH_Q15 = 15 , RISCV_MATH_Q31 = 31
}
 Datatype identifier. More...
enum  tpt_math_target_arch { TPT_MATH_SCALAR_ARCH = 1 , RISCV_MATH_SCALAR_ARCH = 1 , TPT_MATH_DSP_EXTENSIONS_ARCH , RISCV_MATH_DSP_EXTENSIONS_ARCH }
 Architecture target identifier. More...

Functions

static riscv_status riscv_cfft_radix2_init_f32 (riscv_cfft_radix2_instance_f32 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
static void riscv_cfft_radix2_f32 (const riscv_cfft_radix2_instance_f32 *S, float32_t *pSrc)
static riscv_status riscv_cfft_radix4_init_f32 (riscv_cfft_radix4_instance_f32 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
static void riscv_cfft_radix4_f32 (const riscv_cfft_radix4_instance_f32 *S, float32_t *pSrc)
static riscv_status riscv_cfft_radix2_init_f64 (riscv_cfft_radix2_instance_f64 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
static void riscv_cfft_radix2_f64 (const riscv_cfft_radix2_instance_f64 *S, float32_t *pSrc)
static riscv_status riscv_cfft_radix4_init_f64 (riscv_cfft_radix4_instance_f64 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
static void riscv_cfft_radix4_f64 (const riscv_cfft_radix4_instance_f64 *S, float64_t *pSrc)
static riscv_status riscv_cfft_radix2_init_q15 (riscv_cfft_radix2_instance_q15 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
static void riscv_cfft_radix2_q15 (const riscv_cfft_radix2_instance_q15 *S, q15_t *pSrc)
static riscv_status riscv_cfft_radix4_init_q15 (riscv_cfft_radix4_instance_q15 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
static void riscv_cfft_radix4_q15 (const riscv_cfft_radix4_instance_q15 *S, q15_t *pSrc)
static riscv_status riscv_cfft_radix2_init_q31 (riscv_cfft_radix2_instance_q31 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
static void riscv_cfft_radix2_q31 (const riscv_cfft_radix2_instance_q31 *S, q31_t *pSrc)
static riscv_status riscv_cfft_radix4_init_q31 (riscv_cfft_radix4_instance_q31 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
static void riscv_cfft_radix4_q31 (const riscv_cfft_radix4_instance_q31 *S, q31_t *pSrc)
static riscv_status riscv_cfft_init_f32 (riscv_cfft_instance_f32 *S, uint16_t fftLen)
static void riscv_cfft_f32 (const riscv_cfft_instance_f32 *S, float32_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
static void riscv_cfft_f64 (const riscv_cfft_instance_f64 *S, float64_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
static riscv_status riscv_cfft_init_q15 (riscv_cfft_instance_q15 *S, uint16_t fftLen)
static void riscv_cfft_q15 (const riscv_cfft_instance_q15 *S, q15_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
static riscv_status riscv_cfft_init_q31 (riscv_cfft_instance_q31 *S, uint16_t fftLen)
static void riscv_cfft_q31 (const riscv_cfft_instance_q31 *S, q31_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
static riscv_status riscv_rfft_init_f32 (riscv_rfft_instance_f32 *S, riscv_cfft_radix4_instance_f32 *S_CFFT, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag)
static void riscv_rfft_f32 (const riscv_rfft_instance_f32 *S, float32_t *pSrc, float32_t *pDst)
static riscv_status riscv_rfft_fast_init_f32 (riscv_rfft_fast_instance_f32 *S, uint16_t fftLen)
static void riscv_rfft_fast_f32 (const riscv_rfft_fast_instance_f32 *S, float32_t *p, float32_t *pOut, uint8_t ifftFlag)
static riscv_status riscv_rfft_fast_init_f64 (riscv_rfft_fast_instance_f64 *S, uint16_t fftLen)
static riscv_status riscv_rfft_init_q15 (riscv_rfft_instance_q15 *S, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag)
static void riscv_rfft_q15 (const riscv_rfft_instance_q15 *S, q15_t *pSrc, q15_t *pDst)
static riscv_status riscv_rfft_init_q31 (riscv_rfft_instance_q31 *S, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag)
static void riscv_rfft_q31 (const riscv_rfft_instance_q31 *S, q31_t *pSrc, q31_t *pDst)
static void riscv_rfft_fast_f64 (riscv_rfft_fast_instance_f64 *S, float64_t *p, float64_t *pOut, uint8_t ifftFlag)
static riscv_status riscv_dct4_init_f32 (riscv_dct4_instance_f32 *S, riscv_rfft_instance_f32 *S_RFFT, riscv_cfft_radix4_instance_f32 *S_CFFT, uint16_t N, uint16_t Nby2, float32_t normalize)
static void riscv_dct4_f32 (const riscv_dct4_instance_f32 *S, float32_t *pState, float32_t *pInlineBuffer)
static riscv_status riscv_dct4_init_q15 (riscv_dct4_instance_q15 *S, riscv_rfft_instance_q15 *S_RFFT, riscv_cfft_radix4_instance_q15 *S_CFFT, uint16_t N, uint16_t Nby2, q15_t normalize)
static void riscv_dct4_q15 (const riscv_dct4_instance_q15 *S, q15_t *pState, q15_t *pInlineBuffer)
static riscv_status riscv_dct4_init_q31 (riscv_dct4_instance_q31 *S, riscv_rfft_instance_q31 *S_RFFT, riscv_cfft_radix4_instance_q31 *S_CFFT, uint16_t N, uint16_t Nby2, q31_t normalize)
static void riscv_dct4_q31 (const riscv_dct4_instance_q31 *S, q31_t *pState, q31_t *pInlineBuffer)

Macro Definition Documentation

◆ LOG2_VALUE

#define LOG2_VALUE ( n)
Value:
31U - __DSP_CLZ(n)
static uint8_t __DSP_CLZ(uint32_t aData)
Definition tpt_math_dsp.h:369

◆ riscv_mfcc_f32

#define riscv_mfcc_f32 ( S,
pSrc,
pDst,
pTmp )
Value:
tpt_mfcc_f32(pDst, S, pSrc, pTmp)
void tpt_mfcc_f32(f32_t *aOutData, const tpt_mfcc_instance_f32 *aFliter, f32_t *aInData, f32_t *aTmp)
Compute the MFCC features from an input frame.
Definition tpt_mfcc_f32.c:10

◆ riscv_mfcc_init_f32

#define riscv_mfcc_init_f32 ( S,
fftLen,
nbMelFilters,
nbDctOutputs,
dctCoefs,
filterPos,
filterLengths,
filterCoefs,
windowCoefs )
Value:
tpt_mfcc_init_f32(S, fftLen, nbMelFilters, nbDctOutputs, dctCoefs, filterPos, filterLengths, filterCoefs, windowCoefs)
tpt_status tpt_mfcc_init_f32(tpt_mfcc_instance_f32 *S, uint32_t fftLen, uint32_t nbMelFilters, uint32_t nbDctOutputs, const f32_t *dctCoefs, const uint32_t *filterPos, const uint32_t *filterLengths, const f32_t *filterCoefs, const f32_t *windowCoefs)
Instance structure for the F32 MFCC function.
Definition tpt_mfcc_init_f32.c:47

◆ riscv_mfcc_init_q15

#define riscv_mfcc_init_q15 ( S,
fftLen,
nbMelFilters,
nbDctOutputs,
dctCoefs,
filterPos,
filterLengths,
filterCoefs,
windowCoefs )
Value:
tpt_mfcc_init_q15(S, fftLen, nbMelFilters, nbDctOutputs, dctCoefs, filterPos, filterLengths, filterCoefs, windowCoefs)
tpt_status tpt_mfcc_init_q15(tpt_mfcc_instance_q15 *S, uint32_t aLogN, uint32_t nbMelFilters, uint32_t nbDctOutputs, const q15_t *dctCoefs, const uint32_t *filterPos, const uint32_t *filterLengths, const q15_t *filterCoefs, const q15_t *windowCoefs)
Instance structure for the Q15 MFCC function.
Definition tpt_mfcc_init_q15.c:37

◆ riscv_mfcc_init_q31

#define riscv_mfcc_init_q31 ( S,
fftLen,
nbMelFilters,
nbDctOutputs,
dctCoefs,
filterPos,
filterLengths,
filterCoefs,
windowCoefs )
Value:
tpt_mfcc_init_q31(S, fftLen, nbMelFilters, nbDctOutputs, dctCoefs, filterPos, filterLengths, filterCoefs, windowCoefs)
tpt_status tpt_mfcc_init_q31(tpt_mfcc_instance_q31 *S, uint32_t aLogN, uint32_t nbMelFilters, uint32_t nbDctOutputs, const q31_t *dctCoefs, const uint32_t *filterPos, const uint32_t *filterLengths, const q31_t *filterCoefs, const q31_t *windowCoefs)
Instance structure for the Q31 MFCC function.
Definition tpt_mfcc_init_q31.c:38

◆ riscv_mfcc_instance_f32

#define riscv_mfcc_instance_f32   tpt_mfcc_instance_f32

◆ riscv_mfcc_instance_q15

#define riscv_mfcc_instance_q15   tpt_mfcc_instance_q15

◆ riscv_mfcc_instance_q31

#define riscv_mfcc_instance_q31   tpt_mfcc_instance_q31

◆ riscv_mfcc_q15

#define riscv_mfcc_q15 ( S,
pSrc,
pDst,
pTmp )
Value:
tpt_mfcc_q15(pDst, S, pSrc, pTmp)
tpt_status tpt_mfcc_q15(q15_t *aOutData, const tpt_mfcc_instance_q15 *aFliter, q15_t *aInData, q31_t *aTmp)
Compute the MFCC features from an input frame.
Definition tpt_mfcc_q15.c:14

◆ riscv_mfcc_q31

#define riscv_mfcc_q31 ( S,
pSrc,
pDst,
pTmp )
Value:
tpt_mfcc_q31(pDst, S, pSrc, pTmp)
tpt_status tpt_mfcc_q31(q31_t *aOutData, const tpt_mfcc_instance_q31 *aFliter, q31_t *aInData, q31_t *aTmp)
Compute the MFCC features from an input frame.
Definition tpt_mfcc_q31.c:14

Typedef Documentation

◆ riscv_math_datatype

◆ riscv_math_target_arch

Enumeration Type Documentation

◆ tpt_math_datatype

Datatype identifier.

Enumerator
TPT_MATH_F16 
TPT_MATH_F32 
TPT_MATH_F64 
TPT_MATH_Q7 
TPT_MATH_Q15 
TPT_MATH_Q31 
RISCV_MATH_F16 
RISCV_MATH_F32 
RISCV_MATH_F64 
RISCV_MATH_Q7 
RISCV_MATH_Q15 
RISCV_MATH_Q31 

◆ tpt_math_target_arch

Architecture target identifier.

Note
In case the target supports both DSP extensions and Neon extensions, only Neon extensions should be used as identification in the corresponding buffer functions.
Enumerator
TPT_MATH_SCALAR_ARCH 
RISCV_MATH_SCALAR_ARCH 
TPT_MATH_DSP_EXTENSIONS_ARCH 
RISCV_MATH_DSP_EXTENSIONS_ARCH 

Function Documentation

◆ riscv_cfft_f32()

void riscv_cfft_f32 ( const riscv_cfft_instance_f32 * S,
float32_t * p1,
uint8_t ifftFlag,
uint8_t bitReverseFlag )
inlinestatic

◆ riscv_cfft_f64()

void riscv_cfft_f64 ( const riscv_cfft_instance_f64 * S,
float64_t * p1,
uint8_t ifftFlag,
uint8_t bitReverseFlag )
inlinestatic

◆ riscv_cfft_init_f32()

riscv_status riscv_cfft_init_f32 ( riscv_cfft_instance_f32 * S,
uint16_t fftLen )
inlinestatic

◆ riscv_cfft_init_q15()

riscv_status riscv_cfft_init_q15 ( riscv_cfft_instance_q15 * S,
uint16_t fftLen )
inlinestatic

◆ riscv_cfft_init_q31()

riscv_status riscv_cfft_init_q31 ( riscv_cfft_instance_q31 * S,
uint16_t fftLen )
inlinestatic

◆ riscv_cfft_q15()

void riscv_cfft_q15 ( const riscv_cfft_instance_q15 * S,
q15_t * p1,
uint8_t ifftFlag,
uint8_t bitReverseFlag )
inlinestatic

◆ riscv_cfft_q31()

void riscv_cfft_q31 ( const riscv_cfft_instance_q31 * S,
q31_t * p1,
uint8_t ifftFlag,
uint8_t bitReverseFlag )
inlinestatic

◆ riscv_cfft_radix2_f32()

void riscv_cfft_radix2_f32 ( const riscv_cfft_radix2_instance_f32 * S,
float32_t * pSrc )
inlinestatic

◆ riscv_cfft_radix2_f64()

void riscv_cfft_radix2_f64 ( const riscv_cfft_radix2_instance_f64 * S,
float32_t * pSrc )
inlinestatic

◆ riscv_cfft_radix2_init_f32()

riscv_status riscv_cfft_radix2_init_f32 ( riscv_cfft_radix2_instance_f32 * S,
uint16_t fftLen,
uint8_t ifftFlag,
uint8_t bitReverseFlag )
inlinestatic

◆ riscv_cfft_radix2_init_f64()

riscv_status riscv_cfft_radix2_init_f64 ( riscv_cfft_radix2_instance_f64 * S,
uint16_t fftLen,
uint8_t ifftFlag,
uint8_t bitReverseFlag )
inlinestatic

◆ riscv_cfft_radix2_init_q15()

riscv_status riscv_cfft_radix2_init_q15 ( riscv_cfft_radix2_instance_q15 * S,
uint16_t fftLen,
uint8_t ifftFlag,
uint8_t bitReverseFlag )
inlinestatic

◆ riscv_cfft_radix2_init_q31()

riscv_status riscv_cfft_radix2_init_q31 ( riscv_cfft_radix2_instance_q31 * S,
uint16_t fftLen,
uint8_t ifftFlag,
uint8_t bitReverseFlag )
inlinestatic

◆ riscv_cfft_radix2_q15()

void riscv_cfft_radix2_q15 ( const riscv_cfft_radix2_instance_q15 * S,
q15_t * pSrc )
inlinestatic

◆ riscv_cfft_radix2_q31()

void riscv_cfft_radix2_q31 ( const riscv_cfft_radix2_instance_q31 * S,
q31_t * pSrc )
inlinestatic

◆ riscv_cfft_radix4_f32()

void riscv_cfft_radix4_f32 ( const riscv_cfft_radix4_instance_f32 * S,
float32_t * pSrc )
inlinestatic

◆ riscv_cfft_radix4_f64()

void riscv_cfft_radix4_f64 ( const riscv_cfft_radix4_instance_f64 * S,
float64_t * pSrc )
inlinestatic

◆ riscv_cfft_radix4_init_f32()

riscv_status riscv_cfft_radix4_init_f32 ( riscv_cfft_radix4_instance_f32 * S,
uint16_t fftLen,
uint8_t ifftFlag,
uint8_t bitReverseFlag )
inlinestatic

◆ riscv_cfft_radix4_init_f64()

riscv_status riscv_cfft_radix4_init_f64 ( riscv_cfft_radix4_instance_f64 * S,
uint16_t fftLen,
uint8_t ifftFlag,
uint8_t bitReverseFlag )
inlinestatic

◆ riscv_cfft_radix4_init_q15()

riscv_status riscv_cfft_radix4_init_q15 ( riscv_cfft_radix4_instance_q15 * S,
uint16_t fftLen,
uint8_t ifftFlag,
uint8_t bitReverseFlag )
inlinestatic

◆ riscv_cfft_radix4_init_q31()

riscv_status riscv_cfft_radix4_init_q31 ( riscv_cfft_radix4_instance_q31 * S,
uint16_t fftLen,
uint8_t ifftFlag,
uint8_t bitReverseFlag )
inlinestatic

◆ riscv_cfft_radix4_q15()

void riscv_cfft_radix4_q15 ( const riscv_cfft_radix4_instance_q15 * S,
q15_t * pSrc )
inlinestatic

◆ riscv_cfft_radix4_q31()

void riscv_cfft_radix4_q31 ( const riscv_cfft_radix4_instance_q31 * S,
q31_t * pSrc )
inlinestatic

◆ riscv_dct4_f32()

void riscv_dct4_f32 ( const riscv_dct4_instance_f32 * S,
float32_t * pState,
float32_t * pInlineBuffer )
inlinestatic

◆ riscv_dct4_init_f32()

riscv_status riscv_dct4_init_f32 ( riscv_dct4_instance_f32 * S,
riscv_rfft_instance_f32 * S_RFFT,
riscv_cfft_radix4_instance_f32 * S_CFFT,
uint16_t N,
uint16_t Nby2,
float32_t normalize )
inlinestatic

◆ riscv_dct4_init_q15()

riscv_status riscv_dct4_init_q15 ( riscv_dct4_instance_q15 * S,
riscv_rfft_instance_q15 * S_RFFT,
riscv_cfft_radix4_instance_q15 * S_CFFT,
uint16_t N,
uint16_t Nby2,
q15_t normalize )
inlinestatic

◆ riscv_dct4_init_q31()

riscv_status riscv_dct4_init_q31 ( riscv_dct4_instance_q31 * S,
riscv_rfft_instance_q31 * S_RFFT,
riscv_cfft_radix4_instance_q31 * S_CFFT,
uint16_t N,
uint16_t Nby2,
q31_t normalize )
inlinestatic

◆ riscv_dct4_q15()

void riscv_dct4_q15 ( const riscv_dct4_instance_q15 * S,
q15_t * pState,
q15_t * pInlineBuffer )
inlinestatic

◆ riscv_dct4_q31()

void riscv_dct4_q31 ( const riscv_dct4_instance_q31 * S,
q31_t * pState,
q31_t * pInlineBuffer )
inlinestatic

◆ riscv_rfft_f32()

void riscv_rfft_f32 ( const riscv_rfft_instance_f32 * S,
float32_t * pSrc,
float32_t * pDst )
inlinestatic

◆ riscv_rfft_fast_f32()

void riscv_rfft_fast_f32 ( const riscv_rfft_fast_instance_f32 * S,
float32_t * p,
float32_t * pOut,
uint8_t ifftFlag )
inlinestatic

◆ riscv_rfft_fast_f64()

void riscv_rfft_fast_f64 ( riscv_rfft_fast_instance_f64 * S,
float64_t * p,
float64_t * pOut,
uint8_t ifftFlag )
inlinestatic

◆ riscv_rfft_fast_init_f32()

riscv_status riscv_rfft_fast_init_f32 ( riscv_rfft_fast_instance_f32 * S,
uint16_t fftLen )
inlinestatic

◆ riscv_rfft_fast_init_f64()

riscv_status riscv_rfft_fast_init_f64 ( riscv_rfft_fast_instance_f64 * S,
uint16_t fftLen )
inlinestatic

◆ riscv_rfft_init_f32()

riscv_status riscv_rfft_init_f32 ( riscv_rfft_instance_f32 * S,
riscv_cfft_radix4_instance_f32 * S_CFFT,
uint32_t fftLenReal,
uint32_t ifftFlagR,
uint32_t bitReverseFlag )
inlinestatic

◆ riscv_rfft_init_q15()

riscv_status riscv_rfft_init_q15 ( riscv_rfft_instance_q15 * S,
uint32_t fftLenReal,
uint32_t ifftFlagR,
uint32_t bitReverseFlag )
inlinestatic

◆ riscv_rfft_init_q31()

riscv_status riscv_rfft_init_q31 ( riscv_rfft_instance_q31 * S,
uint32_t fftLenReal,
uint32_t ifftFlagR,
uint32_t bitReverseFlag )
inlinestatic

◆ riscv_rfft_q15()

void riscv_rfft_q15 ( const riscv_rfft_instance_q15 * S,
q15_t * pSrc,
q15_t * pDst )
inlinestatic

◆ riscv_rfft_q31()

void riscv_rfft_q31 ( const riscv_rfft_instance_q31 * S,
q31_t * pSrc,
q31_t * pDst )
inlinestatic