From 706132c159fcfe8113bdc8a12c4c24708283d6ce Mon Sep 17 00:00:00 2001 From: Florian Schmaus <flow@cs.fau.de> Date: Fri, 25 Feb 2022 13:03:40 +0100 Subject: [PATCH] [extra-libs/ws-queue] Add WsClQueue --- extra-libs/ws-queue/WorkStealingQueueLib.cpp | 11 +++++++++++ extra-libs/ws-queue/WorkStealingQueueLib.hpp | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/extra-libs/ws-queue/WorkStealingQueueLib.cpp b/extra-libs/ws-queue/WorkStealingQueueLib.cpp index c39bb206..f024cc3c 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 8ffe24e0..10a94c67 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; -- GitLab