21 template<
typename Derived>
54 const std::string& _coeffSeparator =
" ",
55 const std::string& _rowSeparator =
"\n",
const std::string& _rowPrefix=
"",
const std::string& _rowSuffix=
"",
56 const std::string& _matPrefix=
"",
const std::string& _matSuffix=
"")
57 : matPrefix(_matPrefix), matSuffix(_matSuffix), rowPrefix(_rowPrefix), rowSuffix(_rowSuffix), rowSeparator(_rowSeparator),
58 rowSpacer(
""), coeffSeparator(_coeffSeparator),
precision(_precision), flags(_flags)
60 int i = int(matSuffix.length())-1;
61 while (i>=0 && matSuffix[i]!=
'\n')
68 std::string rowPrefix,
rowSuffix, rowSeparator, rowSpacer;
89 template<
typename ExpressionType>
95 : m_matrix(matrix), m_format(format)
115 template<
typename Derived>
124 template<
typename Scalar,
bool IsInteger>
136 template<
typename Scalar>
145 template<
typename Scalar>
152 template<
typename Derived>
161 typename Derived::Nested m = _m;
162 typedef typename Derived::Scalar Scalar;
163 typedef typename Derived::Index Index;
167 std::streamsize explicit_precision;
170 explicit_precision = 0;
176 explicit_precision = 0;
192 for(Index j = 1; j < m.cols(); ++j)
193 for(Index i = 0; i < m.rows(); ++i)
195 std::stringstream sstr;
196 if(explicit_precision) sstr.precision(explicit_precision);
197 sstr << m.coeff(i,j);
198 width = std::max<Index>(width, Index(sstr.str().length()));
201 std::streamsize old_precision = 0;
202 if(explicit_precision) old_precision = s.precision(explicit_precision);
204 for(Index i = 0; i < m.rows(); ++i)
209 if(width) s.width(width);
211 for(Index j = 1; j < m.cols(); ++j)
214 if (width) s.width(width);
218 if( i < m.rows() - 1)
222 if(explicit_precision) s.precision(old_precision);
239 template<
typename Derived>
240 std::ostream &
operator <<
iterative scaling algorithm to equilibrate rows and column norms in matrices
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
Base class for all dense matrices, vectors, and arrays.
std::ostream & print_matrix(std::ostream &s, const Derived &_m, const IOFormat &fmt)
ExportStatementBlock & operator<<(ExportStatementBlock &_block, const ExportStatement &_statement)
#define EIGEN_DEFAULT_IO_FORMAT
NumTraits< Scalar >::Real RealScalar
const WithFormat< Derived > format(const IOFormat &fmt) const
IntermediateState log(const Expression &arg)