summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2025-10-21 17:05:12 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2025-10-21 17:05:12 +0200
commit67e6447b0a8ec532c4f485be87cc9045bd8d01a7 (patch)
tree4bff2bca3db5bdffb0ace1e90139f925aa37e2d6 /lib
parent6cf8735733efa535fd2c18fdbaac1deaff345041 (diff)
downloadlibs-lbm-67e6447b0a8ec532c4f485be87cc9045bd8d01a7.tar.gz
Compiler fixing in GPU case
Diffstat (limited to 'lib')
-rw-r--r--lib/c++/descriptor.hpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/c++/descriptor.hpp b/lib/c++/descriptor.hpp
index 51d5814..034c9ce 100644
--- a/lib/c++/descriptor.hpp
+++ b/lib/c++/descriptor.hpp
@@ -37,6 +37,8 @@ struct CellField<
>
> {
using Descriptor = Desc;
+ using Schema = CellField<Desc,Struct<Member<CellFieldTypes,CellFieldNames>...>>;
+ using MetaSchema = FixedArray<schema::UInt64,Desc::D>;
};
template<typename Desc, typename... CellFieldMembers>
@@ -287,7 +289,7 @@ public:
{}
const data<MetaSchema, Encode> meta() const {
- return inner_.get_dims();
+ return inner_.dims();
}
template<uint64_t i>
@@ -311,6 +313,14 @@ public:
data<CellT>& at(const data<schema::FixedArray<schema::UInt64, Desc::D>, Encode>& index){
return inner_.at(index);
}
+
+ data<schema::UInt64,Encode> internal_size() const {
+ return inner_.internal_size();
+ }
+
+ data<CellT,Encode>* internal_data() {
+ return inner_.internal_data();
+ }
};
/**
@@ -330,7 +340,7 @@ private:
saw::error_or<void> helper_constructor(const data<schema::FixedArray<schema::UInt64,Desc::D>>& grid_size){
using MemT = saw::parameter_pack_type<i,CellFieldsT...>::type;
{
- inner_.template get<MemT::Name>() = {grid_size};
+ inner_.template get<MemT::KeyLiteral>() = {grid_size};
}
if constexpr (sizeof...(CellFieldsT) > (i+1u)){
return helper_constructor<i+1u>(grid_size);
@@ -347,7 +357,7 @@ public:
const data<MetaSchema, Encode> meta() const {
using MemT = saw::parameter_pack_type<0u,CellFieldsT...>::type;
- return inner_.template get<MemT::Name>().dims();
+ return inner_.template get<MemT::KeyLiteral>().meta();
}
template<saw::string_literal Key>