From 16ea7cfc4d834a3c0cedb4a833ff0f212eeee2dc Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Wed, 6 Aug 2025 18:37:49 +0200 Subject: Fixing math operators --- modules/codec/c++/data_math.hpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'modules/codec/c++/data_math.hpp') diff --git a/modules/codec/c++/data_math.hpp b/modules/codec/c++/data_math.hpp index 7277168..b5491eb 100644 --- a/modules/codec/c++/data_math.hpp +++ b/modules/codec/c++/data_math.hpp @@ -2,6 +2,7 @@ #include "data.hpp" #include "schema_math.hpp" +#include "iterator.hpp" #include @@ -71,31 +72,37 @@ public: using Schema = schema::Tensor; private: data, encode::Native> values_; + public: data(): values_{data>{{data{Dims}...}}} {} - data& at(const data, encode::Native>& index){ + data& at(const data, encode::Native>& index){ return values_.at(index); } - const data& at(const data, encode::Native>& index) const { + const data& at(const data, encode::Native>& index) const { return values_.at(index); } - data& operator()(const data, encode::Native>& index){ + data& operator()(const data, encode::Native>& index){ return values_.at(index); } - const data& operator()(const data, encode::Native>& index) const { + const data& operator()(const data, encode::Native>& index) const { return values_.at(index); } - data, encode::Native> operator+(const data, encode::Native>& rhs) const { + data, encode::Native> operator+(const data, encode::Native>& rhs) { data, encode::Native> c; - return {}; + rank_iterator::in_fixed_bounds([&](const data, encode::Native>& index) -> error_or{ + c.at(index) = at(index) + rhs.at(index); + return make_void(); + }); + + return c; } }; -- cgit v1.2.3