From fe2baedc760c2f29e2c720f6b1132a2de33c5430 Mon Sep 17 00:00:00 2001 From: Mel Date: Sat, 8 Jul 2023 03:25:44 +0200 Subject: Use own size types --- src/Math/Tensor.hpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src/Math/Tensor.hpp') 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 +template struct Tensor { - static constexpr size_t element_size = (S*...); + static constexpr USize element_size = (S*...); template - using EnableArgs = std::enable_if_t; + using EnableArgs = std::enable_if_t; template - using EnableArgsPerElement = std::enable_if_t; - using Enable = std::enable_if_t; + using EnableArgsPerElement = std::enable_if_t; + using Enable = std::enable_if_t; template Tensor() : elements{} {} @@ -19,7 +19,7 @@ struct Tensor { } template = true> - Tensor(Args... args) : elements{ args... } {} + Tensor(Args... args) : elements{ static_cast(args)... } {} template = true> auto& operator()(Args... args) { @@ -27,12 +27,12 @@ struct Tensor { } template = true> - static constexpr size_t pos(Args... args) { - size_t positions[O] = {static_cast(args)...}; - size_t dimensions[O] = {S...}; + static constexpr USize pos(Args... args) { + USize positions[O] = {static_cast(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]; } -- cgit 1.4.1