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

Macros

#define multAcc_32x32_keep32_R(a, x, y)    a = (q31_t) (((((q63_t) a) << 32) + ((q63_t) x * y) + 0x80000000LL ) >> 32)
 
#define multSub_32x32_keep32_R(a, x, y)    a = (q31_t) (((((q63_t) a) << 32) - ((q63_t) x * y) + 0x80000000LL ) >> 32)
 
#define mult_32x32_keep32_R(a, x, y)    a = (q31_t) (((q63_t) x * y + 0x80000000LL ) >> 32)
 
#define multAcc_32x32_keep32(a, x, y)    a += (q31_t) (((q63_t) x * y) >> 32)
 
#define multSub_32x32_keep32(a, x, y)    a -= (q31_t) (((q63_t) x * y) >> 32)
 
#define mult_32x32_keep32(a, x, y)    a = (q31_t) (((q63_t) x * y ) >> 32)
 
#define __PKHBT(ARG1, ARG2, ARG3)
 definition to pack two 16 bit values. More...
 
#define __PKHTB(ARG1, ARG2, ARG3)
 
#define __PACKq7(v0, v1, v2, v3)
 definition to pack four 8 bit values. More...
 

Functions

q31_t clip_q63_to_q31 (q63_t x)
 Clips Q63 to Q31 values. More...
 
q15_t clip_q63_to_q15 (q63_t x)
 Clips Q63 to Q15 values. More...
 
q7_t clip_q31_to_q7 (q31_t x)
 Clips Q31 to Q7 values. More...
 
q15_t clip_q31_to_q15 (q31_t x)
 Clips Q31 to Q15 values. More...
 
q63_t mult32x64 (q63_t x, q31_t y)
 Multiplies 32 X 64 and returns 32 bit result in 2.30 format. More...
 
uint32_t __QADD8 (uint32_t x, uint32_t y)
 
uint32_t __QSUB8 (uint32_t x, uint32_t y)
 
uint32_t __QADD16 (uint32_t x, uint32_t y)
 
uint32_t __SHADD16 (uint32_t x, uint32_t y)
 
uint32_t __QSUB16 (uint32_t x, uint32_t y)
 
uint32_t __SHSUB16 (uint32_t x, uint32_t y)
 
uint32_t __QASX (uint32_t x, uint32_t y)
 
uint32_t __SHASX (uint32_t x, uint32_t y)
 
uint32_t __QSAX (uint32_t x, uint32_t y)
 
uint32_t __SHSAX (uint32_t x, uint32_t y)
 
uint32_t __SMUSDX (uint32_t x, uint32_t y)
 
uint32_t __SMUADX (uint32_t x, uint32_t y)
 
int32_t __QADD (int32_t x, int32_t y)
 
int32_t __QSUB (int32_t x, int32_t y)
 
uint32_t __SMLAD (uint32_t x, uint32_t y, uint32_t sum)
 
uint32_t __SMLADX (uint32_t x, uint32_t y, uint32_t sum)
 
uint32_t __SMLSDX (uint32_t x, uint32_t y, uint32_t sum)
 
uint64_t __SMLALD (uint32_t x, uint32_t y, uint64_t sum)
 
uint64_t __SMLALDX (uint32_t x, uint32_t y, uint64_t sum)
 
uint32_t __SMUAD (uint32_t x, uint32_t y)
 
uint32_t __SMUSD (uint32_t x, uint32_t y)
 
uint32_t __SXTB16 (uint32_t x)
 
int32_t __SMMLA (int32_t x, int32_t y, int32_t sum)
 

Macro Definition Documentation

◆ __PACKq7

#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) )

◆ __PKHBT

#define __PKHBT (   ARG1,
  ARG2,
  ARG3 
)
Value:
( (((int32_t)(ARG1) << 0) & (int32_t)0x0000FFFF) | \
(((int32_t)(ARG2) << ARG3) & (int32_t)0xFFFF0000) )

◆ __PKHTB

#define __PKHTB (   ARG1,
  ARG2,
  ARG3 
)
Value:
( (((int32_t)(ARG1) << 0) & (int32_t)0xFFFF0000) | \
(((int32_t)(ARG2) >> ARG3) & (int32_t)0x0000FFFF) )

◆ mult_32x32_keep32

