10#ifndef QDP_SCALARSITE_GENERIC_BLAS_G5_H
11#define QDP_SCALARSITE_GENERIC_BLAS_G5_H
69 REAL ar = a.
elem().elem().elem().elem();
76 int total_n_4vec = (s.
end()-s.
start()+1);
208 int total_n_4vec = (s.
end()-s.
start()+1);
266 REAL ar = a.
elem().elem().elem().elem();
273 int total_n_4vec = (s.
end()-s.
start()+1);
333 int total_n_4vec = (s.
end()-s.
start()+1);
393 int total_n_4vec = (s.
end()-s.
start()+1);
452 int total_n_4vec = (s.
end()-s.
start()+1);
511 int total_n_4vec = (s.
end()-s.
start()+1);
581 const BN &mulNode =
static_cast<const BN&
> (rhs.expression().right());
595 int total_n_4vec = (s.
end()-s.
start()+1);
669 const BN &mulNode =
static_cast<const BN&
> (rhs.expression().right());
675 REAL ar = a.
elem().elem().elem().elem();
683 int total_n_4vec = (s.
end()-s.
start()+1);
757 const BN &mulNode =
static_cast<const BN&
> (rhs.expression().right());
763 REAL ar = a.
elem().elem().elem().elem();
771 int total_n_4vec = (s.
end()-s.
start()+1);
845 const BN &mulNode =
static_cast<const BN&
> (rhs.expression().right());
851 REAL ar = a.
elem().elem().elem().elem();
859 int total_n_4vec = (s.
end()-s.
start()+1);
928 const BN &mulNode =
static_cast<const BN&
> (rhs.expression().left());
934 REAL ar = a.
elem().elem().elem().elem();
942 int total_n_4vec = (s.
end()-s.
start()+1);
1011 const BN &mulNode =
static_cast<const BN&
> (rhs.expression().left());
1017 REAL ar = a.
elem().elem().elem().elem();
1025 int total_n_4vec = (s.
end()-s.
start()+1);
1096 const BN &mulNode =
static_cast<const BN&
> (rhs.expression().left());
1102 REAL ar = a.
elem().elem().elem().elem();
1111 int total_n_4vec = (s.
end()-s.
start()+1);
1181 const BN &mulNode =
static_cast<const BN&
> (rhs.expression().left());
1187 REAL ar = a.
elem().elem().elem().elem();
1194 int total_n_4vec = (s.
end()-s.
start()+1);
1249 cout <<
"BJ: v = a*P{+}v " << endl;
1255 REAL ar = a.
elem().elem().elem().elem();
1262 int total_n_4vec = (s.
end()-s.
start()+1);
1315 cout <<
"BJ: v = a*P{-}v " << endl;
1321 REAL ar = a.
elem().elem().elem().elem();
1328 int total_n_4vec = (s.
end()-s.
start()+1);
1401 const BN1 &mulNode1 =
static_cast<const BN1&
> (rhs.expression().left());
1402 const BN2 &mulNode2 =
static_cast<const BN2&
> (rhs.expression().right());
1422 int total_n_4vec = (s.
end()-s.
start()+1);
1500 const BN1 &mulNode1 =
static_cast<const BN1&
> (rhs.expression().left());
1501 const BN2 &mulNode2 =
static_cast<const BN2&
> (rhs.expression().right());
1521 int total_n_4vec = (s.
end()-s.
start()+1);
1597 const BN1 &mulNode1 =
static_cast<const BN1&
> (rhs.expression().left());
1598 const BN2 &mulNode2 =
static_cast<const BN2&
> (rhs.expression().right());
1618 int total_n_4vec = (s.
end()-s.
start()+1);
1693 const BN1 &mulNode1 =
static_cast<const BN1&
> (rhs.expression().left());
1694 const BN2 &mulNode2 =
static_cast<const BN2&
> (rhs.expression().right());
1713 int total_n_4vec = (s.
end()-s.
start()+1);
1772 QDPIO::cout <<
"z = a*(GammaConst<Ns,Ns*Ns-1>()*x)" << endl;
1783 const BN1 &node =
static_cast<const BN1&
>(rhs.expression().right());
1787 REAL ar = a.
elem().elem().elem().elem();
1794 int total_n_4vec = (s.
end()-s.
start()+1);
1856 QDPIO::cout <<
"z = x - a GammaConst<Ns,Ns*Ns-1>()*y" << endl;
1868 const MN& mul_node =
static_cast<const MN&
>(rhs.expression().right());
1878 const GN& gamma_node =
static_cast<const GN&
>(mul_node.right());
1881 REAL ar = a.
elem().elem().elem().elem();
1889 int total_n_4vec = (s.
end()-s.
start()+1);
1955 QDPIO::cout <<
"z = a*x + b*GammaConst<Ns,Ns*Ns-1>()*y" << endl;
1978 const MN1& mulNode1 =
static_cast< const MN1&
>(rhs.expression().left());
1979 const MN2& mulNode2 =
static_cast< const MN2&
>(rhs.expression().right());
1980 const GN& gammaNode =
static_cast< const GN&
>(mulNode2.right());
1997 int total_n_4vec = (s.
end()-s.
start()+1);
2060 QDPIO::cout <<
"z = GammaConst<Ns,Ns*Ns-1>()*(ax - by)" << endl;
2074 const AXMBY& axmby_node =
static_cast<const AXMBY&
>(rhs.expression().right());
2082 const MN& mulNode1 =
static_cast<const MN&
>( axmby_node.left());
2083 const MN& mulNode2 =
static_cast<const MN&
>( axmby_node.right());
2100 int total_n_4vec = (s.
end()-s.
start()+1);
2168 QDPIO::cout <<
"z = a*x + b*GammaConst<Ns,Ns*Ns-1>()*timesI(y)" << endl;
2199 const MN1& mulNode1 =
static_cast< const MN1&
>(rhs.expression().left());
2200 const MN2& mulNode2 =
static_cast< const MN2&
>(rhs.expression().right());
2201 const GN& gammaNode =
static_cast< const GN&
>(mulNode2.right());
2202 const IN& mulINode =
static_cast< const IN&
>(gammaNode.right());
2220 int total_n_4vec = (s.
end()-s.
start()+1);
2286 QDPIO::cout <<
"z = a*x + b*GammaConst<Ns,Ns*Ns-1>()*timesI(y)" << endl;
2317 const MN1& mulNode1 =
static_cast< const MN1&
>(rhs.expression().left());
2318 const MN2& mulNode2 =
static_cast< const MN2&
>(rhs.expression().right());
2319 const GN& gammaNode =
static_cast< const GN&
>(mulNode2.right());
2320 const IN& mulINode =
static_cast< const IN&
>(gammaNode.right());
2338 int total_n_4vec = (s.
end()-s.
start()+1);
2401 QDPIO::cout <<
"z = x + a GammaConst<Ns,Ns*Ns-1>()*i*y" << endl;
2415 const MN& mul_node =
static_cast<const MN&
>(rhs.expression().right());
2431 const GN& gamma_node =
static_cast<const GN&
>(mul_node.right());
2432 const IN& timesI_node =
static_cast<const IN&
>(gamma_node.right());
2436 REAL ar = a.
elem().elem().elem().elem();
2444 int total_n_4vec = (s.
end()-s.
start()+1);
2508 QDPIO::cout <<
"z = x - a GammaConst<Ns,Ns*Ns-1>()*i*y" << endl;
2522 const MN& mul_node =
static_cast<const MN&
>(rhs.expression().right());
2538 const GN& gamma_node =
static_cast<const GN&
>(mul_node.right());
2539 const IN& timesI_node =
static_cast<const IN&
>(gamma_node.right());
2543 REAL ar = a.
elem().elem().elem().elem();
2552 int total_n_4vec = (s.
end()-s.
start()+1);
2617 QDPIO::cout <<
"z += a GammaConst<Ns,Ns*Ns-1>()*i*y" << endl;
2632 const MN& mul_node =
static_cast<const MN&
>(rhs.expression().right());
2649 const GN& gamma_node =
static_cast<const GN&
>(rhs.expression().right());
2650 const IN& timesI_node =
static_cast<const IN&
>(gamma_node.right());
2654 REAL ar = a.
elem().elem().elem().elem();
2660 int total_n_4vec = (s.
end()-s.
start()+1);
2723 QDPIO::cout <<
"z -= a GammaConst<Ns,Ns*Ns-1>()*i*y" << endl;
2738 const MN& mul_node =
static_cast<const MN&
>(rhs.expression().right());
2755 const GN& gamma_node =
static_cast<const GN&
>(rhs.expression().right());
2756 const IN& timesI_node =
static_cast<const IN&
>(gamma_node.right());
2760 REAL ar = a.
elem().elem().elem().elem();
2767 int total_n_4vec = (s.
end()-s.
start()+1);
Outer grid Scalar class */.
Primitive spin Vector class.
Expression class for QDP.
QDPType - major type class/container for all QDP objects.
Subsets - controls how lattices are looped.
const multi1d< int > & siteTable() const
bool hasOrderedRep() const
const T * slice() const
Return ref to a column slice.
Generic Scalar VAXPY routine.
Generic Scalar VAXPY routine.
Generic Scalar VAXPY routine.
Generic Scalar VAXPY routine.
Generic Scalar VSCAL routine.
void evaluate(OLattice< DCol > &d, const OpAssign &op, const QDPExpr< BinaryNode< OpMultiply, Reference< QDPType< DCol, OLattice< DCol > > >, Reference< QDPType< DCol, OLattice< DCol > > > >, OLattice< DCol > > &rhs, const Subset &s)
StandardOutputStream cout
Yet another random number generator.
void ordered_vaxpby3_g5_evaluate_function(int lo, int hi, int myId, ordered_vaxpby3_g5_user_arg *a)
PScalar< PScalar< RScalar< REAL > > > TScal
void add_g5ProjPlus(REAL *Out, REAL *X, REAL *Y, int n_4vec)
void axpbyz_g5ProjMinus(REAL *Out, REAL *scalep, REAL *InScale, REAL *scalep2, REAL *Add, int n_4vec)
void axmbyz_g5ProjMinus(REAL *Out, REAL *scalep, REAL *InScale, REAL *scalep2, REAL *Add, int n_4vec)
void scal_g5ProjMinus(REAL *Out, REAL *scalep, REAL *In, int n_4vec)
void dispatch_to_threads(int numSiteTable, Arg a, void(*func)(int, int, int, Arg *))
void ordered_xOpayz_ig5_evaluate_function(int lo, int hi, int myId, ordered_xOpayz_ig5_user_arg *a)
void axpbyz_ig5(REAL *Out, REAL *scalep, REAL *InScale, REAL *scalep2, REAL *Add, int n_4vec)
void unordered_vaxpby3_g5_evaluate_function(int lo, int hi, int myId, unordered_vaxpby3_g5_user_arg *a)
void ordered_vadd3_g5_evaluate_function(int lo, int hi, int myId, ordered_vadd3_g5_user_arg *a)
void xpayz_ig5(REAL *Out, REAL *scalep, REAL *InScale, REAL *Add, int n_4vec)
void ordered_vaypx3_g5_evaluate_function(int lo, int hi, int myId, ordered_vaypx3_g5_user_arg *a)
void add_g5ProjMinus(REAL *Out, REAL *X, REAL *Y, int n_4vec)
void unordered_xOpayz_ig5_y_evaluate_function(int lo, int hi, int myId, unordered_xOpayz_ig5_y_user_arg *a)
void unordered_axOpbyz_g5_evaluate_function(int lo, int hi, int myId, unordered_axOpbyz_g5_user_arg *a)
void xmayz_g5(REAL *Out, REAL *scalep, REAL *Add, REAL *InScale, int n_4vec)
void ordered_axOpbyz_g5_evaluate_function(int lo, int hi, int myId, ordered_axOpbyz_g5_user_arg *a)
void axmyz_g5ProjMinus(REAL *Out, REAL *scalep, REAL *InScale, REAL *Add, int n_4vec)
void ordered_vscal_g5_evaluate_function(int lo, int hi, int myId, ordered_vscal_g5_user_arg *a)
void axmbyz_ig5(REAL *Out, REAL *scalep, REAL *InScale, REAL *scalep2, REAL *Add, int n_4vec)
void xmayz_g5ProjPlus(REAL *Out, REAL *scalep, REAL *Add, REAL *InScale, int n_4vec)
void axpbyz_g5ProjPlus(REAL *Out, REAL *scalep, REAL *InScale, REAL *scalep2, REAL *Add, int n_4vec)
void sub_g5ProjPlus(REAL *Out, REAL *X, REAL *Y, int n_4vec)
void xmayz_ig5(REAL *Out, REAL *scalep, REAL *InScale, REAL *Add, int n_4vec)
void axpbyz_g5(REAL *Out, REAL *scalep, REAL *InScale, REAL *scalep2, REAL *Add, int n_4vec)
void axmbyz_g5ProjPlus(REAL *Out, REAL *scalep, REAL *InScale, REAL *scalep2, REAL *Add, int n_4vec)
void unordered_vscal_g5_evaluate_function(int lo, int hi, int myId, unordered_vscal_g5_user_arg *a)
void sub_g5ProjMinus(REAL *Out, REAL *X, REAL *Y, int n_4vec)
void scal_g5ProjPlus(REAL *Out, REAL *scalep, REAL *In, int n_4vec)
void g5_axmbyz(REAL *Out, REAL *scalep, REAL *InScale, REAL *scalep2, REAL *Add, int n_4vec)
void unordered_xOpayz_ig5_z_evaluate_function(int lo, int hi, int myId, unordered_xOpayz_ig5_z_user_arg *a)
void xpayz_g5ProjMinus(REAL *Out, REAL *scalep, REAL *Add, REAL *InScale, int n_4vec)
void ordered_scal_g5_evaluate_function(int lo, int hi, int myId, ordered_scal_g5_user_arg *a)
void axpyz_g5ProjPlus(REAL *Out, REAL *scalep, REAL *InScale, REAL *Add, int n_4vec)
PSpinVector< PColorVector< RComplex< REAL >, 3 >, Ns > TVec
void unordered_scal_g5_evaluate_function(int lo, int hi, int myId, unordered_scal_g5_user_arg *a)
void axmyz_g5ProjPlus(REAL *Out, REAL *scalep, REAL *InScale, REAL *Add, int n_4vec)
void unordered_vaypx3_g5_z_evaluate_function(int lo, int hi, int myId, unordered_vaypx3_g5_z_user_arg *a)
void ordered_xOpayz_g5_evaluate_function(int lo, int hi, int myId, ordered_xOpayz_g5_user_arg *a)
void ordered_vaxpy3_g5_evaluate_function(int lo, int hi, int myId, ordered_vaxpy3_g5_user_arg *a)
void axpyz_g5ProjMinus(REAL *Out, REAL *scalep, REAL *InScale, REAL *Add, int n_4vec)
void xmayz_g5ProjMinus(REAL *Out, REAL *scalep, REAL *Add, REAL *InScale, int n_4vec)
void unordered_vaxpy3_g5_evaluate_function(int lo, int hi, int myId, unordered_vaxpy3_g5_user_arg *a)
void unordered_xOpayz_g5_evaluate_function(int lo, int hi, int myId, unordered_xOpayz_g5_user_arg *a)
void xpayz_g5ProjPlus(REAL *Out, REAL *scalep, REAL *Add, REAL *InScale, int n_4vec)
void unordered_vaypx3_g5_y_evaluate_function(int lo, int hi, int myId, unordered_vaypx3_g5_y_user_arg *a)
void unordered_vadd3_g5_evaluate_function(int lo, int hi, int myId, unordered_vadd3_g5_user_arg *a)
const OLattice< TVec > & x
const OLattice< TVec > & x
const OLattice< TVec > & x
const OLattice< TVec > & x
const OLattice< TVec > & x
const OLattice< TVec > & y
const OLattice< TVec > & x
const OLattice< TVec > & x