1#ifndef QDP_SCALARSITE_GENERIC_BLAS_G5_WRAPPER_H
2#define QDP_SCALARSITE_GENERIC_BLAS_G5_WRAPPER_H
36 InScale = &InScale[index];
40 func(Out, scalep, Add, InScale, n_4vec);
47 const OLattice< TVec >& x_,
55 const OLattice< TVec >&
x;
67 const OLattice< TVec >& x = a->
x;
68 OLattice< TVec >& d = a->
d;
71 const int* tab = a->
tab;
74 for(
int j=lo; j < hi; j++) {
76 REAL* xptr = (
REAL *)&(x.elem(i).elem(0).elem(0).real());
77 REAL* yptr = (
REAL *)&(d.elem(i).elem(0).elem(0).real());
78 func(yptr, aptr, yptr, xptr, Ns);
86 const OLattice< TVec >& x_,
87 const OLattice< TVec >& y_,
92 void (*func_)(
REAL*,
REAL*,
REAL*,
REAL*,
int)) :
x(x_),
y(y_),
d(d_),
aptr(aptr_),
Ns(Ns_),
tab(tab_),
func(func_) {}
94 const OLattice< TVec >&
x;
95 const OLattice< TVec >&
y;
107 const OLattice< TVec >& x = a->
x;
108 const OLattice< TVec >& y = a->
y;
109 OLattice< TVec >& d = a->
d;
112 const int* tab = a->
tab;
115 for(
int j=lo; j < hi; j++) {
118 REAL *xptr = (
REAL *) &(x.elem(i).elem(0).elem(0).real());
119 REAL *yptr = (
REAL *) &(y.elem(i).elem(0).elem(0).real());
120 REAL* zptr = &(d.elem(i).elem(0).elem(0).
real());
123 func(zptr, aptr, xptr, yptr, Ns);
149 int n_4vec = hi - lo;
156 func(Out, X, Y, n_4vec);
163 OLattice< TVec >& d_,
168 const OLattice< TVec >&
x;
179 const OLattice< TVec >& x = a->
x;
180 OLattice< TVec >& d = a->
d;
182 const int* tab = a->
tab;
185 for(
int j=lo; j < hi; j++) {
187 REAL* xptr = (
REAL *)&(x.elem(i).elem(0).elem(0).real());
188 REAL* yptr = (
REAL *)&(d.elem(i).elem(0).elem(0).real());
189 func(yptr, yptr, xptr, Ns);
218 int n_4vec = hi - lo;
222 InScale = &InScale[index];
225 func(Out, scalep, InScale, Add, n_4vec);
232 const OLattice< TVec >& x_,
233 const OLattice< TVec >& y_,
234 OLattice< TVec >& d_,
238 void (*func_)(
REAL*,
REAL*,
REAL*,
REAL*,
int)) :
x(x_),
y(y_),
d(d_),
aptr(aptr_),
Ns(Ns_),
tab(tab_),
func(func_) {}
240 const OLattice< TVec >&
x;
241 const OLattice< TVec >&
y;
253 const OLattice< TVec >& x = a->
x;
254 const OLattice< TVec >& y = a->
y;
255 OLattice< TVec >& d = a->
d;
258 const int* tab = a->
tab;
261 for(
int j=lo; j < hi; j++) {
263 REAL *xptr = (
REAL *) &(x.elem(i).elem(0).elem(0).real());
264 REAL *yptr = (
REAL *) &(y.elem(i).elem(0).elem(0).real());
265 REAL* zptr = &(d.elem(i).elem(0).elem(0).
real());
267 func(zptr, aptr, xptr, yptr, Ns);
295 int n_4vec = hi - lo;
301 func(Out, scalep, In, n_4vec);
308 OLattice< TVec >& d_,
315 const OLattice< TVec >&
x;
327 const OLattice< TVec >& x = a->
x;
328 OLattice< TVec >& d = a->
d;
331 const int* tab = a->
tab;
334 for(
int j=lo; j < hi; j++) {
336 REAL *xptr = (
REAL *) &(x.elem(i).elem(0).elem(0).real());
337 REAL* zptr = &(d.elem(i).elem(0).elem(0).
real());
339 func(zptr, aptr, xptr, Ns);
372 int n_4vec = hi - lo;
376 InScale = &InScale[index];
379 func(Out, scalep, InScale, scalep2, Add, n_4vec);
386 const OLattice< TVec >& x_,
387 const OLattice< TVec >& y_,
388 OLattice< TVec >& d_,
393 void (*func_)(
REAL*,
REAL*,
REAL*,
REAL*,
REAL*,
int)) :
x(x_),
y(y_),
d(d_),
aptr(aptr_),
bptr(bptr_),
Ns(Ns_),
tab(tab_),
func(func_) {}
395 const OLattice< TVec >&
x;
396 const OLattice< TVec >&
y;
409 const OLattice< TVec >& x = a->
x;
410 const OLattice< TVec >& y = a->
y;
411 OLattice< TVec >& d = a->
d;
415 const int* tab = a->
tab;
418 for(
int j=lo; j < hi; j++) {
420 REAL *xptr = (
REAL *) &(x.elem(i).elem(0).elem(0).real());
421 REAL *yptr = (
REAL *) &(y.elem(i).elem(0).elem(0).real());
422 REAL* zptr = &(d.elem(i).elem(0).elem(0).
real());
424 func(zptr, aptr, xptr, bptr, yptr, Ns);
451 int n_4vec = hi - lo;
457 scal_g5(Out, scalep, In, n_4vec);
464 OLattice< TVec >& d_,
467 const int* tab_):
x(x_),
d(d_),
aptr(aptr_),
Ns(Ns_),
tab(tab_) {}
469 const OLattice< TVec >&
x;
480 const OLattice< TVec >& x = a->
x;
481 OLattice< TVec >& d = a->
d;
484 const int* tab = a->
tab;
486 for(
int j=lo; j < hi; j++) {
488 REAL *xptr = (
REAL *) &(x.elem(i).elem(0).elem(0).real());
489 REAL* zptr = &(d.elem(i).elem(0).elem(0).
real());
491 scal_g5(zptr, aptr, xptr, Ns);
522 int n_4vec = hi - lo;
526 InScale = &InScale[index];
529 func(Out, scalep, InScale, Add, n_4vec);
536 const OLattice< TVec >& x_,
537 const OLattice< TVec >& y_,
538 OLattice< TVec >& d_,
545 const OLattice< TVec >&
x;
546 const OLattice< TVec >&
y;
558 const OLattice< TVec >& x = a->
x;
559 const OLattice< TVec >& y = a->
y;
560 OLattice< TVec >& d = a->
d;
563 const int* tab = a->
tab;
566 for(
int j=lo; j < hi; j++) {
568 REAL *xptr = (
REAL *) &(x.elem(i).elem(0).elem(0).real());
569 REAL *yptr = (
REAL *) &(y.elem(i).elem(0).elem(0).real());
570 REAL* zptr = &(d.elem(i).elem(0).elem(0).
real());
572 func(zptr, aptr, xptr, yptr, Ns);
604 int n_4vec = hi - lo;
608 InScale = &InScale[index];
611 func(Out, scalep, InScale, scalep2, Add, n_4vec);
618 const OLattice< TVec >& y_,
619 OLattice< TVec >& d_,
624 void (*func_)(
REAL*,
REAL*,
REAL*,
REAL*,
REAL*,
int)) :
x(x_),
y(y_),
d(d_),
aptr(aptr_),
bptr(bptr_),
Ns(Ns_),
tab(tab_),
func(func_) {}
626 const OLattice< TVec >&
x;
627 const OLattice< TVec >&
y;
640 const OLattice< TVec >& x = a->
x;
641 const OLattice< TVec >& y = a->
y;
642 OLattice< TVec >& d = a->
d;
646 const int* tab = a->
tab;
649 for(
int j=lo; j < hi; j++) {
651 REAL *xptr = (
REAL *) &(x.elem(i).elem(0).elem(0).real());
652 REAL *yptr = (
REAL *) &(y.elem(i).elem(0).elem(0).real());
653 REAL* zptr = &(d.elem(i).elem(0).elem(0).
real());
655 func(zptr, aptr, xptr, bptr, yptr, Ns);
685 int n_4vec = hi - lo;
689 InScale = &InScale[index];
692 func(Out, scalep, InScale, Add, n_4vec);
699 const OLattice< TVec >& x_,
700 const OLattice< TVec >& y_,
701 OLattice< TVec >& d_,
705 void (*func_)(
REAL*,
REAL*,
REAL*,
REAL*,
int)) :
x(x_),
y(y_),
d(d_),
aptr(aptr_),
Ns(Ns_),
tab(tab_),
func(func_) {}
707 const OLattice< TVec >&
x;
708 const OLattice< TVec >&
y;
720 const OLattice< TVec >& x = a->
x;
721 const OLattice< TVec >& y = a->
y;
722 OLattice< TVec >& d = a->
d;
725 const int* tab = a->
tab;
728 for(
int j=lo; j < hi; j++) {
730 REAL *xptr = (
REAL *) &(x.elem(i).elem(0).elem(0).real());
731 REAL *yptr = (
REAL *) &(y.elem(i).elem(0).elem(0).real());
732 REAL* zptr = &(d.elem(i).elem(0).elem(0).
real());
734 func(zptr, aptr, xptr, yptr, Ns);
744 const OLattice< TVec >& x_,
745 OLattice< TVec >& d_,
750 const OLattice< TVec >&
x;
762 const OLattice< TVec >& x = a->
x;
763 OLattice< TVec >& d = a->
d;
766 const int* tab = a->
tab;
769 for(
int j=lo; j < hi; j++) {
771 REAL *xptr = (
REAL *) &(x.elem(i).elem(0).elem(0).real());
772 REAL* zptr = &(d.elem(i).elem(0).elem(0).
real());
774 func(zptr, aptr, zptr, xptr, Ns);
MakeReturn< UnaryNode< FnReal, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnReal >::Type_t >::Expression_t real(const QDPExpr< T1, C1 > &l)
void unordered_vscal_g5_evaluate_function(int lo, int hi, int myId, unordered_vscal_g5_user_arg *a)
void ordered_scal_g5_evaluate_function(int lo, int hi, int myId, ordered_scal_g5_user_arg *a)
void unordered_vadd3_g5_evaluate_function(int lo, int hi, int myId, unordered_vadd3_g5_user_arg *a)
void unordered_vaxpby3_g5_evaluate_function(int lo, int hi, int myId, unordered_vaxpby3_g5_user_arg *a)
void ordered_xOpayz_ig5_evaluate_function(int lo, int hi, int myId, ordered_xOpayz_ig5_user_arg *a)
void unordered_xOpayz_ig5_z_evaluate_function(int lo, int hi, int myId, unordered_xOpayz_ig5_z_user_arg *a)
void ordered_vscal_g5_evaluate_function(int lo, int hi, int myId, ordered_vscal_g5_user_arg *a)
void unordered_vaypx3_g5_y_evaluate_function(int lo, int hi, int myId, unordered_vaypx3_g5_y_user_arg *a)
void unordered_vaxpy3_g5_evaluate_function(int lo, int hi, int myId, unordered_vaxpy3_g5_user_arg *a)
void ordered_vaxpy3_g5_evaluate_function(int lo, int hi, int myId, ordered_vaxpy3_g5_user_arg *a)
void unordered_scal_g5_evaluate_function(int lo, int hi, int myId, unordered_scal_g5_user_arg *a)
void unordered_xOpayz_ig5_y_evaluate_function(int lo, int hi, int myId, unordered_xOpayz_ig5_y_user_arg *a)
void ordered_xOpayz_g5_evaluate_function(int lo, int hi, int myId, ordered_xOpayz_g5_user_arg *a)
void ordered_vadd3_g5_evaluate_function(int lo, int hi, int myId, ordered_vadd3_g5_user_arg *a)
void ordered_axOpbyz_g5_evaluate_function(int lo, int hi, int myId, ordered_axOpbyz_g5_user_arg *a)
void ordered_vaxpby3_g5_evaluate_function(int lo, int hi, int myId, ordered_vaxpby3_g5_user_arg *a)
void unordered_vaypx3_g5_z_evaluate_function(int lo, int hi, int myId, unordered_vaypx3_g5_z_user_arg *a)
void unordered_xOpayz_g5_evaluate_function(int lo, int hi, int myId, unordered_xOpayz_g5_user_arg *a)
void ordered_vaypx3_g5_evaluate_function(int lo, int hi, int myId, ordered_vaypx3_g5_user_arg *a)
void unordered_axOpbyz_g5_evaluate_function(int lo, int hi, int myId, unordered_axOpbyz_g5_user_arg *a)
void(* func)(REAL *, REAL *, REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
const OLattice< TVec > & y
void(* func)(REAL *, REAL *, REAL *, REAL *, REAL *, int)
unordered_axOpbyz_g5_user_arg(const OLattice< TVec > &x_, const OLattice< TVec > &y_, OLattice< TVec > &d_, REAL *aptr_, REAL *bptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, REAL *, int))
const OLattice< TVec > & x
const OLattice< TVec > & x
unordered_scal_g5_user_arg(const OLattice< TVec > &x_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_)
const OLattice< TVec > & x
unordered_vadd3_g5_user_arg(const OLattice< TVec > &x_, OLattice< TVec > &d_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, int))
void(* func)(REAL *, REAL *, REAL *, int)
unordered_vaxpby3_g5_user_arg(const OLattice< TVec > &x_, const OLattice< TVec > &y_, OLattice< TVec > &d_, REAL *aptr_, REAL *bptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, REAL *, int))
const OLattice< TVec > & y
const OLattice< TVec > & x
void(* func)(REAL *, REAL *, REAL *, REAL *, REAL *, int)
const OLattice< TVec > & x
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
unordered_vaxpy3_g5_user_arg(const OLattice< TVec > &x_, const OLattice< TVec > &y_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, int))
const OLattice< TVec > & y
const OLattice< TVec > & x
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
unordered_vaypx3_g5_y_user_arg(const OLattice< TVec > &x_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, int))
const OLattice< TVec > & x
const OLattice< TVec > & y
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
unordered_vaypx3_g5_z_user_arg(const OLattice< TVec > &x_, const OLattice< TVec > &y_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, int))
const OLattice< TVec > & x
unordered_vscal_g5_user_arg(const OLattice< TVec > &x_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, int))
void(* func)(REAL *, REAL *, REAL *, int)
const OLattice< TVec > & y
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
const OLattice< TVec > & x
unordered_xOpayz_g5_user_arg(const OLattice< TVec > &x_, const OLattice< TVec > &y_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, int))
const OLattice< TVec > & x
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
const OLattice< TVec > & y
unordered_xOpayz_ig5_y_user_arg(const OLattice< TVec > &x_, const OLattice< TVec > &y_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, int))
const OLattice< TVec > & x
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
unordered_xOpayz_ig5_z_user_arg(const OLattice< TVec > &x_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, int))