#include "acl/Kernels/aclKernel.h"
#include "acl/aclUtilities.h"
#include "acl/aclMath/aclReductionAlgGenerator.h"
#include "acl/aclGenerators.h"
#include "aslUtilities.h"
#include "acl/aclMath/aclVectorOfElements.h"
{
cout <<
"testSum..." <<
flush;
unsigned int n(101);
auto v(generateVEData<float>(n,1u));
auto summator(generateSumAlg<float>(v));
summator->generateAlg();
summator->compute();
return status;
}
{
cout <<
"testSum1..." <<
flush;
unsigned int n(100001);
VectorOfElements v1(generateVEData<float>(n,1u));
VectorOfElements v2(generateVEData<float>(n,1u));
auto summator(generateSumAlg<float>(v1*v2));
summator->generateAlg();
summator->compute();
return status;
}
{
cout <<
"testMin..." <<
flush;
VectorOfElements v1(generateVEData<float>(101u,1u));
auto minimizer(generateMinAlg<float>(v1*((vI-100)*(vI-100)+3)));
minimizer->generateAlg();
minimizer->compute();
return status;
}
{
cout <<
"testMax..." <<
flush;
VectorOfElements v1(generateVEData<float>(100001u,1u));
auto maximizer(generateMaxAlg<float>(v1*((1000.-vI)*(vI-1000.)-10.)));
maximizer->generateAlg();
maximizer->compute();
return status;
}
{
cout <<
"testProduct..." <<
flush;
typedef double FT;
VectorOfElements v1(generateVEData<FT>(100001u,1u));
v1,
vI >=1000 && vI <= 1007,
acl::typeToTypeID<FT>())));
alg->generateAlg();
alg->compute();
return status;
}
{
bool allTestsPassed(true);
return allTestsPassed ? EXIT_SUCCESS : EXIT_FAILURE;
}
Element select(Element e1, Element e2, Element e3)
void errorMessage(cl_int status, const char *errorMessage)
Prints errorMessage and exits depending on the status.
void initData(Element a, Element initializationValue, const KernelConfiguration &kernelConfig=KERNEL_BASIC)
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_.