ultimatepp/autotest/CoPartition/CoPartition.cpp
cxl ae1516b478 .autotest
git-svn-id: svn://ultimatepp.org/upp/trunk@11710 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2018-01-21 10:20:17 +00:00

31 lines
509 B
C++

#include <Core/Core.h>
using namespace Upp;
CONSOLE_APP_MAIN
{
StdLogSetup(LOG_COUT|LOG_FILE);
for(auto n : { 100, 20000 }) {
Vector<int> x;
for(int i = 0; i < n; i++)
x.Add(i);
DUMP(Sum(x));
DUMP(CoSum(x));
ASSERT(CoSum(x) == Sum(x));
int sum = 0;
CoPartition(x,
[&sum](const SubRangeOf<Vector<int>>& x) {
int s = Sum(x);
CoWork::FinLock();
sum += s;
});
DUMP(sum);
ASSERT(sum == Sum(x));
}
LOG("================ OK");
}