Classes | |
struct | CrossPromote |
struct | determinant_f |
struct | determinant_f< MatT, 2 > |
struct | determinant_f< MatT, 3 > |
struct | determinant_f< MatT, 4 > |
struct | DotPromote |
struct | inverse_f |
struct | inverse_f< MatT, 2 > |
struct | inverse_f< MatT, 3 > |
struct | inverse_f< MatT, 4 > |
struct | nlerp_f< MatT_1, MatT_2, 2 > |
struct | nlerp_f< MatT_1, MatT_2, 3 > |
struct | OuterPromote |
struct | slerp_f< MatT_1, MatT_2, 2 > |
struct | slerp_f< MatT_1, MatT_2, 3 > |
struct | SumOp< negative_cross, Real > |
struct | SumOp< positive_cross, Real > |
struct | TypePromote3< T1, T2, T3, et::matrix_result_tag > |
struct | TypePromote3< T1, T2, T3, et::quaternion_result_tag > |
struct | TypePromote4< T1, T2, T3, T4, et::matrix_result_tag > |
struct | TypePromote4< T1, T2, T3, T4, et::quaternion_result_tag > |
struct | TypePromote< T, T, et::scalar_result_tag > |
struct | TypePromote< T1, T2, et::matrix_result_tag > |
struct | TypePromote< T1, T2, et::quaternion_result_tag > |
struct | TypePromote< T1, T2, et::scalar_result_tag > |
struct | TypePromote< T1, T2, et::vector_result_tag > |
Typedefs | |
typedef true_type | mul_Ax |
typedef false_type | mul_xA |
Functions | |
void | CheckIndex2 (size_t index) |
Check for a valid integer index with value < 2. | |
void | CheckIndex3 (size_t index) |
Check for a valid integer index with value < 3. | |
template<size_t N> | |
void | CheckIndexN (size_t index) |
Check for a valid integer index with value < N. | |
template<class MatT > | |
void | CheckMat (const MatT &) |
Compile-time check for a matrix argument. | |
template<class MatT > | |
void | CheckMat2x2 (const MatT &m) |
Check for a square matrix of size 2x2. | |
template<class MatT > | |
void | CheckMat3x3 (const MatT &m) |
Check for a square matrix of size 3x3. | |
template<class MatT > | |
void | CheckMat4x4 (const MatT &m) |
Check for a square matrix of size 4x4. | |
template<class MatT > | |
void | CheckMatAffine2D (const MatT &m) |
Check for a matrix that can represent a 2D affine transform. | |
template<class MatT > | |
void | CheckMatAffine2D (const MatT &m, col_basis) |
Check for a matrix that can represent a 2D col-basis affine transform. | |
template<class MatT > | |
void | CheckMatAffine2D (const MatT &m, row_basis) |
Check for a matrix that can represent a 2D row-basis affine transform. | |
template<class MatT > | |
void | CheckMatAffine3D (const MatT &m) |
Check for a matrix that can represent a 3D affine transform. | |
template<class MatT > | |
void | CheckMatAffine3D (const MatT &m, col_basis) |
Check for a matrix that can represent a 3D col-basis affine transform. | |
template<class MatT > | |
void | CheckMatAffine3D (const MatT &m, row_basis) |
Check for a matrix that can represent a 3D row-basis affine transform. | |
template<class MatT > | |
void | CheckMatHomogeneous3D (const MatT &m) |
Check for a matrix that can represent a 3D homogenous transform. | |
template<class MatT > | |
void | CheckMatLinear2D (const MatT &m) |
Check for a matrix that can represent a 2D linear transform. | |
template<class MatT > | |
void | CheckMatLinear3D (const MatT &m) |
Check for a matrix that can represent a 3D linear transform. | |
template<class MatT > | |
void | CheckMatMin2x2 (const MatT &m) |
Check for a matrix with minimum dimensions 2x2. | |
template<class MatT > | |
void | CheckMatMin3x3 (const MatT &m) |
Check for a matrix with minimum dimensions 3x3. | |
template<class MatT > | |
void | CheckMatMin4x4 (const MatT &m) |
Check for a matrix with minimum dimensions 4x4. | |
template<class MatT , size_t N, class ErrorT > | |
void | CheckMatMinN (const MatT &m) |
Check for a matrix with minimum dimensions NxN. | |
template<class MatT , size_t N, size_t M, class ErrorT > | |
void | CheckMatMinNxM (const MatT &m) |
Check for a matrix with minimum dimensions NxM. | |
template<class MatT , size_t N, size_t M, class > | |
void | CheckMatMinNxM (const MatT &m, dynamic_size_tag) |
Run-time check for a matrix with minimum dimensions NxM. | |
template<class MatT , size_t N, size_t M, class ErrorT > | |
void | CheckMatMinNxM (const MatT &m, fixed_size_tag) |
Compile-time check for a matrix with minimum dimensions NxM. | |
template<class MatT , size_t N, class ErrorT > | |
void | CheckMatN (const MatT &m) |
Check for a square matrix of size NxN. | |
template<class MatT , size_t N, size_t M, class ErrorT > | |
void | CheckMatNxM (const MatT &m) |
Check for a matrix of size NxM. | |
template<class MatT , size_t N, size_t M, class > | |
void | CheckMatNxM (const MatT &m, dynamic_size_tag) |
Run-time check for a matrix of size NxM. | |
template<class MatT , size_t N, size_t M, class ErrorT > | |
void | CheckMatNxM (const MatT &m, fixed_size_tag) |
Compile-time check for a matrix of size NxM. | |
template<class MatT > | |
void | CheckMatSquare (const MatT &m) |
Check for a square matrix. | |
template<class MatT , class > | |
void | CheckMatSquare (const MatT &m, dynamic_size_tag) |
Run-time check for a square matrix. | |
template<class MatT , class ErrorT > | |
void | CheckMatSquare (const MatT &m, fixed_size_tag) |
Compile-time check for a square matrix. | |
template<class QuatT > | |
void | CheckQuat (const QuatT &) |
Compile-time check for a quaternion argument. | |
void | CheckValidArg (bool valid) |
Run-time check for a valid argument. | |
template<class VecT > | |
void | CheckVec (const VecT &) |
Compile-time check for a vector argument. | |
template<class VecT > | |
void | CheckVec2 (const VecT &v) |
Check for a vector of size 2. | |
template<class VecT > | |
void | CheckVec2Or3 (const VecT &v) |
Check for a vector of size 2 or 3. | |
template<class VecT > | |
void | CheckVec2Or3 (const VecT &v, dynamic_size_tag) |
Run-time check for a vector of size 2 or 3. | |
template<class VecT > | |
void | CheckVec2Or3 (const VecT &v, fixed_size_tag) |
Compile-time check for a vector of size 2 or 3. | |
template<class VecT > | |
void | CheckVec3 (const VecT &v) |
Check for a vector of size 3. | |
template<class VecT > | |
void | CheckVec4 (const VecT &v) |
Check for a vector of size 4. | |
template<class VecT , size_t N, class ErrorT > | |
void | CheckVecN (const VecT &v) |
Check for a vector of size N. | |
template<class VecT , size_t N, class > | |
void | CheckVecN (const VecT &v, dynamic_size_tag) |
Run-time check for a vector of size N. | |
template<class VecT , size_t N, class ErrorT > | |
void | CheckVecN (const VecT &v, fixed_size_tag) |
Compile-time check for a vector of size N. | |
template<class MatT , typename Real > | |
void | depth_range_from_viewport_matrix (const MatT &viewport, Real &n, Real &f) |
template<typename MatT > | |
MatT::value_type | determinant (const MatT &M, dynamic_size_tag) |
template<typename MatT > | |
MatT::value_type | determinant (const MatT &M, fixed_size_tag) |
template<typename E > | |
void | divide_by_w (vector< E, fixed< 4 > > &v) |
template<typename E , class A , class B , class L , class MatT > | |
void | InterpResize (matrix< E, A, B, L > &m, const MatT &target, dynamic_size_tag) |
template<typename E , class A , class VecT > | |
void | InterpResize (vector< E, A > &v, const VecT &target, dynamic_size_tag) |
template<class T1 , class T2 , class SizeTag > | |
void | InterpResize (T1 &t1, const T2 &t2, SizeTag) |
template<typename Real > | |
vector< Real, fixed< 3 > > | intersect_planes (Real p1[4], Real p2[4], Real p3[4]) |
template<typename MatT > | |
MatT::temporary_type | inverse (const MatT &M, dynamic_size_tag) |
template<typename MatT > | |
MatT::temporary_type | inverse (const MatT &M, fixed_size_tag) |
template<class MatT > | |
MatT::temporary_type | lu_copy (const MatT &M) |
template<class MatT > | |
void | lu_inplace (MatT &A) |
template<typename LeftT , typename RightT > | |
matrix_size | MatMulCheckedSize (const LeftT &left, const RightT &right, dynamic_size_tag) |
Verify the sizes of the argument matrices for matrix multiplication. | |
template<typename LeftT , typename RightT > | |
matrix_size | MatMulCheckedSize (const LeftT &, const RightT &, fixed_size_tag) |
Verify the sizes of the argument matrices for matrix multiplication. | |
template<class MatT_1 , class MatT_2 > | |
MAT_TEMP_3X3 | matrix_concat_rotations (const MatT_1 &m1, const MatT_2 &m2) |
Concatenate two 3D rotation matrices in the order m1->m2. | |
template<class MatT_1 , class MatT_2 > | |
MAT_TEMP_3X3 | matrix_concat_rotations (const MatT_1 &m1, const MatT_2 &m2, col_basis) |
Concatenate two 3D col-basis rotation matrices in the order m1->m2. | |
template<class MatT_1 , class MatT_2 > | |
MAT_TEMP_3X3 | matrix_concat_rotations (const MatT_1 &m1, const MatT_2 &m2, row_basis) |
Concatenate two 3D row-basis rotation matrices in the order m1->m2. | |
template<class MatT_1 , class MatT_2 > | |
MAT_TEMP_2X2 | matrix_concat_rotations_2D (const MatT_1 &m1, const MatT_2 &m2) |
Concatenate two 2D rotation matrices in the order m1->m2. | |
template<class MatT_1 , class MatT_2 > | |
MAT_TEMP_2X2 | matrix_concat_rotations_2D (const MatT_1 &m1, const MatT_2 &m2, col_basis) |
Concatenate two 2D col-basis rotation matrices in the order m1->m2. | |
template<class MatT_1 , class MatT_2 > | |
MAT_TEMP_2X2 | matrix_concat_rotations_2D (const MatT_1 &m1, const MatT_2 &m2, row_basis) |
Concatenate two 2D row-basis rotation matrices in the order m1->m2. | |
template<class MatT_1 , class MatT_2 > | |
MAT_TEMP_4X4 | matrix_concat_transforms_4x4 (const MatT_1 &m1, const MatT_2 &m2) |
Concatenate two 3D rotation matrices in the order m1->m2. | |
template<class MatT_1 , class MatT_2 > | |
MAT_TEMP_4X4 | matrix_concat_transforms_4x4 (const MatT_1 &m1, const MatT_2 &m2, col_basis) |
Concatenate two 3D col-basis rotation matrices in the order m1->m2. | |
template<class MatT_1 , class MatT_2 > | |
MAT_TEMP_4X4 | matrix_concat_transforms_4x4 (const MatT_1 &m1, const MatT_2 &m2, row_basis) |
template<typename LeftT , typename RightT , typename OpT > | |
bool | matrix_total_order (const LeftT &left, const RightT &right, OpT) |
Matrix total order relationship. | |
template<typename LeftT , typename RightT , typename OpT > | |
bool | matrix_weak_order (const LeftT &left, const RightT &right, OpT) |
Matrix strict weak ordering relationship. | |
template<typename LeftT , typename RightT > | |
et::MatVecPromote< typename et::ExprTraits< LeftT > ::result_type, typename et::ExprTraits< RightT > ::result_type > ::temporary_type | mul (const LeftT &x, const RightT &A, mul_xA) |
Compute y = x*A. | |
template<typename LeftT , typename RightT > | |
et::MatVecPromote< typename et::ExprTraits< LeftT > ::result_type, typename et::ExprTraits< RightT > ::result_type > ::temporary_type | mul (const LeftT &A, const RightT &x, mul_Ax) |
Compute y = A*x. | |
template<class LeftT , class RightT > | |
et::MatrixPromote< typename et::ExprTraits< LeftT > ::result_type, typename et::ExprTraits< RightT > ::result_type > ::temporary_type | mul (const LeftT &left, const RightT &right) |
Matrix multiplication. | |
template<class MatT_1 , class MatT_2 , typename Real > | |
detail::TypePromote< MatT_1, MatT_2, typename et::ExprTraits< MatT_1 > ::result_tag >::temporary_type | nlerp (const MatT_1 &m1, const MatT_2 &m2, Real t, et::matrix_result_tag, dynamic_size_tag) |
template<class MatT_1 , class MatT_2 , typename Real > | |
detail::TypePromote< MatT_1, MatT_2, typename et::ExprTraits< MatT_1 > ::result_tag >::temporary_type | nlerp (const MatT_1 &m1, const MatT_2 &m2, Real t, et::matrix_result_tag, fixed_size_tag) |
template<class QuatT_1 , class QuatT_2 , typename Real , class SizeT > | |
detail::TypePromote< QuatT_1, QuatT_2, typename et::ExprTraits< QuatT_1 > ::result_tag >::temporary_type | nlerp (const QuatT_1 &q1, const QuatT_2 &q2, Real t, et::quaternion_result_tag, SizeT) |
template<class VecT_1 , class VecT_2 , typename Real , class SizeT > | |
detail::TypePromote< VecT_1, VecT_2, typename et::ExprTraits< VecT_1 > ::result_tag >::temporary_type | nlerp (const VecT_1 &v1, const VecT_2 &v2, Real t, et::vector_result_tag, SizeT) |
AxisOrder | pack_axis_order (size_t i, bool odd) |
template<class LeftT , class RightT > | |
detail::DotPromote< LeftT, RightT >::promoted_scalar | quaternion_dot (const LeftT &p, const RightT &q) |
template<class QuatT_1 , class QuatT_2 > | |
et::QuaternionPromote2 < QuatT_1, QuatT_2 > ::temporary_type | quaternion_rotation_difference (const QuatT_1 &q1, const QuatT_2 &q2, negative_cross) |
Concatenate two quaternions in the order q1->q2. | |
template<class QuatT_1 , class QuatT_2 > | |
et::QuaternionPromote2 < QuatT_1, QuatT_2 > ::temporary_type | quaternion_rotation_difference (const QuatT_1 &q1, const QuatT_2 &q2, positive_cross) |
Concatenate two quaternions in the order q1->q2. | |
template<typename LeftT , typename RightT , typename OpT > | |
bool | quaternion_total_order (const LeftT &left, const RightT &right, OpT) |
Quaternion total order relationship. | |
template<typename LeftT , typename RightT , typename OpT > | |
bool | quaternion_weak_order (const LeftT &left, const RightT &right, OpT) |
Quaternion strict weak ordering relationship. | |
template<class Quat1_T , class Quat2_T > | |
et::QuaternionPromote < typename Quat1_T::temporary_type, typename Quat2_T::temporary_type > ::temporary_type | QuaternionMult (const Quat1_T &q1, const Quat2_T &q2) |
template<typename VecT > | |
void | Require2D (const VecT &v, dynamic_size_tag) |
For perp_dot(): run-time check for a 2D vector. | |
template<typename VecT > | |
void | Require2D (const VecT &v, fixed_size_tag) |
For perp_dot(): compile-time check for a 2D vector. | |
template<typename VecT > | |
void | Require3D (const VecT &v, dynamic_size_tag) |
For cross(): run-time check for a 3D vector. | |
template<typename VecT > | |
void | Require3D (const VecT &, fixed_size_tag) |
For cross(): compile-time check for a 3D vector. | |
template<class MatT_1 , class MatT_2 , typename Real > | |
detail::TypePromote< MatT_1, MatT_2, typename et::ExprTraits< MatT_1 > ::result_tag >::temporary_type | slerp (const MatT_1 &m1, const MatT_2 &m2, Real t, Real tolerance, et::matrix_result_tag, dynamic_size_tag) |
template<class MatT_1 , class MatT_2 , typename Real > | |
detail::TypePromote< MatT_1, MatT_2, typename et::ExprTraits< MatT_1 > ::result_tag >::temporary_type | slerp (const MatT_1 &m1, const MatT_2 &m2, Real t, Real tolerance, et::matrix_result_tag, fixed_size_tag) |
template<class QuatT_1 , class QuatT_2 , typename Real , class SizeT > | |
detail::TypePromote< QuatT_1, QuatT_2, typename et::ExprTraits< QuatT_1 > ::result_tag >::temporary_type | slerp (const QuatT_1 &q1, const QuatT_2 &q2, Real t, Real tolerance, et::quaternion_result_tag, SizeT) |
template<class VecT_1 , class VecT_2 , typename Real , class SizeT > | |
detail::TypePromote< VecT_1, VecT_2, typename et::ExprTraits< VecT_1 > ::result_tag >::temporary_type | slerp (const VecT_1 &v1, const VecT_2 &v2, Real t, Real tolerance, et::vector_result_tag, SizeT) |
AxisOrder | swap_axis_order (AxisOrder order) |
template<class MatT , class VecT > | |
TEMP_VEC4 | transform_vector_4D (const MatT &m, const VecT &v, col_basis) |
template<class MatT , class VecT > | |
TEMP_VEC4 | transform_vector_4D (const MatT &m, const VecT &v, row_basis) |
void | unpack_axis_order (AxisOrder order, size_t &i, size_t &j, size_t &k, bool &odd) |
void | unpack_axis_order_2D (AxisOrder2D order, size_t &i, size_t &j, bool &odd) |
void | unpack_euler_order (EulerOrder order, size_t &i, size_t &j, size_t &k, bool &odd, bool &repeat) |
template<typename LeftT , typename RightT > | |
DotPromote< LeftT, RightT > ::promoted_scalar | 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 | UnrollDot (const LeftT &left, const RightT &right, fixed_size_tag) |
Construct a dot unroller for fixed-size arrays. | |
template<typename LeftT , typename RightT , typename OpT > | |
bool | vector_total_order (const LeftT &left, const RightT &right, OpT) |
Vector total order relationship. | |
template<typename LeftT , typename RightT , typename OpT > | |
bool | vector_weak_order (const LeftT &left, const RightT &right, OpT) |
Vector strict weak ordering relationship. |
typedef true_type cml::detail::mul_Ax |
Definition at line 41 of file matvec_mul.h.
typedef false_type cml::detail::mul_xA |
Definition at line 42 of file matvec_mul.h.
void cml::detail::CheckIndex2 | ( | size_t | index | ) | [inline] |
Check for a valid integer index with value < 2.
Definition at line 370 of file checking.h.
Referenced by cml::matrix_get_basis_vector_2D(), cml::matrix_get_transposed_basis_vector_2D(), cml::matrix_ortho_project_2D(), cml::matrix_reflect_2D(), cml::matrix_set_basis_vector_2D(), cml::matrix_set_transposed_basis_vector_2D(), cml::matrix_shear_2D(), and cml::orthonormalize().
void cml::detail::CheckIndex3 | ( | size_t | index | ) | [inline] |
Check for a valid integer index with value < 3.
Definition at line 375 of file checking.h.
Referenced by cml::cartesian_to_cylindrical(), cml::cartesian_to_spherical(), cml::cross_cardinal(), cml::cylindrical_to_cartesian(), cml::matrix_get_basis_vector(), cml::matrix_get_transposed_basis_vector(), cml::matrix_ortho_project(), cml::matrix_reflect(), cml::matrix_rotate_about_local_axis(), cml::matrix_rotate_about_world_axis(), cml::matrix_rotation_world_axis(), cml::matrix_set_basis_vector(), cml::matrix_set_transposed_basis_vector(), cml::matrix_shear(), cml::orthonormalize(), cml::quaternion_get_basis_vector(), cml::quaternion_rotate_about_local_axis(), cml::quaternion_rotate_about_world_axis(), cml::quaternion_rotation_world_axis(), and cml::spherical_to_cartesian().
void cml::detail::CheckIndexN | ( | size_t | index | ) | [inline] |
Check for a valid integer index with value < N.
Definition at line 365 of file checking.h.
References CheckValidArg().
void cml::detail::CheckMat | ( | const MatT & | ) | [inline] |
Compile-time check for a matrix argument.
Definition at line 135 of file checking.h.
References CML_STATIC_REQUIRE_M.
Referenced by CheckMatMinNxM(), CheckMatNxM(), and CheckMatSquare().
void cml::detail::CheckMat2x2 | ( | const MatT & | m | ) | [inline] |
void cml::detail::CheckMat3x3 | ( | const MatT & | m | ) | [inline] |
void cml::detail::CheckMat4x4 | ( | const MatT & | m | ) | [inline] |
void cml::detail::CheckMatAffine2D | ( | const MatT & | m | ) | [inline] |
Check for a matrix that can represent a 2D affine transform.
Definition at line 295 of file checking.h.
References CheckMatAffine2D().
void cml::detail::CheckMatAffine2D | ( | const MatT & | m, | |
col_basis | ||||
) | [inline] |
Check for a matrix that can represent a 2D col-basis affine transform.
Definition at line 283 of file checking.h.
void cml::detail::CheckMatAffine2D | ( | const MatT & | m, | |
row_basis | ||||
) | [inline] |
Check for a matrix that can represent a 2D row-basis affine transform.
Definition at line 277 of file checking.h.
Referenced by CheckMatAffine2D(), cml::matrix_decompose_SRT_2D(), cml::matrix_get_translation_2D(), cml::matrix_set_translation_2D(), and cml::transform_point_2D().
void cml::detail::CheckMatAffine3D | ( | const MatT & | m | ) | [inline] |
Check for a matrix that can represent a 3D affine transform.
Definition at line 289 of file checking.h.
References CheckMatAffine3D().
void cml::detail::CheckMatAffine3D | ( | const MatT & | m, | |
col_basis | ||||
) | [inline] |
Check for a matrix that can represent a 3D col-basis affine transform.
Definition at line 271 of file checking.h.
void cml::detail::CheckMatAffine3D | ( | const MatT & | m, | |
row_basis | ||||
) | [inline] |
Check for a matrix that can represent a 3D row-basis affine transform.
Definition at line 265 of file checking.h.
Referenced by CheckMatAffine3D(), cml::matrix_decompose_SRT(), cml::matrix_get_translation(), cml::matrix_look_at(), cml::matrix_set_translation(), and cml::transform_point().
void cml::detail::CheckMatHomogeneous3D | ( | const MatT & | m | ) | [inline] |
Check for a matrix that can represent a 3D homogenous transform.
Definition at line 301 of file checking.h.
References CheckMatMin4x4().
Referenced by depth_range_from_viewport_matrix(), cml::extract_frustum_planes(), cml::matrix_orthographic(), cml::matrix_perspective(), and cml::matrix_pick().
void cml::detail::CheckMatLinear2D | ( | const MatT & | m | ) | [inline] |
Check for a matrix that can represent a 2D linear transform.
Definition at line 259 of file checking.h.
References CheckMatMin2x2().
Referenced by cml::matrix_decompose_SRT_2D(), cml::matrix_get_basis_vector_2D(), cml::matrix_get_transposed_basis_vector_2D(), cml::matrix_linear_transform_2D(), cml::matrix_ortho_project_2D(), cml::matrix_reflect_2D(), cml::matrix_rotate_2D(), cml::matrix_rotation_2D(), cml::matrix_scale_2D(), cml::matrix_set_basis_vector_2D(), cml::matrix_set_transposed_basis_vector_2D(), cml::matrix_shear_2D(), cml::matrix_to_rotation_2D(), and cml::transform_vector_2D().
void cml::detail::CheckMatLinear3D | ( | const MatT & | m | ) | [inline] |
Check for a matrix that can represent a 3D linear transform.
Definition at line 253 of file checking.h.
References CheckMatMin3x3().
Referenced by cml::matrix_decompose_SRT(), cml::matrix_get_basis_vector(), cml::matrix_get_transposed_basis_vector(), cml::matrix_linear_transform(), cml::matrix_ortho_project(), cml::matrix_reflect(), cml::matrix_rotate_about_local_axis(), cml::matrix_rotate_about_world_axis(), cml::matrix_rotation_axis_angle(), cml::matrix_rotation_euler(), cml::matrix_rotation_euler_derivatives(), cml::matrix_rotation_quaternion(), cml::matrix_rotation_world_axis(), cml::matrix_scale(), cml::matrix_set_basis_vector(), cml::matrix_set_transposed_basis_vector(), cml::matrix_shear(), cml::matrix_to_axis_angle(), cml::matrix_to_euler(), cml::quaternion_rotation_matrix(), and cml::transform_vector().
void cml::detail::CheckMatMin2x2 | ( | const MatT & | m | ) | [inline] |
Check for a matrix with minimum dimensions 2x2.
Definition at line 235 of file checking.h.
Referenced by CheckMatLinear2D(), cml::matrix_skew_symmetric_2D(), and cml::trace_2x2().
void cml::detail::CheckMatMin3x3 | ( | const MatT & | m | ) | [inline] |
Check for a matrix with minimum dimensions 3x3.
Definition at line 241 of file checking.h.
Referenced by CheckMatLinear3D(), cml::matrix_skew_symmetric(), and cml::trace_3x3().
void cml::detail::CheckMatMin4x4 | ( | const MatT & | m | ) | [inline] |
Check for a matrix with minimum dimensions 4x4.
Definition at line 247 of file checking.h.
Referenced by CheckMatHomogeneous3D().
void cml::detail::CheckMatMinN | ( | const MatT & | m | ) | [inline] |
void cml::detail::CheckMatMinNxM | ( | const MatT & | m | ) | [inline] |
void cml::detail::CheckMatMinNxM | ( | const MatT & | m, | |
dynamic_size_tag | ||||
) | [inline] |
Run-time check for a matrix with minimum dimensions NxM.
Definition at line 209 of file checking.h.
References CheckMat().
void cml::detail::CheckMatMinNxM | ( | const MatT & | m, | |
fixed_size_tag | ||||
) | [inline] |
Compile-time check for a matrix with minimum dimensions NxM.
Definition at line 200 of file checking.h.
References CheckMat(), and CML_STATIC_REQUIRE_M.
void cml::detail::CheckMatN | ( | const MatT & | m | ) | [inline] |
void cml::detail::CheckMatNxM | ( | const MatT & | m | ) | [inline] |
void cml::detail::CheckMatNxM | ( | const MatT & | m, | |
dynamic_size_tag | ||||
) | [inline] |
Run-time check for a matrix of size NxM.
Definition at line 156 of file checking.h.
References CheckMat().
void cml::detail::CheckMatNxM | ( | const MatT & | m, | |
fixed_size_tag | ||||
) | [inline] |
Compile-time check for a matrix of size NxM.
Definition at line 147 of file checking.h.
References CheckMat(), and CML_STATIC_REQUIRE_M.
void cml::detail::CheckMatSquare | ( | const MatT & | m | ) | [inline] |
Check for a square matrix.
Definition at line 327 of file checking.h.
References CheckMatSquare().
void cml::detail::CheckMatSquare | ( | const MatT & | m, | |
dynamic_size_tag | ||||
) | [inline] |
Run-time check for a square matrix.
Definition at line 316 of file checking.h.
References CheckMat().
void cml::detail::CheckMatSquare | ( | const MatT & | m, | |
fixed_size_tag | ||||
) | [inline] |
Compile-time check for a square matrix.
Definition at line 307 of file checking.h.
References CheckMat(), and CML_STATIC_REQUIRE_M.
Referenced by CheckMatSquare(), and cml::trace().
void cml::detail::CheckQuat | ( | const QuatT & | ) | [inline] |
Compile-time check for a quaternion argument.
Definition at line 341 of file checking.h.
References CML_STATIC_REQUIRE_M.
Referenced by cml::exp(), cml::log(), cml::matrix_rotation_quaternion(), cml::quaternion_get_basis_vector(), cml::quaternion_to_axis_angle(), and QuaternionMult().
void cml::detail::CheckValidArg | ( | bool | valid | ) | [inline] |
Run-time check for a valid argument.
Definition at line 356 of file checking.h.
Referenced by cml::axis(), and CheckIndexN().
void cml::detail::CheckVec | ( | const VecT & | ) | [inline] |
Compile-time check for a vector argument.
Definition at line 46 of file checking.h.
References CML_STATIC_REQUIRE_M.
Referenced by CheckVec2Or3(), and CheckVecN().
void cml::detail::CheckVec2 | ( | const VecT & | v | ) | [inline] |
Check for a vector of size 2.
Definition at line 84 of file checking.h.
Referenced by cml::cartesian_to_polar(), cml::matrix_scale_2D(), cml::matrix_scale_along_axis_2D(), cml::matrix_set_basis_vector_2D(), cml::matrix_set_translation_2D(), cml::matrix_set_transposed_basis_vector_2D(), cml::orthonormalize(), cml::perp(), cml::rotate_vector_2D(), cml::transform_point_2D(), and cml::transform_vector_2D().
void cml::detail::CheckVec2Or3 | ( | const VecT & | v | ) | [inline] |
Check for a vector of size 2 or 3.
Definition at line 122 of file checking.h.
References CheckVec2Or3().
void cml::detail::CheckVec2Or3 | ( | const VecT & | v, | |
dynamic_size_tag | ||||
) | [inline] |
Run-time check for a vector of size 2 or 3.
Definition at line 112 of file checking.h.
References CheckVec().
void cml::detail::CheckVec2Or3 | ( | const VecT & | v, | |
fixed_size_tag | ||||
) | [inline] |
Compile-time check for a vector of size 2 or 3.
Definition at line 102 of file checking.h.
References CheckVec(), and CML_STATIC_REQUIRE_M.
Referenced by CheckVec2Or3(), and cml::matrix_set_translation().
void cml::detail::CheckVec3 | ( | const VecT & | v | ) | [inline] |
Check for a vector of size 3.
Definition at line 90 of file checking.h.
Referenced by cml::cartesian_to_cylindrical(), cml::cartesian_to_spherical(), cml::cross_cardinal(), cml::cylindrical_to_cartesian(), cml::matrix_rotation_axis_angle(), cml::matrix_scale(), cml::matrix_scale_along_axis(), cml::matrix_set_basis_vector(), cml::matrix_set_transposed_basis_vector(), cml::matrix_skew_symmetric(), cml::orthonormal_basis(), cml::orthonormalize(), cml::project_point(), cml::quaternion_rotation_axis_angle(), cml::rotate_vector(), cml::spherical_to_cartesian(), cml::transform_point(), cml::transform_vector(), and cml::unproject_point().
void cml::detail::CheckVec4 | ( | const VecT & | v | ) | [inline] |
void cml::detail::CheckVecN | ( | const VecT & | v | ) | [inline] |
void cml::detail::CheckVecN | ( | const VecT & | v, | |
dynamic_size_tag | ||||
) | [inline] |
Run-time check for a vector of size N.
Definition at line 66 of file checking.h.
References CheckVec().
void cml::detail::CheckVecN | ( | const VecT & | v, | |
fixed_size_tag | ||||
) | [inline] |
Compile-time check for a vector of size N.
Definition at line 58 of file checking.h.
References CheckVec(), and CML_STATIC_REQUIRE_M.
void cml::detail::depth_range_from_viewport_matrix | ( | const MatT & | viewport, | |
Real & | n, | |||
Real & | f | |||
) | [inline] |
Definition at line 32 of file picking.h.
References CheckMatHomogeneous3D().
Referenced by cml::make_pick_ray().
MatT::value_type cml::detail::determinant | ( | const MatT & | M, | |
dynamic_size_tag | ||||
) | [inline] |
Definition at line 155 of file determinant.h.
References cml::et::CheckedSquare().
MatT::value_type cml::detail::determinant | ( | const MatT & | M, | |
fixed_size_tag | ||||
) | [inline] |
Definition at line 146 of file determinant.h.
References cml::et::CheckedSquare().
Referenced by cml::determinant().
void cml::detail::divide_by_w | ( | vector< E, fixed< 4 > > & | v | ) | [inline] |
Definition at line 26 of file projection.h.
Referenced by cml::project_point(), and cml::unproject_point().
void cml::detail::InterpResize | ( | matrix< E, A, B, L > & | m, | |
const MatT & | target, | |||
dynamic_size_tag | ||||
) | [inline] |
Definition at line 225 of file interpolation.h.
void cml::detail::InterpResize | ( | vector< E, A > & | v, | |
const VecT & | target, | |||
dynamic_size_tag | ||||
) | [inline] |
Definition at line 220 of file interpolation.h.
void cml::detail::InterpResize | ( | T1 & | t1, | |
const T2 & | t2, | |||
SizeTag | ||||
) | [inline] |
Definition at line 215 of file interpolation.h.
Referenced by cml::bilerp(), cml::lerp(), cml::nlerp(), nlerp(), cml::slerp(), slerp(), and cml::trilerp().
vector< Real, fixed<3> > cml::detail::intersect_planes | ( | Real | p1[4], | |
Real | p2[4], | |||
Real | p3[4] | |||
) | [inline] |
Definition at line 166 of file frustum.h.
References cml::cross(), and cml::triple_product().
Referenced by cml::get_frustum_corners().
MatT::temporary_type cml::detail::inverse | ( | const MatT & | M, | |
dynamic_size_tag | ||||
) | [inline] |
Definition at line 396 of file inverse.h.
References cml::et::CheckedSquare().
MatT::temporary_type cml::detail::inverse | ( | const MatT & | M, | |
fixed_size_tag | ||||
) | [inline] |
Definition at line 378 of file inverse.h.
References cml::et::CheckedSquare().
Referenced by cml::inverse().
MatT::temporary_type cml::detail::lu_copy | ( | const MatT & | M | ) | [inline] |
Definition at line 82 of file lu.h.
References CML_STATIC_REQUIRE_M, lu_inplace(), and cml::et::detail::Resize().
Referenced by cml::lu().
void cml::detail::lu_inplace | ( | MatT & | A | ) | [inline] |
Definition at line 46 of file lu.h.
References cml::et::CheckedSquare(), and CML_STATIC_REQUIRE_M.
Referenced by lu_copy().
matrix_size cml::detail::MatMulCheckedSize | ( | const LeftT & | left, | |
const RightT & | right, | |||
dynamic_size_tag | ||||
) | [inline] |
Verify the sizes of the argument matrices for matrix multiplication.
Definition at line 58 of file matrix_mul.h.
matrix_size cml::detail::MatMulCheckedSize | ( | const LeftT & | , | |
const RightT & | , | |||
fixed_size_tag | ||||
) | [inline] |
Verify the sizes of the argument matrices for matrix multiplication.
Definition at line 45 of file matrix_mul.h.
References CML_STATIC_REQUIRE_M.
Referenced by mul().
MAT_TEMP_3X3 cml::detail::matrix_concat_rotations | ( | const MatT_1 & | m1, | |
const MatT_2 & | m2 | |||
) | [inline] |
Concatenate two 3D rotation matrices in the order m1->m2.
Definition at line 761 of file matrix_rotation.h.
References matrix_concat_rotations().
MAT_TEMP_3X3 cml::detail::matrix_concat_rotations | ( | const MatT_1 & | m1, | |
const MatT_2 & | m2, | |||
col_basis | ||||
) | [inline] |
Concatenate two 3D col-basis rotation matrices in the order m1->m2.
Definition at line 755 of file matrix_rotation.h.
MAT_TEMP_3X3 cml::detail::matrix_concat_rotations | ( | const MatT_1 & | m1, | |
const MatT_2 & | m2, | |||
row_basis | ||||
) | [inline] |
Concatenate two 3D row-basis rotation matrices in the order m1->m2.
Definition at line 749 of file matrix_rotation.h.
Referenced by matrix_concat_rotations(), cml::matrix_rotation_difference(), cml::matrix_slerp(), and cml::detail::slerp_f< MatT_1, MatT_2, 3 >::operator()().
MAT_TEMP_2X2 cml::detail::matrix_concat_rotations_2D | ( | const MatT_1 & | m1, | |
const MatT_2 & | m2 | |||
) | [inline] |
Concatenate two 2D rotation matrices in the order m1->m2.
Definition at line 779 of file matrix_rotation.h.
References matrix_concat_rotations_2D().
MAT_TEMP_2X2 cml::detail::matrix_concat_rotations_2D | ( | const MatT_1 & | m1, | |
const MatT_2 & | m2, | |||
col_basis | ||||
) | [inline] |
Concatenate two 2D col-basis rotation matrices in the order m1->m2.
Definition at line 773 of file matrix_rotation.h.
MAT_TEMP_2X2 cml::detail::matrix_concat_rotations_2D | ( | const MatT_1 & | m1, | |
const MatT_2 & | m2, | |||
row_basis | ||||
) | [inline] |
Concatenate two 2D row-basis rotation matrices in the order m1->m2.
Definition at line 767 of file matrix_rotation.h.
Referenced by matrix_concat_rotations_2D(), cml::matrix_rotation_difference_2D(), cml::matrix_slerp_2D(), and cml::detail::slerp_f< MatT_1, MatT_2, 2 >::operator()().
MAT_TEMP_4X4 cml::detail::matrix_concat_transforms_4x4 | ( | const MatT_1 & | m1, | |
const MatT_2 & | m2 | |||
) | [inline] |
Concatenate two 3D rotation matrices in the order m1->m2.
Definition at line 53 of file matrix_concat.h.
References matrix_concat_transforms_4x4().
MAT_TEMP_4X4 cml::detail::matrix_concat_transforms_4x4 | ( | const MatT_1 & | m1, | |
const MatT_2 & | m2, | |||
col_basis | ||||
) | [inline] |
Concatenate two 3D col-basis rotation matrices in the order m1->m2.
Definition at line 47 of file matrix_concat.h.
MAT_TEMP_4X4 cml::detail::matrix_concat_transforms_4x4 | ( | const MatT_1 & | m1, | |
const MatT_2 & | m2, | |||
row_basis | ||||
) | [inline] |
Definition at line 41 of file matrix_concat.h.
Referenced by cml::extract_frustum_planes(), cml::make_pick_volume(), matrix_concat_transforms_4x4(), cml::project_point(), and cml::unproject_point().
bool cml::detail::matrix_total_order | ( | const LeftT & | left, | |
const RightT & | right, | |||
OpT | ||||
) | [inline] |
Matrix total order relationship.
OpT must implement a total order on the matrix element type. operator<= and operator>= on integer and floating-point types are examples.
Definition at line 147 of file matrix_comparison.h.
References cml::et::CheckedSize(), and CML_STATIC_REQUIRE_M.
bool cml::detail::matrix_weak_order | ( | const LeftT & | left, | |
const RightT & | right, | |||
OpT | ||||
) | [inline] |
Matrix strict weak ordering relationship.
OpT must implement a strict weak order on the matrix element type. operator< and operator> on integer and floating-point types are examples.
Definition at line 87 of file matrix_comparison.h.
References cml::et::CheckedSize(), and CML_STATIC_REQUIRE_M.
et::MatVecPromote< typename et::ExprTraits<LeftT>::result_type, typename et::ExprTraits<RightT>::result_type>::temporary_type cml::detail::mul | ( | const LeftT & | x, | |
const RightT & | A, | |||
mul_xA | ||||
) | [inline] |
Compute y = x*A.
Definition at line 102 of file matvec_mul.h.
References cml::et::CheckedSize(), CML_STATIC_REQUIRE_M, and cml::et::detail::Resize().
et::MatVecPromote< typename et::ExprTraits<LeftT>::result_type, typename et::ExprTraits<RightT>::result_type>::temporary_type cml::detail::mul | ( | const LeftT & | A, | |
const RightT & | x, | |||
mul_Ax | ||||
) | [inline] |
Compute y = A*x.
Definition at line 50 of file matvec_mul.h.
References cml::et::CheckedSize(), CML_STATIC_REQUIRE_M, and cml::et::detail::Resize().
et::MatrixPromote< typename et::ExprTraits<LeftT>::result_type, typename et::ExprTraits<RightT>::result_type>::temporary_type cml::detail::mul | ( | const LeftT & | left, | |
const RightT & | right | |||
) | [inline] |
Matrix multiplication.
Computes C = A x B (O(N^3), non-blocked algorithm).
Definition at line 76 of file matrix_mul.h.
References CML_STATIC_REQUIRE_M, MatMulCheckedSize(), and cml::et::detail::Resize().
Referenced by cml::operator*().
detail::TypePromote< MatT_1,MatT_2,typename et::ExprTraits<MatT_1>::result_tag>::temporary_type cml::detail::nlerp | ( | const MatT_1 & | m1, | |
const MatT_2 & | m2, | |||
Real | t, | |||
et::matrix_result_tag | , | |||
dynamic_size_tag | ||||
) | [inline] |
Definition at line 758 of file interpolation.h.
References cml::et::detail::Resize().
detail::TypePromote< MatT_1,MatT_2,typename et::ExprTraits<MatT_1>::result_tag>::temporary_type cml::detail::nlerp | ( | const MatT_1 & | m1, | |
const MatT_2 & | m2, | |||
Real | t, | |||
et::matrix_result_tag | , | |||
fixed_size_tag | ||||
) | [inline] |
Definition at line 744 of file interpolation.h.
detail::TypePromote< QuatT_1,QuatT_2,typename et::ExprTraits<QuatT_1>::result_tag>::temporary_type cml::detail::nlerp | ( | const QuatT_1 & | q1, | |
const QuatT_2 & | q2, | |||
Real | t, | |||
et::quaternion_result_tag | , | |||
SizeT | ||||
) | [inline] |
Definition at line 665 of file interpolation.h.
References cml::dot(), cml::lerp(), and cml::normalize().
detail::TypePromote< VecT_1,VecT_2,typename et::ExprTraits<VecT_1>::result_tag>::temporary_type cml::detail::nlerp | ( | const VecT_1 & | v1, | |
const VecT_2 & | v2, | |||
Real | t, | |||
et::vector_result_tag | , | |||
SizeT | ||||
) | [inline] |
Definition at line 633 of file interpolation.h.
References InterpResize().
Referenced by cml::nlerp(), and slerp().
Definition at line 97 of file helper.h.
Referenced by swap_axis_order().
detail::DotPromote<LeftT,RightT>::promoted_scalar cml::detail::quaternion_dot | ( | const LeftT & | p, | |
const RightT & | q | |||
) | [inline] |
Definition at line 24 of file quaternion_dot.h.
Referenced by cml::dot().
et::QuaternionPromote2<QuatT_1,QuatT_2>::temporary_type cml::detail::quaternion_rotation_difference | ( | const QuatT_1 & | q1, | |
const QuatT_2 & | q2, | |||
negative_cross | ||||
) | [inline] |
Concatenate two quaternions in the order q1->q2.
Definition at line 553 of file quaternion_rotation.h.
References cml::conjugate().
et::QuaternionPromote2<QuatT_1,QuatT_2>::temporary_type cml::detail::quaternion_rotation_difference | ( | const QuatT_1 & | q1, | |
const QuatT_2 & | q2, | |||
positive_cross | ||||
) | [inline] |
Concatenate two quaternions in the order q1->q2.
Definition at line 544 of file quaternion_rotation.h.
References cml::conjugate().
Referenced by cml::quaternion_rotation_difference().
bool cml::detail::quaternion_total_order | ( | const LeftT & | left, | |
const RightT & | right, | |||
OpT | ||||
) | [inline] |
Quaternion total order relationship.
OpT must implement a total order on the quaternion element type. operator<= and operator>= on integer and floating-point types are examples.
Definition at line 138 of file quaternion_comparison.h.
References CML_STATIC_REQUIRE_M.
bool cml::detail::quaternion_weak_order | ( | const LeftT & | left, | |
const RightT & | right, | |||
OpT | ||||
) | [inline] |
Quaternion strict weak ordering relationship.
OpT must implement a strict weak order on the quaternion element type. operator< and operator> on integer and floating-point types are examples.
Definition at line 82 of file quaternion_comparison.h.
References CML_STATIC_REQUIRE_M.
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 | |||
) | [inline] |
Definition at line 43 of file quaternion_mul.h.
References CheckQuat().
Referenced by cml::operator*().
void cml::detail::Require2D | ( | const VecT & | v, | |
dynamic_size_tag | ||||
) | [inline] |
void cml::detail::Require2D | ( | const VecT & | v, | |
fixed_size_tag | ||||
) | [inline] |
For perp_dot(): compile-time check for a 2D vector.
Definition at line 187 of file vector_products.h.
References CML_STATIC_REQUIRE_M.
Referenced by cml::perp_dot().
void cml::detail::Require3D | ( | const VecT & | v, | |
dynamic_size_tag | ||||
) | [inline] |
void cml::detail::Require3D | ( | const VecT & | , | |
fixed_size_tag | ||||
) | [inline] |
For cross(): compile-time check for a 3D vector.
Definition at line 172 of file vector_products.h.
References CML_STATIC_REQUIRE_M.
Referenced by cml::cross().
detail::TypePromote< MatT_1,MatT_2,typename et::ExprTraits<MatT_1>::result_tag>::temporary_type cml::detail::slerp | ( | const MatT_1 & | m1, | |
const MatT_2 & | m2, | |||
Real | t, | |||
Real | tolerance, | |||
et::matrix_result_tag | , | |||
dynamic_size_tag | ||||
) | [inline] |
Definition at line 595 of file interpolation.h.
References cml::et::detail::Resize().
detail::TypePromote< MatT_1,MatT_2,typename et::ExprTraits<MatT_1>::result_tag>::temporary_type cml::detail::slerp | ( | const MatT_1 & | m1, | |
const MatT_2 & | m2, | |||
Real | t, | |||
Real | tolerance, | |||
et::matrix_result_tag | , | |||
fixed_size_tag | ||||
) | [inline] |
Definition at line 580 of file interpolation.h.
detail::TypePromote< QuatT_1,QuatT_2,typename et::ExprTraits<QuatT_1>::result_tag>::temporary_type cml::detail::slerp | ( | const QuatT_1 & | q1, | |
const QuatT_2 & | q2, | |||
Real | t, | |||
Real | tolerance, | |||
et::quaternion_result_tag | , | |||
SizeT | ||||
) | [inline] |
Definition at line 484 of file interpolation.h.
References cml::acos_safe(), cml::dot(), cml::lerp(), and cml::normalize().
detail::TypePromote< VecT_1,VecT_2,typename et::ExprTraits<VecT_1>::result_tag>::temporary_type cml::detail::slerp | ( | const VecT_1 & | v1, | |
const VecT_2 & | v2, | |||
Real | t, | |||
Real | tolerance, | |||
et::vector_result_tag | , | |||
SizeT | ||||
) | [inline] |
Definition at line 445 of file interpolation.h.
References cml::acos_safe(), cml::dot(), InterpResize(), and nlerp().
Referenced by cml::slerp().
AxisOrder cml::detail::swap_axis_order | ( | AxisOrder | order | ) | [inline] |
Definition at line 101 of file helper.h.
References pack_axis_order(), and unpack_axis_order().
Referenced by cml::orthonormal_basis_axial().
TEMP_VEC4 cml::detail::transform_vector_4D | ( | const MatT & | m, | |
const VecT & | v, | |||
col_basis | ||||
) | [inline] |
Definition at line 64 of file vector_transform.h.
TEMP_VEC4 cml::detail::transform_vector_4D | ( | const MatT & | m, | |
const VecT & | v, | |||
row_basis | ||||
) | [inline] |
Definition at line 59 of file vector_transform.h.
Referenced by cml::transform_vector_4D().
void cml::detail::unpack_axis_order | ( | AxisOrder | order, | |
size_t & | i, | |||
size_t & | j, | |||
size_t & | k, | |||
bool & | odd | |||
) | [inline] |
Definition at line 81 of file helper.h.
Referenced by cml::orthonormal_basis(), and swap_axis_order().
void cml::detail::unpack_axis_order_2D | ( | AxisOrder2D | order, | |
size_t & | i, | |||
size_t & | j, | |||
bool & | odd | |||
) | [inline] |
Definition at line 122 of file helper.h.
Referenced by cml::orthonormal_basis_2D().
void cml::detail::unpack_euler_order | ( | EulerOrder | order, | |
size_t & | i, | |||
size_t & | j, | |||
size_t & | k, | |||
bool & | odd, | |||
bool & | repeat | |||
) | [inline] |
Definition at line 46 of file helper.h.
Referenced by cml::matrix_rotation_euler(), cml::matrix_rotation_euler_derivatives(), cml::matrix_to_euler(), and cml::quaternion_rotation_euler().
DotPromote<LeftT,RightT>::promoted_scalar cml::detail::UnrollDot | ( | const LeftT & | left, | |
const RightT & | right, | |||
dynamic_size_tag | ||||
) | [inline] |
Use a loop to compute the dot product for dynamic arrays.
Definition at line 137 of file vector_products.h.
References cml::et::CheckedSize().
DotPromote<LeftT,RightT>::promoted_scalar cml::detail::UnrollDot | ( | const LeftT & | left, | |
const RightT & | right, | |||
fixed_size_tag | ||||
) | [inline] |
Construct a dot unroller for fixed-size arrays.
Definition at line 105 of file vector_products.h.
Referenced by cml::dot().
bool cml::detail::vector_total_order | ( | const LeftT & | left, | |
const RightT & | right, | |||
OpT | ||||
) | [inline] |
Vector total order relationship.
OpT must implement a total order on the vector element type. operator<= and operator>= on integer and floating-point types are examples.
Definition at line 140 of file vector_comparison.h.
References cml::et::CheckedSize(), and CML_STATIC_REQUIRE_M.
bool cml::detail::vector_weak_order | ( | const LeftT & | left, | |
const RightT & | right, | |||
OpT | ||||
) | [inline] |
Vector strict weak ordering relationship.
OpT must implement a strict weak order on the vector element type. operator< and operator> on integer and floating-point types are examples.
Definition at line 82 of file vector_comparison.h.
References cml::et::CheckedSize(), and CML_STATIC_REQUIRE_M.