52 cout <<
"Test of If-Else..." << flush;
54 using namespace elementOperators;
59 vector<cl_float> input(11, 2);
60 vector<cl_float> output(11, 0);
61 vector<cl_float> expected({8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8});
65 shared_ptr<ElementIfElse> ifElse_TestIf(
new ElementIfElse(isEqual(a, c0)));
66 ifElse_TestIf->addBodyExpressionIf(operatorAssignment(vec, vec + c1));
67 ifElse_TestIf->addBodyExpressionElse(operatorAssignment(vec, vec - c1));
70 shared_ptr<ElementIfElse> ifElse_TestElse(
new ElementIfElse(isEqual(a, c1)));
71 ifElse_TestElse->addBodyExpressionIf(operatorAssignment(vec, vec - c1));
72 ifElse_TestElse->addBodyExpressionElse(operatorAssignment(vec, vec + c1));
83 bool status(output == expected);
92 cout <<
"Test of Parser..." << flush;
94 using namespace elementOperators;
99 vector<cl_float> input(11, 2);
100 vector<cl_float> output(11, 0);
101 vector<cl_float> expected({35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35});
105 string statement(
"a + c0 + c1 + vec");
107 parser->addElementNamePair(a,
"a");
108 parser->addElementNamePair(c0,
"c0");
109 parser->addElementNamePair(c1,
"c1");
110 parser->addElementNamePair(vec,
"vec");
111 parser->setStatement(statement);
121 bool status(output == expected);
122 errorMessage(status);
129 cout <<
"Test of Atomic Sum..." << flush;
131 using namespace elementOperators;
134 vector<cl_int> input(11, 2);
135 vector<cl_int> output(11, 0);
136 vector<cl_int> expected({8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8});
148 bool status(output == expected);
149 errorMessage(status);