|Re: [eigen] default printing format|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
On Thu, 13 Aug 2009, Benoit Jacob wrote:
for the full precision idea, there are opinions on both sides, but i
didn't see an answer to what i think is the biggest objection: c++
stream do not show full precision by default, so there would be a
discrepancy if suddenly we made them use full precision when they're
used with matrices.
I agree with this argument. I think that, by default, matrices should be
printed with the same precision as scalars.
For comparison, none of the other environments mentioned before default
to full precision.
Numpy: defaults to 8 digits of precision 
Octave: "By default, Octave will try to print numbers with at least 5
significant figures within a field that is a maximum of 10 characters
Matlab: "For floating-point variables, for example, the default is format
short (i.e., 5-digit scaled, fixed-point values)." 
Moreover, already in Eigen 2.0 one can set once and for all a default
IOFormat different from the "default default":
#define EIGEN_DEFAULT_IO_FORMAT Eigen::IOFormat(16)
before #including eigen.
Would it be possible to add a function for those people who dislike
macros? E.g., something like
static void IOFormat::setDefaultFormat(const IOFormat& fmt)