Mercurial > hg > octave-max
diff src/pr-output.cc @ 3248:68259f410026
[project @ 1999-07-13 03:34:54 by jwe]
author | jwe |
---|---|
date | Tue, 13 Jul 1999 03:40:17 +0000 |
parents | bc3fdfe311a3 |
children | 4964d5391acc |
line wrap: on
line diff
--- a/src/pr-output.cc +++ b/src/pr-output.cc @@ -1154,15 +1154,23 @@ } } +static inline void +do_plus_format (ostream& os, double d) +{ + if (d == 0.0) + os << " "; + else if (d < 0.0) + os << "-"; + else + os << "+"; +} + void octave_print_internal (ostream& os, double d, bool pr_as_read_syntax) { if (plus_format) { - if (d == 0.0) - os << " "; - else - os << "+"; + do_plus_format (os, d); } else { @@ -1192,10 +1200,7 @@ if (j == 0) os << " "; - if (m (i, j) == 0.0) - os << " "; - else - os << "+"; + do_plus_format (os, m (i, j)); } if (i < nr - 1) @@ -1311,16 +1316,32 @@ } } +static inline void +do_plus_format (ostream& os, const Complex& c) +{ + double rp = c.real (); + double ip = c.imag (); + + if (rp == 0.0) + { + if (ip == 0.0) + os << " "; + else + os << "i"; + } + else if (ip == 0.0) + do_plus_format (os, rp); + else + os << "c"; +} + void octave_print_internal (ostream& os, const Complex& c, bool pr_as_read_syntax) { if (plus_format) { - if (c == 0.0) - os << " "; - else - os << "+"; + do_plus_format (os, c); } else { @@ -1350,10 +1371,7 @@ if (j == 0) os << " "; - if (cm (i, j) == 0.0) - os << " "; - else - os << "+"; + do_plus_format (os, cm (i, j)); } if (i < nr - 1)