Texas Instruments TMS320C64X Security Camera User Manual


 
DSP_dotprod
4-60
Vector Dot Product
DSP_dotprod
Function int DSP_dotprod(const short * restrict x, const short * restrict y, int nx)
Arguments x[nx] First vector array. Must be double-word aligned.
y[nx] Second vector array. Must be double word-aligned.
nx Number of elements of vector. Must be multiple of 4.
return int Dot product of x and y.
Description This routine takes two vectors and calculates their dot product. The inputs are
16-bit short data and the output is a 32-bit number.
Algorithm This is the C equivalent of the assembly code without restrictions. Note that
the assembly code is hand optimized and restrictions may apply.
int DSP_dotprod(short x[ ],short y[ ], int nx)
{
int sum;
int i;
sum = 0;
for(i=0; i<nx; i++){
sum += (x[i] * y[i]);
}
return (sum);
}
Special Requirements
- The input length must be a multiple of 4.
- The input data x[ ] and y[ ] are stored on double-word aligned boundaries.
- To avoid bank conflicts, the input arrays x[ ] and y[ ] must be offset by 4
half-words (8 bytes).