MOAB
4.9.3pre
|
Go to the source code of this file.
Classes | |
class | Eigen::internal::vml_assign_traits< Dst, Src > |
Namespaces | |
namespace | Eigen |
namespace | Eigen::internal |
Defines | |
#define | EIGEN_PP_EXPAND(ARG) ARG |
#define | EIGEN_VMLMODE_EXPAND_LA , VML_HA |
#define | EIGEN_VMLMODE_EXPAND__ |
#define | EIGEN_VMLMODE_PREFIX_LA vm |
#define | EIGEN_VMLMODE_PREFIX__ v |
#define | EIGEN_VMLMODE_PREFIX(VMLMODE) EIGEN_CAT(EIGEN_VMLMODE_PREFIX_,VMLMODE) |
#define | EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, VMLOP, EIGENTYPE, VMLTYPE, VMLMODE) |
#define | EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(EIGENOP, VMLOP, VMLMODE) |
#define | EIGEN_MKL_VML_DECLARE_UNARY_CALLS_CPLX(EIGENOP, VMLOP, VMLMODE) |
#define | EIGEN_MKL_VML_DECLARE_UNARY_CALLS(EIGENOP, VMLOP, VMLMODE) |
#define | EIGEN_MKL_VML_DECLARE_POW_CALL(EIGENOP, VMLOP, EIGENTYPE, VMLTYPE, VMLMODE) |
#define EIGEN_MKL_VML_DECLARE_POW_CALL | ( | EIGENOP, | |
VMLOP, | |||
EIGENTYPE, | |||
VMLTYPE, | |||
VMLMODE | |||
) |
template< typename DstXprType, typename SrcXprNested> \ struct Assignment<DstXprType, CwiseUnaryOp<scalar_##EIGENOP##_op<EIGENTYPE>, SrcXprNested>, assign_op<EIGENTYPE>, \ Dense2Dense, typename enable_if<vml_assign_traits<DstXprType,SrcXprNested>::EnableVml,EIGENTYPE>::type> { \ typedef CwiseUnaryOp<scalar_##EIGENOP##_op<EIGENTYPE>, SrcXprNested> SrcXprType; \ static void run(DstXprType &dst, const SrcXprType &src, const assign_op<EIGENTYPE> &/*func*/) { \ eigen_assert(dst.rows() == src.rows() && dst.cols() == src.cols()); \ VMLTYPE exponent = reinterpret_cast<const VMLTYPE&>(src.functor().m_exponent); \ if(vml_assign_traits<DstXprType,SrcXprNested>::Traversal==LinearTraversal) \ { \ VMLOP( dst.size(), (const VMLTYPE*)src.nestedExpression().data(), exponent, \ (VMLTYPE*)dst.data() EIGEN_PP_EXPAND(EIGEN_VMLMODE_EXPAND_##VMLMODE) ); \ } else { \ const Index outerSize = dst.outerSize(); \ for(Index outer = 0; outer < outerSize; ++outer) { \ const EIGENTYPE *src_ptr = src.IsRowMajor ? &(src.nestedExpression().coeffRef(outer,0)) : \ &(src.nestedExpression().coeffRef(0, outer)); \ EIGENTYPE *dst_ptr = dst.IsRowMajor ? &(dst.coeffRef(outer,0)) : &(dst.coeffRef(0, outer)); \ VMLOP( dst.innerSize(), (const VMLTYPE*)src_ptr, exponent, \ (VMLTYPE*)dst_ptr EIGEN_PP_EXPAND(EIGEN_VMLMODE_EXPAND_##VMLMODE)); \ } \ } \ } \ };
Definition at line 140 of file Assign_MKL.h.
#define EIGEN_MKL_VML_DECLARE_UNARY_CALL | ( | EIGENOP, | |
VMLOP, | |||
EIGENTYPE, | |||
VMLTYPE, | |||
VMLMODE | |||
) |
template< typename DstXprType, typename SrcXprNested> \ struct Assignment<DstXprType, CwiseUnaryOp<scalar_##EIGENOP##_op<EIGENTYPE>, SrcXprNested>, assign_op<EIGENTYPE>, \ Dense2Dense, typename enable_if<vml_assign_traits<DstXprType,SrcXprNested>::EnableVml,EIGENTYPE>::type> { \ typedef CwiseUnaryOp<scalar_##EIGENOP##_op<EIGENTYPE>, SrcXprNested> SrcXprType; \ static void run(DstXprType &dst, const SrcXprType &src, const assign_op<EIGENTYPE> &/*func*/) { \ eigen_assert(dst.rows() == src.rows() && dst.cols() == src.cols()); \ if(vml_assign_traits<DstXprType,SrcXprNested>::Traversal==LinearTraversal) { \ VMLOP(dst.size(), (const VMLTYPE*)src.nestedExpression().data(), \ (VMLTYPE*)dst.data() EIGEN_PP_EXPAND(EIGEN_VMLMODE_EXPAND_##VMLMODE) ); \ } else { \ const Index outerSize = dst.outerSize(); \ for(Index outer = 0; outer < outerSize; ++outer) { \ const EIGENTYPE *src_ptr = src.IsRowMajor ? &(src.nestedExpression().coeffRef(outer,0)) : \ &(src.nestedExpression().coeffRef(0, outer)); \ EIGENTYPE *dst_ptr = dst.IsRowMajor ? &(dst.coeffRef(outer,0)) : &(dst.coeffRef(0, outer)); \ VMLOP( dst.innerSize(), (const VMLTYPE*)src_ptr, \ (VMLTYPE*)dst_ptr EIGEN_PP_EXPAND(EIGEN_VMLMODE_EXPAND_##VMLMODE)); \ } \ } \ } \ }; \
Definition at line 82 of file Assign_MKL.h.
#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS | ( | EIGENOP, | |
VMLOP, | |||
VMLMODE | |||
) |
EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(EIGENOP, VMLOP, VMLMODE) \ EIGEN_MKL_VML_DECLARE_UNARY_CALLS_CPLX(EIGENOP, VMLOP, VMLMODE)
Definition at line 114 of file Assign_MKL.h.
#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS_CPLX | ( | EIGENOP, | |
VMLOP, | |||
VMLMODE | |||
) |
EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, EIGEN_CAT(EIGEN_VMLMODE_PREFIX(VMLMODE),c##VMLOP), scomplex, MKL_Complex8, VMLMODE) \ EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, EIGEN_CAT(EIGEN_VMLMODE_PREFIX(VMLMODE),z##VMLOP), dcomplex, MKL_Complex16, VMLMODE)
Definition at line 110 of file Assign_MKL.h.
#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL | ( | EIGENOP, | |
VMLOP, | |||
VMLMODE | |||
) |
EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, EIGEN_CAT(EIGEN_VMLMODE_PREFIX(VMLMODE),s##VMLOP), float, float, VMLMODE) \ EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, EIGEN_CAT(EIGEN_VMLMODE_PREFIX(VMLMODE),d##VMLOP), double, double, VMLMODE)
Definition at line 106 of file Assign_MKL.h.
#define EIGEN_PP_EXPAND | ( | ARG | ) | ARG |
Definition at line 69 of file Assign_MKL.h.
#define EIGEN_VMLMODE_EXPAND__ |
Definition at line 76 of file Assign_MKL.h.
#define EIGEN_VMLMODE_EXPAND_LA , VML_HA |
Definition at line 71 of file Assign_MKL.h.
#define EIGEN_VMLMODE_PREFIX | ( | VMLMODE | ) | EIGEN_CAT(EIGEN_VMLMODE_PREFIX_,VMLMODE) |
Definition at line 80 of file Assign_MKL.h.
#define EIGEN_VMLMODE_PREFIX__ v |
Definition at line 79 of file Assign_MKL.h.
#define EIGEN_VMLMODE_PREFIX_LA vm |
Definition at line 78 of file Assign_MKL.h.