diff options
Diffstat (limited to 'modules/codec/c++/data_math.hpp')
-rw-r--r-- | modules/codec/c++/data_math.hpp | 11 |
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; + } }; } |