/*loop Unrolling */ blkCnt = blockSize >> 2u; /* First part of the processing with loop unrolling. Compute 4 outputs at a time. ** a second loop below computes the remaining 1 to 3 samples. */ while(blkCnt > 0u) { /* C = |A| */ /* Calculate absolute of input (if -1 then saturated to 0x7fffffff) and then store the results in the destination buffer. */ in = *pSrc++; *pDst++ = (in > 0) ? in : ((in == 0x80000000) ? 0x7fffffff : -in); in = *pSrc++; *pDst++ = (in > 0) ? in : ((in == 0x80000000) ? 0x7fffffff : -in); in = *pSrc++; *pDst++ = (in > 0) ? in : ((in == 0x80000000) ? 0x7fffffff : -in); in = *pSrc++; *pDst++ = (in > 0) ? in : ((in == 0x80000000) ? 0x7fffffff : -in); /* Decrement the loop counter */ blkCnt--; } /* If the blockSize is not a multiple of 4, compute any remaining output samples here. ** No loop unrolling is used. */ blkCnt = blockSize % 0x4u;