82 q31_t meanOfSquares, squareOfMean;
84 q63_t sumOfSquares = 0;
86 #ifndef ARM_MATH_CM0_FAMILY 100 blkCnt = blockSize >> 2u;
110 sum += ((in << 16) >> 16);
112 sumOfSquares = __SMLALD(in, in, sumOfSquares);
114 sum += ((in << 16) >> 16);
116 sumOfSquares = __SMLALD(in, in, sumOfSquares);
124 blkCnt = blockSize % 0x4u;
132 sumOfSquares = __SMLALD(in1, in1, sumOfSquares);
141 meanOfSquares = (
q31_t) (sumOfSquares / (
q63_t)(blockSize - 1));
144 squareOfMean = (
q31_t)((
q63_t)sum * sum / (
q63_t)(blockSize * (blockSize - 1)));
147 *pResult = (meanOfSquares - squareOfMean) >> 15;
169 sumOfSquares += (in * in);
181 meanOfSquares = (
q31_t) (sumOfSquares / (
q63_t)(blockSize - 1));
184 squareOfMean = (
q31_t)((
q63_t)sum * sum / (
q63_t)(blockSize * (blockSize - 1)));
187 *pResult = (meanOfSquares - squareOfMean) >> 15;
int64_t q63_t
64-bit fractional data type in 1.63 format.
void arm_var_q15(q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
Variance 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.