106 #ifndef ARM_MATH_CM0_FAMILY 118 uint32_t j, k, count = 0u, blkCnt, check;
119 int32_t blockSize1, blockSize2, blockSize3;
124 if((firstIndex + numPoints) > ((srcALen + (srcBLen - 1u))))
135 if(srcALen >= srcBLen)
159 check = firstIndex + numPoints;
160 blockSize3 = ((int32_t)check > (int32_t)srcALen) ? (int32_t)check - (int32_t)srcALen : 0;
161 blockSize3 = ((int32_t)firstIndex > (int32_t)srcALen - 1) ? blockSize3 - (int32_t)firstIndex + (int32_t)srcALen : blockSize3;
162 blockSize1 = ((int32_t) srcBLen - 1) - (int32_t) firstIndex;
163 blockSize1 = (blockSize1 > 0) ? ((check > (srcBLen - 1u)) ? blockSize1 :
164 (int32_t) numPoints) : 0;
165 blockSize2 = ((int32_t) check - blockSize3) -
166 (blockSize1 + (int32_t) firstIndex);
167 blockSize2 = (blockSize2 > 0) ? blockSize2 : 0;
180 pOut = pDst + firstIndex;
196 count = 1u + firstIndex;
202 pSrc1 = pIn2 + firstIndex;
210 while(blockSize1 > 0)
223 sum += *px++ * *py--;
226 sum += *px++ * *py--;
229 sum += *px++ * *py--;
232 sum += *px++ * *py--;
245 sum += *px++ * *py--;
276 if((int32_t)firstIndex - (int32_t)srcBLen + 1 > 0)
278 px = pIn1 + firstIndex - srcBLen + 1;
286 pSrc2 = pIn2 + (srcBLen - 1u);
302 blkCnt = ((uint32_t) blockSize2 >> 2u);
444 blkCnt = (uint32_t) blockSize2 % 0x4u;
459 sum += *px++ * *py--;
460 sum += *px++ * *py--;
461 sum += *px++ * *py--;
462 sum += *px++ * *py--;
475 sum += *px++ * *py--;
499 blkCnt = (uint32_t) blockSize2;
512 sum += *px++ * *py--;
547 count = srcBLen - 1u;
550 pSrc1 = (pIn1 + srcALen) - (srcBLen - 1u);
554 pSrc2 = pIn2 + (srcBLen - 1u);
557 while(blockSize3 > 0)
570 sum += *px++ * *py--;
573 sum += *px++ * *py--;
576 sum += *px++ * *py--;
579 sum += *px++ * *py--;
593 sum += *px++ * *py--;
632 if((firstIndex + numPoints) > ((srcALen + (srcBLen - 1u))))
640 for (i = firstIndex; i <= (firstIndex + numPoints - 1); i++)
646 for (j = 0u; j <= i; j++)
649 if((((i - j) < srcBLen) && (j < srcALen)))
652 sum += pIn1[j] * pIn2[i - j];
float float32_t
32-bit floating-point type definition.
arm_status arm_conv_partial_f32(float32_t *pSrcA, uint32_t srcALen, float32_t *pSrcB, uint32_t srcBLen, float32_t *pDst, uint32_t firstIndex, uint32_t numPoints)
Partial convolution of floating-point sequences.
arm_status
Error status returned by some functions in the library.