Commit 58924228 authored by Paul's avatar Paul
Browse files

Format

parent 38d3fc69
...@@ -213,9 +213,10 @@ struct parallel_work ...@@ -213,9 +213,10 @@ struct parallel_work
std::shared_ptr<std::mutex> m = std::make_shared<std::mutex>(); std::shared_ptr<std::mutex> m = std::make_shared<std::mutex>();
// parallel_work(parallel_work&&) noexcept = default; // parallel_work(parallel_work&&) noexcept = default;
optional<std::size_t> pop() { optional<std::size_t> pop()
{
std::lock_guard<std::mutex> guard(*m); std::lock_guard<std::mutex> guard(*m);
if (stop >= start) if(stop >= start)
return nullopt; return nullopt;
return start++; return start++;
} }
...@@ -244,15 +245,17 @@ void par_compile(std::size_t n, F f) ...@@ -244,15 +245,17 @@ void par_compile(std::size_t n, F f)
f(*w); f(*w);
while(any_of(range(d), [&](auto j) { while(any_of(range(d), [&](auto j) {
auto k = (j + i + 1) % d; auto k = (j + i + 1) % d;
if (k == i) if(k == i)
return false; return false;
auto w = pw[k].pop(); auto w = pw[k].pop();
if (w.has_value()) { if(w.has_value())
{
std::cout << "Steal" << std::endl; std::cout << "Steal" << std::endl;
f(*w); f(*w);
} }
return w.has_value(); return w.has_value();
})); }))
;
}); });
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment