summaryrefslogtreecommitdiff
path: root/modules/remote-sycl/c++/data.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/remote-sycl/c++/data.hpp')
-rw-r--r--modules/remote-sycl/c++/data.hpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/modules/remote-sycl/c++/data.hpp b/modules/remote-sycl/c++/data.hpp
index 149e3f2..763e4c3 100644
--- a/modules/remote-sycl/c++/data.hpp
+++ b/modules/remote-sycl/c++/data.hpp
@@ -50,7 +50,7 @@ public:
data_{size_.get(),sycl_alloc_}
{}
- auto* get_internal_data() {
+ data<Sch,Encode>* get_internal_data() {
if(data_.empty()){
return nullptr;
}
@@ -135,11 +135,23 @@ private:
public:
data() = delete;
- data(ref<data<schema::FixedArray<schema::UInt64, Dim>, Encode>> ref_data__):
+ data(ref<data<schema::Array<Sch, Dim>, encode::Sycl<Encode>>> ref_data__):
internal_data_ptr_{ref_data__().get_internal_data()},
dims_{ref_data__().dims()},
size_{ref_data__().size()}
{}
+
+ auto* get_internal_data() {
+ return internal_data_ptr_;
+ }
+
+ constexpr data<Sch, Encode>& at(const data<schema::FixedArray<schema::UInt64, Dim>, Encode>& i){
+ return internal_data_ptr_[this->get_flat_index(i)];
+ }
+
+ constexpr const data<Sch, Encode>& at(const data<schema::FixedArray<schema::UInt64, Dim>, Encode>& i)const{
+ return internal_data_ptr_[this->get_flat_index(i)];
+ }
private:
template<typename U>
uint64_t get_flat_index(const U& i) const {