CSI-DSP  Version 1.0.0
CSI DSP Software Library
Data Structures | Macros | Typedefs | Enumerations | Functions
csky_math.h File Reference

Data Structures

struct  cq31_t
 32-bit fractional complex data type in 1.31 format. More...
 
struct  cq15_t
 16-bit fractional complex data type in 1.15 format. More...
 
struct  csky_fir_instance_q7
 Instance structure for the Q7 FIR filter. More...
 
struct  csky_fir_instance_q15
 Instance structure for the Q15 FIR filter. More...
 
struct  csky_fir_instance_q31
 Instance structure for the Q31 FIR filter. More...
 
struct  csky_fir_instance_f32
 Instance structure for the floating-point FIR filter. More...
 
struct  csky_biquad_casd_df1_inst_q15
 Instance structure for the Q15 Biquad cascade filter. More...
 
struct  csky_biquad_casd_df1_inst_q31
 Instance structure for the Q31 Biquad cascade filter. More...
 
struct  csky_biquad_casd_df1_inst_f32
 Instance structure for the Q31 Biquad cascade filter. More...
 
struct  csky_matrix_instance_f32
 Instance structure for the floating-point matrix structure. More...
 
struct  csky_matrix_instance_f64
 Instance structure for the floating-point matrix structure. More...
 
struct  csky_matrix_instance_q15
 Instance structure for the Q15 matrix structure. More...
 
struct  csky_matrix_instance_q31
 Instance structure for the Q31 matrix structure. More...
 
struct  csky_pid_instance_q15
 Instance structure for the Q15 PID Control. More...
 
struct  csky_pid_instance_q31
 Instance structure for the Q31 PID Control. More...
 
struct  csky_pid_instance_f32
 Instance structure for the floating-point PID Control. More...
 
struct  csky_linear_interp_instance_f32
 Instance structure for the floating-point Linear Interpolate function. More...
 
struct  csky_bilinear_interp_instance_f32
 Instance structure for the floating-point bilinear interpolation function. More...
 
struct  csky_bilinear_interp_instance_q31
 Instance structure for the Q31 bilinear interpolation function. More...
 
struct  csky_bilinear_interp_instance_q15
 Instance structure for the Q15 bilinear interpolation function. More...
 
struct  csky_bilinear_interp_instance_q7
 Instance structure for the Q15 bilinear interpolation function. More...
 
struct  csky_cfft_radix2_instance_q15
 Instance structure for the Q15 CFFT/CIFFT function. More...
 
struct  csky_cfft_radix4_instance_q15
 Instance structure for the Q15 CFFT/CIFFT function. More...
 
struct  csky_cfft_radix2_instance_q31
 Instance structure for the Radix-2 Q31 CFFT/CIFFT function. More...
 
struct  csky_cfft_radix4_instance_q31
 Instance structure for the Q31 CFFT/CIFFT function. More...
 
struct  csky_cfft_radix2_instance_f32
 Instance structure for the floating-point CFFT/CIFFT function. More...
 
struct  csky_cfft_radix4_instance_f32
 Instance structure for the floating-point CFFT/CIFFT function. More...
 
struct  csky_cfft_instance_q15
 Instance structure for the fixed-point CFFT/CIFFT function. More...
 
struct  csky_cfft_instance_q31
 Instance structure for the fixed-point CFFT/CIFFT function. More...
 
struct  csky_cfft_instance_f32
 Instance structure for the floating-point CFFT/CIFFT function. More...
 
struct  csky_rfft_instance_q15
 Instance structure for the Q15 RFFT/RIFFT function. More...
 
struct  csky_rfft_instance_q31
 Instance structure for the Q31 RFFT/RIFFT function. More...
 
struct  csky_rfft_instance_f32
 Instance structure for the floating-point RFFT/RIFFT function. More...
 
struct  csky_rfft_fast_instance_f32
 Instance structure for the floating-point RFFT/RIFFT function. More...
 
struct  csky_dct4_instance_f32
 Instance structure for the floating-point DCT4/IDCT4 function. More...
 
struct  csky_dct4_instance_q31
 Instance structure for the Q31 DCT4/IDCT4 function. More...
 
struct  csky_dct4_instance_q15
 Instance structure for the Q15 DCT4/IDCT4 function. More...
 
struct  twi_table_rfft_q15
 
struct  twi_table_rfft_q31
 
struct  csky_fir_decimate_instance_q15
 Instance structure for the Q15 FIR decimator. More...
 
struct  csky_fir_decimate_instance_q31
 Instance structure for the Q31 FIR decimator. More...
 
struct  csky_fir_decimate_instance_f32
 Instance structure for the floating-point FIR decimator. More...
 
struct  csky_fir_interpolate_instance_q15
 Instance structure for the Q15 FIR interpolator. More...
 
struct  csky_fir_interpolate_instance_q31
 Instance structure for the Q31 FIR interpolator. More...
 
struct  csky_fir_interpolate_instance_f32
 Instance structure for the floating-point FIR interpolator. More...
 
struct  csky_biquad_cas_df1_32x64_ins_q31
 Instance structure for the high precision Q31 Biquad cascade filter. More...
 
struct  csky_biquad_cascade_df2T_instance_f32
 Instance structure for the floating-point transposed direct form II Biquad cascade filter. More...
 
struct  csky_biquad_cascade_stereo_df2T_instance_f32
 Instance structure for the floating-point transposed direct form II Biquad cascade filter. More...
 
struct  csky_biquad_cascade_df2T_instance_f64
 Instance structure for the floating-point transposed direct form II Biquad cascade filter. More...
 
struct  csky_fir_lattice_instance_q15
 Instance structure for the Q15 FIR lattice filter. More...
 
struct  csky_fir_lattice_instance_q31
 Instance structure for the Q31 FIR lattice filter. More...
 
struct  csky_fir_lattice_instance_f32
 Instance structure for the floating-point FIR lattice filter. More...
 
struct  csky_iir_lattice_instance_q15
 Instance structure for the Q15 IIR lattice filter. More...
 
struct  csky_iir_lattice_instance_q31
 Instance structure for the Q31 IIR lattice filter. More...
 
struct  csky_iir_lattice_instance_f32
 Instance structure for the floating-point IIR lattice filter. More...
 
struct  csky_lms_instance_f32
 Instance structure for the floating-point LMS filter. More...
 
struct  csky_lms_instance_q15
 Instance structure for the Q15 LMS filter. More...
 
struct  csky_lms_instance_q31
 Instance structure for the Q31 LMS filter. More...
 
struct  csky_lms_norm_instance_f32
 Instance structure for the floating-point normalized LMS filter. More...
 
struct  csky_lms_norm_instance_q31
 Instance structure for the Q31 normalized LMS filter. More...
 
struct  csky_lms_norm_instance_q15
 Instance structure for the Q15 normalized LMS filter. More...
 
struct  csky_fir_sparse_instance_f32
 Instance structure for the floating-point sparse FIR filter. More...
 
struct  csky_fir_sparse_instance_q31
 Instance structure for the Q31 sparse FIR filter. More...
 
struct  csky_fir_sparse_instance_q15
 Instance structure for the Q15 sparse FIR filter. More...
 
struct  csky_fir_sparse_instance_q7
 Instance structure for the Q7 sparse FIR filter. More...
 
union  mynumber
 
union  log2_cof1
 
union  log2_cof2
 
union  exp_cof1
 
union  exp_cof2
 
union  ieee754_double
 
struct  mp_no
 

Macros

#define __CSI_GENERIC
 
#define DELTA_Q31
 Macros required for reciprocal calculation in Normalized LMS. More...
 
#define DELTA_Q15
 
#define INDEX_MASK
 
#define PI
 
#define FAST_MATH_TABLE_SIZE
 Macros required for SINE and COSINE Fast math approximations. More...
 
#define FAST_MATH_Q31_SHIFT
 
#define FAST_MATH_Q15_SHIFT
 
#define CONTROLLER_Q31_SHIFT
 
#define TABLE_SIZE
 
#define TABLE_SPACING_Q31
 
#define TABLE_SPACING_Q15
 
#define INPUT_SPACING
 Macros required for SINE and COSINE Controller functions. More...
 
#define ALIGN4
 Macro for Unaligned Support. More...
 
#define ABS(x)
 Macro for log , pow and related fast functions. More...
 
#define max(x)
 
#define min(x)
 
#define CN
 
#define HIGH_HALF
 
#define LOW_HALF
 
#define EADD(x, y, z, zz)
 
#define EMULV(x, y, z, zz, p, hx, tx, hy, ty)
 
#define MUL12(x, y, z, zz, p, hx, tx, hy, ty, q)
 
#define ADD2(x, xx, y, yy, z, zz, r, s)
 
