From 396d56d14503e27bbda5238b6115c82b22f0b7c6 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Sat, 20 Dec 2025 18:36:16 +0100 Subject: Added cross products --- modules/codec/c++/math.hpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'modules/codec/c++/math.hpp') diff --git a/modules/codec/c++/math.hpp b/modules/codec/c++/math.hpp index a8bbba1..6e1ec8b 100644 --- a/modules/codec/c++/math.hpp +++ b/modules/codec/c++/math.hpp @@ -81,5 +81,31 @@ data, Encoding> multiply(const data, E return lr; } + +template +data, Encoding> cross( + const data, Encoding> lh, + const data, Encoding> rh +){ + data, Encoding> cross_prod; + + cross_prod.at({{0u}}) = lh.at({{1u}}) * rh.at({{2u}}) - lh.at({{2u}}) * rh.at({{1u}}); + cross_prod.at({{1u}}) = lh.at({{2u}}) * rh.at({{0u}}) - lh.at({{0u}}) * rh.at({{2u}}); + cross_prod.at({{2u}}) = lh.at({{0u}}) * rh.at({{1u}}) - lh.at({{1u}}) * rh.at({{0u}}); + + return cross_prod; +} + +template +data cross( + const data, Encoding> lh, + const data, Encoding> rh +){ + data cross_prod; + + cross_prod = lh.at({{0u}}) * rh.at({{1u}}) - lh.at({{1u}}) * rh.at({{0u}}); + + return cross_prod; +} } } -- cgit v1.2.3