11 #ifndef EIGEN_BLOCK2_H 12 #define EIGEN_BLOCK2_H 32 template<
typename Derived>
33 inline Block<Derived> DenseBase<Derived>
34 ::corner(
CornerType type, Index cRows, Index cCols)
41 return Block<Derived>(derived(), 0, 0, cRows, cCols);
43 return Block<Derived>(derived(), 0, cols() - cCols, cRows, cCols);
45 return Block<Derived>(derived(), rows() - cRows, 0, cRows, cCols);
47 return Block<Derived>(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
52 template<
typename Derived>
53 inline const Block<Derived>
54 DenseBase<Derived>::corner(
CornerType type, Index cRows, Index cCols)
const 61 return Block<Derived>(derived(), 0, 0, cRows, cCols);
63 return Block<Derived>(derived(), 0, cols() - cCols, cRows, cCols);
65 return Block<Derived>(derived(), rows() - cRows, 0, cRows, cCols);
67 return Block<Derived>(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
83 template<
typename Derived>
84 template<
int CRows,
int CCols>
85 inline Block<Derived, CRows, CCols>
93 return Block<Derived, CRows, CCols>(derived(), 0, 0);
95 return Block<Derived, CRows, CCols>(derived(), 0, cols() - CCols);
97 return Block<Derived, CRows, CCols>(derived(), rows() - CRows, 0);
99 return Block<Derived, CRows, CCols>(derived(), rows() - CRows, cols() - CCols);
104 template<
typename Derived>
105 template<
int CRows,
int CCols>
106 inline const Block<Derived, CRows, CCols>
107 DenseBase<Derived>::corner(
CornerType type)
const 114 return Block<Derived, CRows, CCols>(derived(), 0, 0);
116 return Block<Derived, CRows, CCols>(derived(), 0, cols() - CCols);
118 return Block<Derived, CRows, CCols>(derived(), rows() - CRows, 0);
120 return Block<Derived, CRows, CCols>(derived(), rows() - CRows, cols() - CCols);
126 #endif // EIGEN_BLOCK2_H
iterative scaling algorithm to equilibrate rows and column norms in matrices