#define SUB2(x, xx, y, yy, z, zz, r, s)
 
#define MUL2(x, xx, y, yy, z, zz, p, hx, tx, hy, ty, q, c, cc)
 
#define __SIMD32_TYPE
 definition to read/write two 16 bit values. More...
 
#define CSI_UNUSED
 
#define __SIMD32(addr)
 
#define __SIMD32_CONST(addr)
 
#define _SIMD32_OFFSET(addr)
 
#define __SIMD64(addr)
 
#define __PACKq7(v0, v1, v2, v3)
 definition to pack four 8 bit values. More...
 
#define SHR(a, shift)
 
#define PSHR(a, shift)
 
#define PSHR_POSITIVE(a, shift)
 
#define PSHR64(a, shift)
 
#define multAcc_32x32_keep32_R(a, x, y)
 
#define multSub_32x32_keep32_R(a, x, y)
 
#define mult_32x32_keep32_R(a, x, y)
 
#define multAcc_32x32_keep32(a, x, y)
 
#define multSub_32x32_keep32(a, x, y)
 
#define mult_32x32_keep32(a, x, y)
 

Typedefs

typedef int8_t q7_t
 8-bit fractional data type in 1.7 format. More...
 
typedef int16_t q15_t
 16-bit fractional data type in 1.15 format. More...
 
typedef int32_t q31_t
 32-bit fractional data type in 1.31 format. More...
 
typedef int64_t q63_t
 64-bit fractional data type in 1.63 format. More...
 
typedef float float32_t
 32-bit floating-point type definition. More...
 
typedef double float64_t
 64-bit floating-point type definition. More...
 

Enumerations

enum  csky_status
 Error status returned by some functions in the library. More...
 

Functions

static __INLINE q31_t clip_q63_to_q31 (q63_t x)
 Clips Q63 to Q31 values. More...
 
void csky_fir_q7 (const csky_fir_instance_q7 *S, q7_t *pSrc, q7_t *pDst, uint32_t blockSize)
 
void csky_fir_init_q7 (csky_fir_instance_q7 *S, uint16_t numTaps, q7_t *pCoeffs, q7_t *pState, uint32_t blockSize)
 
