79 q31_t meanOfSquares, squareOfMean;
81 q63_t sumOfSquares = 0;
83 #ifndef ARM_MATH_CM0_FAMILY 97 blkCnt = blockSize >> 2u;
107 sum += ((in << 16) >> 16);
109 sumOfSquares = __SMLALD(in, in, sumOfSquares);
111 sum += ((in << 16) >> 16);
113 sumOfSquares = __SMLALD(in, in, sumOfSquares);
121 blkCnt = blockSize % 0x4u;
129 sumOfSquares = __SMLALD(in1, in1, sumOfSquares);
138 meanOfSquares = (
q31_t)(sumOfSquares / (
q63_t)(blockSize - 1));
141 squareOfMean = (
q31_t) ((
q63_t)sum * sum / (
q63_t)(blockSize * (blockSize - 1)));
145 arm_sqrt_q15(__SSAT((meanOfSquares - squareOfMean) >> 15, 16u), pResult);
167 sumOfSquares += (in * in);
179 meanOfSquares = (
q31_t)(sumOfSquares / (
q63_t)(blockSize - 1));
182 squareOfMean = (
q31_t) ((
q63_t)sum * sum / (
q63_t)(blockSize * (blockSize - 1)));
186 arm_sqrt_q15(__SSAT((meanOfSquares - squareOfMean) >> 15, 16u), pResult);
int64_t q63_t
64-bit fractional data type in 1.63 format.
void arm_std_q15(q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
Standard deviation of the elements of a Q15 vector.
int16_t q15_t
16-bit fractional data type in 1.15 format.
#define __SIMD32(addr)
definition to read/write two 16 bit values.
int32_t q31_t
32-bit fractional data type in 1.31 format.
arm_status arm_sqrt_q15(q15_t in, q15_t *pOut)
Q15 square root function.