namespace utils {
// Must be a power of two and at least sizeof(Complex)
size_t ALIGNMENT=2*sizeof(Complex);
}
using namespace utils;
size_t threshold=SIZE_MAX;
namespace parallel {
size_t lastThreads=SIZE_MAX;
const size_t maxThreshold=1 << 24;
size_t parallelLoop(Complex *A, size_t m, size_t threads)
{
auto T0=std::chrono::steady_clock::now();
PARALLEL(
for(size_t k=0; k < m; ++k)
A[k]=k;
);
PARALLEL(
for(size_t k=0; k < m; ++k)
A[k] *= k;
);
auto T1=std::chrono::steady_clock::now();
auto elapsed=std::chrono::duration_cast<std::chrono::nanoseconds>
(T1-T0);
return elapsed.count();
}