Advertisement
Guest User

Untitled

a guest
Oct 20th, 2014
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.55 KB | None | 0 0
  1. /* Accumulate in temporary */
  2. void inner4(vec_ptr u, vec_ptr v, data_t * dest) {
  3.     long int i;
  4.     int length = vec_length(u);
  5.     data_t * udata = get_vec_start(u);
  6.     data_t * vdata = get_vec_start(v);
  7.     data_t sum = (data_t) 0;
  8.  
  9.     for (i = 0; i < length; i+=4) {
  10.         sum = sum + (udata[i] * vdata[i]) +
  11.         (udata[i+1] * vdata[i+1]) +
  12.         (udata[i+2] * vdata[i+2]) +
  13.         (udata[i+3] * vdata[i+3]);
  14.     }
  15.  
  16.     /* finish any remaining elements */
  17.     for(; i < length; i++)
  18.         sum = sum + udata[i];
  19.  
  20.     *dest = sum;
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement