diff --git a/Eigen/src/Core/util/BlasUtil.h b/Eigen/src/Core/util/BlasUtil.h index 38c86511c..12ac6994f 100644 --- a/Eigen/src/Core/util/BlasUtil.h +++ b/Eigen/src/Core/util/BlasUtil.h @@ -89,6 +89,18 @@ template struct ei_conj_helper, st { return Scalar(ei_real(x)*ei_real(y) - ei_imag(x)*ei_imag(y), - ei_real(x)*ei_imag(y) - ei_imag(x)*ei_real(y)); } }; +template struct ei_conj_if; + +template<> struct ei_conj_if { + template + inline T operator()(const T& x) { return ei_conj(x); } +}; + +template<> struct ei_conj_if { + template + 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, // and so I hope better compilation performance (time and code quality). diff --git a/Eigen/src/Core/util/Meta.h b/Eigen/src/Core/util/Meta.h index 9d73ef51c..b01ceafb2 100644 --- a/Eigen/src/Core/util/Meta.h +++ b/Eigen/src/Core/util/Meta.h @@ -222,16 +222,4 @@ template struct ei_is_diagonal > template struct ei_is_diagonal > { enum { ret = true }; }; -template struct ei_conj_if; - -template<> struct ei_conj_if { - template - inline T operator()(const T& x) { return ei_conj(x); } -}; - -template<> struct ei_conj_if { - template - inline const T& operator()(const T& x) { return x; } -}; - #endif // EIGEN_META_H