|
Mjolnir Core
Core functionality of the Mjolnir API
|
This submodule of the core module contains math functions and classes. More...
Functions | |
| template<Number T_Type> | |
| constexpr auto | cross_product (const std::array< T_Type, 3 > &lhs, const std::array< T_Type, 3 > &rhs) noexcept -> std::array< T_Type, 3 > |
| Calculate the cross product of two 3d-vectors. More... | |
| template<x86::FloatVectorRegister T_RegisterType> | |
| auto | cross_product (T_RegisterType lhs, T_RegisterType rhs) noexcept -> T_RegisterType |
| Calculate the cross product of two 3d-vectors. More... | |
| template<x86::FloatVectorRegister T_RegisterType> | |
| auto | determinant_2x2 (const std::array< T_RegisterType, 2 > &mat) noexcept -> x86::ElementType< T_RegisterType > |
| Calculate the determinant of a 2x2 matrix. More... | |
| template<Number T_Type> | |
| constexpr auto | determinant_2x2 (const std::array< T_Type, 4 > &mat) noexcept -> T_Type |
| Calculate the determinant of a 2x2 matrix. More... | |
| template<x86::FloatVectorRegister T_RegisterType> | |
| auto | determinant_3x3 (const std::array< T_RegisterType, 3 > &mat) noexcept -> x86::ElementType< T_RegisterType > |
| Calculate the determinant of a 3x3 matrix. More... | |
| template<Number T_Type> | |
| constexpr auto | determinant_3x3 (const std::array< T_Type, 9 > &mat) noexcept -> T_Type |
| Calculate the determinant of a 3x3 matrix. More... | |
| template<x86::FloatVectorRegister T_RegisterType> | |
| auto | determinant_4x4 (const std::array< T_RegisterType, 4 > &mat) noexcept -> x86::ElementType< T_RegisterType > |
| Calculate the determinant of a 4x4 matrix. More... | |
| template<Number T_Type> | |
| constexpr auto | determinant_4x4 (const std::array< T_Type, 16 > &mat) noexcept -> T_Type |
| Calculate the determinant of a 4x4 matrix. More... | |
| template<UST t_size, Number T_Type> | |
| constexpr auto | dot_product (const std::array< T_Type, t_size > &lhs, const std::array< T_Type, t_size > &rhs) noexcept -> T_Type |
| Calculate the dot product of 2 vectors. More... | |
| template<UST t_size, x86::FloatVectorRegister T_RegisterType> | |
| auto | dot_product (T_RegisterType lhs, T_RegisterType rhs) noexcept -> x86::ElementType< T_RegisterType > |
| Calculate the dot product of 2 vectors. More... | |
| template<std::integral T_Type> | |
| constexpr auto | gauss_summation (T_Type n) -> T_Type |
Calculate the sum of the first n positive numbers. More... | |
| template<std::integral T_Type> | |
| constexpr auto | is_power_of_2 (T_Type value) noexcept -> bool |
Return true if the passed value is a power of 2. More... | |
| template<Number T_Type> | |
| constexpr auto | power (T_Type base, std::integral auto exponent) noexcept -> T_Type |
| Calculate the power of a number using an integer based exponent. More... | |
| template<Number T_Type = UST> | |
| constexpr auto | power_of_2 (std::integral auto exponent) noexcept -> T_Type |
| Calculate the power of 2 using an integer based exponent. More... | |
| template<Number T_Type> | |
| constexpr auto | scalar_triple_product (const std::array< T_Type, 3 > &a, const std::array< T_Type, 3 > &b, const std::array< T_Type, 3 > &c) noexcept -> T_Type |
| Calculate the scalar triple product of 3 vectors. More... | |
| template<x86::FloatVectorRegister T_RegisterType> | |
| auto | scalar_triple_product (T_RegisterType a, T_RegisterType b, T_RegisterType c) noexcept -> x86::ElementType< T_RegisterType > |
| Calculate the scalar triple product of 3 vectors. More... | |
This submodule of the core module contains math functions and classes.