finally directly calling the low-level products is faster

This commit is contained in:
Gael Guennebaud
2009-07-10 10:41:26 +02:00
parent 8885d56928
commit 1a1b2e9f27
12 changed files with 111 additions and 146 deletions

View File

@@ -94,6 +94,13 @@
#define EIGEN_TUNE_FOR_CPU_CACHE_SIZE (sizeof(float)*256*256)
#endif
/** Defines the maximal width of the blocks used in the triangular solver
* for vectors (level 2 blas xTRSV). The default is 8.
*/
#ifndef EIGEN_TUNE_TRSV_PANEL_WIDTH
#define EIGEN_TUNE_TRSV_PANEL_WIDTH 8
#endif
/** Allows to disable some optimizations which might affect the accuracy of the result.
* Such optimization are enabled by default, and set EIGEN_FAST_MATH to 0 to disable them.
* They currently include:

View File

@@ -198,4 +198,16 @@ template<typename T> struct ei_is_diagonal<DiagonalWrapper<T> >
template<typename T, int S> struct ei_is_diagonal<DiagonalMatrix<T,S> >
{ enum { ret = true }; };
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; }
};
#endif // EIGEN_META_H