GNU Octave
4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
|
#include <cassert>
#include <cctype>
#include <cstring>
#include <deque>
#include <fstream>
#include <iomanip>
#include <iostream>
#include <sstream>
#include <string>
#include "Array.h"
#include "Cell.h"
#include "byte-swap.h"
#include "lo-ieee.h"
#include "lo-mappers.h"
#include "lo-utils.h"
#include "oct-locbuf.h"
#include "quit.h"
#include "singleton-cleanup.h"
#include "str-vec.h"
#include "error.h"
#include "errwarn.h"
#include "input.h"
#include "interpreter.h"
#include "octave.h"
#include "oct-stdstrm.h"
#include "oct-stream.h"
#include "ov.h"
#include "ovl.h"
#include "utils.h"
Go to the source code of this file.
Classes | |
class | octave::delimited_stream |
class | printf_format_elt |
class | printf_format_list |
class | printf_value_cache |
class | scanf_format_elt |
class | scanf_format_list |
class | octave::textscan |
class | octave::textscan_format_elt |
class | octave::textscan_format_list |
class | ultimate_element_type< T > |
class | ultimate_element_type< octave_int< T > > |
Namespaces | |
octave | |
Octave interface to the compression and uncompression libraries. | |
Macros | |
#define | BEGIN_C_CONVERSION() |
#define | BEGIN_CHAR_CLASS_CONVERSION() |
#define | BEGIN_S_CONVERSION() |
#define | DO_LITERAL_CONVERSION() |
#define | DO_PCT_CONVERSION() |
#define | DO_WHITESPACE_CONVERSION() |
#define | FILL_TABLE_ROW(T, V) |
#define | FINISH_CHARACTER_CONVERSION() |
#define | INSTANTIATE_WRITE(T) |
#define | TABLE_ELT(T, U, V, W) conv_fptr_table[oct_data_conv::T][oct_data_conv::U] = convert_and_copy<V, W> |
Typedefs | |
typedef octave_value(* | conv_fptr )(std::list< void * > &input_buf_list, octave_idx_type input_buf_elts, octave_idx_type elts_read, octave_idx_type nr, octave_idx_type nc, bool swap, bool do_float_fmt_conv, bool do_NA_conv, octave::mach_info::float_format from_flt_fmt) |
Functions | |
template<typename SRC_T , typename DST_T > | |
static octave_value | convert_and_copy (std::list< void * > &input_buf_list, octave_idx_type input_buf_elts, octave_idx_type elts_read, octave_idx_type nr, octave_idx_type nc, bool swap, bool do_float_fmt_conv, bool do_NA_conv, octave::mach_info::float_format from_flt_fmt) |
template<typename T , typename V > | |
static void | convert_chars (const void *data, void *conv_data, octave_idx_type n_elts) |
template<typename T > | |
static bool | convert_data (const T *data, void *conv_data, octave_idx_type n_elts, oct_data_conv::data_type output_type, octave::mach_info::float_format flt_fmt) |
template<typename T , typename V > | |
static void | convert_ints (const T *data, void *conv_data, octave_idx_type n_elts, bool swap) |
static int | convert_to_valid_int (const octave_value &tc, int &conv_err) |
template<typename T > | |
int | do_printf_conv (std::ostream &os, const char *fmt, int nsa, int sa_1, int sa_2, T arg, const std::string &who) |
static size_t | do_printf_string (std::ostream &os, const printf_format_elt *elt, int nsa, int sa_1, int sa_2, const std::string &arg, const std::string &who) |
template<typename T > | |
void | do_scanf_conv (std::istream &is, const scanf_format_elt &fmt, T valptr, Matrix &mval, double *data, octave_idx_type &idx, octave_idx_type &conversion_count, octave_idx_type nr, octave_idx_type max_size, bool discard) |
template void | do_scanf_conv (std::istream &, const scanf_format_elt &, double *, Matrix &, double *, octave_idx_type &, octave_idx_type &, octave_idx_type, octave_idx_type, bool) |
static OCTAVE_NORETURN void | err_invalid_file_id (int fid, const std::string &who) |
static std::string | expand_char_class (const std::string &s) |
static octave_idx_type | get_size (double d, const std::string &who) |
static void | get_size (const Array< double > &size, octave_idx_type &nr, octave_idx_type &nc, bool &one_elt_size_spec, const std::string &who) |
static Cell | init_inf_nan (void) |
static bool | is_nan_or_inf (const octave_value &val) |
template<typename T > | |
static bool | is_old_NA (T) |
template<> | |
bool | is_old_NA< double > (double val) |
template<typename T > | |
std::istream & | octave_scan (std::istream &is, const scanf_format_elt &fmt, T *valptr) |
template<> | |
std::istream & | octave_scan (std::istream &is, const scanf_format_elt &, char *valptr) |
template<> | |
std::istream & | octave_scan (std::istream &is, const scanf_format_elt &fmt, double *valptr) |
template<typename T > | |
std::istream & | octave_scan_1 (std::istream &is, const scanf_format_elt &fmt, T *valptr) |
static bool | ok_for_signed_int_conv (const octave_value &val) |
static bool | ok_for_unsigned_int_conv (const octave_value &val) |
static double | pown (double x, unsigned int n) |
template<typename T > | |
static T | replace_old_NA (T val) |
template<> | |
double | replace_old_NA< double > (double val) |
static std::string | switch_to_g_format (const printf_format_elt *elt) |
#define BEGIN_C_CONVERSION | ( | ) |
Definition at line 4422 of file oct-stream.cc.
Referenced by octave_base_stream::do_oscanf(), and octave_base_stream::do_scanf().
#define BEGIN_CHAR_CLASS_CONVERSION | ( | ) |
Definition at line 4492 of file oct-stream.cc.
Referenced by octave_base_stream::do_oscanf(), and octave_base_stream::do_scanf().
#define BEGIN_S_CONVERSION | ( | ) |
Definition at line 4443 of file oct-stream.cc.
Referenced by octave_base_stream::do_oscanf(), and octave_base_stream::do_scanf().
#define DO_LITERAL_CONVERSION | ( | ) |
Definition at line 4377 of file oct-stream.cc.
Referenced by octave_base_stream::do_oscanf(), and octave_base_stream::do_scanf().
#define DO_PCT_CONVERSION | ( | ) |
Definition at line 4404 of file oct-stream.cc.
Referenced by octave_base_stream::do_oscanf(), and octave_base_stream::do_scanf().
#define DO_WHITESPACE_CONVERSION | ( | ) |
Definition at line 4363 of file oct-stream.cc.
Referenced by octave_base_stream::do_oscanf(), and octave_base_stream::do_scanf().
#define FILL_TABLE_ROW | ( | T, | |
V | |||
) |
Definition at line 6345 of file oct-stream.cc.
Referenced by octave_stream::finalize_read().
#define FINISH_CHARACTER_CONVERSION | ( | ) |
Definition at line 4539 of file oct-stream.cc.
Referenced by octave_base_stream::do_scanf().
#define INSTANTIATE_WRITE | ( | T | ) |
Definition at line 6957 of file oct-stream.cc.
#define TABLE_ELT | ( | T, | |
U, | |||
V, | |||
W | |||
) | conv_fptr_table[oct_data_conv::T][oct_data_conv::U] = convert_and_copy<V, W> |
Definition at line 6342 of file oct-stream.cc.
typedef octave_value(* conv_fptr)(std::list< void * > &input_buf_list, octave_idx_type input_buf_elts, octave_idx_type elts_read, octave_idx_type nr, octave_idx_type nc, bool swap, bool do_float_fmt_conv, bool do_NA_conv, octave::mach_info::float_format from_flt_fmt) |
Definition at line 6337 of file oct-stream.cc.
|
static |
Definition at line 6244 of file oct-stream.cc.
References do_float_format_conversion(), is_old_NA(), octave::mach_info::native_float_format(), replace_old_NA(), and tmp.
|
static |
Definition at line 6674 of file oct-stream.cc.
References V.
|
static |
Definition at line 6721 of file oct-stream.cc.
References do_double_format_conversion(), do_float_format_conversion(), oct_data_conv::dt_char, oct_data_conv::dt_double, oct_data_conv::dt_int16, oct_data_conv::dt_int32, oct_data_conv::dt_int64, oct_data_conv::dt_int8, oct_data_conv::dt_schar, oct_data_conv::dt_single, oct_data_conv::dt_uchar, oct_data_conv::dt_uint16, oct_data_conv::dt_uint32, oct_data_conv::dt_uint64, oct_data_conv::dt_uint8, error(), octave::mach_info::flt_fmt_ieee_big_endian, octave::mach_info::flt_fmt_ieee_little_endian, retval, swap, and octave::mach_info::words_big_endian().
Referenced by octave_stream::write().
|
static |
Definition at line 6686 of file oct-stream.cc.
|
static |
Definition at line 78 of file oct-stream.cc.
References octave_value::double_value(), lo_ieee_isnan, octave::math::nint(), recover_from_exception(), and retval.
Referenced by octave_stream_list::do_get_file_number(), octave_stream_list::do_get_info(), octave_stream::getl(), octave_stream::gets(), octave_stream::seek(), and octave_stream::skipl().
int do_printf_conv | ( | std::ostream & | os, |
const char * | fmt, | ||
int | nsa, | ||
int | sa_1, | ||
int | sa_2, | ||
T | arg, | ||
const std::string & | who | ||
) |
Definition at line 5472 of file oct-stream.cc.
References error(), octave_format(), and retval.
Referenced by octave_base_stream::do_numeric_printf_conv().
|
static |
Definition at line 5500 of file oct-stream.cc.
References arg, error(), printf_format_elt::flags, printf_format_elt::fw, left, printf_format_elt::prec, right, and string.
Referenced by octave_base_stream::do_printf().
void do_scanf_conv | ( | std::istream & | is, |
const scanf_format_elt & | fmt, | ||
T | valptr, | ||
Matrix & | mval, | ||
double * | data, | ||
octave_idx_type & | idx, | ||
octave_idx_type & | conversion_count, | ||
octave_idx_type | nr, | ||
octave_idx_type | max_size, | ||
bool | discard | ||
) |
Definition at line 4329 of file oct-stream.cc.
References Array< T >::fortran_vec(), octave_scan(), and Matrix::resize().
Referenced by octave_base_stream::do_scanf().
template void do_scanf_conv | ( | std::istream & | , |
const scanf_format_elt & | , | ||
double * | , | ||
Matrix & | , | ||
double * | , | ||
octave_idx_type & | , | ||
octave_idx_type & | , | ||
octave_idx_type | , | ||
octave_idx_type | , | ||
bool | |||
) |
|
static |
Definition at line 7351 of file oct-stream.cc.
References error().
Referenced by octave_stream_list::do_lookup(), and octave_stream_list::do_remove().
|
static |
Definition at line 435 of file oct-stream.cc.
References c, octave_value::length(), retval, and string.
Referenced by scanf_format_list::finish_conversion().
|
static |
Definition at line 116 of file oct-stream.cc.
References error(), octave::math::isinf(), lo_ieee_isnan, max(), octave::math::nint_big(), and retval.
Referenced by get_size(), octave_stream::read(), and octave_base_stream::scanf().
|
static |
Definition at line 142 of file oct-stream.cc.
References error(), get_size(), octave::math::isinf(), Array< T >::numel(), and size.
|
static |
Definition at line 1196 of file oct-stream.cc.
References retval.
|
static |
Definition at line 5524 of file oct-stream.cc.
References octave_value::is_true(), octave_value::isinf(), and octave_value::isnan().
Referenced by octave::opengl_renderer::clip_code(), and octave_base_stream::do_numeric_printf_conv().
|
inlinestatic |
Definition at line 6216 of file oct-stream.cc.
Referenced by convert_and_copy().
Definition at line 6223 of file oct-stream.cc.
References __lo_ieee_is_old_NA(), and val.
std::istream& octave_scan | ( | std::istream & | is, |
const scanf_format_elt & | fmt, | ||
T * | valptr | ||
) |
Definition at line 4260 of file oct-stream.cc.
References is, octave_scan_1(), string, tmp, and scanf_format_elt::width.
Referenced by octave_base_stream::do_oscanf(), and do_scanf_conv().
std::istream& octave_scan | ( | std::istream & | is, |
const scanf_format_elt & | , | ||
char * | valptr | ||
) |
Definition at line 4286 of file oct-stream.cc.
std::istream& octave_scan | ( | std::istream & | is, |
const scanf_format_elt & | fmt, | ||
double * | valptr | ||
) |
Definition at line 4294 of file oct-stream.cc.
References is, and panic_impossible.
std::istream& octave_scan_1 | ( | std::istream & | is, |
const scanf_format_elt & | fmt, | ||
T * | valptr | ||
) |
Definition at line 4173 of file oct-stream.cc.
References octave_value_list::clear(), is, scanf_format_elt::type, and value().
Referenced by octave_scan().
|
static |
Definition at line 5533 of file oct-stream.cc.
References octave_value::double_value(), octave_value::is_integer_type(), octave_value::is_string(), octave_value::is_uint64_type(), max(), octave::math::round(), octave_value::uint64_scalar_value(), and octave_int< T >::value().
Referenced by octave_base_stream::do_numeric_printf_conv().
|
static |
Definition at line 5563 of file oct-stream.cc.
References do_binary_op(), octave_value::double_value(), octave_value::is_integer_type(), octave_value::is_string(), octave_value::is_true(), max(), octave_value::op_ge, and octave::math::round().
Referenced by octave_base_stream::do_numeric_printf_conv().
Definition at line 1181 of file oct-stream.cc.
Referenced by octave::textscan::read_double().
|
inlinestatic |
|
inline |
Definition at line 6237 of file oct-stream.cc.
References __lo_ieee_replace_old_NA(), and val.
|
static |
Definition at line 5590 of file oct-stream.cc.
References string, printf_format_elt::text, and printf_format_elt::type.
Referenced by octave_base_stream::do_numeric_printf_conv().