Texas Instruments TMS320C64X User Manual

Page 88

Advertising
background image

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).

Advertising