39 cout <<
"testSum..." <<
flush;
41 auto v(generateVEData<float>(n,1u));
43 auto summator(generateSumAlg<float>(v));
44 summator->generateAlg();
55 cout <<
"testSum1..." <<
flush;
56 unsigned int n(100001);
61 auto summator(generateSumAlg<float>(v1*v2));
62 summator->generateAlg();
73 cout <<
"testMin..." <<
flush;
77 auto minimizer(generateMinAlg<float>(v1*((vI-100)*(vI-100)+3)));
78 minimizer->generateAlg();
89 cout <<
"testMax..." <<
flush;
93 auto maximizer(generateMaxAlg<float>(v1*((1000.-vI)*(vI-1000.)-10.)));
94 maximizer->generateAlg();
104 cout <<
"testProduct..." <<
flush;
111 vI >=1000 && vI <= 1007,
112 acl::typeToTypeID<FT>())));
124 bool allTestsPassed(
true);
132 return allTestsPassed ? EXIT_SUCCESS : EXIT_FAILURE;
The class represents several Element.
void initData(VectorOfElements a, VectorOfElements initializationValue, const KernelConfiguration &kernelConfig)
void errorMessage(cl_int status, const char *errorMessage)
Prints errorMessage and exits depending on the status.
VectorOfElements select(const VectorOfElements &a, const VectorOfElements &b, const VectorOfElements &c)
VectorOfElements generateVEConstant(T a)
Generates VectorOfElements with 1 Element acl::Constant with value a.
VectorOfElements generateVEIndex(unsigned int size=0)
Advanced Computational Language.
const bool approxEqual(const double &a, const double &b, const double p_=1e-6)
Approximately equal; the precision is defined as p_.