CMSIS-DSP  
CMSIS DSP Software Library
fast_math_functions.h File Reference

Macros

#define FAST_MATH_TABLE_SIZE   512
 Macros required for SINE and COSINE Fast math approximations. More...
 
#define FAST_MATH_Q31_SHIFT   (32 - 10)
 
#define FAST_MATH_Q15_SHIFT   (16 - 10)
 
#define PI   3.14159265358979f
 
#define PI_F64   3.14159265358979323846
 

Functions

float32_t arm_sin_f32 (float32_t x)
 Fast approximation to the trigonometric sine function for floating-point data. More...
 
q31_t arm_sin_q31 (q31_t x)
 Fast approximation to the trigonometric sine function for Q31 data. More...
 
q15_t arm_sin_q15 (q15_t x)
 Fast approximation to the trigonometric sine function for Q15 data. More...
 
float32_t arm_cos_f32 (float32_t x)
 Fast approximation to the trigonometric cosine function for floating-point data. More...
 
q31_t arm_cos_q31 (q31_t x)
 Fast approximation to the trigonometric cosine function for Q31 data. More...
 
q15_t arm_cos_q15 (q15_t x)
 Fast approximation to the trigonometric cosine function for Q15 data. More...
 
void arm_vlog_f32 (const float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Floating-point vector of log values. More...
 
void arm_vlog_f64 (const float64_t *pSrc, float64_t *pDst, uint32_t blockSize)
 Floating-point vector of log values. More...
 
void arm_vlog_q31 (const q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 q31 vector of log values. More...
 
void arm_vlog_q15 (const q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 q15 vector of log values. More...
 
void arm_vexp_f32 (const float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Floating-point vector of exp values. More...
 
void arm_vexp_f64 (const float64_t *pSrc, float64_t *pDst, uint32_t blockSize)
 Floating-point vector of exp values. More...
 
arm_status arm_sqrt_f32 (const float32_t in, float32_t *pOut)
 Floating-point square root function. More...
 
arm_status arm_sqrt_q31 (q31_t in, q31_t *pOut)
 Q31 square root function. More...
 
arm_status arm_sqrt_q15 (q15_t in, q15_t *pOut)
 Q15 square root function. More...
 
arm_status arm_divide_q15 (q15_t numerator, q15_t denominator, q15_t *quotient, int16_t *shift)
 Fixed point division. More...
 
arm_status arm_divide_q31 (q31_t numerator, q31_t denominator, q31_t *quotient, int16_t *shift)
 Fixed point division. More...
 
arm_status arm_atan2_f32 (float32_t y, float32_t x, float32_t *result)
 Arc tangent in radian of y/x using sign of x and y to determine right quadrant. More...
 
arm_status arm_atan2_q31 (q31_t y, q31_t x, q31_t *result)
 Arc tangent in radian of y/x using sign of x and y to determine right quadrant. More...
 
arm_status arm_atan2_q15 (q15_t y, q15_t x, q15_t *result)
 Arc tangent in radian of y/x using sign of x and y to determine right quadrant. More...
 

Macro Definition Documentation

◆ FAST_MATH_Q15_SHIFT

#define FAST_MATH_Q15_SHIFT   (16 - 10)

◆ FAST_MATH_Q31_SHIFT

#define FAST_MATH_Q31_SHIFT   (32 - 10)

◆ FAST_MATH_TABLE_SIZE

#define FAST_MATH_TABLE_SIZE   512

◆ PI

#define PI   3.14159265358979f

◆ PI_F64

#define PI_F64   3.14159265358979323846

Function Documentation

◆ arm_vexp_f64()

void arm_vexp_f64 ( const float64_t pSrc,
float64_t pDst,
uint32_t  blockSize 
)
Parameters
[in]pSrcpoints to the input vector
[out]pDstpoints to the output vector
[in]blockSizenumber of samples in each vector
Returns
none

◆ arm_vlog_f64()

void arm_vlog_f64 ( const float64_t pSrc,
float64_t pDst,
uint32_t  blockSize 
)
Parameters
[in]pSrcpoints to the input vector
[out]pDstpoints to the output vector
[in]blockSizenumber of samples in each vector
Returns
none