Stores a set of parameters controlling the way matrices are printed.
List of available parameters:
StreamPrecision
and FullPrecision
. The default is the special value StreamPrecision
which means to use the stream's own precision setting, as set for instance using cout.precision(3)
. The other special value FullPrecision
means that the number of digits will be computed to match the full precision of each floating-point type.DontAlignCols
which allows to disable the alignment of columns, resulting in faster code.Example:
std::string sep = "\n----------------------------------------\n"; Matrix3d m1; m1 << 1.111111, 2, 3.33333, 4, 5, 6, 7, 8.888888, 9; IOFormat CommaInitFmt(StreamPrecision, DontAlignCols, ", ", ", ", "", "", " << ", ";"); IOFormat CleanFmt(4, 0, ", ", "\n", "[", "]"); IOFormat OctaveFmt(StreamPrecision, 0, ", ", ";\n", "", "", "[", "]"); IOFormat HeavyFmt(FullPrecision, 0, ", ", ";\n", "[", "]", "[", "]"); std::cout << m1 << sep; std::cout << m1.format(CommaInitFmt) << sep; std::cout << m1.format(CleanFmt) << sep; std::cout << m1.format(OctaveFmt) << sep; std::cout << m1.format(HeavyFmt) << sep;
Output:
1.11 2 3.33 4 5 6 7 8.89 9 ---------------------------------------- << 1.11, 2, 3.33, 4, 5, 6, 7, 8.89, 9; ---------------------------------------- [1.111, 2, 3.333] [ 4, 5, 6] [ 7, 8.889, 9] ---------------------------------------- [1.11, 2, 3.33; 4, 5, 6; 7, 8.89, 9] ---------------------------------------- [[1.111111, 2, 3.33333]; [ 4, 5, 6]; [ 7, 8.888888, 9]] ----------------------------------------
IOFormat (int _precision=StreamPrecision, int _flags=0, const std::string &_coeffSeparator=" ", const std::string &_rowSeparator="\n", const std::string &_rowPrefix="", const std::string &_rowSuffix="", const std::string &_matPrefix="", const std::string &_matSuffix="", const char _fill=' ') | |
| inline |
Default constructor, see class IOFormat for the meaning of the parameters
© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/structEigen_1_1IOFormat.html