Optimization: added super efficient rowmajor * vector product (and vector * colmajor).

It basically performs 4 dot products at once reducing loads of the vector and improving
instructions scheduling. With 3 cache friendly algorithms, we now handle all product
configurations with outstanding perf for large matrices.
This commit is contained in:
Gael Guennebaud
2008-07-13 01:22:54 +00:00
parent 51e6ee39f0
commit 99a625243f
4 changed files with 246 additions and 24 deletions

View File

@@ -125,7 +125,7 @@ template<typename T, int Size, int _Cols> class ei_matrix_storage<T, Size, Dynam
inline void swap(ei_matrix_storage& other) { std::swap(m_data,other.m_data); std::swap(m_rows,other.m_rows); }
inline int rows(void) const {return m_rows;}
inline int cols(void) const {return _Cols;}
inline void resize(int size, int rows, int)
inline void resize(int /*size*/, int rows, int)
{
m_rows = rows;
}