#define mult_32x32_keep32 (   a,
  x,
 
)     a = (q31_t) (((q63_t) x * y ) >> 32)

◆ mult_32x32_keep32_R

#define mult_32x32_keep32_R (   a,
  x,
 
)     a = (q31_t) (((q63_t) x * y + 0x80000000LL ) >> 32)

◆ multAcc_32x32_keep32

#define multAcc_32x32_keep32 (   a,
  x,
 
)     a += (q31_t) (((q63_t) x * y) >> 32)

◆ multAcc_32x32_keep32_R

#define multAcc_32x32_keep32_R (   a,
  x,
 
)     a = (q31_t) (((((q63_t) a) << 32) + ((q63_t) x * y) + 0x80000000LL ) >> 32)

◆ multSub_32x32_keep32

#define multSub_32x32_keep32 (   a,
  x,
 
)     a -= (q31_t) (((q63_t) x * y) >> 32)

◆ multSub_32x32_keep32_R

#define multSub_32x32_keep32_R (   a,
  x,
 
)     a = (q31_t) (((((q63_t) a) << 32) - ((q63_t) x * y) + 0x80000000LL ) >> 32)

Function Documentation

◆ __QADD()

int32_t __QADD ( int32_t  x,
int32_t  y 
)

◆ __QADD16()

uint32_t __QADD16 ( uint32_t  x,
uint32_t  y 
)

◆ __QADD8()

uint32_t __QADD8 ( uint32_t  x,
uint32_t  y 
)

◆ __QASX()

uint32_t __QASX ( uint32_t  x,
uint32_t  y 
)

◆ __QSAX()

uint32_t __QSAX ( uint32_t  x,
uint32_t  y 
)

◆ __QSUB()

int32_t __QSUB ( int32_t  x,
int32_t  y 
)

◆ __QSUB16()

uint32_t __QSUB16 ( uint32_t  x,
uint32_t  y 
)

◆ __QSUB8()

uint32_t __QSUB8 ( uint32_t  x,
uint32_t  y 
)

◆ __SHADD16()

uint32_t __SHADD16 ( uint32_t  x,
uint32_t  y 
)

◆ __SHASX()

uint32_t __SHASX ( uint32_t  x,
uint32_t  y 
)

◆ __SHSAX()

uint32_t __SHSAX ( uint32_t  x,
uint32_t  y 
)

◆ __SHSUB16()

uint32_t __SHSUB16 ( uint32_t  x,
uint32_t  y 
)

◆ __SMLAD()

uint32_t __SMLAD ( uint32_t  x,
uint32_t  y,
uint32_t  sum 
)

◆ __SMLADX()

uint32_t __SMLADX ( uint32_t  x,
uint32_t  y,
uint32_t  sum 
)

◆ __SMLALD()

uint64_t __SMLALD ( uint32_t  x,
uint32_t  y,
uint64_t  sum 
)

◆ __SMLALDX()

uint64_t __SMLALDX ( uint32_t  x,
uint32_t  y,
uint64_t  sum 
)

◆ __SMLSDX()

uint32_t __SMLSDX ( uint32_t  x,
uint32_t  y,
uint32_t  sum 
)

◆ __SMMLA()

int32_t __SMMLA ( int32_t  x,
int32_t  y,
int32_t  sum 
)

◆ __SMUAD()

uint32_t __SMUAD ( uint32_t  x,
uint32_t  y 
)

◆ __SMUADX()

uint32_t __SMUADX ( uint32_t  x,
uint32_t  y 
)

◆ __SMUSD()

uint32_t __SMUSD ( uint32_t  x,
uint32_t  y 
)

◆ __SMUSDX()

uint32_t __SMUSDX ( uint32_t  x,
uint32_t  y 
)

◆ __SXTB16()

uint32_t __SXTB16 ( uint32_t  x)

◆ clip_q31_to_q15()

q15_t clip_q31_to_q15 ( q31_t  x)

◆ clip_q31_to_q7()

q7_t clip_q31_to_q7 ( q31_t  x)

◆ clip_q63_to_q15()

q15_t clip_q63_to_q15 ( q63_t  x)

◆ clip_q63_to_q31()

q31_t clip_q63_to_q31 ( q63_t  x)

◆ mult32x64()

q63_t mult32x64 ( q63_t  x,
q31_t  y 
)