From b9aacd9c2fdc61721c8ca3e1b40ebc92daa3772e Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Wed, 5 Nov 2025 13:38:04 +0100 Subject: Reworking structure --- examples/poiseulle_3d/poiseulle_3d.cpp | 75 ++++++++++++++++++++++++++-------- 1 file changed, 57 insertions(+), 18 deletions(-) (limited to 'examples/poiseulle_3d') diff --git a/examples/poiseulle_3d/poiseulle_3d.cpp b/examples/poiseulle_3d/poiseulle_3d.cpp index e6d0a61..2c268d4 100644 --- a/examples/poiseulle_3d/poiseulle_3d.cpp +++ b/examples/poiseulle_3d/poiseulle_3d.cpp @@ -42,6 +42,10 @@ public: return inner_.at(index); } + ref, encode::Sycl >> inner_data() { + return {inner_}; + } + data internal_size() const { return inner_.internal_size(); } @@ -50,55 +54,90 @@ public: return inner_.internal_data(); } }; +/* +template +class data>, encode::Sycl> final { +public: + using Schema = schema::Ref>; +private: + data>, encode::Sycl>> inner_ref_; +public: + data() = delete; + data(ref,encode::Sycl>> inner_ref__): + inner_ref_{inner_ref__().inner_data()} + {} + + const data meta() const { + return inner_ref_().dims(); + } + + const data& operator()(const data, Encode>& index)const{ + return inner_ref_().at(index); + } + + data& operator()(const data, Encode>& index){ + return inner_ref_().at(index); + } + + const data& at(const data, Encode>& index)const{ + return inner_ref_().at(index); + } + + data& at(const data, Encode>& index){ + return inner_ref_().at(index); + } + + data internal_size() const { + return inner_ref_().internal_size(); + } + + data* internal_data() { + return inner_ref_().internal_data(); + } +}; + template class data>, encode::Sycl> final { public: using Schema = schema::Ref>; - using MetaSchema = typename meta_schema::MetaSchema; private: - data, Encode>* inner_ref_; - data size_; + data>, encode::Sycl>> inner_ref_; public: data() = delete; - data(data& inner_meta__, acpp::sycl::queue& q): - inner_{inner_meta__,q} + data(ref,encode::Sycl>> inner_ref__): + inner_ref_{inner_ref__().inner_data()} {} const data meta() const { - return inner_.dims(); - } - - template - data get_dim_size() const { - static_assert(i < Desc::D, "Not enough dimensions"); - return inner_.template get_dim_size(); + return inner_ref_().dims(); } const data& operator()(const data, Encode>& index)const{ - return inner_.at(index); + return inner_ref_().at(index); } data& operator()(const data, Encode>& index){ - return inner_.at(index); + return inner_ref_().at(index); } const data& at(const data, Encode>& index)const{ - return inner_.at(index); + return inner_ref_().at(index); } data& at(const data, Encode>& index){ - return inner_.at(index); + return inner_ref_().at(index); } data internal_size() const { - return inner_.internal_size(); + return inner_ref_().internal_size(); } data* internal_data() { - return inner_.internal_data(); + return inner_ref_().internal_data(); } }; +*/ } -- cgit v1.2.3