48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
#include <iostream>
|
|
#include <pfor/pfor.h>
|
|
#include <pfor/traits.h>
|
|
|
|
int main() {
|
|
std::array<int, 1> a;
|
|
pfor::Operand<std::array<int, 1>, void> o{a};
|
|
pfor::Index i;
|
|
|
|
auto strinc = strictinc(i*i);
|
|
auto strdec = strictdec(i*i);
|
|
|
|
{
|
|
auto e = o[strinc] = o[strinc]+1;
|
|
std::cout << "strictly inc: " << std::boolalpha << parallelTest(pfor::Range{0,0}, e) << std::endl;
|
|
}
|
|
{
|
|
auto ii = strinc + strinc;
|
|
auto e = o[ii] = o[ii]+1;
|
|
std::cout << "strictly inc + strictly inc: " << std::boolalpha << parallelTest(pfor::Range{0,0}, e) << std::endl;
|
|
}
|
|
{
|
|
auto ii = strinc + strdec;
|
|
auto e = o[ii] = o[ii]+1;
|
|
std::cout << "strictly inc + strictly dec: " << std::boolalpha << parallelTest(pfor::Range{0,0}, e) << std::endl;
|
|
}
|
|
{
|
|
auto ii = strdec + strinc;
|
|
auto e = o[ii] = o[ii]+1;
|
|
std::cout << "strictly dec + strictly inc: " << std::boolalpha << parallelTest(pfor::Range{0,0}, e) << std::endl;
|
|
}
|
|
{
|
|
auto ii = strdec + strdec;
|
|
auto e = o[ii] = o[ii]+1;
|
|
std::cout << "strictly dec + strictly dec: " << std::boolalpha << parallelTest(pfor::Range{0,0}, e) << std::endl;
|
|
}
|
|
{
|
|
auto ii = strinc - strdec;
|
|
auto e = o[ii] = o[ii]+1;
|
|
std::cout << "strictly inc - strictly dec: " << std::boolalpha << parallelTest(pfor::Range{0,0}, e) << std::endl;
|
|
}
|
|
{
|
|
auto ii = strdec - strinc;
|
|
auto e = o[ii] = o[ii]+1;
|
|
std::cout << "strictly dec - strictly inc: " << std::boolalpha << parallelTest(pfor::Range{0,0}, e) << std::endl;
|
|
}
|
|
}
|