diff options
Diffstat (limited to 'modules/codec/c++/math.hpp')
| -rw-r--r-- | modules/codec/c++/math.hpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/modules/codec/c++/math.hpp b/modules/codec/c++/math.hpp index d110b64..7524265 100644 --- a/modules/codec/c++/math.hpp +++ b/modules/codec/c++/math.hpp @@ -3,7 +3,16 @@ #include "data_math.hpp" namespace saw { +template<uint64_t D> +class iterator final { +public: + template<typename Func + void apply(Func&& func){ + /// TODO !!!! + } +}; namespace math { + /* template<typename T, typename Encoding = FORSTIO_DEFAULT_DATA_ENCODING> data<typename T::InnerType,Encoding> norm_2(const data<T,Encoding>& d){ @@ -149,5 +158,16 @@ data<schema::Vector<T,D>,Encoding> scale( } return sc_vec; } + +template<typename T, uint64_t... Ds, typename Encoding = FORSTIO_DEFAULT_DATA_ENCODING> +data<schema::Tensor<T,Ds...>, Encoding> fill( + const data<T,Encoding>& filler){ + data<schema::Tensor<T,Ds...>, Encoding> tbf; + + iterator<sizeof...(Ds)>::apply([&](const auto& index){ + tbf.at(index) = filler; + }, {}, {{Ds...}}); + return tbf; +} } } |