void csky_fir_q15 (const csky_fir_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Processing function for the Q15 FIR filter. More...
 
void csky_fir_fast_q15 (const csky_fir_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 
csky_status csky_fir_init_q15 (csky_fir_instance_q15 *S, uint16_t numTaps, q15_t *pCoeffs, q15_t *pState, uint32_t blockSize)
 
void csky_fir_q31 (const csky_fir_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 
void csky_fir_fast_q31 (const csky_fir_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 
void csky_fir_init_q31 (csky_fir_instance_q31 *S, uint16_t numTaps, q31_t *pCoeffs, q31_t *pState, uint32_t blockSize)
 
void csky_fir_f32 (const csky_fir_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 
void csky_fir_init_f32 (csky_fir_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, uint32_t blockSize)
 
void csky_biquad_cascade_df1_q15 (const csky_biquad_casd_df1_inst_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Processing function for the Q15 Biquad cascade filter. More...
 
void csky_biquad_cascade_df1_init_q15 (csky_biquad_casd_df1_inst_q15 *S, uint8_t numStages, q15_t *pCoeffs, q15_t *pState, int8_t postShift)
 
void csky_biquad_cascade_df1_fast_q15 (const csky_biquad_casd_df1_inst_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 
void csky_biquad_cascade_df1_q31 (const csky_biquad_casd_df1_inst_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Processing function for the Q31 Biquad cascade filter. More...
 
void csky_biquad_cascade_df1_fast_q31 (const csky_biquad_casd_df1_inst_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 
void csky_biquad_cascade_df1_init_q31 (csky_biquad_casd_df1_inst_q31 *S, uint8_t numStages, q31_t *pCoeffs, q31_t *pState, int8_t postShift)
 
void csky_biquad_cascade_df1_f32 (const csky_biquad_casd_df1_inst_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 
void csky_biquad_cascade_df1_init_f32 (csky_biquad_casd_df1_inst_f32 *S, uint8_t numStages, float32_t *pCoeffs, float32_t *pState)
 Initialization function for the floating-point Biquad cascade filter. More...
 
csky_status csky_mat_add_f32 (const csky_matrix_instance_f32 *pSrcA, const csky_matrix_instance_f32 *pSrcB, csky_matrix_instance_f32 *pDst)
 Floating-point matrix addition. More...
 
csky_status csky_mat_add_q15 (const csky_matrix_instance_q15 *pSrcA, const csky_matrix_instance_q15 *pSrcB, csky_matrix_instance_q15 *pDst)
 Q15 matrix addition. More...
 
csky_status csky_mat_add_q31 (const csky_matrix_instance_q31 *pSrcA, const csky_matrix_instance_q31 *pSrcB, csky_matrix_instance_q31 *pDst)
 Q31 matrix addition. More...
 
csky_status csky_mat_cmplx_mult_f32 (const csky_matrix_instance_f32 *pSrcA, const csky_matrix_instance_f32 *pSrcB, csky_matrix_instance_f32 *pDst)
 Floating-point Complex matrix multiplication. More...
 
csky_status csky_mat_cmplx_mult_q15 (const csky_matrix_instance_q15 *pSrcA, const csky_matrix_instance_q15 *pSrcB, csky_matrix_instance_q15 *pDst, q15_t *pScratch)
 Q15 Complex matrix multiplication. More...
 
csky_status csky_mat_cmplx_mult_q31 (const csky_matrix_instance_q31 *pSrcA, const csky_matrix_instance_q31 *pSrcB, csky_matrix_instance_q31 *pDst)
 Q31 Complex matrix multiplication. More...
 
csky_status csky_mat_trans_f32 (const csky_matrix_instance_f32 *pSrc, csky_matrix_instance_f32 *pDst)
 Floating-point matrix transpose. More...
 
csky_status csky_mat_trans_q15 (const csky_matrix_instance_q15 *pSrc, csky_matrix_instance_q15 *pDst)
 
csky_status csky_mat_trans_q31 (const csky_matrix_instance_q31 *pSrc, csky_matrix_instance_q31 *pDst)
 
csky_status csky_mat_mult_f32 (const csky_matrix_instance_f32 *pSrcA, const csky_matrix_instance_f32 *pSrcB, csky_matrix_instance_f32 *pDst)
 Floating-point matrix multiplication. More...
 
csky_status csky_mat_mult_q15 (const csky_matrix_instance_q15 *pSrcA, const csky_matrix_instance_q15 *pSrcB, csky_matrix_instance_q15 *pDst, q15_t *pState)
 Q15 matrix multiplication. More...
 
csky_status csky_mat_mult_fast_q15 (const csky_matrix_instance_q15 *pSrcA, const csky_matrix_instance_q15 *pSrcB, csky_matrix_instance_q15 *pDst, q15_t *pState)
 
csky_status csky_mat_mult_q31 (const csky_matrix_instance_q31 *pSrcA, const csky_matrix_instance_q31 *pSrcB, csky_matrix_instance_q31 *pDst)
 Q31 matrix multiplication. More...
 
csky_status csky_mat_mult_fast_q31 (const csky_matrix_instance_q31 *pSrcA, const csky_matrix_instance_q31 *pSrcB, csky_matrix_instance_q31 *pDst)
 
csky_status csky_mat_sub_f32 (const csky_matrix_instance_f32 *pSrcA, const csky_matrix_instance_f32 *pSrcB, csky_matrix_instance_f32 *pDst)
 Floating-point matrix subtraction. More...
 
csky_status csky_mat_sub_q15 (const csky_matrix_instance_q15 *pSrcA, const csky_matrix_instance_q15 *pSrcB, csky_matrix_instance_q15 *pDst)
 Q15 matrix subtraction. More...
 
csky_status csky_mat_sub_q31 (const csky_matrix_instance_q31 *pSrcA, const csky_matrix_instance_q31 *pSrcB, csky_matrix_instance_q31 *pDst)
 Q31 matrix subtraction. More...
 
csky_status csky_mat_scale_f32 (const csky_matrix_instance_f32 *pSrc, float32_t scale, csky_matrix_instance_f32 *pDst)
 Floating-point matrix scaling. More...
 
csky_status csky_mat_scale_q15 (const csky_matrix_instance_q15 *pSrc, q15_t scaleFract, int32_t shift, csky_matrix_instance_q15 *pDst)
 Q15 matrix scaling. More...
 
csky_status csky_mat_scale_q31 (const csky_matrix_instance_q31 *pSrc, q31_t scaleFract, int32_t shift, csky_matrix_instance_q31 *pDst)
 Q31 matrix scaling. More...
 
void csky_mat_init_q31 (csky_matrix_instance_q31 *S, uint16_t nRows, uint16_t nColumns, q31_t *pData)
 Q31 matrix initialization. More...
 
void csky_mat_init_q15 (csky_matrix_instance_q15 *S, uint16_t nRows, uint16_t nColumns, q15_t *pData)
 Q15 matrix initialization. More...
 
void csky_mat_init_f32 (csky_matrix_instance_f32 *S, uint16_t nRows, uint16_t nColumns, float32_t *pData)
 Floating-point matrix initialization. More...
 
void csky_pid_init_f32 (csky_pid_instance_f32 *S, int32_t resetStateFlag)
 Initialization function for the floating-point PID Control. More...
 
void csky_pid_reset_f32 (csky_pid_instance_f32 *S)
 Reset function for the floating-point PID Control. More...
 
void csky_pid_init_q31 (csky_pid_instance_q31 *S, int32_t resetStateFlag)
 Initialization function for the Q31 PID Control. More...
 
void csky_pid_reset_q31 (csky_pid_instance_q31 *S)
 Reset function for the Q31 PID Control. More...
 
void csky_pid_init_q15 (csky_pid_instance_q15 *S, int32_t resetStateFlag)
 
void csky_pid_reset_q15 (csky_pid_instance_q15 *S)
 Reset function for the Q15 PID Control. More...
 
void csky_mult_q7 (q7_t *pSrcA, q7_t *pSrcB, q7_t *pDst, uint32_t blockSize)
 Q7 vector multiplication. More...
 
void csky_mult_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t blockSize)
 Q15 vector multiplication. More...
 
void csky_mult_rnd_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t blockSize)
 Q15 vector multiplication with rounding. More...
 
void csky_mult_q31 (q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t blockSize)
 Q31 vector multiplication. More...
 
void csky_mult_f32 (float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t blockSize)
 Floating-point vector multiplication. More...
 
void csky_cfft_q15 (const csky_cfft_instance_q15 *S, q15_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
 Processing function for the Q15 complex FFT. More...
 
void csky_cfft_q31 (const csky_cfft_instance_q31 *S, q31_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
 Processing function for the fixed-point complex FFT in Q31 format. More...
 
void csky_cfft_f32 (const csky_cfft_instance_f32 *S, float32_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
 Processing function for the floating-point complex FFT. More...
 
csky_status csky_rfft_init_q15 (csky_rfft_instance_q15 *S, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag)
 Initialization function for the Q15 RFFT/RIFFT. More...
 
void csky_rfft_q15 (const csky_rfft_instance_q15 *S, q15_t *pSrc, q15_t *pDst)
 Processing function for the Q15 RFFT/RIFFT. More...
 
csky_status csky_rfft_init_q31 (csky_rfft_instance_q31 *S, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag)
 Initialization function for the Q31 RFFT/RIFFT. More...
 
void csky_rfft_q31 (const csky_rfft_instance_q31 *S, q31_t *pSrc, q31_t *pDst)
 Processing function for the Q31 RFFT/RIFFT. More...
 
csky_status csky_rfft_init_f32 (csky_rfft_instance_f32 *S, csky_cfft_radix4_instance_f32 *S_CFFT, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag)
 Initialization function for the floating-point RFFT/RIFFT. More...
 
void csky_rfft_f32 (const csky_rfft_instance_f32 *S, float32_t *pSrc, float32_t *pDst)
 Processing function for the floating-point RFFT/RIFFT. More...
 
csky_status csky_rfft_fast_init_f32 (csky_rfft_fast_instance_f32 *S, uint16_t fftLen)
 Initialization function for the floating-point real FFT. More...
 
void csky_rfft_fast_f32 (csky_rfft_fast_instance_f32 *S, float32_t *p, float32_t *pOut, uint8_t ifftFlag)
 Processing function for the floating-point real FFT. More...
 
csky_status csky_dct4_init_f32 (csky_dct4_instance_f32 *S, csky_rfft_instance_f32 *S_RFFT, csky_cfft_radix4_instance_f32 *S_CFFT, uint16_t N, uint16_t Nby2, float32_t normalize)
 Initialization function for the floating-point DCT4/IDCT4. More...
 
void csky_dct4_f32 (const csky_dct4_instance_f32 *S, float32_t *pState, float32_t *pInlineBuffer)
 Processing function for the floating-point DCT4/IDCT4. More...
 
csky_status csky_dct4_init_q31 (csky_dct4_instance_q31 *S, csky_rfft_instance_q31 *S_RFFT, csky_cfft_radix4_instance_q31 *S_CFFT, uint16_t N, uint16_t Nby2, q31_t normalize)
 Initialization function for the Q31 DCT4/IDCT4. More...
 
void csky_dct4_q31 (const csky_dct4_instance_q31 *S, q31_t *pState, q31_t *pInlineBuffer)
 Processing function for the Q31 DCT4/IDCT4. More...
 
csky_status csky_dct4_init_q15 (csky_dct4_instance_q15 *S, csky_rfft_instance_q15 *S_RFFT, csky_cfft_radix4_instance_q15 *S_CFFT, uint16_t N, uint16_t Nby2, q15_t normalize)
 Initialization function for the Q15 DCT4/IDCT4. More...
 
void csky_dct4_q15 (const csky_dct4_instance_q15 *S, q15_t *pState, q15_t *pInlineBuffer)
 Processing function for the Q15 DCT4/IDCT4. More...
 
void csky_add_f32 (float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t blockSize)
 Floating-point vector addition. More...
 
void csky_add_q7 (q7_t *pSrcA, q7_t *pSrcB, q7_t *pDst, uint32_t blockSize)
 Q7 vector addition. More...
 
void csky_add_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t blockSize)
 Q15 vector addition. More...
 
void csky_add_q31 (q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t blockSize)
 Q31 vector addition. More...
 
void csky_sub_f32 (float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t blockSize)
 Floating-point vector subtraction. More...
 
void csky_sub_q7 (q7_t *pSrcA, q7_t *pSrcB, q7_t *pDst, uint32_t blockSize)
 Q7 vector subtraction. More...
 
void csky_sub_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t blockSize)
 Q15 vector subtraction. More...
 
void csky_sub_q31 (q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t blockSize)
 Q31 vector subtraction. More...
 
void csky_scale_f32 (float32_t *pSrc, float32_t scale, float32_t *pDst, uint32_t blockSize)
 Multiplies a floating-point vector by a scalar. More...
 
void csky_scale_q7 (q7_t *pSrc, q7_t scaleFract, int8_t shift, q7_t *pDst, uint32_t blockSize)
 Multiplies a Q7 vector by a scalar. More...
 
void csky_scale_q15 (q15_t *pSrc, q15_t scaleFract, int8_t shift, q15_t *pDst, uint32_t blockSize)
 Multiplies a Q15 vector by a scalar. More...
 
void csky_scale_q31 (q31_t *pSrc, q31_t scaleFract, int8_t shift, q31_t *pDst, uint32_t blockSize)
 Multiplies a Q31 vector by a scalar. More...
 
void csky_abs_q7 (q7_t *pSrc, q7_t *pDst, uint32_t blockSize)
 Q7 vector absolute value. More...
 
void csky_abs_f32 (float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Floating-point vector absolute value. More...
 
void csky_abs_q15 (q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Q15 vector absolute value. More...
 
void csky_abs_q31 (q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Q31 vector absolute value. More...
 
void csky_abs_max_q15 (q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Q15 vector absolute max value. More...
 
void csky_abs_max_q31 (q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Q31 vector absolute max value. More...
 
void csky_dot_prod_f32 (float32_t *pSrcA, float32_t *pSrcB, uint32_t blockSize, float32_t *result)
 Dot product of floating-point vectors. More...
 
void csky_dot_prod_q7 (q7_t *pSrcA, q7_t *pSrcB, uint32_t blockSize, q31_t *result)
 Dot product of Q7 vectors. More...
 
void csky_dot_prod_q15 (q15_t *pSrcA, q15_t *pSrcB, uint32_t blockSize, q63_t *result)
 Dot product of Q15 vectors. More...
 
void csky_dot_prod_q31 (q31_t *pSrcA, q31_t *pSrcB, uint32_t blockSize, q63_t *result)
 Dot product of Q31 vectors. More...
 
void csky_shift_q7 (q7_t *pSrc, int8_t shiftBits, q7_t *pDst, uint32_t blockSize)
 Shifts the elements of a Q7 vector a specified number of bits. More...
 
void csky_shift_q15 (q15_t *pSrc, int8_t shiftBits, q15_t *pDst, uint32_t blockSize)
 Shifts the elements of a Q15 vector a specified number of bits. More...
 
void csky_shift_q31 (q31_t *pSrc, int8_t shiftBits, q31_t *pDst, uint32_t blockSize)
 Shifts the elements of a Q31 vector a specified number of bits. More...
 
void csky_offset_f32 (float32_t *pSrc, float32_t offset, float32_t *pDst, uint32_t blockSize)
 Adds a constant offset to a floating-point vector. More...
 
void csky_offset_q7 (q7_t *pSrc, q7_t offset, q7_t *pDst, uint32_t blockSize)
 Adds a constant offset to a Q7 vector. More...
 
void csky_offset_q15 (q15_t *pSrc, q15_t offset, q15_t *pDst, uint32_t blockSize)
 Adds a constant offset to a Q15 vector. More...
 
void csky_offset_q31 (q31_t *pSrc, q31_t offset, q31_t *pDst, uint32_t blockSize)
 Adds a constant offset to a Q31 vector. More...
 
void csky_negate_f32 (float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Negates the elements of a floating-point vector. More...
 
void csky_negate_q7 (q7_t *pSrc, q7_t *pDst, uint32_t blockSize)
 Negates the elements of a Q7 vector. More...
 
void csky_negate_q15 (q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Negates the elements of a Q15 vector. More...
 
void csky_negate_q31 (q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Negates the elements of a Q31 vector. More...
 
void csky_copy_f32 (float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Copies the elements of a floating-point vector. More...
 
void csky_copy_q7 (q7_t *pSrc, q7_t *pDst, uint32_t blockSize)
 Copies the elements of a Q7 vector. More...
 
void csky_copy_q15 (q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Copies the elements of a Q15 vector. More...
 
void csky_copy_q31 (q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Copies the elements of a Q31 vector. More...
 
void csky_fill_f32 (float32_t value, float32_t *pDst, uint32_t blockSize)
 Fills a constant value into a floating-point vector. More...
 
void csky_fill_q7 (q7_t value, q7_t *pDst, uint32_t blockSize)
 Fills a constant value into a Q7 vector. More...
 
void csky_fill_q15 (q15_t value, q15_t *pDst, uint32_t blockSize)
 Fills a constant value into a Q15 vector. More...
 
void csky_fill_q31 (q31_t value, q31_t *pDst, uint32_t blockSize)
 Fills a constant value into a Q31 vector. More...
 
void csky_conv_f32 (float32_t *pSrcA, uint32_t srcALen, float32_t *pSrcB, uint32_t srcBLen, float32_t *pDst)
 Convolution of floating-point sequences. More...
 
void csky_conv_opt_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, q15_t *pScratch1, q15_t *pScratch2)
 Convolution of Q15 sequences. More...
 
void csky_conv_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst)
 Convolution of Q15 sequences. More...
 
void csky_conv_fast_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst)
 
void csky_conv_fast_opt_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, q15_t *pScratch1, q15_t *pScratch2)
 
void csky_conv_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst)
 Convolution of Q31 sequences. More...
 
void csky_conv_fast_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst)
 
void csky_conv_opt_q7 (q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst, q15_t *pScratch1, q15_t *pScratch2)
 Convolution of Q7 sequences. More...
 
void csky_conv_q7 (q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst)
 Convolution of Q7 sequences. More...
 
csky_status csky_conv_partial_f32 (float32_t *pSrcA, uint32_t srcALen, float32_t *pSrcB, uint32_t srcBLen, float32_t *pDst, uint32_t firstIndex, uint32_t numPoints)
 Partial convolution of floating-point sequences. More...
 
csky_status csky_conv_partial_opt_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, uint32_t firstIndex, uint32_t numPoints, q15_t *pScratch1, q15_t *pScratch2)
 Partial convolution of Q15 sequences. More...
 
csky_status csky_conv_partial_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, uint32_t firstIndex, uint32_t numPoints)
 Partial convolution of Q15 sequences. More...
 
csky_status csky_conv_partial_fast_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, uint32_t firstIndex, uint32_t numPoints)
 
csky_status csky_conv_partial_fast_opt_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, uint32_t firstIndex, uint32_t numPoints, q15_t *pScratch1, q15_t *pScratch2)
 
csky_status csky_conv_partial_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst, uint32_t firstIndex, uint32_t numPoints)
 Partial convolution of Q31 sequences. More...
 
csky_status csky_conv_partial_fast_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst, uint32_t firstIndex, uint32_t numPoints)
 
csky_status csky_conv_partial_opt_q7 (q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst, uint32_t firstIndex, uint32_t numPoints, q15_t *pScratch1, q15_t *pScratch2)
 Partial convolution of Q7 sequences. More...
 
csky_status csky_conv_partial_q7 (q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst, uint32_t firstIndex, uint32_t numPoints)
 Partial convolution of Q7 sequences. More...
 
q15_t csky_dsp_lib_vec_max_abs16 (q15_t *A, uint32_t N)
 Q15 vector absolute max value. More...
 
q31_t csky_dsp_lib_vec_max_abs32 (q31_t *A, uint32_t N)
 Q31 vector absolute max value. More...
 
void csky_dsp_lib_vec_abs16 (q15_t *A, uint32_t N, q15_t *C)
 Q15 vector absolute value. More...
 
void csky_dsp_lib_vec_abs32 (q31_t *A, uint32_t N, q31_t *C)
 Q31 vector absolute value. More...
 
void csky_dsp_lib_vec_add16 (q15_t *A, q15_t *B, uint32_t N, q15_t *C)
 Q15 vector addition. More...
 
void csky_dsp_lib_vec_add32 (q31_t *A, q31_t *B, uint32_t N, q31_t *C)
 Q31 vector addition. More...
 
void csky_dsp_lib_vec_cx_conj_q15 (q15_t *A, uint32_t N, q15_t *B)
 Q15 complex vector conjugate. More...
 
void csky_dsp_lib_vec_cx_conj_q31 (q31_t *A, uint32_t N, q31_t *C)
 Q31 complex vector conjugate. More...
 
q31_t csky_dsp_lib_vec_dot_q15 (q15_t *A, q15_t *B, uint32_t N)
 Q15 vector dot product. More...
 
q31_t csky_dsp_lib_vec_dot_q31 (q31_t *A, q31_t *B, uint32_t N)
 Q31 vector dot product. More...
 
void csky_dsp_lib_mat_cx_add16 (cq15_t *A, cq15_t *B, uint32_t N, uint32_t M, cq15_t *C)
 
void csky_dsp_lib_mat_cx_add32 (cq31_t *A, cq31_t *B, uint32_t N, uint32_t M, cq31_t *C)
 
void csky_dsp_lib_mat_cx_mul_q15 (cq15_t *A, cq15_t *B, uint32_t N, uint32_t M, uint32_t L, cq15_t *C)
 
void csky_dsp_lib_mat_cx_mul_q31 (cq31_t *A, cq31_t *B, uint32_t N, uint32_t M, uint32_t L, cq31_t *C)
 
void csky_dsp_lib_mat_cx_sub16 (cq15_t *A, cq15_t *B, uint32_t N, uint32_t M, cq15_t *C)
 
void csky_dsp_lib_mat_cx_sub32 (cq31_t *A, cq31_t *B, uint32_t N, uint32_t M, cq31_t *C)
 
void csky_dsp_lib_vec_mul_q15 (q15_t *A, q15_t *B, uint32_t N, q15_t *C)
 Q15 vector Multiplication. More...
 
void csky_dsp_lib_vec_mul_q31 (q31_t *A, q31_t *B, uint32_t N, q31_t *C)
 Q31 vector multiplication. More...
 
q31_t csky_dsp_lib_pow_int32 (q31_t arg_in_x, q15_t arg_exp_in_x, q31_t arg_in_y, q15_t arg_exp_in_y, q31_t *arg_exp_out)
 Fast approximation to the exponential function for float64_t-point data. More...
 
void csky_dsp_lib_vec_scale_q15 (q15_t *A, q15_t scaleFract, int8_t shift, q15_t *B, uint32_t N)
 Q15 vector scale. More...
 
void csky_dsp_lib_vec_scale_q31 (q31_t *A, q31_t scaleFract, int8_t shift, q31_t *B, uint32_t N)
 Q31 vector scale. More...
 
void csky_dsp_lib_vec_shf16 (q15_t *A, int8_t shift_val, uint32_t N, q15_t *C)
 Q15 vector shift. More...
 
void csky_dsp_lib_vec_shf32 (q31_t *A, q31_t shift_val, uint32_t N, q31_t *C)
 
q15_t csky_dsp_lib_sqrt_int32 (q31_t x, uint32_t rnd_flag)
 Q31 square root function. More...
 
void csky_dsp_lib_vec_sub16 (q15_t *A, q15_t *B, uint32_t N, q15_t *C)
 Q15 vector subtraction. More...
 
void csky_dsp_lib_vec_sub32 (q31_t *A, q31_t *B, uint32_t N, q31_t *C)
 Q31 vector subtraction. More...
 
q63_t csky_dsp_lib_vec_sum16 (q15_t *A, uint32_t N)
 Q15 vector summation. More...
 
q63_t csky_dsp_lib_vec_sum32 (q31_t *A, uint32_t N)
 
void csky_fft_lib_cx16_fft (q31_t log2_buf_len, q15_t *in_buf, q15_t *out_buf, const q15_t *twi_table, const uint16_t *bitrev_tbl, q15_t *temp_buf, q7_t *ScaleShift, q31_t br)
 Processing function for the Q15 complex FFT. More...
 
void csky_fft_lib_cx32_fft (q31_t log2_buf_len, q31_t *in_buf, q31_t *out_buf, const q31_t *twi_table, const uint16_t *bitrev_tbl, q31_t *temp_buf, q31_t br)
 Processing function for the Q31 complex FFT. More...
 
void csky_fft_lib_cx16_ifft (q31_t log2_buf_len, q15_t *in_buf, q15_t *out_buf, const q15_t *twi_table, const uint16_t *bitrev_tbl, q15_t *temp_buf, q7_t *ScaleShift, q31_t br)
 Processing function for the Q15 complex inverse FFT. More...
 
void csky_fft_lib_cx32_ifft (q31_t log2_buf_len, q31_t *in_buf, q31_t *out_buf, const q31_t *twi_table, const uint16_t *bitrev_tbl, q31_t *temp_buf, q31_t br)
 Processing function for the Q31 complex inverse FFT. More...
 
void csky_fft_lib_int16_fft (q31_t log2_buf_len, q15_t *in_buf, q15_t *out_buf, const q15_t *twi_table, const twi_table_rfft_q15 *last_stage_twi_table, const uint16_t *bitrev_tbl, q15_t *temp_buf, q7_t *ScaleShift, q31_t br)
 Processing function for the Q15 real FFT. More...
 
void csky_fft_lib_int32_fft (q31_t log2_buf_len, q31_t *in_buf, q31_t *out_buf, const q31_t *twi_table, const twi_table_rfft_q31 *last_stage_twi_table, const uint16_t *bitrev_tbl, q31_t *temp_buf, q31_t br)
 Processing function for the Q31 real FFT. More...
 
void csky_fft_lib_int16_ifft (q31_t log2_buf_len, q15_t *in_buf, q15_t *out_buf, const q15_t *twi_table, const twi_table_rfft_q15 *last_stage_twi_table, const uint16_t *bitrev_tbl, q15_t *temp_buf, q7_t *ScaleShift, q31_t br)
 Processing function for the Q15 real inverse FFT. More...
 
void csky_fft_lib_int32_ifft (q31_t log2_buf_len, q31_t *in_buf, q31_t *out_buf, const q31_t *twi_table, const twi_table_rfft_q31 *last_stage_twi_table, const uint16_t *bitrev_tbl, q31_t *temp_buf, q31_t br)
 Processing function for the Q31 real inverse FFT. More...
 
void csky_fir_decimate_f32 (const csky_fir_decimate_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Processing function for the floating-point FIR decimator. More...
 
csky_status csky_fir_decimate_init_f32 (csky_fir_decimate_instance_f32 *S, uint16_t numTaps, uint8_t M, float32_t *pCoeffs, float32_t *pState, uint32_t blockSize)
 Initialization function for the floating-point FIR decimator. More...
 
void csky_fir_decimate_q15 (const csky_fir_decimate_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Processing function for the Q15 FIR decimator. More...
 
void csky_fir_decimate_fast_q15 (const csky_fir_decimate_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 
csky_status csky_fir_decimate_init_q15 (csky_fir_decimate_instance_q15 *S, uint16_t numTaps, uint8_t M, q15_t *pCoeffs, q15_t *pState, uint32_t blockSize)
 Initialization function for the Q15 FIR decimator. More...
 
void csky_fir_decimate_q31 (const csky_fir_decimate_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Processing function for the Q31 FIR decimator. More...
 
void csky_fir_decimate_fast_q31 (csky_fir_decimate_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 
csky_status csky_fir_decimate_init_q31 (csky_fir_decimate_instance_q31 *S, uint16_t numTaps, uint8_t M, q31_t *pCoeffs, q31_t *pState, uint32_t blockSize)
 Initialization function for the Q31 FIR decimator. More...
 
void csky_fir_interpolate_q15 (const csky_fir_interpolate_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Processing function for the Q15 FIR interpolator. More...
 
csky_status csky_fir_interpolate_init_q15 (csky_fir_interpolate_instance_q15 *S, uint8_t L, uint16_t numTaps, q15_t *pCoeffs, q15_t *pState, uint32_t blockSize)
 Initialization function for the Q15 FIR interpolator. More...
 
void csky_fir_interpolate_q31 (const csky_fir_interpolate_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Processing function for the Q31 FIR interpolator. More...
 
csky_status csky_fir_interpolate_init_q31 (csky_fir_interpolate_instance_q31 *S, uint8_t L, uint16_t numTaps, q31_t *pCoeffs, q31_t *pState, uint32_t blockSize)
 Initialization function for the Q31 FIR interpolator. More...
 
void csky_fir_interpolate_f32 (const csky_fir_interpolate_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Processing function for the floating-point FIR interpolator. More...
 
csky_status csky_fir_interpolate_init_f32 (csky_fir_interpolate_instance_f32 *S, uint8_t L, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, uint32_t blockSize)
 Initialization function for the floating-point FIR interpolator. More...
 
void csky_biquad_cas_df1_32x64_q31 (const csky_biquad_cas_df1_32x64_ins_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 
void csky_biquad_cas_df1_32x64_init_q31 (csky_biquad_cas_df1_32x64_ins_q31 *S, uint8_t numStages, q31_t *pCoeffs, q63_t *pState, uint8_t postShift)
 
void csky_biquad_cascade_df2T_f32 (const csky_biquad_cascade_df2T_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Processing function for the floating-point transposed direct form II Biquad cascade filter. More...
 
void csky_biquad_cascade_stereo_df2T_f32 (const csky_biquad_cascade_stereo_df2T_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Processing function for the floating-point transposed direct form II Biquad cascade filter. More...
 
void csky_biquad_cascade_df2T_f64 (const csky_biquad_cascade_df2T_instance_f64 *S, float64_t *pSrc, float64_t *pDst, uint32_t blockSize)
 Processing function for the floating-point transposed direct form II Biquad cascade filter. More...
 
void csky_biquad_cascade_df2T_init_f32 (csky_biquad_cascade_df2T_instance_f32 *S, uint8_t numStages, float32_t *pCoeffs, float32_t *pState)
 Initialization function for the floating-point transposed direct form II Biquad cascade filter. More...
 
void csky_biquad_cascade_stereo_df2T_init_f32 (csky_biquad_cascade_stereo_df2T_instance_f32 *S, uint8_t numStages, float32_t *pCoeffs, float32_t *pState)
 Initialization function for the floating-point transposed direct form II Biquad cascade filter. More...
 
void csky_biquad_cascade_df2T_init_f64 (csky_biquad_cascade_df2T_instance_f64 *S, uint8_t numStages, float64_t *pCoeffs, float64_t *pState)
 Initialization function for the floating-point transposed direct form II Biquad cascade filter. More...
 
void csky_fir_lattice_init_q15 (csky_fir_lattice_instance_q15 *S, uint16_t numStages, q15_t *pCoeffs, q15_t *pState)
 Initialization function for the Q15 FIR lattice filter. More...
 
void csky_fir_lattice_q15 (const csky_fir_lattice_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Processing function for the Q15 FIR lattice filter. More...
 
void csky_fir_lattice_init_q31 (csky_fir_lattice_instance_q31 *S, uint16_t numStages, q31_t *pCoeffs, q31_t *pState)
 Initialization function for the Q31 FIR lattice filter. More...
 
void csky_fir_lattice_q31 (const csky_fir_lattice_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Processing function for the Q31 FIR lattice filter. More...
 
void csky_fir_lattice_init_f32 (csky_fir_lattice_instance_f32 *S, uint16_t numStages, float32_t *pCoeffs, float32_t *pState)
 Initialization function for the floating-point FIR lattice filter. More...
 
void csky_fir_lattice_f32 (const csky_fir_lattice_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Processing function for the floating-point FIR lattice filter. More...
 
void csky_iir_lattice_f32 (const csky_iir_lattice_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Processing function for the floating-point IIR lattice filter. More...
 
void csky_iir_lattice_init_f32 (csky_iir_lattice_instance_f32 *S, uint16_t numStages, float32_t *pkCoeffs, float32_t *pvCoeffs, float32_t *pState, uint32_t blockSize)
 Initialization function for the floating-point IIR lattice filter. More...
 
void csky_iir_lattice_q31 (const csky_iir_lattice_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Processing function for the Q31 IIR lattice filter. More...
 
void csky_iir_lattice_init_q31 (csky_iir_lattice_instance_q31 *S, uint16_t numStages, q31_t *pkCoeffs, q31_t *pvCoeffs, q31_t *pState, uint32_t blockSize)
 Initialization function for the Q31 IIR lattice filter. More...
 
void csky_iir_lattice_q15 (const csky_iir_lattice_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Processing function for the Q15 IIR lattice filter. More...
 
void csky_iir_lattice_init_q15 (csky_iir_lattice_instance_q15 *S, uint16_t numStages, q15_t *pkCoeffs, q15_t *pvCoeffs, q15_t *pState, uint32_t blockSize)
 Initialization function for the Q15 IIR lattice filter. More...
 
void csky_lms_f32 (const csky_lms_instance_f32 *S, float32_t *pSrc, float32_t *pRef, float32_t *pOut, float32_t *pErr, uint32_t blockSize)
 Processing function for floating-point LMS filter. More...
 
void csky_lms_init_f32 (csky_lms_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, float32_t mu, uint32_t blockSize)
 Initialization function for floating-point LMS filter. More...
 
void csky_lms_init_q15 (csky_lms_instance_q15 *S, uint16_t numTaps, q15_t *pCoeffs, q15_t *pState, q15_t mu, uint32_t blockSize, uint32_t postShift)
 Initialization function for the Q15 LMS filter. More...
 
void csky_lms_q15 (const csky_lms_instance_q15 *S, q15_t *pSrc, q15_t *pRef, q15_t *pOut, q15_t *pErr, uint32_t blockSize)
 Processing function for Q15 LMS filter. More...
 
void csky_lms_q31 (const csky_lms_instance_q31 *S, q31_t *pSrc, q31_t *pRef, q31_t *pOut, q31_t *pErr, uint32_t blockSize)
 Processing function for Q31 LMS filter. More...
 
void csky_lms_init_q31 (csky_lms_instance_q31 *S, uint16_t numTaps, q31_t *pCoeffs, q31_t *pState, q31_t mu, uint32_t blockSize, uint32_t postShift)
 Initialization function for Q31 LMS filter. More...
 
void csky_lms_norm_f32 (csky_lms_norm_instance_f32 *S, float32_t *pSrc, float32_t *pRef, float32_t *pOut, float32_t *pErr, uint32_t blockSize)
 Processing function for floating-point normalized LMS filter. More...
 
void csky_lms_norm_init_f32 (csky_lms_norm_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, float32_t mu, uint32_t blockSize)
 Initialization function for floating-point normalized LMS filter. More...
 
void csky_lms_norm_q31 (csky_lms_norm_instance_q31 *S, q31_t *pSrc, q31_t *pRef, q31_t *pOut, q31_t *pErr, uint32_t blockSize)
 Processing function for Q31 normalized LMS filter. More...
 
void csky_lms_norm_init_q31 (csky_lms_norm_instance_q31 *S, uint16_t numTaps, q31_t *pCoeffs, q31_t *pState, q31_t mu, uint32_t blockSize, uint8_t postShift)
 Initialization function for Q31 normalized LMS filter. More...
 
void csky_lms_norm_q15 (csky_lms_norm_instance_q15 *S, q15_t *pSrc, q15_t *pRef, q15_t *pOut, q15_t *pErr, uint32_t blockSize)
 Processing function for Q15 normalized LMS filter. More...
 
void csky_lms_norm_init_q15 (csky_lms_norm_instance_q15 *S, uint16_t numTaps, q15_t *pCoeffs, q15_t *pState, q15_t mu, uint32_t blockSize, uint8_t postShift)
 Initialization function for Q15 normalized LMS filter. More...
 
void csky_correlate_f32 (float32_t *pSrcA, uint32_t srcALen, float32_t *pSrcB, uint32_t srcBLen, float32_t *pDst)
 Correlation of floating-point sequences. More...
 
void csky_correlate_opt_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, q15_t *pScratch)
 Correlation of Q15 sequences. More...
 
void csky_correlate_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst)
 Correlation of Q15 sequences. More...
 
void csky_correlate_fast_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst)
 
void csky_correlate_fast_opt_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, q15_t *pScratch)
 
void csky_correlate_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst)
 Correlation of Q31 sequences. More...
 
void csky_correlate_fast_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst)
 
void csky_correlate_opt_q7 (q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst, q15_t *pScratch1, q15_t *pScratch2)
 Correlation of Q7 sequences. More...
 
void csky_correlate_q7 (q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst)
 Correlation of Q7 sequences. More...
 
void csky_fir_sparse_f32 (csky_fir_sparse_instance_f32 *S, float32_t *pSrc, float32_t *pDst, float32_t *pScratchIn, uint32_t blockSize)
 Processing function for the floating-point sparse FIR filter. More...
 
void csky_fir_sparse_init_f32 (csky_fir_sparse_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, int32_t *pTapDelay, uint16_t maxDelay, uint32_t blockSize)
 Initialization function for the floating-point sparse FIR filter. More...
 
void csky_fir_sparse_q31 (csky_fir_sparse_instance_q31 *S, q31_t *pSrc, q31_t *pDst, q31_t *pScratchIn, uint32_t blockSize)
 Processing function for the Q31 sparse FIR filter. More...
 
void csky_fir_sparse_init_q31 (csky_fir_sparse_instance_q31 *S, uint16_t numTaps, q31_t *pCoeffs, q31_t *pState, int32_t *pTapDelay, uint16_t maxDelay, uint32_t blockSize)
 Initialization function for the Q31 sparse FIR filter. More...
 
void csky_fir_sparse_q15 (csky_fir_sparse_instance_q15 *S, q15_t *pSrc, q15_t *pDst, q15_t *pScratchIn, q31_t *pScratchOut, uint32_t blockSize)
 Processing function for the Q15 sparse FIR filter. More...
 
void csky_fir_sparse_init_q15 (csky_fir_sparse_instance_q15 *S, uint16_t numTaps, q15_t *pCoeffs, q15_t *pState, int32_t *pTapDelay, uint16_t maxDelay, uint32_t blockSize)
 Initialization function for the Q15 sparse FIR filter. More...
 
void csky_fir_sparse_q7 (csky_fir_sparse_instance_q7 *S, q7_t *pSrc, q7_t *pDst, q7_t *pScratchIn, q31_t *pScratchOut, uint32_t blockSize)
 Processing function for the Q7 sparse FIR filter. More...
 
void csky_fir_sparse_init_q7 (csky_fir_sparse_instance_q7 *S, uint16_t numTaps, q7_t *pCoeffs, q7_t *pState, int32_t *pTapDelay, uint16_t maxDelay, uint32_t blockSize)
 Initialization function for the Q7 sparse FIR filter. More...
 
void csky_sin_cos_f32 (float32_t theta, float32_t *pSinVal, float32_t *pCosVal)
 Floating-point sin_cos function. More...
 
void csky_sin_cos_q31 (q31_t theta, q31_t *pSinVal, q31_t *pCosVal)
 Q31 sin_cos function. More...
 
void csky_cmplx_conj_f32 (float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
 Floating-point complex conjugate. More...
 
void csky_cmplx_conj_q31 (q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
 Q31 complex conjugate. More...
 
void csky_cmplx_conj_q15 (q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
 Q15 complex conjugate. More...
 
void csky_cmplx_mag_squared_f32 (float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
 Floating-point complex magnitude squared. More...
 
void csky_cmplx_mag_squared_q31 (q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
 Q31 complex magnitude squared. More...
 
void csky_cmplx_mag_squared_q15 (q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
 Q15 complex magnitude squared. More...
 
__ALWAYS_INLINE float32_t csky_pid_f32 (csky_pid_instance_f32 *S, float32_t in)
 Process function for the floating-point PID Control. More...
 
__ALWAYS_INLINE q31_t csky_pid_q31 (csky_pid_instance_q31 *S, q31_t in)
 Process function for the Q31 PID Control. More...
 
__ALWAYS_INLINE q15_t csky_pid_q15 (csky_pid_instance_q15 *S, q15_t in)
 Process function for the Q15 PID Control. More...
 
csky_status csky_mat_inverse_f32 (const csky_matrix_instance_f32 *src, csky_matrix_instance_f32 *dst)
 Floating-point matrix inverse. More...
 
csky_status csky_mat_inverse_f64 (const csky_matrix_instance_f64 *src, csky_matrix_instance_f64 *dst)
 Floating-point matrix inverse. More...
 
__ALWAYS_INLINE void csky_clarke_f32 (float32_t Ia, float32_t Ib, float32_t *pIalpha, float32_t *pIbeta)
 Floating-point Clarke transform. More...
 
__ALWAYS_INLINE void csky_clarke_q31 (q31_t Ia, q31_t Ib, q31_t *pIalpha, q31_t *pIbeta)
 Clarke transform for Q31 version. More...
 
void csky_q7_to_q31 (q7_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Converts the elements of the Q7 vector to Q31 vector. More...
 
__ALWAYS_INLINE void csky_inv_clarke_f32 (float32_t Ialpha, float32_t Ibeta, float32_t *pIa, float32_t *pIb)
 Floating-point Inverse Clarke transform. More...
 
__ALWAYS_INLINE void csky_inv_clarke_q31 (q31_t Ialpha, q31_t Ibeta, q31_t *pIa, q31_t *pIb)
 Inverse Clarke transform for Q31 version. More...
 
void csky_q7_to_q15 (q7_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Converts the elements of the Q7 vector to Q15 vector. More...
 
__ALWAYS_INLINE void csky_park_f32 (float32_t Ialpha, float32_t Ibeta, float32_t *pId, float32_t *pIq, float32_t sinVal, float32_t cosVal)
 Floating-point Park transform. More...
 
__ALWAYS_INLINE void csky_park_q31 (q31_t Ialpha, q31_t Ibeta, q31_t *pId, q31_t *pIq, q31_t sinVal, q31_t cosVal)
 Park transform for Q31 version. More...
 
void csky_q7_to_float (q7_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Converts the elements of the Q7 vector to floating-point vector. More...
 
__ALWAYS_INLINE void csky_inv_park_f32 (float32_t Id, float32_t Iq, float32_t *pIalpha, float32_t *pIbeta, float32_t sinVal, float32_t cosVal)
 Floating-point Inverse Park transform. More...
 
__ALWAYS_INLINE void csky_inv_park_q31 (q31_t Id, q31_t Iq, q31_t *pIalpha, q31_t *pIbeta, q31_t sinVal, q31_t cosVal)
 Inverse Park transform for Q31 version. More...
 
void csky_q31_to_float (q31_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Converts the elements of the Q31 vector to floating-point vector. More...
 
__ALWAYS_INLINE float32_t csky_linear_interp_f32 (csky_linear_interp_instance_f32 *S, float32_t x)
 Process function for the floating-point Linear Interpolation Function. More...
 
__ALWAYS_INLINE q31_t csky_linear_interp_q31 (q31_t *pYData, q31_t x, uint32_t nValues)
 Process function for the Q31 Linear Interpolation Function. More...
 
__ALWAYS_INLINE q15_t csky_linear_interp_q15 (q15_t *pYData, q31_t x, uint32_t nValues)
 Process function for the Q15 Linear Interpolation Function. More...
 
__ALWAYS_INLINE q7_t csky_linear_interp_q7 (q7_t *pYData, q31_t x, uint32_t nValues)
 Process function for the Q7 Linear Interpolation Function. More...
 
float32_t csky_sin_f32 (float32_t x)
 Fast approximation to the trigonometric sine function for floating-point data. More...
 
q31_t csky_sin_q31 (q31_t x)
 Fast approximation to the trigonometric sine function for Q31 data. More...
 
q15_t csky_sin_q15 (q15_t x)
 Fast approximation to the trigonometric sine function for Q15 data. More...
 
float32_t csky_cos_f32 (float32_t x)
 Fast approximation to the trigonometric cosine function for floating-point data. More...
 
q31_t csky_cos_q31 (q31_t x)
 Fast approximation to the trigonometric cosine function for Q31 data. More...
 
q15_t csky_cos_q15 (q15_t x)
 Fast approximation to the trigonometric cosine function for Q15 data. More...
 
csky_status csky_sqrt_f32 (float32_t in, float32_t *pOut)
 Floating-point square root function. More...
 
csky_status csky_sqrt_q31 (q31_t in, q31_t *pOut)
 Q31 square root function. More...
 
csky_status csky_sqrt_q15 (q15_t in, q15_t *pOut)
 Q15 square root function. More...
 
float64_t csky_pow_f64 (float64_t x, float64_t y)
 Fast approximation to the exponential function for float64_t-point data. More...
 
float64_t csky_log_f64 (float64_t x)
 Fast approximation to the 2 based logarithm function for float64_t -point data. More...
 
float64_t csky_exp_f64 (float64_t x)
 Fast approximation to the exponential function based on e for float64_t -point_t data. More...
 
float64_t csky_pow2_f64 (float64_t x)
 Fast approximation to the 2 based exponential function for float64_t -point data. More...
 
float64_t csky_log2_f64 (float64_t x)
 Fast approximation to the 2 based logarithm function for float64_t -point data. More...
 
float64_t csky_log10_f64 (float64_t x)
 Fast approximation to the 10 base logarithm function for float64_t -point data. More...
 
void csky_power_q31 (q31_t *pSrc, uint32_t blockSize, q63_t *pResult)
 Sum of the squares of the elements of a Q31 vector. More...
 
void csky_power_int32 (int32_t *pSrc, uint32_t blockSize, q63_t *pResult)
 
void csky_power_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
 Sum of the squares of the elements of a floating-point vector. More...
 
void csky_power_q15 (q15_t *pSrc, uint32_t blockSize, q63_t *pResult)
 Sum of the squares of the elements of a Q15 vector. More...
 
void csky_power_q7 (q7_t *pSrc, uint32_t blockSize, q31_t *pResult)
 Sum of the squares of the elements of a Q7 vector. More...
 
void csky_mean_q7 (q7_t *pSrc, uint32_t blockSize, q7_t *pResult)
 Mean value of a Q7 vector. More...
 
void csky_mean_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
 Mean value of a Q15 vector. More...
 
void csky_mean_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
 Mean value of a Q31 vector. More...
 
void csky_mean_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
 Mean value of a floating-point vector. More...
 
void csky_var_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
 Variance of the elements of a floating-point vector. More...
 
void csky_var_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
 Variance of the elements of a Q31 vector. More...
 
void csky_var_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
 Variance of the elements of a Q15 vector. More...
 
void csky_rms_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
 Root Mean Square of the elements of a floating-point vector. More...
 
void csky_rms_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
 Root Mean Square of the elements of a Q31 vector. More...
 
void csky_rms_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
 Root Mean Square of the elements of a Q15 vector. More...
 
void csky_std_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
 Standard deviation of the elements of a floating-point vector. More...
 
void csky_std_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
 Standard deviation of the elements of a Q31 vector. More...
 
void csky_std_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
 Standard deviation of the elements of a Q15 vector. More...
 
void csky_cmplx_mag_f32 (float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
 Floating-point complex magnitude. More...
 
void csky_cmplx_mag_q31 (q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
 Q31 complex magnitude. More...
 
void csky_cmplx_mag_q15 (q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
 Q15 complex magnitude. More...
 
void csky_cmplx_dot_prod_q15 (q15_t *pSrcA, q15_t *pSrcB, uint32_t numSamples, q31_t *realResult, q31_t *imagResult)
 Q15 complex dot product. More...
 
void csky_cmplx_dot_prod_q31 (q31_t *pSrcA, q31_t *pSrcB, uint32_t numSamples, q63_t *realResult, q63_t *imagResult)
 Q31 complex dot product. More...
 
void csky_cmplx_dot_prod_f32 (float32_t *pSrcA, float32_t *pSrcB, uint32_t numSamples, float32_t *realResult, float32_t *imagResult)
 Floating-point complex dot product. More...
 
void csky_cmplx_mult_real_q15 (q15_t *pSrcCmplx, q15_t *pSrcReal, q15_t *pCmplxDst, uint32_t numSamples)
 Q15 complex-by-real multiplication. More...
 
void csky_cmplx_mult_real_q31 (q31_t *pSrcCmplx, q31_t *pSrcReal, q31_t *pCmplxDst, uint32_t numSamples)
 Q31 complex-by-real multiplication. More...
 
void csky_cmplx_mult_real_f32 (float32_t *pSrcCmplx, float32_t *pSrcReal, float32_t *pCmplxDst, uint32_t numSamples)
 Floating-point complex-by-real multiplication. More...
 
void csky_min_q7 (q7_t *pSrc, uint32_t blockSize, q7_t *result, uint32_t *index)
 Minimum value of a Q7 vector. More...
 
void csky_min_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult, uint32_t *pIndex)
 Minimum value of a Q15 vector. More...
 
void csky_min_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult, uint32_t *pIndex)
 Minimum value of a Q31 vector. More...
 
void csky_min_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult, uint32_t *pIndex)
 Minimum value of a floating-point vector. More...
 
void csky_max_q7 (q7_t *pSrc, uint32_t blockSize, q7_t *pResult, uint32_t *pIndex)
 Maximum value of a Q7 vector. More...
 
void csky_max_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult, uint32_t *pIndex)
 Maximum value of a Q15 vector. More...
 
void csky_max_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult, uint32_t *pIndex)
 Maximum value of a Q31 vector. More...
 
void csky_max_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult, uint32_t *pIndex)
 Maximum value of a floating-point vector. More...
 
void csky_cmplx_mult_cmplx_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t numSamples)
 Q15 complex-by-complex multiplication. More...
 
void csky_cmplx_mult_cmplx_q31 (q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t numSamples)
 Q31 complex-by-complex multiplication. More...
 
void csky_cmplx_mult_cmplx_f32 (float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t numSamples)
 Floating-point complex-by-complex multiplication. More...
 
void csky_float_to_q31 (float32_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Converts the elements of the floating-point vector to Q31 vector. More...
 
void csky_float_to_q15 (float32_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Converts the elements of the floating-point vector to Q15 vector. More...
 
void csky_float_to_q7 (float32_t *pSrc, q7_t *pDst, uint32_t blockSize)
 Converts the elements of the floating-point vector to Q7 vector. More...
 
void csky_q31_to_q15 (q31_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Converts the elements of the Q31 vector to Q15 vector. More...
 
void csky_q31_to_q7 (q31_t *pSrc, q7_t *pDst, uint32_t blockSize)
 Converts the elements of the Q31 vector to Q7 vector. More...
 
void csky_q15_to_float (q15_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Converts the elements of the Q15 vector to floating-point vector. More...
 
void csky_q15_to_q31 (q15_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Converts the elements of the Q15 vector to Q31 vector. More...
 
void csky_q15_to_q7 (q15_t *pSrc, q7_t *pDst, uint32_t blockSize)
 Converts the elements of the Q15 vector to Q7 vector. More...
 
__ALWAYS_INLINE float32_t csky_bilinear_interp_f32 (const csky_bilinear_interp_instance_f32 *S, float32_t X, float32_t Y)
 Floating-point bilinear interpolation. More...
 
__ALWAYS_INLINE q31_t csky_bilinear_interp_q31 (csky_bilinear_interp_instance_q31 *S, q31_t X, q31_t Y)
 Q31 bilinear interpolation. More...
 
__ALWAYS_INLINE q15_t csky_bilinear_interp_q15 (csky_bilinear_interp_instance_q15 *S, q31_t X, q31_t Y)
 Q15 bilinear interpolation. More...
 
void test (q7_t *pSrc, q7_t *pDst)
 
__ALWAYS_INLINE q7_t csky_bilinear_interp_q7 (csky_bilinear_interp_instance_q7 *S, q31_t X, q31_t Y)
 Q7 bilinear interpolation. More...
 
__ALWAYS_INLINE q31_t csky_shr_q31 (q31_t a, q31_t shift)
 right shift Q31 version More...
 
__ALWAYS_INLINE q31_t csky_pshr_q31 (q31_t a, q31_t shift)
 right shift Q31 version More...
 
__ALWAYS_INLINE q31_t csky_pshr_pos_q31 (q31_t a, q31_t shift)
 right shift Q31 version More...
 
__ALWAYS_INLINE q63_t csky_pshr_q63 (q63_t a, q31_t shift)
 right shift Q63 version More...
 

Macro Definition Documentation

#define __CSI_GENERIC
#define __PACKq7 (   v0,
  v1,
  v2,
  v3 
)
#define __SIMD32 (   addr)
#define __SIMD32_CONST (   addr)
#define __SIMD32_TYPE
#define __SIMD64 (   addr)
#define _SIMD32_OFFSET (   addr)
#define ABS (   x)
#define ADD2 (   x,
  xx,
  y,
  yy,
  z,
  zz,
  r,
 
)
#define ALIGN4
#define CN
#define CONTROLLER_Q31_SHIFT
#define CSI_UNUSED
#define DELTA_Q15
#define DELTA_Q31
#define EADD (   x,
  y,
  z,
  zz 
)
#define EMULV (   x,
  y,
  z,
  zz,
  p,
  hx,
  tx,
  hy,
  ty 
)
#define FAST_MATH_Q15_SHIFT
#define FAST_MATH_Q31_SHIFT
#define FAST_MATH_TABLE_SIZE
#define HIGH_HALF
#define INDEX_MASK
#define INPUT_SPACING
#define LOW_HALF
#define max (   x)
#define min (   x)
#define MUL12 (   x,
  y,
  z,
  zz,
  p,
  hx,
  tx,
  hy,
  ty,
 
)
#define MUL2 (   x,
  xx,
  y,
  yy,
  z,
  zz,
  p,
  hx,
  tx,
  hy,
  ty,
  q,
  c,
  cc 
)
#define mult_32x32_keep32 (   a,
  x,
 
)
#define mult_32x32_keep32_R (   a,
  x,
 
)
#define multAcc_32x32_keep32 (   a,
  x,
 
)
#define multAcc_32x32_keep32_R (   a,
  x,
 
)
#define multSub_32x32_keep32 (   a,
  x,
 
)
#define multSub_32x32_keep32_R (   a,
  x,
 
)
#define PI
#define PSHR (   a,
  shift 
)
#define PSHR64 (   a,
  shift 
)
#define PSHR_POSITIVE (   a,
  shift 
)
#define SHR (   a,
  shift 
)
#define SUB2 (   x,
  xx,
  y,
  yy,
  z,
  zz,
  r,
 
)
#define TABLE_SIZE
#define TABLE_SPACING_Q15
#define TABLE_SPACING_Q31

Typedef Documentation

typedef float float32_t
typedef double float64_t
typedef int16_t q15_t
typedef int32_t q31_t
typedef int64_t q63_t
typedef int8_t q7_t

Enumeration Type Documentation

Enumerator
CSKY_MATH_SUCCESS 

No error

CSKY_MATH_ARGUMENT_ERROR 

One or more arguments are incorrect

CSKY_MATH_LENGTH_ERROR 

Length of data buffer is incorrect

CSKY_MATH_SIZE_MISMATCH 

Size of matrices is not compatible with the operation.

CSKY_MATH_NANINF 

Not-a-number (NaN) or infinity is generated

CSKY_MATH_SINGULAR 

Generated by matrix inversion if the input matrix is singular and cannot be inverted.

CSKY_MATH_TEST_FAILURE 

Test Failed

Function Documentation

static __INLINE q31_t clip_q63_to_q31 ( q63_t  x)
static
void csky_dsp_lib_mat_cx_add16 ( cq15_t A,
cq15_t B,
uint32_t  N,
uint32_t  M,
cq15_t C 
)
void csky_dsp_lib_mat_cx_add32 ( cq31_t A,
cq31_t B,
uint32_t  N,
uint32_t  M,
cq31_t C 
)
void csky_dsp_lib_mat_cx_mul_q15 ( cq15_t A,
cq15_t B,
uint32_t  N,
uint32_t  M,
uint32_t  L,
cq15_t C 
)
void csky_dsp_lib_mat_cx_mul_q31 ( cq31_t A,
cq31_t B,
uint32_t  N,
uint32_t  M,
uint32_t  L,
cq31_t C 
)
void csky_dsp_lib_mat_cx_sub16 ( cq15_t A,
cq15_t B,
uint32_t  N,
uint32_t  M,
cq15_t C 
)
void csky_dsp_lib_mat_cx_sub32 ( cq31_t A,
cq31_t B,
uint32_t  N,
uint32_t  M,
cq31_t C 
)
void csky_dsp_lib_vec_shf32 ( q31_t A,
q31_t  shift_val,
uint32_t  N,
q31_t C 
)
q63_t csky_dsp_lib_vec_sum32 ( q31_t A,
uint32_t  N 
)
void csky_power_int32 ( int32_t *  pSrc,
uint32_t  blockSize,
q63_t pResult 
)
void csky_rfft_f32 ( const csky_rfft_instance_f32 S,
float32_t pSrc,
float32_t pDst 
)
Deprecated:
Do not use this function. It has been superceded by csky_rfft_fast_f32 and will be removed in the future.
Parameters
[in]*Spoints to an instance of the floating-point RFFT/RIFFT structure.
[in]*pSrcpoints to the input buffer.
[out]*pDstpoints to the output buffer.
Returns
none.
void test ( q7_t pSrc,
q7_t pDst 
)