aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Block.h
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2008-06-16 14:54:31 +0000
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2008-06-16 14:54:31 +0000
commitbb1f4e44f10de50b5b52a3973324c1a0952e3f29 (patch)
treeadf665eb4257e09edf640e23cc621e7d178d0cbd /Eigen/src/Core/Block.h
parent9857764ae7f907e5cf441ebf6348f581f874dd00 (diff)
* Block: row and column expressions in the inner direction
now have the Like1D flag. * Big renaming: packetCoeff ---> packet VectorizableBit ---> PacketAccessBit Like1DArrayBit ---> LinearAccessBit
Diffstat (limited to 'Eigen/src/Core/Block.h')
-rw-r--r--Eigen/src/Core/Block.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/Eigen/src/Core/Block.h b/Eigen/src/Core/Block.h
index 07241629c..c76fb4903 100644
--- a/Eigen/src/Core/Block.h
+++ b/Eigen/src/Core/Block.h
@@ -71,7 +71,11 @@ struct ei_traits<Block<MatrixType, BlockRows, BlockCols> >
|| (ColsAtCompileTime != Dynamic && MatrixType::ColsAtCompileTime == Dynamic))
? ~LargeBit
: ~(unsigned int)0,
- Flags = MatrixType::Flags & (HereditaryBits | VectorizableBit | DirectAccessBit) & FlagsMaskLargeBit,
+ FlagsLinearAccessBit = MatrixType::Flags & RowMajorBit
+ ? (RowsAtCompileTime == 1 ? LinearAccessBit : 0)
+ : (ColsAtCompileTime == 1 ? LinearAccessBit : 0),
+ Flags = (MatrixType::Flags & (HereditaryBits | PacketAccessBit | DirectAccessBit) & FlagsMaskLargeBit)
+ | FlagsLinearAccessBit,
CoeffReadCost = MatrixType::CoeffReadCost
};
};
@@ -146,15 +150,15 @@ template<typename MatrixType, int BlockRows, int BlockCols> class Block
}
template<int LoadMode>
- inline PacketScalar _packetCoeff(int row, int col) const
+ inline PacketScalar _packet(int row, int col) const
{
- return m_matrix.template packetCoeff<UnAligned>(row + m_startRow.value(), col + m_startCol.value());
+ return m_matrix.template packet<UnAligned>(row + m_startRow.value(), col + m_startCol.value());
}
template<int LoadMode>
- inline void _writePacketCoeff(int row, int col, const PacketScalar& x)
+ inline void _writePacket(int row, int col, const PacketScalar& x)
{
- m_matrix.const_cast_derived().template writePacketCoeff<UnAligned>(row + m_startRow.value(), col + m_startCol.value(), x);
+ m_matrix.const_cast_derived().template writePacket<UnAligned>(row + m_startRow.value(), col + m_startCol.value(), x);
}
protected: