mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
* 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:
@@ -228,6 +228,11 @@ template<typename Derived> class MatrixBase
|
||||
template<int StoreMode>
|
||||
void writePacket(int row, int col, const PacketScalar& x);
|
||||
|
||||
template<int LoadMode>
|
||||
PacketScalar packet(int index) const;
|
||||
template<int StoreMode>
|
||||
void writePacket(int index, const PacketScalar& x);
|
||||
|
||||
const Scalar x() const;
|
||||
const Scalar y() const;
|
||||
const Scalar z() const;
|
||||
@@ -307,11 +312,11 @@ template<typename Derived> class MatrixBase
|
||||
Block<Derived> block(int start, int size);
|
||||
const Block<Derived> block(int start, int size) const;
|
||||
|
||||
Block<Derived> start(int size);
|
||||
const Block<Derived> start(int size) const;
|
||||
typename SubVectorReturnType<Dynamic>::Type start(int size);
|
||||
const typename SubVectorReturnType<Dynamic>::Type start(int size) const;
|
||||
|
||||
Block<Derived> end(int size);
|
||||
const Block<Derived> end(int size) const;
|
||||
typename SubVectorReturnType<Dynamic>::Type end(int size);
|
||||
const typename SubVectorReturnType<Dynamic>::Type end(int size) const;
|
||||
|
||||
Block<Derived> corner(CornerType type, int cRows, int cCols);
|
||||
const Block<Derived> corner(CornerType type, int cRows, int cCols) const;
|
||||
|
||||
Reference in New Issue
Block a user