summaryrefslogtreecommitdiff
path: root/modules/codec/c++/data_math.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/codec/c++/data_math.hpp')
-rw-r--r--modules/codec/c++/data_math.hpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/modules/codec/c++/data_math.hpp b/modules/codec/c++/data_math.hpp
index 48dae91..9d07eb3 100644
--- a/modules/codec/c++/data_math.hpp
+++ b/modules/codec/c++/data_math.hpp
@@ -131,6 +131,19 @@ public:
return c;
}
+ data<schema::Tensor<Inner, Dims...>, encode::Native> operator-() const {
+ data<schema::Tensor<Inner, Dims...>, encode::Native> c;
+
+ rank_iterator<Dims...>::in_fixed_bounds([&](const data<schema::FixedArray<schema::UInt64, sizeof...(Dims)>, encode::Native>& index) -> error_or<void>{
+ c.at(index) = -at(index);
+ return make_void();
+ });
+
+ return c;
+ }
+
+
+
template<typename InnerChange>
data<schema::Tensor<InnerChange, Dims...>, encode::Native> cast_to() const {
data<schema::Tensor<InnerChange, Dims...>, encode::Native> native_change;