matrix_comparison.h File Reference

#include <cml/core/cml_assert.h>
#include <cml/et/size_checking.h>
#include <cml/et/scalar_ops.h>

Include dependency graph for matrix_comparison.h:

Go to the source code of this file.

Namespaces

namespace  cml
namespace  cml::detail

Defines

#define CML_MAT_MAT_ORDER(_order_, _op_, _OpT_)
#define CML_MAT_MATXPR_ORDER(_order_, _op_, _OpT_)
#define CML_MATXPR_MAT_ORDER(_order_, _op_, _OpT_)
#define CML_MATXPR_MATXPR_ORDER(_order_, _op_, _OpT_)

Functions

template<typename LeftT , typename RightT , typename OpT >
bool cml::detail::matrix_total_order (const LeftT &left, const RightT &right, OpT)
 Matrix total order relationship.
template<typename LeftT , typename RightT , typename OpT >
bool cml::detail::matrix_weak_order (const LeftT &left, const RightT &right, OpT)
 Matrix strict weak ordering relationship.


Detailed Description

Todo:
The matrix and matrix order operators could probably be combined into a single templated implementation, since the only thing that is different is the access method.

Definition in file matrix_comparison.h.


Define Documentation

#define CML_MAT_MAT_ORDER ( _order_,
_op_,
_OpT_   ) 

Value:

template<typename E1, class AT1, typename L1,                           \
         typename E2, class AT2, typename L2, typename BO>              \
inline bool                                                             \
_op_ (                                                                  \
        const matrix<E1,AT1,L1,BO>& left,                               \
        const matrix<E2,AT2,L2,BO>& right)                              \
{                                                                       \
    return detail::matrix_##_order_ (left, right, _OpT_ <E1,E2>());     \
}

Definition at line 29 of file matrix_comparison.h.

#define CML_MAT_MATXPR_ORDER ( _order_,
_op_,
_OpT_   ) 

Value:

template<typename E, class AT, typename L, typename BO, class XprT>     \
inline bool                                                             \
_op_ (                                                                  \
        const matrix<E,AT,L,BO>& left,                                  \
        MATXPR_ARG_TYPE right)                                          \
{                                                                       \
    return detail::matrix_##_order_ (left, right,                       \
            _OpT_ <E, typename XprT::value_type>());                    \
}

Definition at line 40 of file matrix_comparison.h.

#define CML_MATXPR_MAT_ORDER ( _order_,
_op_,
_OpT_   ) 

Value:

template<class XprT, typename E, class AT, typename L, typename BO>     \
inline bool                                                             \
_op_ (                                                                  \
        MATXPR_ARG_TYPE left,                                           \
        const matrix<E,AT,L,BO>& right)                                 \
{                                                                       \
    return detail::matrix_##_order_ (left, right,                       \
            _OpT_ <typename XprT::value_type, E>());                    \
}

Definition at line 51 of file matrix_comparison.h.

#define CML_MATXPR_MATXPR_ORDER ( _order_,
_op_,
_OpT_   ) 

Value:

template<class XprT1, class XprT2>                                      \
inline bool                                                             \
_op_ (                                                                  \
        MATXPR_ARG_TYPE_N(1) left,                                      \
        MATXPR_ARG_TYPE_N(2) right)                                     \
{                                                                       \
    return detail::matrix_##_order_ (left, right,                       \
            _OpT_ <                                                     \
                typename XprT1::value_type,                             \
                typename XprT2::value_type>());                         \
}

Definition at line 62 of file matrix_comparison.h.


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