diff --git a/extra-libs/ws-queue/WorkStealingQueueLib.cpp b/extra-libs/ws-queue/WorkStealingQueueLib.cpp index c39bb20649bf3439d1f56fc1b2f70498b109f4e6..f024cc3ca22518abedf09d687d5d6931211da4f9 100644 --- a/extra-libs/ws-queue/WorkStealingQueueLib.cpp +++ b/extra-libs/ws-queue/WorkStealingQueueLib.cpp @@ -4,6 +4,7 @@ #include "StealingResult.hpp" #include "lib/adt/PushBottomResult.hpp" +#include "lib/adt/WsClQueue.hpp" #include "lib/adt/WsClv3Queue.hpp" #include "lib/adt/WsClv4Queue.hpp" @@ -11,6 +12,16 @@ namespace emper::extralibs::wsqueue { constexpr int maxRetries = 0; +namespace cl { +static adt::WsClQueue<int, 16> queue; + +auto pushBottom(int value) -> adt::PushBottomResult { return queue.pushBottom(value); } + +auto popBottom(int* value) -> bool { return queue.popBottom(value); } + +auto popTop(int* value) -> StealingResult { return queue.popTop<maxRetries>(value); } +} // namespace cl + namespace cl3 { static adt::WsClv3Queue<int, 16> queue; diff --git a/extra-libs/ws-queue/WorkStealingQueueLib.hpp b/extra-libs/ws-queue/WorkStealingQueueLib.hpp index 8ffe24e0b5e129efcf4a05a859c1ba03b3f439c2..10a94c677ab8486786cb717168d45cd6a276a99e 100644 --- a/extra-libs/ws-queue/WorkStealingQueueLib.hpp +++ b/extra-libs/ws-queue/WorkStealingQueueLib.hpp @@ -7,6 +7,14 @@ namespace emper::extralibs::wsqueue { +namespace cl { +auto pushBottom(int value) -> adt::PushBottomResult; + +auto popBottom(int* value) -> bool; + +auto popTop(int* value) -> StealingResult; +} // namespace cl + namespace cl3 { auto pushBottom(int value) -> adt::PushBottomResult;