#include <cml/core/cml_assert.h>
#include <cml/et/scalar_promotions.h>
#include <cml/et/size_checking.h>
#include <cml/vector/vector_unroller.h>
#include <cml/vector/vector_expr.h>
#include <cml/matrix/matrix_expr.h>
Go to the source code of this file.
Classes | |
struct | cml::detail::CrossPromote< LeftT, RightT > |
struct | cml::detail::DotPromote< LeftT, RightT > |
struct | cml::detail::OuterPromote< LeftT, RightT > |
Namespaces | |
namespace | cml |
namespace | cml::detail |
Functions | |
template<typename LeftT , typename RightT > | |
detail::CrossPromote< LeftT, RightT >::promoted_vector | cml::cross (const LeftT &left, const RightT &right) |
template<typename LeftT , typename RightT > | |
detail::DotPromote< LeftT, RightT >::promoted_scalar | cml::dot (const LeftT &left, const RightT &right) |
Vector dot (inner) product implementation. | |
template<typename LeftT , typename RightT > | |
detail::OuterPromote< LeftT, RightT >::promoted_matrix | cml::outer (const LeftT &left, const RightT &right) |
template<typename LeftT , typename RightT > | |
detail::DotPromote< LeftT, RightT >::promoted_scalar | cml::perp_dot (const LeftT &left, const RightT &right) |
perp_dot() | |
template<typename VecT > | |
void | cml::detail::Require2D (const VecT &v, dynamic_size_tag) |
For perp_dot(): run-time check for a 2D vector. | |
template<typename VecT > | |
void | cml::detail::Require2D (const VecT &v, fixed_size_tag) |
For perp_dot(): compile-time check for a 2D vector. | |
template<typename VecT > | |
void | cml::detail::Require3D (const VecT &v, dynamic_size_tag) |
For cross(): run-time check for a 3D vector. | |
template<typename VecT > | |
void | cml::detail::Require3D (const VecT &, fixed_size_tag) |
For cross(): compile-time check for a 3D vector. | |
template<class VecT_1 , class VecT_2 , class VecT_3 > | |
detail::DotPromote< VecT_1, typename detail::CrossPromote < VecT_2, VecT_3 > ::promoted_vector > ::promoted_scalar | cml::triple_product (const VecT_1 &v1, const VecT_2 &v2, const VecT_3 &v3) |
Return the triple product of three 3D vectors. | |
template<typename LeftT , typename RightT > | |
DotPromote< LeftT, RightT > ::promoted_scalar | cml::detail::UnrollDot (const LeftT &left, const RightT &right, dynamic_size_tag) |
Use a loop to compute the dot product for dynamic arrays. | |
template<typename LeftT , typename RightT > | |
DotPromote< LeftT, RightT > ::promoted_scalar | cml::detail::UnrollDot (const LeftT &left, const RightT &right, fixed_size_tag) |
Construct a dot unroller for fixed-size arrays. |
Definition in file vector_products.h.