cml::et Namespace Reference


Namespaces

namespace  detail

Classes

struct  ArrayPromote
 Class to promote array types. More...
struct  assignable_tag
 Marker for assignable types. More...
struct  binary_expression
 Marker for biary expression ops. More...
class  BinaryMatrixOp
 A binary matrix expression. More...
class  BinaryQuaternionOp
 A binary quaternion expression. More...
class  BinaryVectorOp
 A binary vector expression. More...
class  ConjugateOp
 An expression node for conjugating a quaternion. More...
struct  expr_leaf_tag
 Marker for expression tree terminals (leaves). More...
struct  expr_node_tag
 Marker for expression tree operator nodes. More...
struct  ExprTraits
 The expression traits class. More...
struct  ExprTraits< BinaryMatrixOp< LeftT, RightT, OpT > >
 Expression traits for BinaryMatrixOp<>. More...
struct  ExprTraits< BinaryQuaternionOp< LeftT, RightT, OpT > >
 Expression traits class for BinaryQuaternionOp<>. More...
struct  ExprTraits< BinaryVectorOp< LeftT, RightT, OpT > >
 Expression traits class for BinaryVectorOp<>. More...
struct  ExprTraits< cml::matrix< E, AT, BO, L > >
struct  ExprTraits< cml::quaternion< E, AT, OT, CT > >
 Expression traits for a quaternion<> type. More...
struct  ExprTraits< cml::vector< E, AT > >
 Expression traits for a vector<> type. More...
struct  ExprTraits< ConjugateOp< ExprT > >
 Expression traits class for ConjugateOp<>. More...
struct  ExprTraits< MatrixColOp< ExprT > >
 Expression traits class for MatrixColOp<>. More...
struct  ExprTraits< MatrixRowOp< ExprT > >
 Expression traits class for MatrixRowOp<>. More...
struct  ExprTraits< MatrixTransposeOp< ExprT > >
 Expression traits class for VectorTransposeOp<>. More...
struct  ExprTraits< MatrixXpr< ExprT > >
 Expression traits for MatrixXpr<>. More...
struct  ExprTraits< QuaternionInverseOp< ExprT > >
 Expression traits class for QuaternionInverseOp<>. More...
struct  ExprTraits< QuaternionXpr< ExprT > >
 Expression traits class for QuaternionXpr<>. More...
struct  ExprTraits< UnaryMatrixOp< ExprT, OpT > >
 Expression traits for UnaryMatrixOp<>. More...
struct  ExprTraits< UnaryQuaternionOp< ExprT, OpT > >
 Expression traits class for UnaryQuaternionOp<>. More...
struct  ExprTraits< UnaryVectorOp< ExprT, OpT > >
 Expression traits class for UnaryVectorOp<>. More...
struct  ExprTraits< VectorXpr< ExprT > >
 Expression traits class for VectorXpr<>. More...
struct  GetCheckedSize< LeftT, RightT, dynamic_size_tag >
struct  GetCheckedSize< LeftT, RightT, fixed_size_tag >
struct  matrix_result_tag
 Tag an expression as returning a matrix. More...
class  MatrixColOp
struct  MatrixExpressions
struct  MatrixPromote
 Promote two types to a matrixt type. More...
struct  MatrixPromote2
 NOTE: MatrixPromote* are somewhat ad hoc, and were added to simplify the code for matrix slerp/squad/etc. More...
struct  MatrixPromote3
 Type promotion for three matrix types. More...
struct  MatrixPromote4
 Type promotion for four matrix types. More...
class  MatrixRowOp
class  MatrixTransposeOp
 "Transpose" the given matrix expression. More...
class  MatrixXpr
 A placeholder for a matrix expression in the expression tree. More...
struct  MatVecPromote< cml::matrix< E1, AT1, BO, L >, cml::vector< E2, AT2 > >
 Type promotion for a matrix and a vector. More...
struct  MatVecPromote< cml::vector< E1, AT1 >, cml::matrix< E2, AT2, BO, L > >
 Type promotion for a vector and a matrix. More...
struct  not_assignable_tag
 Marker for assignable types. More...
struct  quaternion_result_tag
 Tag an expression as returning a quaternion. More...
struct  QuaternionExpressions
class  QuaternionInverseOp
 An expression node for inverting a quaternion. More...
struct  QuaternionPromote2
 NOTE: QuaternionPromote* are somewhat ad hoc, and were added to simplify the code for quaternion slerp/squad/etc. More...
struct  QuaternionPromote3
 Type promotion for three quaternion types. More...
struct  QuaternionPromote4
 Type promotion for four quaternion types. More...
