summary refs log tree commit diff
path: root/src/Math/Tensor.hpp
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2023-07-08 03:25:44 +0200
committerMel <einebeere@gmail.com>2023-07-08 03:25:44 +0200
commitfe2baedc760c2f29e2c720f6b1132a2de33c5430 (patch)
treedfbe1c72a17805a3cab6e0d47433e9021890c9ca /src/Math/Tensor.hpp
parent41fbca10f6c6cdd9c1623f1347e7ecb40f5e7f59 (diff)
downloadmeowcraft-fe2baedc760c2f29e2c720f6b1132a2de33c5430.tar.zst
meowcraft-fe2baedc760c2f29e2c720f6b1132a2de33c5430.zip
Use own size types
Diffstat (limited to 'src/Math/Tensor.hpp')
-rw-r--r--src/Math/Tensor.hpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/Math/Tensor.hpp b/src/Math/Tensor.hpp
index e373c1f..95c4548 100644
--- a/src/Math/Tensor.hpp
+++ b/src/Math/Tensor.hpp
@@ -1,14 +1,14 @@
 #pragma once
 
-template<size_t O, typename T, size_t ...S>
+template<uint O, typename T, uint ...S>
 struct Tensor {
-    static constexpr size_t element_size = (S*...);
+    static constexpr USize element_size = (S*...);
 
     template<typename ...Args>
-    using EnableArgs = std::enable_if_t<sizeof...(Args) == O, bool>;
+    using EnableArgs = std::enable_if_t<sizeof...(Args) == O, Bool>;
     template<typename ...Args>
-    using EnableArgsPerElement = std::enable_if_t<sizeof...(Args) == element_size, bool>;
-    using Enable = std::enable_if_t<sizeof...(S) == O, bool>;
+    using EnableArgsPerElement = std::enable_if_t<sizeof...(Args) == element_size, Bool>;
+    using Enable = std::enable_if_t<sizeof...(S) == O, Bool>;
 
     template<Enable = true>
     Tensor() : elements{} {}
@@ -19,7 +19,7 @@ struct Tensor {
     }
 
     template<Enable = true, typename ...Args, EnableArgsPerElement<Args...> = true>
-    Tensor(Args... args) : elements{ args... } {}
+    Tensor(Args... args) : elements{ static_cast<T>(args)... } {}
 
     template<typename ...Args, EnableArgs<Args...> = true>
     auto& operator()(Args... args) {
@@ -27,12 +27,12 @@ struct Tensor {
     }
 
     template<typename ...Args, EnableArgs<Args...> = true>
-    static constexpr size_t pos(Args... args) {
-        size_t positions[O] = {static_cast<size_t>(args)...};
-        size_t dimensions[O] = {S...};
+    static constexpr USize pos(Args... args) {
+        USize positions[O] = {static_cast<USize>(args)...};
+        USize dimensions[O] = {S...};
 
-        size_t p = 0;
-        for (int i = 0; i < O; i++) {
+        USize p = 0;
+        for (Int i = 0; i < O; i++) {
             p *= dimensions[i];
             p += positions[i];
         }