From de25df25afd15134e4c90ea7c53ae64f5aaee4d9 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Mon, 6 Oct 2025 10:48:40 +0200 Subject: Added helper to vectorize indices --- modules/codec/c++/math.hpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'modules') diff --git a/modules/codec/c++/math.hpp b/modules/codec/c++/math.hpp index 090005c..095c8ca 100644 --- a/modules/codec/c++/math.hpp +++ b/modules/codec/c++/math.hpp @@ -5,13 +5,13 @@ namespace saw { namespace math { /* -template +template data norm_2(const data& d){ return {}; } */ -template +template data, Encoding> dot(const data, Encoding>& left, const data, Encoding>& right){ data,Encoding> val; auto& inner = val({}); @@ -22,14 +22,14 @@ data, Encoding> dot(const data, Encoding>& return val; } -template +template data,Encoding> sqrt(const data,Encoding>& inp){ data,Encoding> out; out.at({}).set(std::sqrt(inp.at({}).get())); return out; } -template +template data, Encoding> normalize(const data>& input ) { auto inp_dot = dot(input,input); if(inp_dot.at({}).get() <= 0){ @@ -43,5 +43,15 @@ data, Encoding> normalize(const data>& i } return out; } + +template +data, Encoding> vectorize_data(const data>& dat){ + data,Encoding> vec_data; + for(uint64_t i{0u}; i < D; ++i){ + vec_data.at({{i}}) = dat.at({{i}}); + } + + return vec_data; +} } } -- cgit v1.2.3