#include <cml/mathlib/checking.h>
#include <cml/quaternion/quaternion_promotions.h>
Go to the source code of this file.
Classes | |
struct | cml::detail::SumOp< negative_cross, Real > |
struct | cml::detail::SumOp< positive_cross, Real > |
Namespaces | |
namespace | cml |
namespace | cml::detail |
Functions | |
template<class XprT1 , class XprT2 > | |
et::QuaternionPromote < typename XprT1::temporary_type, typename XprT2::temporary_type > ::temporary_type | cml::operator* (QUATXPR_ARG_TYPE_N(1) left, QUATXPR_ARG_TYPE_N(2) right) |
Declare mul taking two et::QuaternionXpr operands. | |
template<class XprT , typename E , class AT , class OT , class CT > | |
et::QuaternionPromote < typename XprT::temporary_type, typename quaternion< E, AT, OT, CT > ::temporary_type > ::temporary_type | cml::operator* (QUATXPR_ARG_TYPE left, const quaternion< E, AT, OT, CT > &right) |
Declare mul taking an et::QuaternionXpr and a quaternion. | |
template<typename E , class AT , class OT , class CT , class XprT > | |
et::QuaternionPromote < typename quaternion< E, AT, OT, CT >::temporary_type, typename XprT::temporary_type > ::temporary_type | cml::operator* (const quaternion< E, AT, OT, CT > &left, QUATXPR_ARG_TYPE right) |
Declare mul taking a quaternion and a et::QuaternionXpr. | |
template<typename E1 , class AT1 , typename E2 , class AT2 , class OT , class CT > | |
et::QuaternionPromote < typename quaternion< E1, AT1, OT, CT >::temporary_type, typename quaternion< E2, AT2, OT, CT >::temporary_type > ::temporary_type | cml::operator* (const quaternion< E1, AT1, OT, CT > &left, const quaternion< E2, AT2, OT, CT > &right) |
Declare mul taking two quaternion operands. | |
template<class Quat1_T , class Quat2_T > | |
et::QuaternionPromote < typename Quat1_T::temporary_type, typename Quat2_T::temporary_type > ::temporary_type | cml::detail::QuaternionMult (const Quat1_T &q1, const Quat2_T &q2) |
This uses the expression tree, since the result is closed-form and can be computed by index.
Definition in file quaternion_mul.h.