![]() |
GNU Octave
3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
|
#include "data-conv.h"#include "quit.h"#include "str-vec.h"#include "oct-obj.h"#include "oct-stream.h"#include "ov.h"#include "ov-base.h"#include "ov-bool.h"#include "ov-bool-mat.h"#include "ov-cell.h"#include "ov-scalar.h"#include "ov-float.h"#include "ov-re-mat.h"#include "ov-flt-re-mat.h"#include "ov-re-diag.h"#include "ov-flt-re-diag.h"#include "ov-perm.h"#include "ov-bool-sparse.h"#include "ov-cx-sparse.h"#include "ov-re-sparse.h"#include "ov-int8.h"#include "ov-int16.h"#include "ov-int32.h"#include "ov-int64.h"#include "ov-uint8.h"#include "ov-uint16.h"#include "ov-uint32.h"#include "ov-uint64.h"#include "ov-complex.h"#include "ov-flt-complex.h"#include "ov-cx-mat.h"#include "ov-flt-cx-mat.h"#include "ov-cx-diag.h"#include "ov-flt-cx-diag.h"#include "ov-ch-mat.h"#include "ov-str-mat.h"#include "ov-range.h"#include "ov-struct.h"#include "ov-class.h"#include "ov-oncleanup.h"#include "ov-cs-list.h"#include "ov-colon.h"#include "ov-builtin.h"#include "ov-dld-fcn.h"#include "ov-usr-fcn.h"#include "ov-fcn-handle.h"#include "ov-fcn-inline.h"#include "ov-typeinfo.h"#include "ov-null-mat.h"#include "ov-lazy-idx.h"#include "defun.h"#include "error.h"#include "gripes.h"#include "pager.h"#include "parse.h"#include "pr-output.h"#include "symtab.h"#include "utils.h"#include "variables.h"
Go to the source code of this file.
Functions | |
| template<class T > | |
| static Array< int > | convert_to_int_array (const Array< octave_int< T > > &A) |
| template<class T > | |
| static Array< octave_idx_type > | convert_to_octave_idx_type_array (const Array< octave_int< T > > &A) |
| static void | decode_subscripts (const char *name, const octave_value &arg, std::string &type_string, std::list< octave_value_list > &idx) |
| static octave_value | decompose_binary_op (octave_value::compound_binary_op op, const octave_value &v1, const octave_value &v2) |
| DEFINE_OCTAVE_ALLOCATOR2 (octave_value, 1024) | |
| DEFUN (sizeof, args,,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} sizeof (@var{val})\n\ Return the size of @var{val} in bytes.\n\ @seealso{whos}\n\ @end deftypefn") | |
| DEFUN (subsref, args, nargout,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} subsref (@var{val}, @var{idx})\n\ Perform the subscripted element selection operation according to\n\ the subscript specified by @var{idx}.\n\ \n\ The subscript @var{idx} is expected to be a structure array with\n\ fields @samp{type} and @samp{subs}. Valid values for @samp{type}\n\ are @samp{\"()\"}, @samp{\"@{@}\"}, and @samp{\".\"}.\n\ The @samp{subs} field may be either @samp{\":\"} or a cell array\n\ of index values.\n\ \n\ The following example shows how to extract the two first columns of\n\ a matrix\n\ \n\ @example\n\ @group\n\ val = magic (3)\n\ @result{} val = [ 8 1 6\n\ 3 5 7\n\ 4 9 2 ]\n\ idx.type = \"()\";\n\ idx.subs = @{\":\", 1:2@};\n\ subsref (val, idx)\n\ @result{} [ 8 1\n\ 3 5\n\ 4 9 ]\n\ @end group\n\ @end example\n\ \n\ @noindent\n\ Note that this is the same as writing @code{val(:,1:2)}.\n\ \n\ If @var{idx} is an empty structure array with fields @samp{type}\n\ and @samp{subs}, return @var{val}.\n\ @seealso{subsasgn, substruct}\n\ @end deftypefn") | |
| DEFUN (subsasgn, args,,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} subsasgn (@var{val}, @var{idx}, @var{rhs})\n\ Perform the subscripted assignment operation according to\n\ the subscript specified by @var{idx}.\n\ \n\ The subscript @var{idx} is expected to be a structure array with\n\ fields @samp{type} and @samp{subs}. Valid values for @samp{type}\n\ are @samp{\"()\"}, @samp{\"@{@}\"}, and @samp{\".\"}.\n\ The @samp{subs} field may be either @samp{\":\"} or a cell array\n\ of index values.\n\ \n\ The following example shows how to set the two first columns of a\n\ 3-by-3 matrix to zero.\n\ \n\ @example\n\ @group\n\ val = magic (3);\n\ idx.type = \"()\";\n\ idx.subs = @{\":\", 1:2@};\n\ subsasgn (val, idx, 0)\n\ @result{} [ 0 0 6\n\ 0 0 7\n\ 0 0 2 ]\n\ @end group\n\ @end example\n\ \n\ Note that this is the same as writing @code{val(:,1:2) = 0}.\n\ \n\ If @var{idx} is an empty structure array with fields @samp{type}\n\ and @samp{subs}, return @var{rhs}.\n\ @seealso{subsref, substruct}\n\ @end deftypefn") | |
| DEFUN (is_sq_string, args,,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} is_sq_string (@var{x})\n\ Return true if @var{x} is a single-quoted character string.\n\ @seealso{is_dq_string, ischar}\n\ @end deftypefn") | |
| DEFUN (is_dq_string, args,,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} is_dq_string (@var{x})\n\ Return true if @var{x} is a double-quoted character string.\n\ @seealso{is_sq_string, ischar}\n\ @end deftypefn") | |
| octave_value | do_binary_op (octave_value::binary_op op, const octave_value &v1, const octave_value &v2) |
| octave_value | do_binary_op (octave_value::compound_binary_op op, const octave_value &v1, const octave_value &v2) |
| octave_value | do_cat_op (const octave_value &v1, const octave_value &v2, const Array< octave_idx_type > &ra_idx) |
| octave_value | do_unary_op (octave_value::unary_op op, const octave_value &v) |
| static void | gripe_assign_failed_or_no_method (const std::string &on, const std::string &tn1, const std::string &tn2) |
| static void | gripe_binary_op (const std::string &on, const std::string &tn1, const std::string &tn2) |
| static void | gripe_binary_op_conv (const std::string &on) |
| static void | gripe_cat_op (const std::string &tn1, const std::string &tn2) |
| static void | gripe_cat_op_conv (void) |
| static void | gripe_unary_op (const std::string &on, const std::string &tn) |
| static void | gripe_unary_op_conv (const std::string &on) |
| static void | gripe_unary_op_conversion_failed (const std::string &op, const std::string &tn) |
| void | install_types (void) |
| static dim_vector | make_vector_dims (const dim_vector &dv, bool force_vector_conversion, const std::string &my_type, const std::string &wanted_type) |
|
static |
Definition at line 1672 of file ov.cc.
References A.
Referenced by octave_value::int_vector_value().
|
static |
Definition at line 1747 of file ov.cc.
References A.
Referenced by octave_value::octave_idx_type_vector_value().
|
static |
Definition at line 2816 of file ov.cc.
References octave_map::contains(), octave_map::contents(), error(), error_state, Array< T >::length(), octave_value::magic_colon_t, octave_value::map_value(), octave_map::nfields(), octave_map::numel(), and octave_value().
Referenced by DEFUN().
|
static |
Definition at line 2135 of file ov.cc.
References do_binary_op(), do_unary_op(), error(), octave_value::op_el_and, octave_value::op_el_and_not, octave_value::op_el_not_and, octave_value::op_el_not_or, octave_value::op_el_or, octave_value::op_el_or_not, octave_value::op_herm_ldiv, octave_value::op_herm_mul, octave_value::op_hermitian, octave_value::op_ldiv, octave_value::op_mul, octave_value::op_mul_herm, octave_value::op_mul_trans, octave_value::op_not, octave_value::op_trans_ldiv, octave_value::op_trans_mul, and octave_value::op_transpose.
Referenced by do_binary_op().
| DEFINE_OCTAVE_ALLOCATOR2 | ( | octave_value | , |
| 1024 | |||
| ) |
| DEFUN | ( | sizeof | , |
| args | |||
| ) |
Definition at line 2792 of file ov.cc.
References octave_value::byte_size(), and print_usage().
| DEFUN | ( | subsref | , |
| args | , | ||
| nargout | |||
| ) |
Definition at line 2893 of file ov.cc.
References decode_subscripts(), error_state, print_usage(), and octave_value::subsref().
| DEFUN | ( | subsasgn | , |
| args | |||
| ) |
Definition at line 2956 of file ov.cc.
References decode_subscripts(), error_state, octave_value::make_unique(), print_usage(), octave_value::storable_value(), and octave_value::subsasgn().
| DEFUN | ( | is_sq_string | , |
| args | |||
| ) |
Definition at line 3091 of file ov.cc.
References octave_value::is_sq_string(), and print_usage().
| DEFUN | ( | is_dq_string | , |
| args | |||
| ) |
Definition at line 3118 of file ov.cc.
References octave_value::is_dq_string(), and print_usage().
| octave_value do_binary_op | ( | octave_value::binary_op | op, |
| const octave_value & | v1, | ||
| const octave_value & | v2 | ||
| ) |
Definition at line 1945 of file ov.cc.
References octave_value::binary_op_as_string(), octave_value::class_name(), do_binary_op(), f, gripe_binary_op(), gripe_binary_op_conv(), gripe_library_execution_error(), octave_value_typeinfo::lookup_binary_class_op(), octave_value_typeinfo::lookup_binary_op(), octave_value::numeric_conversion_function(), octave_value::numeric_demotion_function(), octave_value(), octave_value::rep, octave_class::static_type_id(), octave_base_value::type_conv_info::type_id(), octave_value::type_id(), octave_value::type_name(), v1, and v2.
Referenced by binary_assoc_op_defun_body(), binary_op_defun_body(), decompose_binary_op(), do_binary_op(), Fdot(), octave_class::index_vector(), octave_jit_binary_any_any(), and tree_binary_expression::rvalue1().
| octave_value do_binary_op | ( | octave_value::compound_binary_op | op, |
| const octave_value & | v1, | ||
| const octave_value & | v2 | ||
| ) |
Definition at line 2201 of file ov.cc.
References decompose_binary_op(), f, gripe_library_execution_error(), octave_value_typeinfo::lookup_binary_class_op(), octave_value_typeinfo::lookup_binary_op(), octave_value::rep, octave_class::static_type_id(), and octave_value::type_id().
| octave_value do_cat_op | ( | const octave_value & | v1, |
| const octave_value & | v2, | ||
| const Array< octave_idx_type > & | ra_idx | ||
| ) |
Definition at line 2266 of file ov.cc.
References f, gripe_cat_op(), gripe_cat_op_conv(), gripe_library_execution_error(), octave_value_typeinfo::lookup_cat_op(), octave_value::numeric_conversion_function(), octave_value(), octave_value::rep, octave_base_value::type_conv_info::type_id(), octave_value::type_id(), octave_value::type_name(), v1, and v2.
Referenced by do_cat(), Fbsxfun(), and tree_matrix::rvalue1().
| octave_value do_unary_op | ( | octave_value::unary_op | op, |
| const octave_value & | v | ||
| ) |
Definition at line 2378 of file ov.cc.
References octave_value::class_name(), do_unary_op(), f, gripe_library_execution_error(), gripe_unary_op(), gripe_unary_op_conv(), octave_value_typeinfo::lookup_unary_class_op(), octave_value_typeinfo::lookup_unary_op(), octave_value::numeric_conversion_function(), octave_value(), octave_value::rep, octave_class::static_type_id(), octave_value::type_id(), octave_value::type_name(), and octave_value::unary_op_as_string().
Referenced by decompose_binary_op(), do_unary_op(), tree_prefix_expression::rvalue1(), tree_postfix_expression::rvalue1(), and unary_op_defun_body().
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 2365 of file ov.cc.
References error().
Referenced by octave_value::do_non_const_unary_op(), and do_unary_op().
|
static |
|
static |
Definition at line 2451 of file ov.cc.
References error().
Referenced by octave_value::do_non_const_unary_op().
Definition at line 2731 of file ov.cc.
References octave_null_matrix::register_type(), octave_magic_colon::register_type(), octave_null_str::register_type(), octave_cs_list::register_type(), octave_float_complex_diag_matrix::register_type(), octave_float_diag_matrix::register_type(), octave_complex_diag_matrix::register_type(), octave_oncleanup::register_type(), octave_diag_matrix::register_type(), octave_fcn_inline::register_type(), octave_null_sq_str::register_type(), octave_dld_function::register_type(), octave_builtin::register_type(), octave_sparse_bool_matrix::register_type(), octave_sparse_complex_matrix::register_type(), octave_sparse_matrix::register_type(), octave_struct::register_type(), octave_fcn_handle::register_type(), octave_char_matrix_str::register_type(), octave_float_complex_matrix::register_type(), octave_complex_matrix::register_type(), octave_cell::register_type(), octave_float_complex::register_type(), octave_complex::register_type(), octave_float_matrix::register_type(), octave_class::register_type(), octave_perm_matrix::register_type(), octave_bool_matrix::register_type(), octave_matrix::register_type(), octave_lazy_index::register_type(), octave_bool::register_type(), octave_scalar::register_type(), octave_float_scalar::register_type(), octave_char_matrix_sq_str::register_type(), octave_scalar_struct::register_type(), octave_java::register_type(), octave_range::register_type(), octave_user_function::register_type(), and octave_base_value::register_type().
Referenced by octave_initialize_interpreter().
|
static |
Definition at line 1606 of file ov.cc.
References dim_vector::chop_trailing_singletons(), gripe_implicit_conversion(), dim_vector::length(), and dim_vector::numel().
Referenced by octave_value::complex_vector_value(), octave_value::float_complex_vector_value(), octave_value::float_vector_value(), octave_value::int_vector_value(), octave_value::octave_idx_type_vector_value(), and octave_value::vector_value().
1.8.1.2