diff options
author | Gael Guennebaud <g.gael@free.fr> | 2010-07-10 22:58:51 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2010-07-10 22:58:51 +0200 |
commit | 4161b8be6772f2b7338458c9932d7417797966bb (patch) | |
tree | fc17317e18dbb39bd27cfcf1837152d9947a1163 /Eigen/src/Core/util/BlasUtil.h | |
parent | b1a17dbfe4b1e88ab01083e7573028be5fa2210c (diff) | |
parent | e5bc9526f16590288edbc3e5fd8837ea81654942 (diff) |
sync
Diffstat (limited to 'Eigen/src/Core/util/BlasUtil.h')
-rw-r--r-- | Eigen/src/Core/util/BlasUtil.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/Eigen/src/Core/util/BlasUtil.h b/Eigen/src/Core/util/BlasUtil.h index 1b7d03722..62a6207c6 100644 --- a/Eigen/src/Core/util/BlasUtil.h +++ b/Eigen/src/Core/util/BlasUtil.h @@ -49,9 +49,10 @@ template<bool ConjugateLhs, bool ConjugateRhs, typename Scalar, typename Index, static void ei_cache_friendly_product_colmajor_times_vector( Index size, const Scalar* lhs, Index lhsStride, const RhsType& rhs, Scalar* res, Scalar alpha); -template<bool ConjugateLhs, bool ConjugateRhs, typename Scalar, typename Index, typename ResType> +template<bool ConjugateLhs, bool ConjugateRhs, typename Scalar, typename Index> static void ei_cache_friendly_product_rowmajor_times_vector( - const Scalar* lhs, Index lhsStride, const Scalar* rhs, Index rhsSize, ResType& res, Scalar alpha); + Index rows, Index Cols, const Scalar* lhs, Index lhsStride, const Scalar* rhs, Index rhsIncr, + Scalar* res, Index resIncr, Scalar alpha); template<typename Scalar> struct ei_conj_helper<Scalar,Scalar,false,false> { @@ -107,6 +108,17 @@ template<typename RealScalar> struct ei_conj_helper<RealScalar, std::complex<Rea { return x * y; } }; +template<bool Conjugate> struct ei_conj_if; + +template<> struct ei_conj_if<true> { + template<typename T> + inline T operator()(const T& x) { return ei_conj(x); } +}; + +template<> struct ei_conj_if<false> { + template<typename T> + inline const T& operator()(const T& x) { return x; } +}; // Lightweight helper class to access matrix coefficients. // Yes, this is somehow redundant with Map<>, but this version is much much lighter, |