summaryrefslogtreecommitdiff
path: root/modules/core/c++/abstract
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2026-07-23 17:28:51 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2026-07-23 17:28:51 +0200
commitc8bea2d6a8c6cd6b0950d75646eef0becf1fce1e (patch)
tree81e00012524b5b303770e0977769c24716d1f181 /modules/core/c++/abstract
parentda8cb1c7dd40ef18b85685f99369a31ee36370a1 (diff)
parent3489ac1d725c0eadb7d75329f9e6074ed177d125 (diff)
downloadlibs-lbm-c8bea2d6a8c6cd6b0950d75646eef0becf1fce1e.tar.gz
Merge branch 'dev'
Diffstat (limited to 'modules/core/c++/abstract')
-rw-r--r--modules/core/c++/abstract/schema.hpp25
1 files changed, 24 insertions, 1 deletions
diff --git a/modules/core/c++/abstract/schema.hpp b/modules/core/c++/abstract/schema.hpp
index 8305005..8bc23b4 100644
--- a/modules/core/c++/abstract/schema.hpp
+++ b/modules/core/c++/abstract/schema.hpp
@@ -4,6 +4,7 @@
#include "templates.hpp"
namespace kel {
+namespace lbm {
namespace sch {
struct Void {};
@@ -26,6 +27,27 @@ struct Primitive {
static constexpr uint64_t Bytes = N;
};
+using UInt8 = Primitive<UnsignedInteger,1u>;
+using UInt16 = Primitive<UnsignedInteger,2u>;
+using UInt32 = Primitive<UnsignedInteger,4u>;
+using UInt64 = Primitive<UnsignedInteger,8u>;
+
+using Int8 = Primitive<SignedInteger,1u>;
+using Int16 = Primitive<SignedInteger,2u>;
+using Int32 = Primitive<SignedInteger,4u>;
+using Int64 = Primitive<SignedInteger,8u>;
+
+using Float8 = Primitive<FloatingPoint,1u>;
+using Float16 = Primitive<FloatingPoint,2u>;
+using Float32 = Primitive<FloatingPoint,4u>;
+using Float64 = Primitive<FloatingPoint,8u>;
+
+template<typename Sch, uint64_t StorageBytes, uint64_t InterfaceBytes>
+struct MixedPrecision {
+ using Meta = Void;
+ using Inner = Sch;
+};
+
template<typename T, uint64_t... Dims>
struct FixedArray {
using Meta = Void;
@@ -37,7 +59,7 @@ template<typename T, uint64_t Dims>
struct Array {
using Meta = FixedArray<UInt64,Dims>;
using Inner = T;
- static constexpr std::array<uint64_t,sizeof...(Dims)> Dimensions{Dims};
+ static constexpr std::array<uint64_t,1u> Dimensions{Dims};
};
template<typename... T>
@@ -58,3 +80,4 @@ struct schema {
};
}
+}