Index: libcfa/src/iostream.cfa
===================================================================
--- libcfa/src/iostream.cfa	(revision 5cb2b8cda6fca70932eceb1ebeaffcc301b6ca3d)
+++ libcfa/src/iostream.cfa	(revision 3c5dee4a100cd0d1a3869d9add9831a31f8160a9)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Apr 20 14:02:43 2019
-// Update Count     : 617
+// Last Modified On : Mon May 13 12:46:45 2019
+// Update Count     : 650
 //
 
@@ -23,4 +23,5 @@
 extern size_t strlen (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
 #include <float.h>										// DBL_DIG, LDBL_DIG
+#include <math.h>										// modff, modf, modlf
 #include <complex.h>									// creal, cimag
 }
@@ -156,4 +157,6 @@
 		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
 		fmt( os, "%g", f );
+		float tempi;
+		if ( isfinite( f ) && modff( f, &tempi ) == 0.0F ) fmt( os, "." ); // always print decimal point
 		return os;
 	} // ?|?
@@ -165,4 +168,7 @@
 		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
 		fmt( os, "%.*lg", DBL_DIG, d );
+		// fmt( os, "%lg", d );
+		double tempi;
+		if ( isfinite( d ) && modf( d, &tempi ) == 0.0D ) fmt( os, "." ); // always print decimal point
 		return os;
 	} // ?|?
@@ -174,4 +180,7 @@
 		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
 		fmt( os, "%.*Lg", LDBL_DIG, ld );
+		// fmt( os, "%Lg", ld );
+		long double tempi;
+		if ( isfinite( ld ) && modfl( ld, &tempi ) == 0.0L ) fmt( os, "." ); // always print decimal point
 		return os;
 	} // ?|?
@@ -182,5 +191,11 @@
 	ostype & ?|?( ostype & os, float _Complex fc ) {
 		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-		fmt( os, "%g%+gi", crealf( fc ), cimagf( fc ) );
+		float temp = crealf( fc ), tempi;
+		fmt( os, "%g", temp );
+		if ( isfinite( temp ) && modff( temp, &tempi ) == 0.0F ) fmt( os, "." ); // always print decimal point
+		temp = cimagf( fc );
+		fmt( os, "%+g", temp );
+		if ( isfinite( temp ) && modff( temp, &tempi ) == 0.0F ) fmt( os, "." ); // always print decimal point
+		fmt( os, "i" );
 		return os;
 	} // ?|?
@@ -191,5 +206,12 @@
 	ostype & ?|?( ostype & os, double _Complex dc ) {
 		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-		fmt( os, "%.*lg%+.*lgi", DBL_DIG, creal( dc ), DBL_DIG, cimag( dc ) );
+		double temp = creal( dc ), tempi;
+		fmt( os, "%.*lg", DBL_DIG, temp );
+		if ( isfinite( temp ) && modf( temp, &tempi ) == 0.0D ) fmt( os, "." ); // always print decimal point
+		temp = cimag( dc );
+		fmt( os, "%+.*lg", DBL_DIG, temp );
+		if ( isfinite( temp ) && modf( temp, &tempi ) == 0.0D ) fmt( os, "." ); // always print decimal point
+		fmt( os, "i" );
+		// fmt( os, "%lg%+lgi", creal( dc ), cimag( dc ) );
 		return os;
 	} // ?|?
@@ -200,5 +222,12 @@
 	ostype & ?|?( ostype & os, long double _Complex ldc ) {
 		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-		fmt( os, "%.*Lg%+.*Lgi", LDBL_DIG, creall( ldc ), LDBL_DIG, cimagl( ldc ) );
+		long double temp = creall( ldc ), tempi;
+		fmt( os, "%.*Lg", LDBL_DIG, temp );
+		if ( isfinite( temp ) && modfl( temp, &tempi ) == 0.0L ) fmt( os, "." ); // always print decimal point
+		temp = cimagl( ldc );
+		fmt( os, "%+.*Lg", LDBL_DIG, cimagl( ldc ) );
+		if ( isfinite( temp ) && modfl( temp, &tempi ) == 0.0L ) fmt( os, "." ); // always print decimal point
+		fmt( os, "i" );
+		// fmt( os, "%Lg%+Lgi", creall( ldc ), cimagl( ldc ) );
 		return os;
 	} // ?|?
@@ -494,5 +523,4 @@
 	} // ?|?
 
-
 	// manipulators
 	istype & ?|?( istype & is, istype & (* manip)( istype & ) ) {
@@ -501,5 +529,5 @@
 
 	istype & nl( istype & is ) {
-		fmt( is, "%*[ \t\f\n\r\v]" );					// ignore whitespace
+		fmt( is, "%*[^\n]" );							// ignore characters to newline
 		return is;
 	} // nl
Index: libcfa/src/iostream.hfa
===================================================================
--- libcfa/src/iostream.hfa	(revision 5cb2b8cda6fca70932eceb1ebeaffcc301b6ca3d)
+++ libcfa/src/iostream.hfa	(revision 3c5dee4a100cd0d1a3869d9add9831a31f8160a9)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri May  3 22:55:04 2019
-// Update Count     : 230
+// Last Modified On : Sat May 11 10:31:27 2019
+// Update Count     : 232
 //
 
@@ -190,8 +190,8 @@
 
 	// manipulators
+	istype & ?|?( istype &, istype & (*)( istype & ) );
+	istype & nl( istype & is );
 	istype & nlOn( istype & );
 	istype & nlOff( istype & );
-	istype & ?|?( istype &, istype & (*)( istype & ) );
-	istype & nl( istype & is );
 } // distribution
 
@@ -215,5 +215,4 @@
 
 // Local Variables: //
-// mode: c //
 // tab-width: 4 //
 // End: //
