Home | History | Annotate | Download | only in Core

Lines Matching refs:blockCols

17 template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel>
18 struct traits<Block<XprType, BlockRows, BlockCols, InnerPanel> > : traits<XprType>
29 ColsAtCompileTime = MatrixCols == 0 ? 0 : BlockCols,
33 MaxColsAtCompileTime = BlockCols==0 ? 0
62 template<typename XprType, int BlockRows=Dynamic, int BlockCols=Dynamic, bool InnerPanel = false,
67 template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel, typename StorageKind> class BlockImpl;
76 * \tparam BlockCols the number of columns of the block we are taking at compile time (optional)
103 template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel> class Block
104 : public BlockImpl<XprType, BlockRows, BlockCols, InnerPanel, typename internal::traits<XprType>::StorageKind>
106 typedef BlockImpl<XprType, BlockRows, BlockCols, InnerPanel, typename internal::traits<XprType>::StorageKind> Impl;
121 ((BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) && i<xpr.rows())
122 ||((BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) && i<xpr.cols())));
133 && startCol >= 0 && BlockCols >= 0 && startCol + BlockCols <= xpr.cols());
141 Index blockRows, Index blockCols)
142 : Impl(xpr, startRow, startCol, blockRows, blockCols)
145 && (ColsAtCompileTime==Dynamic || ColsAtCompileTime==blockCols));
147 && startCol >= 0 && blockCols >= 0 && startCol <= xpr.cols() - blockCols);
153 template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel>
154 class BlockImpl<XprType, BlockRows, BlockCols, InnerPanel, Dense>
155 : public internal::BlockImpl_dense<XprType, BlockRows, BlockCols, InnerPanel>
157 typedef internal::BlockImpl_dense<XprType, BlockRows, BlockCols, InnerPanel> Impl;
165 inline BlockImpl(XprType& xpr, Index startRow, Index startCol, Index blockRows, Index blockCols)
166 : Impl(xpr, startRow, startCol, blockRows, blockCols) {}
172 template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel, bool HasDirectAccess> class BlockImpl_dense
173 : public internal::dense_xpr_base<Block<XprType, BlockRows, BlockCols, InnerPanel> >::type
175 typedef Block<XprType, BlockRows, BlockCols, InnerPanel> BlockType;
190 // It is a row if and only if BlockRows==1 and BlockCols==XprType::ColsAtCompileTime,
191 // and it is a column if and only if BlockRows==XprType::RowsAtCompileTime and BlockCols==1,
194 m_startRow( (BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) ? i : 0),
195 m_startCol( (BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) ? i : 0),
197 m_blockCols(BlockCols==1 ? 1 : xpr.cols())
205 m_blockRows(BlockRows), m_blockCols(BlockCols)
213 Index blockRows, Index blockCols)
215 m_blockRows(blockRows), m_blockCols(blockCols)
322 const internal::variable_if_dynamic<StorageIndex, (XprType::ColsAtCompileTime == 1 && BlockCols==1) ? 0 : Dynamic> m_startCol;
328 template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel>
329 class BlockImpl_dense<XprType,BlockRows,BlockCols, InnerPanel,true>
330 : public MapBase<Block<XprType, BlockRows, BlockCols, InnerPanel> >
332 typedef Block<XprType, BlockRows, BlockCols, InnerPanel> BlockType;
347 : Base(xpr.data() + i * ( ((BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) && (!XprTypeIsRowMajor))
348 || ((BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) && ( XprTypeIsRowMajor)) ? xpr.innerStride() : xpr.outerStride()),
350 BlockCols==1 ? 1 : xpr.cols()),
352 m_startRow( (BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) ? i : 0),
353 m_startCol( (BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) ? i : 0)
373 Index blockRows, Index blockCols)
374 : Base(xpr.data()+xpr.innerStride()*(XprTypeIsRowMajor?startCol:startRow) + xpr.outerStride()*(XprTypeIsRowMajor?startRow:startCol), blockRows, blockCols),
426 inline BlockImpl_dense(XprType& xpr, const Scalar* data, Index blockRows, Index blockCols)
427 : Base(data, blockRows, blockCols), m_xpr(xpr)
444 const internal::variable_if_dynamic<StorageIndex, (XprType::ColsAtCompileTime == 1 && BlockCols==1) ? 0 : Dynamic> m_startCol;