6 int len = atom*(hi - lo);
8 REAL32* x_ptr = &(
a->x_ptr[low]);
9 REAL32* y_ptr = &(
a->y_ptr[low]);
10 REAL32* z_ptr = &(
a->z_ptr[low]);
12 REAL32 a_re =
a->a_re;
13 REAL32 a_im =
a->a_im;
14 REAL32 b_re =
a->b_re;
15 REAL32 b_im =
a->b_im;
20 REAL32 tmp_re, tmp_im;
21 REAL32 tmp_re2, tmp_im2;
23 tmp_re += b_im*z_ptr[
count+1];
25 tmp_im -= b_im*z_ptr[
count];
27 tmp_re2 = y_ptr[
count+2] - b_re*z_ptr[
count+2];
28 tmp_re2 += b_im*z_ptr[
count+3];
29 tmp_im2 = y_ptr[
count+3] - b_re*z_ptr[
count+3];
30 tmp_im2 -= b_im*z_ptr[
count+2];
33 y_ptr[
count] -= a_im*tmp_im;
34 y_ptr[
count+1] = x_ptr[
count+1] + a_re*tmp_im ;
35 y_ptr[
count+1]+= a_im*tmp_re;
37 y_ptr[
count+2] = x_ptr[
count+2] + a_re*tmp_re2 ;
38 y_ptr[
count+2] -= a_im*tmp_im2;
39 y_ptr[
count+3] = x_ptr[
count+3] + a_re*tmp_im2 ;
40 y_ptr[
count+3]+= a_im*tmp_re2;
45 QDPIO::cout <<
"ord_yxpaymabz_kernel_generic.h: len not divisible by 4" << std::endl;
void ord_yxpaymabz_kernel(int lo, int hi, int my_id, ord_yxpaymabz_arg *a)