Data Structures | Defines | Enumerations | Functions

arm_math.h File Reference

#include "core_r4_simd.h"
#include "string.h"
#include "type_defs.h"
#include <math.h>

Go to the source code of this file.

Data Structures

struct  arm_fir_instance_q7
 Instance structure for the Q7 FIR filter. More...
struct  arm_fir_instance_q15
 Instance structure for the Q15 FIR filter. More...
struct  arm_fir_instance_q31
 Instance structure for the Q31 FIR filter. More...
struct  arm_fir_instance_f32
 Instance structure for the floating-point FIR filter. More...
struct  arm_biquad_casd_df1_inst_q15
 Instance structure for the Q15 Biquad cascade filter. More...
struct  arm_biquad_casd_df1_inst_q31
 Instance structure for the Q31 Biquad cascade filter. More...
struct  arm_biquad_casd_df1_inst_f32
 Instance structure for the floating-point Biquad cascade filter. More...
struct  arm_matrix_instance_f32
 Instance structure for the floating-point matrix structure. More...
struct  arm_matrix_instance_q15
 Instance structure for the Q15 matrix structure. More...
struct  arm_matrix_instance_q31
 Instance structure for the Q31 matrix structure. More...
struct  arm_pid_instance_q15
 Instance structure for the Q15 PID Control. More...
struct  arm_pid_instance_q31
 Instance structure for the Q31 PID Control. More...
struct  arm_pid_instance_f32
 Instance structure for the floating-point PID Control. More...
struct  arm_linear_interp_instance_f32
 Instance structure for the floating-point Linear Interpolate function. More...
struct  arm_bilinear_interp_instance_f32
 Instance structure for the floating-point bilinear interpolation function. More...
struct  arm_bilinear_interp_instance_q31
 Instance structure for the Q31 bilinear interpolation function. More...
struct  arm_bilinear_interp_instance_q15
 Instance structure for the Q15 bilinear interpolation function. More...
struct  arm_bilinear_interp_instance_q7
 Instance structure for the Q15 bilinear interpolation function. More...
struct  arm_cfft_radix4_instance_q15
 Instance structure for the Q15 CFFT/CIFFT function. More...
struct  arm_cfft_radix4_instance_q31
 Instance structure for the Q31 CFFT/CIFFT function. More...
struct  arm_cfft_radix4_instance_f32
 Instance structure for the floating-point CFFT/CIFFT function. More...
struct  arm_rfft_instance_q15
 Instance structure for the Q15 RFFT/RIFFT function. More...
struct  arm_rfft_instance_q31
 Instance structure for the Q31 RFFT/RIFFT function. More...
struct  arm_rfft_instance_f32
 Instance structure for the floating-point RFFT/RIFFT function. More...
struct  arm_dct4_instance_f32
 Instance structure for the floating-point DCT4/IDCT4 function. More...
struct  arm_dct4_instance_q31
 Instance structure for the Q31 DCT4/IDCT4 function. More...
struct  arm_dct4_instance_q15
 Instance structure for the Q15 DCT4/IDCT4 function. More...
struct  arm_fir_decimate_instance_q15
 Instance structure for the Q15 FIR decimator. More...
struct  arm_fir_decimate_instance_q31
 Instance structure for the Q31 FIR decimator. More...
struct  arm_fir_decimate_instance_f32
 Instance structure for the floating-point FIR decimator. More...
struct  arm_fir_interpolate_instance_q15
 Instance structure for the Q15 FIR interpolator. More...
struct  arm_fir_interpolate_instance_q31
 Instance structure for the Q31 FIR interpolator. More...
struct  arm_fir_interpolate_instance_f32
 Instance structure for the floating-point FIR interpolator. More...
struct  arm_biquad_cas_df1_32x64_ins_q31
 Instance structure for the high precision Q31 Biquad cascade filter. More...
struct  arm_biquad_cascade_df2T_instance_f32
 Instance structure for the floating-point transposed direct form II Biquad cascade filter. More...
struct  arm_fir_lattice_instance_q15
 Instance structure for the Q15 FIR lattice filter. More...
struct  arm_fir_lattice_instance_q31
 Instance structure for the Q31 FIR lattice filter. More...
struct  arm_fir_lattice_instance_f32
 Instance structure for the floating-point FIR lattice filter. More...
struct  arm_iir_lattice_instance_q15
 Instance structure for the Q15 IIR lattice filter. More...
struct  arm_iir_lattice_instance_q31
 Instance structure for the Q31 IIR lattice filter. More...
struct  arm_iir_lattice_instance_f32
 Instance structure for the floating-point IIR lattice filter. More...
struct  arm_lms_instance_f32
 Instance structure for the floating-point LMS filter. More...
struct  arm_lms_instance_q15
 Instance structure for the Q15 LMS filter. More...
struct  arm_lms_instance_q31
 Instance structure for the Q31 LMS filter. More...
struct  arm_lms_norm_instance_f32
 Instance structure for the floating-point normalized LMS filter. More...
struct  arm_lms_norm_instance_q31
 Instance structure for the Q31 normalized LMS filter. More...
struct  arm_lms_norm_instance_q15
 Instance structure for the Q15 normalized LMS filter. More...
struct  arm_fir_sparse_instance_f32
 Instance structure for the floating-point sparse FIR filter. More...
struct  arm_fir_sparse_instance_q31
 Instance structure for the Q31 sparse FIR filter. More...
struct  arm_fir_sparse_instance_q15
 Instance structure for the Q15 sparse FIR filter. More...
struct  arm_fir_sparse_instance_q7
 Instance structure for the Q7 sparse FIR filter. More...

Defines

#define DELTA_Q31   (0x100)
#define DELTA_Q15   0x5
#define INDEX_MASK   0x0000003F
#define PI   3.14159265358979f
#define TABLE_SIZE   256
#define TABLE_SPACING_Q31   0x800000
#define TABLE_SPACING_Q15   0x80
#define INPUT_SPACING   0xB60B61
#define __SIMD32(addr)   (*(__packed int32_t **) & (addr))
#define __SIMD64(addr)   (*(int64_t **) & (addr))
#define _SIMD32_OFFSET(addr)   (*(__packed int32_t *) (addr))
#define _SIMD64_OFFSET(addr)   (*(int64_t *) (addr))
#define __PACKq7(v0, v1, v2, v3)

Enumerations

enum  arm_status {
  ARM_MATH_SUCCESS = 0, ARM_MATH_ARGUMENT_ERROR = -1, ARM_MATH_LENGTH_ERROR = -2, ARM_MATH_SIZE_MISMATCH = -3,
  ARM_MATH_NANINF = -4, ARM_MATH_SINGULAR = -5, ARM_MATH_TEST_FAILURE = -6
}

Functions

static INLINE q31_t clip_q63_to_q31 (q63_t x)
static INLINE q15_t clip_q63_to_q15 (q63_t x)
static INLINE q7_t clip_q31_to_q7 (q31_t x)
static INLINE q15_t clip_q31_to_q15 (q31_t x)
static INLINE q63_t mult32x64 (q63_t x, q31_t y)
static INLINE uint32_t arm_recip_q31 (q31_t in, q31_t *dst, q31_t *pRecipTable)
static INLINE uint32_t arm_recip_q15 (q15_t in, q15_t *dst, q15_t *pRecipTable)
void arm_fir_q7 (const arm_fir_instance_q7 *S, q7_t *pSrc, q7_t *pDst, uint32_t blockSize)
void arm_fir_init_q7 (arm_fir_instance_q7 *S, uint16_t numTaps, q7_t *pCoeffs, q7_t *pState, uint32_t blockSize)
void arm_fir_q15 (const arm_fir_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
void arm_fir_fast_q15 (const arm_fir_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
arm_status arm_fir_init_q15 (arm_fir_instance_q15 *S, uint16_t numTaps, q15_t *pCoeffs, q15_t *pState, uint32_t blockSize)
void arm_fir_q31 (const arm_fir_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
void arm_fir_fast_q31 (const arm_fir_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
void arm_fir_init_q31 (arm_fir_instance_q31 *S, uint16_t numTaps, q31_t *pCoeffs, q31_t *pState, uint32_t blockSize)
void arm_fir_f32 (const arm_fir_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
void arm_fir_init_f32 (arm_fir_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, uint32_t blockSize)
void arm_biquad_cascade_df1_q15 (const arm_biquad_casd_df1_inst_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
void arm_biquad_cascade_df1_init_q15 (arm_biquad_casd_df1_inst_q15 *S, uint8_t numStages, q15_t *pCoeffs, q15_t *pState, int8_t postShift)
void arm_biquad_cascade_df1_fast_q15 (const arm_biquad_casd_df1_inst_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
void arm_biquad_cascade_df1_q31 (const arm_biquad_casd_df1_inst_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
void arm_biquad_cascade_df1_fast_q31 (const arm_biquad_casd_df1_inst_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
void arm_biquad_cascade_df1_init_q31 (arm_biquad_casd_df1_inst_q31 *S, uint8_t numStages, q31_t *pCoeffs, q31_t *pState, int8_t postShift)
void arm_biquad_cascade_df1_f32 (const arm_biquad_casd_df1_inst_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
void arm_biquad_cascade_df1_init_f32 (arm_biquad_casd_df1_inst_f32 *S, uint8_t numStages, float32_t *pCoeffs, float32_t *pState)
arm_status arm_mat_add_f32 (const arm_matrix_instance_f32 *pSrcA, const arm_matrix_instance_f32 *pSrcB, arm_matrix_instance_f32 *pDst)
arm_status arm_mat_add_q15 (const arm_matrix_instance_q15 *pSrcA, const arm_matrix_instance_q15 *pSrcB, arm_matrix_instance_q15 *pDst)
arm_status arm_mat_add_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst)
arm_status arm_mat_trans_f32 (const arm_matrix_instance_f32 *pSrc, arm_matrix_instance_f32 *pDst)
arm_status arm_mat_trans_q15 (const arm_matrix_instance_q15 *pSrc, arm_matrix_instance_q15 *pDst)
arm_status arm_mat_trans_q31 (const arm_matrix_instance_q31 *pSrc, arm_matrix_instance_q31 *pDst)
arm_status arm_mat_mult_f32 (const arm_matrix_instance_f32 *pSrcA, const arm_matrix_instance_f32 *pSrcB, arm_matrix_instance_f32 *pDst)
arm_status arm_mat_cmplx_mult_f32 (const arm_matrix_instance_f32 *pSrcA, const arm_matrix_instance_f32 *pSrcB, arm_matrix_instance_f32 *pDst)
arm_status arm_mat_cmplx_mult_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst)
arm_status arm_mat_mult_q15 (const arm_matrix_instance_q15 *pSrcA, const arm_matrix_instance_q15 *pSrcB, arm_matrix_instance_q15 *pDst, q15_t *pScratch)
arm_status arm_mat_cmplx_mult_q15 (const arm_matrix_instance_q15 *pSrcA, const arm_matrix_instance_q15 *pSrcB, arm_matrix_instance_q15 *pDst, q15_t *pScratch)
arm_status arm_mat_mult_fast_q15 (const arm_matrix_instance_q15 *pSrcA, const arm_matrix_instance_q15 *pSrcB, arm_matrix_instance_q15 *pDst, q15_t *pScratch)
arm_status arm_mat_mult_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst)
arm_status arm_mat_mult_fast_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst)
arm_status arm_mat_sub_f32 (const arm_matrix_instance_f32 *pSrcA, const arm_matrix_instance_f32 *pSrcB, arm_matrix_instance_f32 *pDst)
arm_status arm_mat_sub_q15 (const arm_matrix_instance_q15 *pSrcA, const arm_matrix_instance_q15 *pSrcB, arm_matrix_instance_q15 *pDst)
arm_status arm_mat_sub_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst)
arm_status arm_mat_scale_f32 (const arm_matrix_instance_f32 *pSrc, float32_t scale, arm_matrix_instance_f32 *pDst)
arm_status arm_mat_scale_q15 (const arm_matrix_instance_q15 *pSrc, q15_t scaleFract, int32_t shift, arm_matrix_instance_q15 *pDst)
arm_status arm_mat_scale_q31 (const arm_matrix_instance_q31 *pSrc, q31_t scaleFract, int32_t shift, arm_matrix_instance_q31 *pDst)
void arm_mat_init_q31 (arm_matrix_instance_q31 *S, uint16_t nRows, uint16_t nColumns, q31_t *pData)
void arm_mat_init_q15 (arm_matrix_instance_q15 *S, uint16_t nRows, uint16_t nColumns, q15_t *pData)
void arm_mat_init_f32 (arm_matrix_instance_f32 *S, uint16_t nRows, uint16_t nColumns, float32_t *pData)
void arm_pid_init_f32 (arm_pid_instance_f32 *S, int32_t resetStateFlag)
void arm_pid_reset_f32 (arm_pid_instance_f32 *S)
void arm_pid_init_q31 (arm_pid_instance_q31 *S, int32_t resetStateFlag)
void arm_pid_reset_q31 (arm_pid_instance_q31 *S)
void arm_pid_init_q15 (arm_pid_instance_q15 *S, int32_t resetStateFlag)
void arm_pid_reset_q15 (arm_pid_instance_q15 *S)
void arm_mult_q7 (q7_t *pSrcA, q7_t *pSrcB, q7_t *pDst, uint32_t blockSize)
void arm_mult_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t blockSize)
void arm_mult_q31 (q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t blockSize)
void arm_mult_f32 (float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t blockSize)
void arm_cfft_radix4_q15 (const arm_cfft_radix4_instance_q15 *S, q15_t *pSrc)
arm_status arm_cfft_radix4_init_q15 (arm_cfft_radix4_instance_q15 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
void arm_cfft_mag_q15 (const arm_cfft_radix4_instance_q15 *S, q15_t *pSrc)
void arm_cfft_radix4_q31 (const arm_cfft_radix4_instance_q31 *S, q31_t *pSrc)
arm_status arm_cfft_radix4_init_q31 (arm_cfft_radix4_instance_q31 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
void arm_cfft_mag_q31 (const arm_cfft_radix4_instance_q31 *S, q31_t *pSrc)
void arm_cfft_radix4_f32 (const arm_cfft_radix4_instance_f32 *S, float32_t *pSrc)
void arm_cfft_mag_f32 (const arm_cfft_radix4_instance_f32 *S, float32_t *pSrc)
arm_status arm_cfft_radix4_init_f32 (arm_cfft_radix4_instance_f32 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
void arm_radix4_butterfly_f32 (float32_t *pSrc, uint16_t fftLen, float32_t *pCoef, uint16_t twidCoefModifier)
void arm_cfft_mag_butterfly_f32 (float32_t *pSrc, uint16_t fftLen, float32_t *pCoef, uint16_t twidCoefModifier)
void arm_radix4_butterfly_inverse_f32 (float32_t *pSrc, uint16_t fftLen, float32_t *pCoef, uint16_t twidCoefModifier, float32_t onebyfftLen)
void arm_bitreversal_f32 (float32_t *pSrc, uint16_t fftSize, uint16_t bitRevFactor, uint16_t *pBitRevTab)
void arm_cfft_mag_bitreversal_f32 (float32_t *pSrc, uint16_t fftSize, uint16_t bitRevFactor, uint16_t *pBitRevTab)
void arm_radix4_butterfly_q31 (q31_t *pSrc, uint32_t fftLen, q31_t *pCoef, uint32_t twidCoefModifier)
void arm_cfft_mag_butterfly_q31 (q31_t *pSrc, uint32_t fftLen, q31_t *pCoef, uint32_t twidCoefModifier)
void arm_radix4_butterfly_inverse_q31 (q31_t *pSrc, uint32_t fftLen, q31_t *pCoef, uint32_t twidCoefModifier)
void arm_bitreversal_q31 (q31_t *pSrc, uint32_t fftLen, uint16_t bitRevFactor, uint16_t *pBitRevTab)
void arm_cfft_mag_bitreversal_q31 (q31_t *pSrc, uint32_t fftLen, uint16_t bitRevFactor, uint16_t *pBitRevTab)
void arm_radix4_butterfly_q15 (q15_t *pSrc16, uint32_t fftLen, q15_t *pCoef16, uint32_t twidCoefModifier)
void arm_cfft_mag_butterfly_q15 (q15_t *pSrc16, uint32_t fftLen, q15_t *pCoef16, uint32_t twidCoefModifier)
void arm_radix4_butterfly_inverse_q15 (q15_t *pSrc16, uint32_t fftLen, q15_t *pCoef16, uint32_t twidCoefModifier)
void arm_bitreversal_q15 (q15_t *pSrc, uint32_t fftLen, uint16_t bitRevFactor, uint16_t *pBitRevTab)
void arm_cfft_mag_bitreversal_q15 (q15_t *pSrc, uint32_t fftLen, uint16_t bitRevFactor, uint16_t *pBitRevTab)
void arm_rfft_q15 (const arm_rfft_instance_q15 *S, q15_t *pSrc, q15_t *pDst)
arm_status arm_rfft_init_q15 (arm_rfft_instance_q15 *S, arm_cfft_radix4_instance_q15 *S_CFFT, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag)
void arm_rfft_q31 (const arm_rfft_instance_q31 *S, q31_t *pSrc, q31_t *pDst)
arm_status arm_rfft_init_q31 (arm_rfft_instance_q31 *S, arm_cfft_radix4_instance_q31 *S_CFFT, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag)
arm_status arm_rfft_init_f32 (arm_rfft_instance_f32 *S, arm_cfft_radix4_instance_f32 *S_CFFT, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag)
void arm_rfft_f32 (const arm_rfft_instance_f32 *S, float32_t *pSrc, float32_t *pDst)
arm_status arm_dct4_init_f32 (arm_dct4_instance_f32 *S, arm_rfft_instance_f32 *S_RFFT, arm_cfft_radix4_instance_f32 *S_CFFT, uint16_t N, uint16_t Nby2, float32_t normalize)
void arm_dct4_f32 (const arm_dct4_instance_f32 *S, float32_t *pState, float32_t *pInlineBuffer)
arm_status arm_dct4_init_q31 (arm_dct4_instance_q31 *S, arm_rfft_instance_q31 *S_RFFT, arm_cfft_radix4_instance_q31 *S_CFFT, uint16_t N, uint16_t Nby2, q31_t normalize)
void arm_dct4_q31 (const arm_dct4_instance_q31 *S, q31_t *pState, q31_t *pInlineBuffer)
arm_status arm_dct4_init_q15 (arm_dct4_instance_q15 *S, arm_rfft_instance_q15 *S_RFFT, arm_cfft_radix4_instance_q15 *S_CFFT, uint16_t N, uint16_t Nby2, q15_t normalize)
void arm_dct4_q15 (const arm_dct4_instance_q15 *S, q15_t *pState, q15_t *pInlineBuffer)
void arm_add_f32 (float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t blockSize)
void arm_add_q7 (q7_t *pSrcA, q7_t *pSrcB, q7_t *pDst, uint32_t blockSize)
void arm_add_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t blockSize)
void arm_add_q31 (q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t blockSize)
void arm_sub_f32 (float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t blockSize)
void arm_sub_q7 (q7_t *pSrcA, q7_t *pSrcB, q7_t *pDst, uint32_t blockSize)
void arm_sub_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t blockSize)
void arm_sub_q31 (q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t blockSize)
void arm_scale_f32 (float32_t *pSrc, float32_t scale, float32_t *pDst, uint32_t blockSize)
void arm_scale_q7 (q7_t *pSrc, q7_t scaleFract, int8_t shift, q7_t *pDst, uint32_t blockSize)
void arm_scale_q15 (q15_t *pSrc, q15_t scaleFract, int8_t shift, q15_t *pDst, uint32_t blockSize)
void arm_scale_q31 (q31_t *pSrc, q31_t scaleFract, int8_t shift, q31_t *pDst, uint32_t blockSize)
void arm_abs_q7 (q7_t *pSrc, q7_t *pDst, uint32_t blockSize)
void arm_abs_f32 (float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
void arm_abs_q15 (q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
void arm_abs_q31 (q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
void arm_dot_prod_f32 (float32_t *pSrcA, float32_t *pSrcB, uint32_t blockSize, float32_t *result)
void arm_dot_prod_q7 (q7_t *pSrcA, q7_t *pSrcB, uint32_t blockSize, q31_t *result)
void arm_dot_prod_q15 (q15_t *pSrcA, q15_t *pSrcB, uint32_t blockSize, q63_t *result)
void arm_dot_prod_q31 (q31_t *pSrcA, q31_t *pSrcB, uint32_t blockSize, q63_t *result)
void arm_shift_q7 (q7_t *pSrc, int8_t shiftBits, q7_t *pDst, uint32_t blockSize)
void arm_shift_q15 (q15_t *pSrc, int8_t shiftBits, q15_t *pDst, uint32_t blockSize)
void arm_shift_q31 (q31_t *pSrc, int8_t shiftBits, q31_t *pDst, uint32_t blockSize)
void arm_offset_f32 (float32_t *pSrc, float32_t offset, float32_t *pDst, uint32_t blockSize)
void arm_offset_q7 (q7_t *pSrc, q7_t offset, q7_t *pDst, uint32_t blockSize)
void arm_offset_q15 (q15_t *pSrc, q15_t offset, q15_t *pDst, uint32_t blockSize)
void arm_offset_q31 (q31_t *pSrc, q31_t offset, q31_t *pDst, uint32_t blockSize)
void arm_negate_f32 (float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
void arm_negate_q7 (q7_t *pSrc, q7_t *pDst, uint32_t blockSize)
void arm_negate_q15 (q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
void arm_negate_q31 (q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
void arm_copy_f32 (float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
void arm_copy_q7 (q7_t *pSrc, q7_t *pDst, uint32_t blockSize)
void arm_copy_q15 (q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
void arm_copy_q31 (q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
void arm_fill_f32 (float32_t value, float32_t *pDst, uint32_t blockSize)
void arm_fill_q7 (q7_t value, q7_t *pDst, uint32_t blockSize)
void arm_fill_q15 (q15_t value, q15_t *pDst, uint32_t blockSize)
void arm_fill_q31 (q31_t value, q31_t *pDst, uint32_t blockSize)
void arm_conv_f32 (float32_t *pSrcA, uint32_t srcALen, float32_t *pSrcB, uint32_t srcBLen, float32_t *pDst)
void arm_conv_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, q15_t *pScratch1, q15_t *pScratch2)
void arm_conv_fast_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, q15_t *pScratch1, q15_t *pScratch2)
void arm_conv_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst)
void arm_conv_fast_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst)
void arm_conv_q7 (q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst, q15_t *pScratch1, q15_t *pScratch2)
arm_status arm_conv_partial_f32 (float32_t *pSrcA, uint32_t srcALen, float32_t *pSrcB, uint32_t srcBLen, float32_t *pDst, uint32_t firstIndex, uint32_t numPoints)
arm_status arm_conv_partial_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)
arm_status arm_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, q15_t *pScratch1, q15_t *pScratch2)
arm_status arm_conv_partial_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst, uint32_t firstIndex, uint32_t numPoints)
arm_status arm_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)
arm_status arm_conv_partial_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)
void arm_fir_decimate_f32 (const arm_fir_decimate_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
arm_status arm_fir_decimate_init_f32 (arm_fir_decimate_instance_f32 *S, uint16_t numTaps, uint8_t M, float32_t *pCoeffs, float32_t *pState, uint32_t blockSize)
void arm_fir_decimate_q15 (const arm_fir_decimate_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
void arm_fir_decimate_fast_q15 (const arm_fir_decimate_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
arm_status arm_fir_decimate_init_q15 (arm_fir_decimate_instance_q15 *S, uint16_t numTaps, uint8_t M, q15_t *pCoeffs, q15_t *pState, uint32_t blockSize)
void arm_fir_decimate_q31 (const arm_fir_decimate_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
void arm_fir_decimate_fast_q31 (arm_fir_decimate_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
arm_status arm_fir_decimate_init_q31 (arm_fir_decimate_instance_q31 *S, uint16_t numTaps, uint8_t M, q31_t *pCoeffs, q31_t *pState, uint32_t blockSize)
void arm_fir_interpolate_q15 (const arm_fir_interpolate_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
arm_status arm_fir_interpolate_init_q15 (arm_fir_interpolate_instance_q15 *S, uint8_t L, uint16_t numTaps, q15_t *pCoeffs, q15_t *pState, uint32_t blockSize)
void arm_fir_interpolate_q31 (const arm_fir_interpolate_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
arm_status arm_fir_interpolate_init_q31 (arm_fir_interpolate_instance_q31 *S, uint8_t L, uint16_t numTaps, q31_t *pCoeffs, q31_t *pState, uint32_t blockSize)
void arm_fir_interpolate_f32 (const arm_fir_interpolate_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
arm_status arm_fir_interpolate_init_f32 (arm_fir_interpolate_instance_f32 *S, uint8_t L, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, uint32_t blockSize)
void arm_biquad_cas_df1_32x64_q31 (const arm_biquad_cas_df1_32x64_ins_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
void arm_biquad_cas_df1_32x64_init_q31 (arm_biquad_cas_df1_32x64_ins_q31 *S, uint8_t numStages, q31_t *pCoeffs, q63_t *pState, uint8_t postShift)
void arm_biquad_cascade_df2T_f32 (const arm_biquad_cascade_df2T_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
void arm_biquad_cascade_df2T_init_f32 (arm_biquad_cascade_df2T_instance_f32 *S, uint8_t numStages, float32_t *pCoeffs, float32_t *pState)
void arm_fir_lattice_init_q15 (arm_fir_lattice_instance_q15 *S, uint16_t numStages, q15_t *pCoeffs, q15_t *pState)
void arm_fir_lattice_q15 (const arm_fir_lattice_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
void arm_fir_lattice_init_q31 (arm_fir_lattice_instance_q31 *S, uint16_t numStages, q31_t *pCoeffs, q31_t *pState)
void arm_fir_lattice_q31 (const arm_fir_lattice_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
void arm_fir_lattice_init_f32 (arm_fir_lattice_instance_f32 *S, uint16_t numStages, float32_t *pCoeffs, float32_t *pState)
void arm_fir_lattice_f32 (const arm_fir_lattice_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
void arm_iir_lattice_f32 (const arm_iir_lattice_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
void arm_iir_lattice_init_f32 (arm_iir_lattice_instance_f32 *S, uint16_t numStages, float32_t *pkCoeffs, float32_t *pvCoeffs, float32_t *pState, uint32_t blockSize)
void arm_iir_lattice_q31 (const arm_iir_lattice_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
void arm_iir_lattice_init_q31 (arm_iir_lattice_instance_q31 *S, uint16_t numStages, q31_t *pkCoeffs, q31_t *pvCoeffs, q31_t *pState, uint32_t blockSize)
void arm_iir_lattice_q15 (const arm_iir_lattice_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
void arm_iir_lattice_init_q15 (arm_iir_lattice_instance_q15 *S, uint16_t numStages, q15_t *pkCoeffs, q15_t *pvCoeffs, q15_t *pState, uint32_t blockSize)
void arm_lms_f32 (const arm_lms_instance_f32 *S, float32_t *pSrc, float32_t *pRef, float32_t *pOut, float32_t *pErr, uint32_t blockSize)
void arm_lms_init_f32 (arm_lms_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, float32_t mu, uint32_t blockSize)
void arm_lms_init_q15 (arm_lms_instance_q15 *S, uint16_t numTaps, q15_t *pCoeffs, q15_t *pState, q15_t mu, uint32_t blockSize, uint32_t postShift)
void arm_lms_q15 (const arm_lms_instance_q15 *S, q15_t *pSrc, q15_t *pRef, q15_t *pOut, q15_t *pErr, uint32_t blockSize)
void arm_lms_q31 (const arm_lms_instance_q31 *S, q31_t *pSrc, q31_t *pRef, q31_t *pOut, q31_t *pErr, uint32_t blockSize)
void arm_lms_init_q31 (arm_lms_instance_q31 *S, uint16_t numTaps, q31_t *pCoeffs, q31_t *pState, q31_t mu, uint32_t blockSize, uint32_t postShift)
void arm_lms_norm_f32 (arm_lms_norm_instance_f32 *S, float32_t *pSrc, float32_t *pRef, float32_t *pOut, float32_t *pErr, uint32_t blockSize)
void arm_lms_norm_init_f32 (arm_lms_norm_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, float32_t mu, uint32_t blockSize)
void arm_lms_norm_q31 (arm_lms_norm_instance_q31 *S, q31_t *pSrc, q31_t *pRef, q31_t *pOut, q31_t *pErr, uint32_t blockSize)
void arm_lms_norm_init_q31 (arm_lms_norm_instance_q31 *S, uint16_t numTaps, q31_t *pCoeffs, q31_t *pState, q31_t mu, uint32_t blockSize, uint8_t postShift)
void arm_lms_norm_q15 (arm_lms_norm_instance_q15 *S, q15_t *pSrc, q15_t *pRef, q15_t *pOut, q15_t *pErr, uint32_t blockSize)
void arm_lms_norm_init_q15 (arm_lms_norm_instance_q15 *S, uint16_t numTaps, q15_t *pCoeffs, q15_t *pState, q15_t mu, uint32_t blockSize, uint8_t postShift)
void arm_correlate_f32 (float32_t *pSrcA, uint32_t srcALen, float32_t *pSrcB, uint32_t srcBLen, float32_t *pDst)
void arm_correlate_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, q15_t *pScratch)
void arm_correlate_fast_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, q15_t *pScratch)
void arm_correlate_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst)
void arm_correlate_fast_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst)
void arm_correlate_q7 (q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst, q15_t *pScratch1, q15_t *pScratch2)
void arm_fir_sparse_f32 (arm_fir_sparse_instance_f32 *S, float32_t *pSrc, float32_t *pDst, float32_t *pScratchIn, uint32_t blockSize)
void arm_fir_sparse_init_f32 (arm_fir_sparse_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, int32_t *pTapDelay, uint16_t maxDelay, uint32_t blockSize)
void arm_fir_sparse_q31 (arm_fir_sparse_instance_q31 *S, q31_t *pSrc, q31_t *pDst, q31_t *pScratchIn, uint32_t blockSize)
void arm_fir_sparse_init_q31 (arm_fir_sparse_instance_q31 *S, uint16_t numTaps, q31_t *pCoeffs, q31_t *pState, int32_t *pTapDelay, uint16_t maxDelay, uint32_t blockSize)
void arm_fir_sparse_q15 (arm_fir_sparse_instance_q15 *S, q15_t *pSrc, q15_t *pDst, q15_t *pScratchIn, q31_t *pScratchOut, uint32_t blockSize)
void arm_fir_sparse_init_q15 (arm_fir_sparse_instance_q15 *S, uint16_t numTaps, q15_t *pCoeffs, q15_t *pState, int32_t *pTapDelay, uint16_t maxDelay, uint32_t blockSize)
void arm_fir_sparse_q7 (arm_fir_sparse_instance_q7 *S, q7_t *pSrc, q7_t *pDst, q7_t *pScratchIn, q31_t *pScratchOut, uint32_t blockSize)
void arm_fir_sparse_init_q7 (arm_fir_sparse_instance_q7 *S, uint16_t numTaps, q7_t *pCoeffs, q7_t *pState, int32_t *pTapDelay, uint16_t maxDelay, uint32_t blockSize)
void arm_sin_cos_f32 (float32_t theta, float32_t *pSinVal, float32_t *pCcosVal)
void arm_sin_cos_q31 (q31_t theta, q31_t *pSinVal, q31_t *pCosVal)
void arm_cmplx_conj_f32 (float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
void arm_cmplx_conj_q31 (q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
void arm_cmplx_conj_q15 (q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
void arm_cmplx_mag_squared_f32 (float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
void arm_cmplx_mag_squared_q31 (q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
void arm_cmplx_mag_squared_q15 (q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
static INLINE float32_t arm_pid_f32 (arm_pid_instance_f32 *S, float32_t in)
static INLINE q31_t arm_pid_q31 (arm_pid_instance_q31 *S, q31_t in)
static INLINE q15_t arm_pid_q15 (arm_pid_instance_q15 *S, q15_t in)
arm_status arm_mat_inverse_f32 (const arm_matrix_instance_f32 *src, arm_matrix_instance_f32 *dst)
static INLINE void arm_clarke_f32 (float32_t Ia, float32_t Ib, float32_t *pIalpha, float32_t *pIbeta)
static INLINE void arm_clarke_q31 (q31_t Ia, q31_t Ib, q31_t *pIalpha, q31_t *pIbeta)
void arm_q7_to_q31 (q7_t *pSrc, q31_t *pDst, uint32_t blockSize)
static INLINE void arm_inv_clarke_f32 (float32_t Ialpha, float32_t Ibeta, float32_t *pIa, float32_t *pIb)
static INLINE void arm_inv_clarke_q31 (q31_t Ialpha, q31_t Ibeta, q31_t *pIa, q31_t *pIb)
void arm_q7_to_q15 (q7_t *pSrc, q15_t *pDst, uint32_t blockSize)
static INLINE void arm_park_f32 (float32_t Ialpha, float32_t Ibeta, float32_t *pId, float32_t *pIq, float32_t sinVal, float32_t cosVal)
static INLINE void arm_park_q31 (q31_t Ialpha, q31_t Ibeta, q31_t *pId, q31_t *pIq, q31_t sinVal, q31_t cosVal)
void arm_q7_to_float (q7_t *pSrc, float32_t *pDst, uint32_t blockSize)
static INLINE void arm_inv_park_f32 (float32_t Id, float32_t Iq, float32_t *pIalpha, float32_t *pIbeta, float32_t sinVal, float32_t cosVal)
static INLINE void arm_inv_park_q31 (q31_t Id, q31_t Iq, q31_t *pIalpha, q31_t *pIbeta, q31_t sinVal, q31_t cosVal)
void arm_q31_to_float (q31_t *pSrc, float32_t *pDst, uint32_t blockSize)
static INLINE void arm_linear_interp_f32 (arm_linear_interp_instance_f32 *S, float32_t *pIn, float32_t *pOut, uint32_t blockSize)
static INLINE void arm_linear_interp_q31 (q31_t *pYData, q31_t *pIn, q31_t *pOut, uint32_t nValues, uint32_t blockSize)
static INLINE void arm_linear_interp_q15 (q15_t *pYData, q31_t *pIn, q15_t *pOut, uint32_t nValues, uint32_t blockSize)
static INLINE void arm_linear_interp_q7 (q7_t *pYData, q31_t *pIn, q7_t *pOut, uint32_t nValues, uint32_t blockSize)
float32_t arm_sin_f32 (float32_t x)
q31_t arm_sin_q31 (q31_t x)
q15_t arm_sin_q15 (q15_t x)
float32_t arm_cos_f32 (float32_t x)
q31_t arm_cos_q31 (q31_t x)
q15_t arm_cos_q15 (q15_t x)
static INLINE arm_status arm_sqrt_f32 (float32_t in, float32_t *pOut)
arm_status arm_sqrt_q31 (q31_t in, q31_t *pOut)
arm_status arm_sqrt_q15 (q15_t in, q15_t *pOut)
static INLINE void arm_circularWrite_f32 (int32_t *circBuffer, int32_t L, uint16_t *writeOffset, int32_t bufferInc, const int32_t *src, int32_t srcInc, uint32_t blockSize)
static INLINE void arm_circularRead_f32 (int32_t *circBuffer, int32_t L, int32_t *readOffset, int32_t bufferInc, int32_t *dst, int32_t *dst_base, int32_t dst_length, int32_t dstInc, uint32_t blockSize)
static INLINE void arm_circularWrite_q15 (q15_t *circBuffer, int32_t L, uint16_t *writeOffset, int32_t bufferInc, const q15_t *src, int32_t srcInc, uint32_t blockSize)
static INLINE void arm_circularRead_q15 (q15_t *circBuffer, int32_t L, int32_t *readOffset, int32_t bufferInc, q15_t *dst, q15_t *dst_base, int32_t dst_length, int32_t dstInc, uint32_t blockSize)
static INLINE void arm_circularWrite_q7 (q7_t *circBuffer, int32_t L, uint16_t *writeOffset, int32_t bufferInc, const q7_t *src, int32_t srcInc, uint32_t blockSize)
static INLINE void arm_circularRead_q7 (q7_t *circBuffer, int32_t L, int32_t *readOffset, int32_t bufferInc, q7_t *dst, q7_t *dst_base, int32_t dst_length, int32_t dstInc, uint32_t blockSize)
void arm_power_q31 (q31_t *pSrc, uint32_t blockSize, q63_t *pResult)
void arm_power_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
void arm_power_q15 (q15_t *pSrc, uint32_t blockSize, q63_t *pResult)
void arm_power_q7 (q7_t *pSrc, uint32_t blockSize, q31_t *pResult)
void arm_mean_q7 (q7_t *pSrc, uint32_t blockSize, q7_t *pResult)
void arm_mean_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
void arm_mean_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
void arm_mean_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
void arm_var_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
void arm_var_q31 (q31_t *pSrc, uint32_t blockSize, q63_t *pResult)
void arm_var_q15 (q15_t *pSrc, uint32_t blockSize, q31_t *pResult)
void arm_rms_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
void arm_rms_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
void arm_rms_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
void arm_std_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
void arm_std_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
void arm_std_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
void arm_cmplx_mag_f32 (float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
void arm_cmplx_mag_q31 (q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
void arm_cmplx_mag_q15 (q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
void arm_cmplx_dot_prod_q15 (q15_t *pSrcA, q15_t *pSrcB, uint32_t numSamples, q31_t *realResult, q31_t *imagResult)
void arm_cmplx_dot_prod_q31 (q31_t *pSrcA, q31_t *pSrcB, uint32_t numSamples, q63_t *realResult, q63_t *imagResult)
void arm_cmplx_dot_prod_f32 (float32_t *pSrcA, float32_t *pSrcB, uint32_t numSamples, float32_t *realResult, float32_t *imagResult)
void arm_cmplx_mult_real_q15 (q15_t *pSrcCmplx, q15_t *pSrcReal, q15_t *pCmplxDst, uint32_t numSamples)
void arm_cmplx_mult_real_q31 (q31_t *pSrcCmplx, q31_t *pSrcReal, q31_t *pCmplxDst, uint32_t numSamples)
void arm_cmplx_mult_real_f32 (float32_t *pSrcCmplx, float32_t *pSrcReal, float32_t *pCmplxDst, uint32_t numSamples)
void arm_min_q7 (q7_t *pSrc, uint32_t blockSize, q7_t *result, uint32_t *index)
void arm_min_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult, uint32_t *pIndex)
void arm_min_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult, uint32_t *pIndex)
void arm_min_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult, uint32_t *pIndex)
void arm_max_q7 (q7_t *pSrc, uint32_t blockSize, q7_t *pResult, uint32_t *pIndex)
void arm_max_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult, uint32_t *pIndex)
void arm_max_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult, uint32_t *pIndex)
void arm_max_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult, uint32_t *pIndex)
void arm_cmplx_mult_cmplx_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t numSamples)
void arm_cmplx_mult_cmplx_q31 (q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t numSamples)
void arm_cmplx_mult_cmplx_f32 (float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t numSamples)
void arm_float_to_q31 (float32_t *pSrc, q31_t *pDst, uint32_t blockSize)
void arm_float_to_q15 (float32_t *pSrc, q15_t *pDst, uint32_t blockSize)
void arm_float_to_q7 (float32_t *pSrc, q7_t *pDst, uint32_t blockSize)
void arm_q31_to_q15 (q31_t *pSrc, q15_t *pDst, uint32_t blockSize)
void arm_q31_to_q7 (q31_t *pSrc, q7_t *pDst, uint32_t blockSize)
void arm_q15_to_float (q15_t *pSrc, float32_t *pDst, uint32_t blockSize)
void arm_q15_to_q31 (q15_t *pSrc, q31_t *pDst, uint32_t blockSize)
void arm_q15_to_q7 (q15_t *pSrc, q7_t *pDst, uint32_t blockSize)
static INLINE void arm_bilinear_interp_f32 (const arm_bilinear_interp_instance_f32 *S, float32_t *X, float32_t *Y, float32_t *pOut, uint32_t blockSize)
static INLINE void arm_bilinear_interp_q31 (arm_bilinear_interp_instance_q31 *S, q31_t *X, q31_t *Y, q31_t *pOut, uint32_t blockSize)
static INLINE void arm_bilinear_interp_q15 (arm_bilinear_interp_instance_q15 *S, q31_t *X, q31_t *Y, q15_t *pOut, uint32_t blockSize)
static INLINE void arm_bilinear_interp_q7 (arm_bilinear_interp_instance_q7 *S, q31_t *X, q31_t *Y, q7_t *pOut, uint32_t blockSize)

Define Documentation

#define DELTA_Q31   (0x100)

Macros required for reciprocal calculation in Normalized LMS.

Definition at line 318 of file arm_math.h.

#define DELTA_Q15   0x5

Definition at line 319 of file arm_math.h.

#define INDEX_MASK   0x0000003F

Definition at line 320 of file arm_math.h.

#define PI   3.14159265358979f

Definition at line 321 of file arm_math.h.

#define TABLE_SIZE   256

Macros required for SINE and COSINE Fast math approximations.

Definition at line 327 of file arm_math.h.

#define TABLE_SPACING_Q31   0x800000

Definition at line 328 of file arm_math.h.

#define TABLE_SPACING_Q15   0x80

Definition at line 329 of file arm_math.h.

#define INPUT_SPACING   0xB60B61

Macros required for SINE and COSINE Controller functions.

Definition at line 336 of file arm_math.h.

#define __SIMD32 (   addr )    (*(__packed int32_t **) & (addr))

definition to read/write two 16 bit values.

Definition at line 361 of file arm_math.h.

#define __SIMD64 (   addr )    (*(int64_t **) & (addr))

Definition at line 363 of file arm_math.h.

#define _SIMD32_OFFSET (   addr )    (*(__packed int32_t *) (addr))

Definition at line 365 of file arm_math.h.

#define _SIMD64_OFFSET (   addr )    (*(int64_t *) (addr))

Definition at line 367 of file arm_math.h.

#define __PACKq7 (   v0,
  v1,
  v2,
  v3 
)
Value:
( (((int32_t)(v0) <<  0) & (int32_t)0x000000FF) |   \
                                (((int32_t)(v1) <<  8) & (int32_t)0x0000FF00) | \
                                (((int32_t)(v2) << 16) & (int32_t)0x00FF0000) | \
                                (((int32_t)(v3) << 24) & (int32_t)0xFF000000)  )

definition to pack four 8 bit values.

Definition at line 374 of file arm_math.h.


Enumeration Type Documentation

enum arm_status

Error status returned by some functions in the library.

Enumerator:
ARM_MATH_SUCCESS 

No error

ARM_MATH_ARGUMENT_ERROR 

One or more arguments are incorrect

ARM_MATH_LENGTH_ERROR 

Length of data buffer is incorrect

ARM_MATH_SIZE_MISMATCH 

Size of matrices is not compatible with the operation.

ARM_MATH_NANINF 

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

ARM_MATH_SINGULAR 

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

ARM_MATH_TEST_FAILURE 

Test Failed

Definition at line 343 of file arm_math.h.


Function Documentation

static INLINE q31_t clip_q63_to_q31 ( q63_t  x ) [static]

Clips Q63 to Q31 values.

Definition at line 391 of file arm_math.h.

static INLINE q15_t clip_q63_to_q15 ( q63_t  x ) [static]

Clips Q63 to Q15 values.

Definition at line 401 of file arm_math.h.

static INLINE q7_t clip_q31_to_q7 ( q31_t  x ) [static]

Clips Q31 to Q7 values.

Definition at line 411 of file arm_math.h.

static INLINE q15_t clip_q31_to_q15 ( q31_t  x ) [static]

Clips Q31 to Q15 values.

Definition at line 421 of file arm_math.h.

static INLINE q63_t mult32x64 ( q63_t  x,
q31_t  y 
) [static]

Multiplies 32 X 64 and returns 32 bit result in 2.30 format.

Definition at line 432 of file arm_math.h.

static INLINE uint32_t arm_recip_q31 ( q31_t  in,
q31_t *  dst,
q31_t *  pRecipTable 
) [static]

Function to Calculates 1/in(reciprocal) value of Q31 Data type.

Definition at line 497 of file arm_math.h.

static INLINE uint32_t arm_recip_q15 ( q15_t  in,
q15_t *  dst,
q15_t *  pRecipTable 
) [static]

Function to Calculates 1/in(reciprocal) value of Q15 Data type.

Definition at line 547 of file arm_math.h.

void arm_radix4_butterfly_f32 ( float32_t *  pSrc,
uint16_t  fftLen,
float32_t *  pCoef,
uint16_t  twidCoefModifier 
)

Core function for the floating-point CFFT butterfly process.

Parameters:
[in,out]*pSrcpoints to the in-place buffer of floating-point data type.
[in]fftLenlength of the FFT.
[in]*pCoefpoints to the twiddle coefficient buffer.
[in]twidCoefModifiertwiddle coefficient modifier that supports different size FFTs with the same twiddle factor table.
Returns:
none.

end of CFFT_CIFFT group

Definition at line 211 of file arm_cfft_radix4_f32.c.

void arm_cfft_mag_butterfly_f32 ( float32_t *  pSrc,
uint16_t  fftLen,
float32_t *  pCoef,
uint16_t  twidCoefModifier 
)

Core function for the floating-point CFFT Magnitude butterfly process.

Parameters:
[in,out]*pSrcpoints to the in-place buffer of floating-point data type.
[in]fftLenlength of the FFT.
[in]*pCoefpoints to the twiddle coefficient buffer.
[in]twidCoefModifiertwiddle coefficient modifier that supports different size FFTs with the same twiddle factor table.
Returns:
none.

end of CFFT_CIFFT group

Definition at line 114 of file arm_cfft_mag_f32.c.

void arm_radix4_butterfly_inverse_f32 ( float32_t *  pSrc,
uint16_t  fftLen,
float32_t *  pCoef,
uint16_t  twidCoefModifier,
float32_t  onebyfftLen 
)

Core function for the floating-point CIFFT butterfly process.

Parameters:
[in,out]*pSrcpoints to the in-place buffer of floating-point data type.
[in]fftLenlength of the FFT.
[in]*pCoefpoints to twiddle coefficient buffer.
[in]twidCoefModifiertwiddle coefficient modifier that supports different size FFTs with the same twiddle factor table.
[in]onebyfftLenvalue of 1/fftLen.
Returns:
none.

Definition at line 561 of file arm_cfft_radix4_f32.c.

void arm_bitreversal_f32 ( float32_t *  pSrc,
uint16_t  fftSize,
uint16_t  bitRevFactor,
uint16_t *  pBitRevTab 
)

In-place bit reversal function.

Parameters:
[in,out]*pSrcpoints to the in-place buffer of floating-point data type.
[in]fftSizelength of the FFT.
[in]bitRevFactorbit reversal modifier that supports different size FFTs with the same bit reversal table.
[in]*pBitRevTabpoints to the bit reversal table.
Returns:
none.

Definition at line 917 of file arm_cfft_radix4_f32.c.

void arm_cfft_mag_bitreversal_f32 ( float32_t *  pSrc,
uint16_t  fftSize,
uint16_t  bitRevFactor,
uint16_t *  pBitRevTab 
)

In-place bit reversal function for cfft magnitude process.

Parameters:
[in,out]*pSrcpoints to the in-place buffer of floating-point data type.
[in]fftSizelength of the FFT.
[in]bitRevFactorbit reversal modifier that supports different size FFTs with the same bit reversal table.
[in]*pBitRevTabpoints to the bit reversal table.
Returns:
none.

Definition at line 483 of file arm_cfft_mag_f32.c.

void arm_radix4_butterfly_q31 ( q31_t *  pSrc,
uint32_t  fftLen,
q31_t *  pCoef,
uint32_t  twidCoefModifier 
)

Core function for the Q31 CFFT butterfly process.

Parameters:
[in,out]*pSrcpoints to the in-place buffer of Q31 data type.
[in]fftLenlength of the FFT.
[in]*pCoefpoints to twiddle coefficient buffer.
[in]twidCoefModifiertwiddle coefficient modifier that supports different size FFTs with the same twiddle factor table.
Returns:
none.

end of CFFT_CIFFT group

Parameters:
[in,out]*pSrcpoints to the in-place buffer of Q31 data type.
[in]fftLenlength of the FFT.
[in]*pCoefpoints to twiddle coefficient buffer.
[in]twidCoefModifiertwiddle coefficient modifier that supports different size FFTs with the same twiddle factor table.
Returns:
none.

Definition at line 128 of file arm_cfft_radix4_q31.c.

void arm_cfft_mag_butterfly_q31 ( q31_t *  pSrc,
uint32_t  fftLen,
q31_t *  pCoef,
uint32_t  twidCoefModifier 
)

Core function for the Q31 CFFT Magnitude butterfly process.

Parameters:
[in,out]*pSrcpoints to the in-place buffer of Q31 data type.
[in]fftLenlength of the FFT.
[in]*pCoefpoints to twiddle coefficient buffer.
[in]twidCoefModifiertwiddle coefficient modifier that supports different size FFTs with the same twiddle factor table.
Returns:
none.

Core function for the Q31 CFFT Magnitude butterfly process.

end of CFFT_CIFFT group

Parameters:
[in,out]*pSrcpoints to the in-place buffer of Q31 data type.
[in]fftLenlength of the FFT.
[in]*pCoefpoints to twiddle coefficient buffer.
[in]twidCoefModifiertwiddle coefficient modifier that supports different size FFTs with the same twiddle factor table.
Returns:
none.

Definition at line 120 of file arm_cfft_mag_q31.c.

void arm_radix4_butterfly_inverse_q31 ( q31_t *  pSrc,
uint32_t  fftLen,
q31_t *  pCoef,
uint32_t  twidCoefModifier 
)

Core function for the Q31 CIFFT butterfly process.

Parameters:
[in,out]*pSrcpoints to the in-place buffer of Q31 data type.
[in]fftLenlength of the FFT.
[in]*pCoefpoints to twiddle coefficient buffer.
[in]twidCoefModifiertwiddle coefficient modifier that supports different size FFTs with the same twiddle factor table.
Returns:
none.

Definition at line 518 of file arm_cfft_radix4_q31.c.

void arm_bitreversal_q31 ( q31_t *  pSrc,
uint32_t  fftLen,
uint16_t  bitRevFactor,
uint16_t *  pBitRevTab 
)

In-place bit reversal function.

Parameters:
[in,out]*pSrcpoints to the in-place buffer of Q31 data type.
[in]fftLenlength of the FFT.
[in]bitRevFactorbit reversal modifier that supports different size FFTs with the same bit reversal table
[in]*pBitRevTabpoints to bit reversal table.
Returns:
none.

Definition at line 860 of file arm_cfft_radix4_q31.c.

void arm_cfft_mag_bitreversal_q31 ( q31_t *  pSrc,
uint32_t  fftLen,
uint16_t  bitRevFactor,
uint16_t *  pBitRevTab 
)

In-place bit reversal function for cfft magnitude process.

Parameters:
[in,out]*pSrcpoints to the in-place buffer of Q31 data type.
[in]fftLenlength of the FFT.
[in]bitRevFactorbit reversal modifier that supports different size FFTs with the same bit reversal table
[in]*pBitRevTabpoints to bit reversal table.
Returns:
none.

Definition at line 474 of file arm_cfft_mag_q31.c.

void arm_radix4_butterfly_q15 ( q15_t *  pSrc16,
uint32_t  fftLen,
q15_t *  pCoef16,
uint32_t  twidCoefModifier 
)

Core function for the Q15 CFFT butterfly process.

Parameters:
[in,out]*pSrc16points to the in-place buffer of Q15 data type.
[in]fftLenlength of the FFT.
[in]*pCoef16points to twiddle coefficient buffer.
[in]twidCoefModifiertwiddle coefficient modifier that supports different size FFTs with the same twiddle factor table.
Returns:
none.

end of CFFT_CIFFT group

Parameters:
[in,out]*pSrc16points to the in-place buffer of Q15 data type.
[in]fftLenlength of the FFT.
[in]*pCoef16points to twiddle coefficient buffer.
[in]twidCoefModifiertwiddle coefficient modifier that supports different size FFTs with the same twiddle factor table.
Returns:
none.

Definition at line 127 of file arm_cfft_radix4_q15.c.

void arm_cfft_mag_butterfly_q15 ( q15_t *  pSrc16,
uint32_t  fftLen,
q15_t *  pCoef16,
uint32_t  twidCoefModifier 
)

Core function for the Q15 CFFT Magnitude butterfly process.

Parameters:
[in,out]*pSrc16points to the in-place buffer of Q15 data type.
[in]fftLenlength of the FFT.
[in]*pCoef16points to twiddle coefficient buffer.
[in]twidCoefModifiertwiddle coefficient modifier that supports different size FFTs with the same twiddle factor table.
Returns:
none.

Core function for the Q15 CFFT Magnitude butterfly process.

end of CFFT_CIFFT group

Parameters:
[in,out]*pSrc16points to the in-place buffer of Q15 data type.
[in]fftLenlength of the FFT.
[in]*pCoef16points to twiddle coefficient buffer.
[in]twidCoefModifiertwiddle coefficient modifier that supports different size FFTs with the same twiddle factor table.
Returns:
none.

Definition at line 121 of file arm_cfft_mag_q15.c.

void arm_radix4_butterfly_inverse_q15 ( q15_t *  pSrc16,
uint32_t  fftLen,
q15_t *  pCoef16,
uint32_t  twidCoefModifier 
)

Core function for the Q15 CIFFT butterfly process.

Parameters:
[in,out]*pSrc16points to the in-place buffer of Q15 data type.
[in]fftLenlength of the FFT.
[in]*pCoef16points to twiddle coefficient buffer.
[in]twidCoefModifiertwiddle coefficient modifier that supports different size FFTs with the same twiddle factor table.
Returns:
none.

Definition at line 630 of file arm_cfft_radix4_q15.c.

void arm_bitreversal_q15 ( q15_t *  pSrc,
uint32_t  fftLen,
uint16_t  bitRevFactor,
uint16_t *  pBitRevTab 
)

In-place bit reversal function.

Parameters:
[in,out]*pSrcpoints to the in-place buffer of Q15 data type.
[in]fftLenlength of the FFT.
[in]bitRevFactorbit reversal modifier that supports different size FFTs with the same bit reversal table
[in]*pBitRevTabpoints to bit reversal table.
Returns:
none.

Definition at line 1089 of file arm_cfft_radix4_q15.c.

void arm_cfft_mag_bitreversal_q15 ( q15_t *  pSrc,
uint32_t  fftLen,
uint16_t  bitRevFactor,
uint16_t *  pBitRevTab 
)

In-place bit reversal function for cfft magnitude process.

Parameters:
[in,out]*pSrcpoints to the in-place buffer of Q15 data type.
[in]fftLenlength of the FFT.
[in]bitRevFactorbit reversal modifier that supports different size FFTs with the same bit reversal table
[in]*pBitRevTabpoints to bit reversal table.
Returns:
none.

Definition at line 609 of file arm_cfft_mag_q15.c.

static INLINE void arm_circularWrite_f32 ( int32_t *  circBuffer,
int32_t  L,
uint16_t *  writeOffset,
int32_t  bufferInc,
const int32_t *  src,
int32_t  srcInc,
uint32_t  blockSize 
) [static]

floating-point Circular write function.

end of SQRT group

Definition at line 5662 of file arm_math.h.

static INLINE void arm_circularRead_f32 ( int32_t *  circBuffer,
int32_t  L,
int32_t *  readOffset,
int32_t  bufferInc,
int32_t *  dst,
int32_t *  dst_base,
int32_t  dst_length,
int32_t  dstInc,
uint32_t  blockSize 
) [static]

floating-point Circular Read function.

Definition at line 5707 of file arm_math.h.

static INLINE void arm_circularWrite_q15 ( q15_t *  circBuffer,
int32_t  L,
uint16_t *  writeOffset,
int32_t  bufferInc,
const q15_t *  src,
int32_t  srcInc,
uint32_t  blockSize 
) [static]

Q15 Circular write function.

Definition at line 5762 of file arm_math.h.

static INLINE void arm_circularRead_q15 ( q15_t *  circBuffer,
int32_t  L,
int32_t *  readOffset,
int32_t  bufferInc,
q15_t *  dst,
q15_t *  dst_base,
int32_t  dst_length,
int32_t  dstInc,
uint32_t  blockSize 
) [static]

Q15 Circular Read function.

Definition at line 5807 of file arm_math.h.

static INLINE void arm_circularWrite_q7 ( q7_t *  circBuffer,
int32_t  L,
uint16_t *  writeOffset,
int32_t  bufferInc,
const q7_t *  src,
int32_t  srcInc,
uint32_t  blockSize 
) [static]

Q7 Circular write function.

Definition at line 5864 of file arm_math.h.

static INLINE void arm_circularRead_q7 ( q7_t *  circBuffer,
int32_t  L,
int32_t *  readOffset,
int32_t  bufferInc,
q7_t *  dst,
q7_t *  dst_base,
int32_t  dst_length,
int32_t  dstInc,
uint32_t  blockSize 
) [static]

Q7 Circular Read function.

Definition at line 5909 of file arm_math.h.

 All Data Structures Files Functions Variables Enumerations Enumerator Defines