summaryrefslogtreecommitdiff
path: root/modules/codec
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2024-06-20 16:35:25 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2024-06-20 16:35:25 +0200
commit601113a445658d8b15273dd91c66cf20daf50d30 (patch)
treebcb6c2a77e85bb64d6beb9b3f93a5f7bc5a6e400 /modules/codec
parentc1d352270add2f205d038d7e4f69c1b4f35f014d (diff)
Changing towards a better allocated structure for sycl
Diffstat (limited to 'modules/codec')
-rw-r--r--modules/codec/c++/data.hpp8
-rw-r--r--modules/codec/c++/interface.hpp19
-rw-r--r--modules/codec/tests/codec.cpp8
3 files changed, 13 insertions, 22 deletions
diff --git a/modules/codec/c++/data.hpp b/modules/codec/c++/data.hpp
index 8e0e029..5ebe579 100644
--- a/modules/codec/c++/data.hpp
+++ b/modules/codec/c++/data.hpp
@@ -176,21 +176,21 @@ public:
}
data<Schema, encode::Native, storage::Default> operator*(const data<Schema, encode::Native, storage::Default>& rhs) const {
- using CalcType = typename native_data_type<Schema::InterfaceSchema>::type;
+ using CalcType = typename native_data_type<typename Schema::InterfaceSchema>::type;
CalcType left = static_cast<CalcType>(value_.get());
CalcType right = static_cast<CalcType>(rhs.get());
return {left * right};
}
data<Schema, encode::Native, storage::Default> operator/(const data<Schema, encode::Native, storage::Default>& rhs)const{
- using CalcType = typename native_data_type<Schema::InterfaceSchema>::type;
+ using CalcType = typename native_data_type<typename Schema::InterfaceSchema>::type;
CalcType left = static_cast<CalcType>(value_.get());
CalcType right = static_cast<CalcType>(rhs.get());
return {left / right};
}
data<Schema, encode::Native, storage::Default> operator+(const data<Schema, encode::Native, storage::Default>& rhs)const{
- using CalcType = typename native_data_type<Schema::InterfaceSchema>::type;
+ using CalcType = typename native_data_type<typename Schema::InterfaceSchema>::type;
CalcType left = static_cast<CalcType>(value_.get());
CalcType right = static_cast<CalcType>(rhs.get());
return {left + right};
@@ -202,7 +202,7 @@ public:
}
data<Schema, encode::Native, storage::Default> operator-(const data<Schema, encode::Native, storage::Default>& rhs)const{
- using CalcType = typename native_data_type<Schema::InterfaceSchema>::type;
+ using CalcType = typename native_data_type<typename Schema::InterfaceSchema>::type;
CalcType left = static_cast<CalcType>(value_.get());
CalcType right = static_cast<CalcType>(rhs.get());
return {left - right};
diff --git a/modules/codec/c++/interface.hpp b/modules/codec/c++/interface.hpp
index 0186f09..0f41f55 100644
--- a/modules/codec/c++/interface.hpp
+++ b/modules/codec/c++/interface.hpp
@@ -14,12 +14,12 @@ class function;
namespace impl {
template<typename Request, typename Response, typename Encode, typename Storage, typename Ctx>
struct FuncTypeHelper {
- using Type = std::function<data<Response, Encode, Storage>(data<Request, Encode, Storage>, Ctx)>;
+ using Type = std::function<data<Response, Encode, Storage>(data<Request, Encode, Storage>&, Ctx)>;
};
template<typename Request, typename Response, typename Encode, typename Storage>
struct FuncTypeHelper<Request, Response, Encode, Storage, void_t> {
- using Type = std::function<data<Response, Encode, Storage>(data<Request, Encode, Storage>)>;
+ using Type = std::function<data<Response, Encode, Storage>(data<Request, Encode, Storage>&)>;
};
}
@@ -41,15 +41,6 @@ public:
return func_(req, ctx);
}
}
-
- error_or<data<Response, Encode, Storage>> call(data<Request, Encode, Storage>&& req, Context ctx = {}){
- if constexpr (std::is_same_v<Context, void_t>){
- (void) ctx;
- return func_(std::move(req));
- } else {
- return func_(std::move(req), ctx);
- }
- }
};
template<typename T, typename Encode, typename Storage = storage::Default, typename Context = void_t >
@@ -106,14 +97,14 @@ public:
Lit, Names...
>::value
, Requests...>::type
- , Encode, Storage> req,
+ , Encode, Storage>& req,
Context ctx = {}
){
if constexpr (std::is_same_v<Context, void_t>) {
(void) ctx;
- return get<Lit>().call(std::move(req));
+ return get<Lit>().call(req);
}else{
- return get<Lit>().call(std::move(req), ctx);
+ return get<Lit>().call(req, ctx);
}
}
};
diff --git a/modules/codec/tests/codec.cpp b/modules/codec/tests/codec.cpp
index 10d9d0c..720b734 100644
--- a/modules/codec/tests/codec.cpp
+++ b/modules/codec/tests/codec.cpp
@@ -364,7 +364,7 @@ SAW_TEST("Function basics"){
}
);
- auto eov = func_add.call(std::move(native));
+ auto eov = func_add.call(native);
SAW_EXPECT(eov.is_value(), "Returned value is an error");
auto& val = eov.get_value();
@@ -408,7 +408,7 @@ SAW_TEST("Interface basics"){
native.get<0>().set(5);
native.get<1>().set(40);
- auto eov = iface.template call<"add">(std::move(native));
+ auto eov = iface.template call<"add">(native);
SAW_EXPECT(eov.is_value(), "Returned value is an error");
auto& val = eov.get_value();
@@ -419,7 +419,7 @@ SAW_TEST("Interface basics"){
native.get<0>().set(5);
native.get<1>().set(40);
- auto eov = iface.template call<"sub">(std::move(native));
+ auto eov = iface.template call<"sub">(native);
SAW_EXPECT(eov.is_value(), "Returned value is an error");
auto& val = eov.get_value();
@@ -430,7 +430,7 @@ SAW_TEST("Interface basics"){
native.get<0>().set(5);
native.get<1>().set(40);
- auto eov = iface.template call<"multiply">(std::move(native));
+ auto eov = iface.template call<"multiply">(native);
SAW_EXPECT(eov.is_value(), "Returned value is an error");
auto& val = eov.get_value();