From e9624b172bc5946a25847dc71f16f1a684892708 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Mon, 2 Mar 2026 17:28:48 +0100 Subject: Added rotation, scale and sqrt --- modules/codec/c++/math.hpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'modules/codec/c++/math.hpp') diff --git a/modules/codec/c++/math.hpp b/modules/codec/c++/math.hpp index a227b46..34c64c7 100644 --- a/modules/codec/c++/math.hpp +++ b/modules/codec/c++/math.hpp @@ -107,5 +107,47 @@ data,Encoding> cross( return cross_prod; } + +template +data,Encoding> cos( + const data,Encoding>& val +){ + data,Encoding> ret; + ret.at({}).set(std::cos(val.at({}).get())); + return ret; +} + +template +data,Encoding> sin( + const data,Encoding>& val +){ + data,Encoding> ret; + ret.at({}).set(std::sin(val.at({}).get())); + return ret; +} + + +template +data,Encoding> rotate( + const data, Encoding> vec, + const data, Encoding> rot +){ + data, Encoding> rot_vec; + rot_vec.at({{0u}}) = vec.at({{0u}}) * cos(rot); + rot_vec.at({{1u}}) = vec.at({{1u}}) * sin(rot); + return rot_vec; +} + +template +data,Encoding> scale( + const data, Encoding> vec, + const data, Encoding> scale +){ + data, Encoding> sc_vec; + for(uint64_t i = 0u; i< D; ++i){ + sc_vec.at({{i}}) = vec.at({{i}}) * scale; + } + return sc_vec; +} } } -- cgit v1.2.3