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.hpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/modules/codec/c++/data_math.hpp b/modules/codec/c++/data_math.hpp
index efdca7d..51657c7 100644
--- a/modules/codec/c++/data_math.hpp
+++ b/modules/codec/c++/data_math.hpp
@@ -120,6 +120,17 @@ public:
return c;
}
+
+ template<typename InnerChange>
+ data<schema::Tensor<InnerChange, Dims...>, encode::Native> cast_to(){
+ data<schema::Tensor<InnerChange, Dims...>, encode::Native> native_change;
+ rank_iterator<Dims...>::in_fixed_bounds([&](const data<schema::FixedArray<schema::UInt64, sizeof...(Dims)>, encode::Native>& index) -> error_or<void>{
+ native_change.at(index) = at(index).template cast_to<InnerChange>();
+ return make_void();
+ });
+
+ return inner_change;
+ }
};
}