Texas Instruments TMS320C64X User Manual

Page 86

Advertising
background image

DSP_dotp_sqr

4-58

4.5

Math

Vector Dot Product and Square

DSP_dotp_sqr

Function

int DSP_dotp_sqr(int G, const short * restrict x, const short * restrict y, int *
restrict r, int nx)

Arguments

G

Calculated value of G (used in the VSELP coder).

x[nx]

First vector array

y[nx]

Second vector array

r

Result of vector dot product of x and y.

nx

Number of elements. Must be multiple of 4, and

12.

return int

New value of G.

Description

This routine performs an nx element dot product of x[ ] and y[ ] and stores it
in r. It also squares each element of y[ ] and accumulates it in G. G is passed
back to the calling function in register A4. This computation of G is used in the
VSELP coder.

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_dotp_sqr (int G,short *x,short *y,int *r,

int nx)

{

short *y2;

short *endPtr2;

y2 = x;

for (endPtr2 = y2 + nx; y2 < endPtr2; y2++){

*r += *y * *y2;

G += *y * *y;

y++;

}

return(G);

}

Advertising