oops, don't set the precision to -1 !!
diff --git a/Eigen/src/Core/IO.h b/Eigen/src/Core/IO.h
index 7cd2b68..53e0241 100644
--- a/Eigen/src/Core/IO.h
+++ b/Eigen/src/Core/IO.h
@@ -139,7 +139,8 @@
width = std::max<int>(width, int(sstr.str().length()));
}
}
- std::streamsize old_precision = s.precision(fmt.precision);
+ std::streamsize old_precision;
+ if(fmt.precision != -1) old_precision = s.precision(fmt.precision);
s << fmt.matPrefix;
for(int i = 0; i < m.rows(); ++i)
{
@@ -159,7 +160,7 @@
s << fmt.rowSeparator;
}
s << fmt.matSuffix;
- s.precision(old_precision);
+ if(fmt.precision != -1) s.precision(old_precision);
return s;
}