struct  QuaternionPromote< cml::quaternion< E, AT, OT, CT >, S >
 Type promotion for a quaternion and a scalar. More...
struct  quaternion< E2, AT2, OT, CT >>
 Type promotion for two quaternion types. More...
struct  QuaternionPromote< S, cml::quaternion< E, AT, OT, CT > >
 Type promotion for a scalar and a quaternion. More...
class  QuaternionXpr
 A placeholder for a quaternion expression in an expression tree. More...
struct  scalar_result_tag
 Tag an expression as returning a scalar. More...
struct  ScalarPromote
 Defers to detail::promote_trait<>. More...
struct  unary_expression
 Marker for unary expression ops. More...
class  UnaryMatrixOp
 A unary matrix expression operating on matrix elements as a list. More...
class  UnaryQuaternionOp
 A unary quaternion expression. More...
class  UnaryVectorOp
 A unary vector expression. More...
struct  vector_result_tag
 Tag an expression as returning a vector. More...
struct  VectorExpressions
struct  VectorPromote< cml::vector< E, AT >, S >
 Type promotion for a vector and a scalar. More...
struct  VectorPromote< cml::vector< E1, AT1 >, cml::vector< E2, AT2 > >
 Type promotion for two vector types. More...
struct  VectorPromote< S, cml::vector< E, AT > >
 Type promotion for a scalar and a vector. More...
class  VectorXpr
 A placeholder for a vector expression in an expression tree. More...

Functions

template<typename LeftT , typename RightT , typename SizeTag >
et::GetCheckedSize< LeftT,
RightT, SizeTag >::size_type 
CheckedSize (const LeftT &left, const RightT &right, SizeTag)
 Generator for GetCheckedSize.
template<typename MatT >
size_t CheckedSquare (const MatT &m, dynamic_size_tag)
 Verify the sizes of the argument matrices for matrix multiplication.
template<typename MatT >
size_t CheckedSquare (const MatT &, fixed_size_tag)
 Verify the sizes of the argument matrices for matrix multiplication.
template<class OpT , class SrcT , typename E , class AT >
void UnrollAssignment (cml::vector< E, AT > &dest, const SrcT &src)
 Construct an assignment unroller.
template<class OpT , class SrcT , typename E , class AT , typename BO , typename L >
void UnrollAssignment (cml::matrix< E, AT, BO, L > &dest, const SrcT &src)
 This constructs an assignment unroller for fixed-size arrays.

Function Documentation

template<typename LeftT , typename RightT , typename SizeTag >
et::GetCheckedSize<LeftT,RightT,SizeTag>::size_type cml::et::CheckedSize ( const LeftT &  left,
const RightT &  right,
SizeTag   
) [inline]

template<typename MatT >
size_t cml::et::CheckedSquare ( const MatT &  m,
dynamic_size_tag   
) [inline]

Verify the sizes of the argument matrices for matrix multiplication.

Returns:
the size of the resulting matrix.

Definition at line 408 of file size_checking.h.

template<typename MatT >
size_t cml::et::CheckedSquare ( const MatT &  ,
fixed_size_tag   
) [inline]

Verify the sizes of the argument matrices for matrix multiplication.

Returns:
a the size of the resulting matrix.

Definition at line 395 of file size_checking.h.

References CML_STATIC_REQUIRE_M.

Referenced by cml::detail::determinant(), cml::detail::inverse(), cml::detail::lu_inplace(), and cml::lu_solve().

Here is the caller graph for this function:

template<class OpT , class SrcT , typename E , class AT >
void cml::et::UnrollAssignment ( cml::vector< E, AT > &  dest,
const SrcT &  src 
) [inline]

Construct an assignment unroller.

The operator must be an assignment op, otherwise, this doesn't make any sense.

Bug:
Need to verify that OpT is actually an assignment operator.

Definition at line 240 of file vector_unroller.h.

template<class OpT , class SrcT , typename E , class AT , typename BO , typename L >
void cml::et::UnrollAssignment ( cml::matrix< E, AT, BO, L > &  dest,
const SrcT &  src 
) [inline]

This constructs an assignment unroller for fixed-size arrays.

The operator must be an assignment op (otherwise, this doesn't make any sense). Also, automatic unrolling is only performed for fixed-size matrices; a loop is used for dynamic-sized matrices.

See also:
cml::matrix

cml::et::OpAssign

Bug:
Need to verify that OpT is actually an assignment operator.

Definition at line 274 of file matrix_unroller.h.


Generated on Sat Jul 18 19:35:38 2009 for CML 1.0 by  doxygen 1.5.9