#include #include using namespace std; using namespace Grid; using namespace Grid::QCD; //template class is_pod< iScalar > //{ // //}; int main (int argc, char ** argv) { Grid_init(&argc,&argv); std::vector simd_layout({1,1,2,2}); std::vector mpi_layout ({1,1,1,1}); std::vector latt_size ({8,8,8,8}); GridCartesian Grid(latt_size,simd_layout,mpi_layout); GridParallelRNG pRNG(&Grid); pRNG.SeedRandomDevice(); GridSerialRNG sRNG; sRNG.SeedRandomDevice(); SpinMatrix ident; ident=zero; SpinMatrix rnd ; random(sRNG,rnd); SpinMatrix ll; ll=zero; SpinMatrix rr; rr=zero; SpinMatrix result; SpinVector lv; random(sRNG,lv); SpinVector rv; random(sRNG,rv); std::cout << " Is pod " << std::is_pod::value << std::endl; std::cout << " Is pod double " << std::is_pod::value << std::endl; std::cout << " Is pod ComplexF " << std::is_pod::value << std::endl; std::cout << " Is triv double " << std::is_trivially_default_constructible::value << std::endl; std::cout << " Is triv ComplexF " << std::is_trivially_default_constructible::value << std::endl; std::cout << " Is pod Scalar " << std::is_pod >::value << std::endl; std::cout << " Is pod Scalar " << std::is_pod >::value << std::endl; std::cout << " Is pod Scalar " << std::is_pod >::value << std::endl; std::cout << " Is pod Scalar " << std::is_pod >::value << std::endl; std::cout << " Is pod Scalar " << std::is_pod >::value << std::endl; std::cout << " Is pod Scalar " << std::is_pod >::value << std::endl; std::cout << " Is triv Scalar " < >::value << std::endl; std::cout << " Is triv Scalar "< >::value << std::endl; for(int a=0;a