Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Accumulate in temporary */
- void inner4(vec_ptr u, vec_ptr v, data_t * dest) {
- long int i;
- int length = vec_length(u);
- data_t * udata = get_vec_start(u);
- data_t * vdata = get_vec_start(v);
- data_t sum = (data_t) 0;
- for (i = 0; i < length; i+=4) {
- sum = sum + (udata[i] * vdata[i]) +
- (udata[i+1] * vdata[i+1]) +
- (udata[i+2] * vdata[i+2]) +
- (udata[i+3] * vdata[i+3]);
- }
- /* finish any remaining elements */
- for(; i < length; i++)
- sum = sum + udata[i];
- *dest = sum;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement