It would be nice to have vector and matrix formatting, such as with IOFormat, that is more similar to C's printf than the current one.
Specifically, the precision parameter in IOFormat is insufficient. Per my trials, it specifies the total number of significant digits printed, but is not a full output specification.
In C, the "%##.##f" format includes: the total width of the field (before the dot) and the number of decimal digits after the dot. I have cases in which the dynamic range of variables is large, e.g. a transformation where the rotation elements are in [0..1] and the translation elements are in any magnitude, possibly 10^6. I'd like to print it as one matrix with 10 decimal digits after the dot, and a total width of 16 or 17.
In addition, in some cases I'd like to choose the padding.
I hope some suggestion for this will come up in future versions of Eigen.
Hm, ok why not. But we will never be able to fulfill everyones use-cases regarding IO. So probably it will be easier for you to just write your own custom IO method.