Mercurial > octave
view libinterp/corefcn/oct-prcstrm.cc @ 24785:504869574c89
restore auto switch to E formats octave_print_internal functions
* pr-output.cc (pr_output_traits::max_field_width): New variable.
(make_real_format, make_real_matrix_format, make_complex_format,
make_complex_matrix_format, make_range_format): Switch to E format if
computed field width exceeds max field width for type or if computed
number of digits to display exceeds max meaningful digits for type.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 21 Feb 2018 15:41:52 -0500 |
parents | 194eb4bd202b |
children | 6652d3823428 |
line wrap: on
line source
/* Copyright (C) 1996-2017 John W. Eaton This file is part of Octave. Octave is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <https://www.gnu.org/licenses/>. */ #if defined (HAVE_CONFIG_H) # include "config.h" #endif #include <cstdio> #include "oct-prcstrm.h" #include "sysdep.h" octave::stream octave_iprocstream::create (const std::string& n, std::ios::openmode arg_md, octave::mach_info::float_format ff) { return octave::stream (new octave_iprocstream (n, arg_md, ff)); } octave_iprocstream::octave_iprocstream (const std::string& n, std::ios::openmode arg_md, octave::mach_info::float_format ff) : octave_stdiostream (n, octave_popen (n.c_str (), "r"), arg_md, ff, octave_pclose) { } octave_iprocstream::~octave_iprocstream (void) { do_close (); } octave::stream octave_oprocstream::create (const std::string& n, std::ios::openmode arg_md, octave::mach_info::float_format ff) { return octave::stream (new octave_oprocstream (n, arg_md, ff)); } octave_oprocstream::octave_oprocstream (const std::string& n, std::ios::openmode arg_md, octave::mach_info::float_format ff) : octave_stdiostream (n, octave_popen (n.c_str (), "w"), arg_md, ff, octave_pclose) { } octave_oprocstream::~octave_oprocstream (void) { do_close (); }