diff src/ls-mat-ascii.cc @ 5951:b2167e370f82

[project @ 2006-08-22 05:13:42 by jwe]
author jwe
date Tue, 22 Aug 2006 05:13:42 +0000
parents 5a3a716c257d
children b39ecdddd77b
line wrap: on
line diff
--- a/src/ls-mat-ascii.cc
+++ b/src/ls-mat-ascii.cc
@@ -334,9 +334,6 @@
 {
   bool success = true;
 
-  long old_precision = os.precision ();
-  os.precision (precision);
-
   if (val.is_complex_type ())
     warning ("save: omitting imaginary part for ASCII file");
 
@@ -349,9 +346,20 @@
       error_state = 0;
     }
   else
-    os << m;
+    {
+      long old_precision = os.precision ();
+
+      os.precision (precision);
 
-  os.precision (old_precision);
+      std::ios::fmtflags oflags
+	= os.flags (static_cast<std::ios::fmtflags> (std::ios::scientific));
+
+      os << m;
+
+      os.flags (oflags);
+
+      os.precision (old_precision);
+    }
 
   return (os && success);
 }