* add bench/benchVecAdd.cpp by Gael, fix crash (ei_pload on non-aligned)

* introduce packet(int), make use of it in linear vectorized paths
  --> completely fixes the slowdown noticed in benchVecAdd.
* generalize coeff(int) to linear-access xprs
* clarify the access flag bits
* rework api dox in Coeffs.h and util/Constants.h
* improve certain expressions's flags, allowing more vectorization
* fix bug in Block: start(int) and end(int) returned dyn*dyn size
* fix bug in Block: just because the Eval type has packet access
  doesn't imply the block xpr should have it too.
This commit is contained in:
Benoit Jacob
2008-06-26 16:06:41 +00:00
parent 5b0da4b778
commit 25ba9f377c
23 changed files with 558 additions and 264 deletions

View File

@@ -31,14 +31,14 @@
*/
template<typename Derived>
std::ostream & operator <<
( std::ostream & s,
const MatrixBase<Derived> & m )
(std::ostream & s,
const MatrixBase<Derived> & m)
{
for( int i = 0; i < m.rows(); i++ )
for(int i = 0; i < m.rows(); i++)
{
s << m( i, 0 );
for (int j = 1; j < m.cols(); j++ )
s << " " << m( i, j );
s << m.coeff(i, 0);
for(int j = 1; j < m.cols(); j++)
s << " " << m.coeff(i, j);
if( i < m.rows() - 1)
s << "\n";
}