CMSIS DSP Library from CMSIS 2.0. See http://www.onarm.com/cmsis/ for full details
Dependents: K22F_DSP_Matrix_least_square BNO055-ELEC3810 1BNO055 ECE4180Project--Slave2 ... more
Vector Shift
[Basic Math Functions]
Shifts the elements of a fixed-point vector by a specified number of bits. More...
Functions | |
void | arm_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. | |
void | arm_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. | |
void | arm_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. |
Detailed Description
Shifts the elements of a fixed-point vector by a specified number of bits.
There are separate functions for Q7, Q15, and Q31 data types. The underlying algorithm used is:
pDst[n] = pSrc[n] << shift, 0 <= n < blockSize.
If shift
is positive then the elements of the vector are shifted to the left. If shift
is negative then the elements of the vector are shifted to the right.
Function Documentation
void arm_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.
- Parameters:
-
*pSrc points to the input vector shiftBits number of bits to shift. A positive value shifts left; a negative value shifts right. *pDst points to the output vector blockSize number of samples in the vector
- Returns:
- none.
Scaling and Overflow Behavior:
- The function uses saturating arithmetic. Results outside of the allowable Q15 range [0x8000 0x7FFF] will be saturated.
Definition at line 55 of file arm_shift_q15.c.
void arm_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.
- Parameters:
-
*pSrc points to the input vector shiftBits number of bits to shift. A positive value shifts left; a negative value shifts right. *pDst points to the output vector blockSize number of samples in the vector
- Returns:
- none.
Scaling and Overflow Behavior:
- The function uses saturating arithmetic. Results outside of the allowable Q31 range [0x80000000 0x7FFFFFFF] will be saturated.
Definition at line 70 of file arm_shift_q31.c.
void arm_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.
- Parameters:
-
*pSrc points to the input vector shiftBits number of bits to shift. A positive value shifts left; a negative value shifts right. *pDst points to the output vector blockSize number of samples in the vector
- Returns:
- none.
Scaling and Overflow Behavior:
- The function uses saturating arithmetic. Results outside of the allowable Q7 range [0x8 0x7F] will be saturated.
Definition at line 56 of file arm_shift_q7.c.
Generated on Tue Jul 12 2022 14:13:55 by 1.7.2