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)
98 friend std::ostream & operator << (std::ostream & s,
const WithFormat& wf)
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 <<
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)
const CwiseUnaryOp< internal::scalar_log_op< Scalar >, const Derived > log() const
#define EIGEN_DEFAULT_IO_FORMAT
NumTraits< Scalar >::Real RealScalar
const WithFormat< Derived > format(const IOFormat &fmt) const