11 #ifndef BOGUS_BLOCK_ZERO_HPP 
   12 #define BOGUS_BLOCK_ZERO_HPP 
   14 #include "IterableBlockObject.hpp" 
   20 template< 
typename Scalar >
 
   25     typedef typename Base::Index Index ;
 
   26     typedef typename Base::ConstTransposeReturnType ConstTransposeReturnType ;
 
   28     explicit Zero( Index rows = 0, Index cols = 0 )
 
   29         : m_rows(rows), m_cols(cols)
 
   32         m_rowOffsets[1] = rows ;
 
   34         m_colOffsets[1] = cols ;
 
   37     Index rows()
 const { 
return m_rows ; }
 
   38     Index cols()
 const { 
return m_cols ; }
 
   40     Index blockRows( Index )
 const { 
return rows() ; }
 
   41     Index blockCols( Index )
 const { 
return cols() ; }
 
   43     Index rowsOfBlocks()
 const { 
return 1 ; }
 
   44     Index colsOfBlocks()
 const { 
return 1 ; }
 
   46     const Index *rowOffsets( )
 const { 
return &m_rowOffsets ; }
 
   47     const Index *colOffsets( )
 const { 
return &m_colOffsets ; }
 
   49     ConstTransposeReturnType transpose()
 const { *
this; }
 
   51     template < 
bool DoTranspose, 
typename RhsT, 
typename ResT >
 
   52     void multiply( 
const RhsT& , ResT& res, Scalar = 1, Scalar beta = 0 ) 
const ;
 
   56     Index size()
 const { 
return 0 ; }
 
   58     template <
typename Func>
 
   59     void eachBlockOfRow( 
const Index, Func ) {}
 
   60     template <
typename Func>
 
   61     void eachBlockOfCol( 
const Index, Func ) {}
 
   63     template < 
bool DoTranspose, 
typename RhsT, 
typename ResT, 
typename PreOp >
 
   64     void rowMultiplyPrecompose( 
const Index, 
const RhsT&, ResT&, 
const PreOp &)
 const 
   66     template < 
bool DoTranspose, 
typename RhsT, 
typename ResT, 
typename PostOp >
 
   67     void colMultiplyPostcompose( 
const Index, 
const RhsT&, ResT&, 
const PostOp &)
 const 
   73           Index m_rowOffsets[2] ;
 
   74           Index m_colOffsets[2] ;
 
   78 template < 
typename Scalar_ >
 
   82     typedef Scalar_ Scalar ;
 
Definition: Traits.hpp:19
Base class for matrix-like objects that define a block structure, but not a block type...
Definition: IterableBlockObject.hpp:22
Representation of the null matrix. 
Definition: Zero.hpp:21