From f992a6afc4e99691cf70186cf07031ed1f65096e Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Tue, 23 Sep 2025 17:08:11 +0200 Subject: Fixed a bug in normalization --- modules/codec/c++/data_math.hpp | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 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 f423fcb..86336ad 100644 --- a/modules/codec/c++/data_math.hpp +++ b/modules/codec/c++/data_math.hpp @@ -99,7 +99,7 @@ public: return values_.at(index); } - data, encode::Native> operator+(const data, encode::Native>& rhs) { + data, encode::Native> operator+(const data, encode::Native>& rhs) const { data, encode::Native> c; rank_iterator::in_fixed_bounds([&](const data, encode::Native>& index) -> error_or{ @@ -110,7 +110,7 @@ public: return c; } - data, encode::Native> operator-(const data, encode::Native>& rhs) { + data, encode::Native> operator-(const data, encode::Native>& rhs) const { data, encode::Native> c; rank_iterator::in_fixed_bounds([&](const data, encode::Native>& index) -> error_or{ @@ -131,6 +131,28 @@ public: return native_change; } + + data, encode::Native> operator*(const data, encode::Native>& scal) const { + data, encode::Native> c; + + rank_iterator::in_fixed_bounds([&](const data, encode::Native>& index) -> error_or{ + c.at(index) = at(index) * scal.at({}); + return make_void(); + }); + + return c; + } + + data, encode::Native> operator/(const data, encode::Native>& scal) const { + data, encode::Native> c; + + rank_iterator::in_fixed_bounds([&](const data, encode::Native>& index) -> error_or{ + c.at(index) = at(index) / scal.at({}); + return make_void(); + }); + + return c; + } }; } -- cgit v1.2.3