26 #if ! defined (octave_ov_h)
29 #include "octave-config.h"
69 bool is_for_cmd_expr =
false);
74 bool is_for_cmd_expr =
false);
134 unknown_compound_binary_op
156 static binary_op assign_op_to_binary_op (assign_op);
158 static assign_op binary_op_to_assign_op (binary_op);
160 static std::string unary_op_as_string (unary_op);
161 static std::string unary_op_fcn_name (unary_op);
163 static std::string binary_op_as_string (binary_op);
164 static std::string binary_op_fcn_name (binary_op);
166 static std::string binary_op_fcn_name (compound_binary_op);
168 static std::string assign_op_as_string (assign_op);
193 #if defined (OCTAVE_HAVE_LONG_LONG_INT)
196 #if defined (OCTAVE_HAVE_UNSIGNED_LONG_LONG_INT)
282 bool zero_based =
false,
bool cache_index =
false);
291 const std::list<std::string>& plist);
293 const std::list<std::string>& plist);
332 if (rep && --rep->count == 0 && rep != nil_rep ())
342 if (--rep->count == 0 && rep != nil_rep ())
354 if (rep->count > obsolete_copies + 1)
358 if (--rep->count == 0 && rep != nil_rep ())
371 if (--rep->count == 0 && rep != nil_rep ())
389 if (rep && --rep->count == 0 && rep != nil_rep ())
402 {
return rep->numeric_conversion_function (); }
405 {
return rep->numeric_demotion_function (); }
436 {
return rep->
size (); }
441 {
return rep->xnumel (idx); }
450 const std::list<octave_value_list>& idx)
454 const std::list<octave_value_list>& idx,
459 const std::list<octave_value_list>& idx,
463 std::list<octave_value_list>& idx,
467 const std::string&
type,
const
468 std::list<octave_value_list>& idx,
472 std::list<octave_value_list>& idx,
476 bool resize_ok =
false)
480 const std::list<octave_value_list>& idx,
484 const std::list<octave_value_list>& idx,
488 const std::list<octave_value_list>& idx,
495 return rep->index_vector (require_integers);
510 int ndims (
void)
const {
return rep->ndims (); }
516 {
return (ndims () == 2 && rows () == 0 && columns () == 0); }
519 {
return rep->numel (); }
522 {
return rep->byte_size (); }
534 {
return rep->
permute (vec, inv); }
537 {
return rep->
permute (vec,
true); }
540 {
return rep->
resize (dv, fill);}
552 {
return rep->is_defined (); }
555 {
return ! is_defined (); }
558 {
return rep->isempty (); }
561 {
return rep->iscell (); }
564 {
return rep->iscellstr (); }
567 {
return rep->is_real_scalar (); }
570 {
return rep->is_real_matrix (); }
573 {
return rep->is_complex_scalar (); }
576 {
return rep->is_complex_matrix (); }
579 {
return rep->is_bool_scalar (); }
582 {
return rep->is_bool_matrix (); }
585 {
return rep->is_char_matrix (); }
588 {
return rep->is_diag_matrix (); }
591 {
return rep->is_perm_matrix (); }
594 {
return rep->is_string (); }
597 {
return rep->is_sq_string (); }
600 {
return rep->is_string () && ! rep->is_sq_string (); }
603 {
return rep->is_range (); }
606 {
return rep->isstruct (); }
609 {
return rep->is_classdef_meta (); }
612 {
return rep->is_classdef_object (); }
615 {
return rep->is_classdef_superclass_ref (); }
618 {
return rep->is_package (); }
621 {
return rep->isobject (); }
624 {
return rep->isjava (); }
627 {
return rep->is_cs_list (); }
630 {
return rep->is_magic_colon (); }
633 {
return rep->isnull (); }
638 {
return rep->
all (dim); }
641 {
return rep->
any (dim); }
644 {
return rep->builtin_type (); }
649 {
return rep->is_double_type (); }
652 {
return rep->is_single_type (); }
655 {
return rep->isfloat (); }
660 {
return rep->is_int8_type (); }
663 {
return rep->is_int16_type (); }
666 {
return rep->is_int32_type (); }
669 {
return rep->is_int64_type (); }
672 {
return rep->is_uint8_type (); }
675 {
return rep->is_uint16_type (); }
678 {
return rep->is_uint32_type (); }
681 {
return rep->is_uint64_type (); }
684 {
return rep->isinteger (); }
689 {
return rep->islogical (); }
692 {
return rep->isreal (); }
695 {
return rep->iscomplex (); }
698 {
return rep->is_scalar_type (); }
701 {
return rep->is_matrix_type (); }
704 {
return rep->isnumeric (); }
707 {
return rep->issparse (); }
712 {
return rep->is_true (); }
719 {
return rep->is_constant (); }
722 {
return rep->is_function_handle (); }
725 {
return rep->is_anonymous_function (); }
728 {
return rep->is_inline_function (); }
731 {
return rep->is_function (); }
734 {
return rep->is_user_script (); }
737 {
return rep->is_user_function (); }
740 {
return rep->is_user_code (); }
743 {
return rep->is_builtin_function (); }
746 {
return rep->is_dld_function (); }
749 {
return rep->is_mex_function (); }
758 short_value (
bool req_int =
false,
bool frc_str_conv =
false)
const
759 {
return rep->short_value (req_int, frc_str_conv); }
763 {
return rep->ushort_value (req_int, frc_str_conv); }
765 int int_value (
bool req_int =
false,
bool frc_str_conv =
false)
const
766 {
return rep->int_value (req_int, frc_str_conv); }
769 uint_value (
bool req_int =
false,
bool frc_str_conv =
false)
const
770 {
return rep->uint_value (req_int, frc_str_conv); }
773 {
return rep->nint_value (frc_str_conv); }
776 long_value (
bool req_int =
false,
bool frc_str_conv =
false)
const
777 {
return rep->long_value (req_int, frc_str_conv); }
780 ulong_value (
bool req_int =
false,
bool frc_str_conv =
false)
const
781 {
return rep->ulong_value (req_int, frc_str_conv); }
784 int64_value (
bool req_int =
false,
bool frc_str_conv =
false)
const
785 {
return rep->int64_value (req_int, frc_str_conv); }
789 {
return rep->uint64_value (req_int, frc_str_conv); }
795 {
return rep->double_value (frc_str_conv); }
798 {
return rep->float_value (frc_str_conv); }
801 {
return rep->scalar_value (frc_str_conv); }
804 {
return rep->float_scalar_value (frc_str_conv); }
807 {
return rep->matrix_value (frc_str_conv); }
810 {
return rep->float_matrix_value (frc_str_conv); }
813 {
return rep->array_value (frc_str_conv); }
816 {
return rep->float_array_value (frc_str_conv); }
819 {
return rep->complex_value (frc_str_conv); }
822 {
return rep->float_complex_value (frc_str_conv); }
825 {
return rep->complex_matrix_value (frc_str_conv); }
829 {
return rep->float_complex_matrix_value (frc_str_conv); }
832 {
return rep->complex_array_value (frc_str_conv); }
836 {
return rep->float_complex_array_value (frc_str_conv); }
839 {
return rep->bool_value (warn); }
842 {
return rep->bool_matrix_value (warn); }
845 {
return rep->bool_array_value (warn); }
848 {
return rep->char_matrix_value (frc_str_conv); }
851 {
return rep->char_array_value (frc_str_conv); }
854 {
return rep->sparse_matrix_value (frc_str_conv); }
858 {
return rep->sparse_complex_matrix_value (frc_str_conv); }
861 {
return rep->sparse_bool_matrix_value (warn); }
864 {
return rep->diag_matrix_value (force); }
867 {
return rep->float_diag_matrix_value (force); }
870 {
return rep->complex_diag_matrix_value (force); }
874 {
return rep->float_complex_diag_matrix_value (force); }
877 {
return rep->perm_matrix_value (); }
880 {
return rep->int8_scalar_value (); }
883 {
return rep->int16_scalar_value (); }
886 {
return rep->int32_scalar_value (); }
889 {
return rep->int64_scalar_value (); }
892 {
return rep->uint8_scalar_value (); }
895 {
return rep->uint16_scalar_value (); }
898 {
return rep->uint32_scalar_value (); }
901 {
return rep->uint64_scalar_value (); }
904 {
return rep->int8_array_value (); }
907 {
return rep->int16_array_value (); }
910 {
return rep->int32_array_value (); }
913 {
return rep->int64_array_value (); }
916 {
return rep->uint8_array_value (); }
919 {
return rep->uint16_array_value (); }
922 {
return rep->uint32_array_value (); }
925 {
return rep->uint64_array_value (); }
928 {
return rep->string_value (force); }
931 {
return rep->string_vector_value (pad); }
936 {
return rep->cellstr_value (); }
939 {
return rep->range_value (); }
946 {
return rep->map_keys (); }
949 {
return rep->nparents (); }
952 {
return rep->parent_class_name_list (); }
955 {
return rep->parent_class_names (); }
962 {
return rep->is_instance_of (cls_name); }
979 bool frc_vec_conv =
false)
const;
983 bool frc_vec_conv =
false)
const;
986 bool frc_vec_conv =
false)
const;
990 bool frc_vec_conv =
false)
const;
993 bool frc_vec_conv =
false)
const;
997 bool frc_vec_conv =
false)
const;
1000 bool frc_vec_conv =
false)
const;
1004 bool frc_vec_conv =
false)
const;
1007 bool frc_str_conv =
false,
1008 bool frc_vec_conv =
false)
const;
1012 bool frc_str_conv =
false,
1013 bool frc_vec_conv =
false)
const;
1016 bool frc_vec_conv =
false)
const;
1019 bool frc_vec_conv =
false)
const;
1022 bool frc_vec_conv =
false)
const;
1026 bool frc_vec_conv =
false)
const;
1199 { rep->maybe_economize (); }
1217 char type =
'\'')
const
1225 { rep->convert_to_row_or_column_vector (); }
1228 {
return rep->print_as_scalar (); }
1230 void print (std::ostream& os,
bool pr_as_read_syntax =
false)
1231 { rep->print (os, pr_as_read_syntax); }
1233 void print_raw (std::ostream& os,
bool pr_as_read_syntax =
false)
const
1234 { rep->print_raw (os, pr_as_read_syntax); }
1237 {
return rep->print_name_tag (os,
name); }
1240 { rep->print_with_name (os,
name,
true); }
1242 void short_disp (std::ostream& os)
const { rep->short_disp (os); }
1249 return rep->edit_display (fmt, i, j);
1252 int type_id (
void)
const {
return rep->type_id (); }
1254 std::string
type_name (
void)
const {
return rep->type_name (); }
1256 std::string
class_name (
void)
const {
return rep->class_name (); }
1266 const std::list<octave_value_list>& idx);
1282 bool is_for_cmd_expr)
1290 bool is_for_cmd_expr);
1296 void print_info (std::ostream& os,
1297 const std::string& prefix =
"")
const;
1299 bool save_ascii (std::ostream& os) {
return rep->save_ascii (os); }
1301 bool load_ascii (std::istream& is) {
return rep->load_ascii (is); }
1304 {
return rep->save_binary (os, save_as_floats); }
1308 {
return rep->load_binary (is, swap, fmt); }
1311 bool save_as_floats)
1312 {
return rep->save_hdf5 (loc_id,
name, save_as_floats); }
1315 {
return rep->load_hdf5 (loc_id,
name); }
1334 {
return rep->
diag (k); }
1337 {
return rep->
diag (
m,
n); }
1340 {
return rep->
sort (dim, mode); }
1343 {
return rep->
sort (sidx, dim, mode); }
1346 {
return rep->issorted (mode); }
1352 {
return rep->is_sorted_rows (mode); }
1358 bool islocked (
void)
const {
return rep->islocked (); }
1364 #define MAPPER_FORWARD(F) \
1365 octave_value F (void) const \
1367 return rep->map (octave_base_value::umap_ ## F); \
1434 #undef MAPPER_FORWARD
1437 {
return rep->
map (umap); }
1462 return rep->fast_elem_insert (
n,
x);
1518 #define OV_UNOP_FN(name) \
1519 inline octave_value \
1520 name (const octave_value& a) \
1522 return do_unary_op (octave_value::name, a); \
1525 #define OV_UNOP_OP(name, op) \
1526 inline octave_value \
1527 operator op (const octave_value& a) \
1532 #define OV_UNOP_FN_OP(name, op) \
1534 OV_UNOP_OP (name, op)
1548 #define OV_BINOP_FN(name) \
1549 inline octave_value \
1550 name (const octave_value& a1, const octave_value& a2) \
1552 return do_binary_op (octave_value::name, a1, a2); \
1555 #define OV_BINOP_OP(name, op) \
1556 inline octave_value \
1557 operator op (const octave_value& a1, const octave_value& a2) \
1559 return name (a1, a2); \
1562 #define OV_BINOP_FN_OP(name, op) \
1563 OV_BINOP_FN (name) \
1564 OV_BINOP_OP (name, op)
1590 #define OV_COMP_BINOP_FN(name) \
1591 inline octave_value \
1592 name (const octave_value& a1, const octave_value& a2) \
1594 return do_binary_op (octave_value::name, a1, a2); \
1605 template <typename Value>
1609 #define DEF_VALUE_EXTRACTOR(VALUE,MPREFIX) \
1611 inline VALUE octave_value_extract<VALUE> (const octave_value& v) \
1613 return v.MPREFIX ## _value (); \
1672 #undef DEF_VALUE_EXTRACTOR
1674 #define DEF_DUMMY_VALUE_EXTRACTOR(VALUE,DEFVAL) \
1676 inline VALUE octave_value_extract<VALUE> (const octave_value&) \
1684 #undef DEF_DUMMY_VALUE_EXTRACTOR
ComplexColumnVector conj(const ComplexColumnVector &a)
Array< octave_idx_type > sort_rows_idx(sortmode mode=ASCENDING) const
Sort by rows returns only indices.
size_type size(const size_type d) const
Size of the specified dimension.
Vector representing the dimensions (size) of an Array.
octave::refcount< octave_idx_type > count
virtual octave_base_value * empty_clone(void) const
virtual octave_base_value * try_narrowing_conversion(void)
virtual octave_base_value * find_parent_class(const std::string &)
octave_value_list & operator=(const octave_value_list &obj)=default
bool is_function(void) const
octave_value(octave_value &&a)
void maybe_economize(void)
std::string get_dims_str(void) const
string_vector xstring_vector_value(const char *fmt,...) const
MatrixType matrix_type(void) const
octave_value(const octave_uint64 &i)
octave_value(const Sparse< Complex > &m, const MatrixType &t=MatrixType())
SparseMatrix xsparse_matrix_value(const char *fmt,...) const
bool is_classdef_object(void) const
ColumnVector xcolumn_vector_value(const char *fmt,...) const
octave_value sort(Array< octave_idx_type > &sidx, octave_idx_type dim=0, sortmode mode=ASCENDING) const
octave_int8 xint8_scalar_value(const char *fmt,...) const
void make_unique(int obsolete_copies)
bool is_package(void) const
RowVector xrow_vector_value(const char *fmt,...) const
uint64_t uint64_value(bool req_int=false, bool frc_str_conv=false) const
octave_idx_type get_count(void) const
octave_idx_type length(void) const
octave_value(octave_base_value *new_rep, bool borrow=false)
void print_raw(std::ostream &os, bool pr_as_read_syntax=false) const
int32NDArray int32_array_value(void) const
bool iscellstr(void) const
int64NDArray xint64_array_value(const char *fmt,...) const
boolNDArray bool_array_value(bool warn=false) const
uint16NDArray uint16_array_value(void) const
SparseMatrix sparse_matrix_value(bool frc_str_conv=false) const
ComplexRowVector complex_row_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
bool is_complex_matrix(void) const
octave_value as_double(void) const
int8NDArray xint8_array_value(const char *fmt,...) const
octave_value next_subsref(bool auto_add, const std::string &type, const std::list< octave_value_list > &idx, size_t skip=1)
Cell xcell_value(const char *fmt,...) const
bool is_dld_function(void) const
const octave_base_value & get_rep(void) const
bool bool_value(bool warn=false) const
octave_int64 int64_scalar_value(void) const
bool issparse(void) const
int xnint_value(const char *fmt,...) const
octave_value convert_to_str_internal(bool pad, bool force, char type) const
octave_value subsref(const std::string &type, const std::list< octave_value_list > &idx)
charMatrix char_matrix_value(bool frc_str_conv=false) const
octave_value(const Sparse< bool > &m, const MatrixType &t=MatrixType())
octave_uint8 uint8_scalar_value(void) const
FloatComplexNDArray xfloat_complex_array_value(const char *fmt,...) const
DiagMatrix diag_matrix_value(bool force=false) const
uint32NDArray xuint32_array_value(const char *fmt,...) const
octave_map xmap_value(const char *fmt,...) const
bool fast_elem_insert(octave_idx_type n, const octave_value &x)
Assign the n-th element, aka 'val(n) = x'.
octave_value(const octave_int16 &i)
FloatComplexDiagMatrix xfloat_complex_diag_matrix_value(const char *fmt,...) const
void erase_subfunctions(void)
unsigned long int xulong_value(const char *fmt,...) const
void * mex_get_data(void) const
int16NDArray xint16_array_value(const char *fmt,...) const
octave_base_value::type_conv_info numeric_conversion_function(void) const
octave_value(const Array< octave_uint8 > &inda)
octave_user_code * xuser_code_value(const char *fmt,...) const
bool is_instance_of(const std::string &cls_name) const
octave_value(const uint8NDArray &inda)
octave_uint32 uint32_scalar_value(void) const
void make_storable_value(void)
octave_function * xfunction_value(const char *fmt,...) const
octave_value_list xlist_value(const char *fmt,...) const
octave_user_function * user_function_value(bool silent=false) const
int int_value(bool req_int=false, bool frc_str_conv=false) const
bool is_uint16_type(void) const
void print_with_name(std::ostream &os, const std::string &name) const
builtin_type_t builtin_type(void) const
octave_value(const octave_map &m, const std::string &id, const std::list< std::string > &plist)
octave_value(const octave_base_value *)
octave_idx_type nnz(void) const
Array< std::string > xcellstr_value(const char *fmt,...) const
bool is_constant(void) const
friend OCTINTERP_API octave_value do_binary_op(octave::type_info &ti, compound_binary_op op, const octave_value &a, const octave_value &b)
mxArray * as_mxArray(void) const
bool is_char_matrix(void) const
octave_value(const char *s, char type='\'')
bool is_bool_scalar(void) const
int64_t int64_value(bool req_int=false, bool frc_str_conv=false) const
octave_value diag(octave_idx_type m, octave_idx_type n) const
octave_value subsref(const std::string &type, const std::list< octave_value_list > &idx, bool auto_add)
short int short_value(bool req_int=false, bool frc_str_conv=false) const
octave_value do_index_op(const octave_value_list &idx, bool resize_ok=false)
octave_value permute(const Array< int > &vec, bool inv=false) const
friend OCTINTERP_API octave_value do_cat_op(octave::type_info &ti, const octave_value &a, const octave_value &b, const Array< octave_idx_type > &ra_idx)
FloatDiagMatrix float_diag_matrix_value(bool force=false) const
ComplexMatrix complex_matrix_value(bool frc_str_conv=false) const
std::list< std::string > parent_class_name_list(void) const
bool is_classdef_superclass_ref(void) const
void short_disp(std::ostream &os) const
bool load_binary(std::istream &is, bool swap, octave::mach_info::float_format fmt)
bool is_builtin_function(void) const
octave_value(octave_value::magic_colon)
SparseBoolMatrix xsparse_bool_matrix_value(const char *fmt,...) const
double xscalar_value(const char *fmt,...) const
octave_value dump(void) const
Complex complex_value(bool frc_str_conv=false) const
octave_value(const octave_uint16 &i)
bool is_int8_type(void) const
octave_idx_type rows(void) const
octave_int32 xint32_scalar_value(const char *fmt,...) const
float xfloat_scalar_value(const char *fmt,...) const
Array< FloatComplex > float_complex_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
octave_value as_uint64(void) const
octave_value(const uint32NDArray &inda)
octave_value as_uint16(void) const
FloatComplexDiagMatrix float_complex_diag_matrix_value(bool force=false) const
bool isnumeric(void) const
octave_value as_single(void) const
octave_value undef_subsasgn(const std::string &type, const std::list< octave_value_list > &idx, const octave_value &rhs)
octave_idx_type numel(void) const
FloatMatrix xfloat_matrix_value(const char *fmt,...) const
octave_idx_type idx_type_value(bool req_int=false, bool frc_str_conv=false) const
bool is_scalar_type(void) const
unsigned short int ushort_value(bool req_int=false, bool frc_str_conv=false) const
Complex xcomplex_value(const char *fmt,...) const
bool save_hdf5(octave_hdf5_id loc_id, const char *name, bool save_as_floats)
Array< octave_idx_type > xoctave_idx_type_vector_value(const char *fmt,...) const
octave_value full_value(void) const
octave_value(const idx_vector &idx, bool lazy=true)
octave_value(const octave_map &m)
Range range_value(void) const
Array< int > xint_vector_value(const char *fmt,...) const
octave_value(const int32NDArray &inda)
bool is_dq_string(void) const
octave_value squeeze(void) const
octave_value(const Array< octave_int64 > &inda)
octave_value sort(octave_idx_type dim=0, sortmode mode=ASCENDING) const
octave_value(const int8NDArray &inda)
octave_value ipermute(const Array< int > &vec) const
bool is_cs_list(void) const
octave_base_value * internal_rep(void) const
bool print_as_scalar(void) const
octave_value(const octave_int8 &i)
size_t nparents(void) const
void convert_to_row_or_column_vector(void)
bool is_string(void) const
PermMatrix xperm_matrix_value(const char *fmt,...) const
octave_value(const octave_int64 &i)
ComplexMatrix xcomplex_matrix_value(const char *fmt,...) const
@ num_compound_binary_ops
bool xbool_value(const char *fmt,...) const
FloatComplexRowVector float_complex_row_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
octave_value & assign(assign_op, const octave_value &rhs)
octave_user_code * user_code_value(bool silent=false) const
ComplexNDArray complex_array_value(bool frc_str_conv=false) const
bool is_copy_of(const octave_value &val) const
bool is_user_code(void) const
octave_int16 xint16_scalar_value(const char *fmt,...) const
bool is_diag_matrix(void) const
FloatRowVector float_row_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
octave_base_value * empty_clone(void) const
std::string edit_display(const float_display_format &fmt, octave_idx_type i, octave_idx_type j) const
FloatComplexMatrix xfloat_complex_matrix_value(const char *fmt,...) const
FloatComplexRowVector xfloat_complex_row_vector_value(const char *fmt,...) const
octave_value as_uint32(void) const
octave_value(const SparseMatrix &m, const MatrixType &t=MatrixType())
void call_object_destructor(void)
uint64NDArray xuint64_array_value(const char *fmt,...) const
double xdouble_value(const char *fmt,...) const
octave_int8 int8_scalar_value(void) const
bool save_binary(std::ostream &os, bool save_as_floats)
bool is_defined(void) const
charNDArray char_array_value(bool frc_str_conv=false) const
octave_int32 int32_scalar_value(void) const
octave_uint16 uint16_scalar_value(void) const
bool isinteger(void) const
bool is_double_type(void) const
FloatColumnVector float_column_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
bool save_ascii(std::ostream &os)
Cell cell_value(void) const
float float_scalar_value(bool frc_str_conv=false) const
FloatComplex float_complex_value(bool frc_str_conv=false) const
Array< FloatComplex > xfloat_complex_vector_value(const char *fmt,...) const
bool is_function_handle(void) const
bool is_equal(const octave_value &) const
std::string class_name(void) const
octave_idx_type xnumel(const octave_value_list &idx)
bool is_uint32_type(void) const
octave_idx_type columns(void) const
Array< octave_idx_type > octave_idx_type_vector_value(bool req_int=false, bool frc_str_conv=false, bool frc_vec_conv=false) const
Range xrange_value(const char *fmt,...) const
bool is_classdef_meta(void) const
int64_t xint64_value(const char *fmt,...) const
int8NDArray int8_array_value(void) const
octave_fcn_handle * xfcn_handle_value(const char *fmt,...) const
charMatrix xchar_matrix_value(const char *fmt,...) const
bool is_user_script(void) const
short int xshort_value(const char *fmt,...) const
friend OCTINTERP_API octave_value do_colon_op(const octave_value &base, const octave_value &limit, bool is_for_cmd_expr)
octave_user_script * xuser_script_value(const char *fmt,...) const
bool is_int64_type(void) const
octave_value as_int64(void) const
float float_value(bool frc_str_conv=false) const
bool load_hdf5(octave_hdf5_id loc_id, const char *name)
SparseComplexMatrix xsparse_complex_matrix_value(const char *fmt,...) const
ComplexDiagMatrix xcomplex_diag_matrix_value(const char *fmt,...) const
int64NDArray int64_array_value(void) const
FloatNDArray xfloat_array_value(const char *fmt,...) const
octave_function * function_value(bool silent=false) const
bool isstruct(void) const
unsigned long int ulong_value(bool req_int=false, bool frc_str_conv=false) const
uint8NDArray uint8_array_value(void) const
octave_value any(int dim=0) const
octave_value(const SparseBoolMatrix &bm, const MatrixType &t=MatrixType())
octave_value reshape(const dim_vector &dv) const
octave_value & assign(assign_op op, const std::string &type, const std::list< octave_value_list > &idx, const octave_value &rhs)
bool islocked(void) const
octave_value as_int16(void) const
octave_int64 xint64_scalar_value(const char *fmt,...) const
double scalar_value(bool frc_str_conv=false) const
octave_value as_uint8(void) const
FloatComplexColumnVector float_complex_column_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
octave_value_list subsref(const std::string &type, const std::list< octave_value_list > &idx, int nargout)
ComplexRowVector xcomplex_row_vector_value(const char *fmt,...) const
bool is_zero_by_zero(void) const
bool load_ascii(std::istream &is)
octave_value next_subsref(const std::string &type, const std::list< octave_value_list > &idx, size_t skip=1)
octave_value as_int32(void) const
octave_value(const Range &r, bool force_range=false)
octave_fcn_handle * fcn_handle_value(bool silent=false) const
boolMatrix bool_matrix_value(bool warn=false) const
octave_idx_type nfields(void) const
octave_value fast_elem_extract(octave_idx_type n) const
Extract the n-th element, aka 'val(n)'.
octave_value(const Array< octave_uint16 > &inda)
octave_value(const SparseComplexMatrix &m, const MatrixType &t=MatrixType())
std::string string_value(bool force=false) const
octave_value(const octave_scalar_map &m, const std::string &id, const std::list< std::string > &plist)
ComplexDiagMatrix complex_diag_matrix_value(bool force=false) const
int nint_value(bool frc_str_conv=false) const
octave_value(const Array< char > &chnda, char type='\'')
friend OCTINTERP_API octave_value do_binary_op(octave::type_info &ti, binary_op op, const octave_value &a, const octave_value &b)
octave_uint8 xuint8_scalar_value(const char *fmt,...) const
bool is_mex_function(void) const
FloatMatrix float_matrix_value(bool frc_str_conv=false) const
octave_base_value * find_parent_class(const std::string &parent_class_name)
octave_scalar_map xscalar_map_value(const char *fmt,...) const
string_vector parent_class_names(void) const
octave_idx_type xidx_type_value(const char *fmt,...) const
octave_value_list next_subsref(int nargout, const std::string &type, const std::list< octave_value_list > &idx, size_t skip=1)
bool is_matrix_type(void) const
octave_scalar_map scalar_map_value(void) const
octave_value map(octave_base_value::unary_mapper_t umap) const
bool is_int32_type(void) const
charNDArray xchar_array_value(const char *fmt,...) const
octave_value storable_value(void) const
octave_value(const octave_uint8 &i)
bool is_uint64_type(void) const
octave_idx_type nzmax(void) const
bool is_int16_type(void) const
octave_value(const Array< octave_int32 > &inda)
long int long_value(bool req_int=false, bool frc_str_conv=false) const
uint64NDArray uint64_array_value(void) const
Array< float > xfloat_vector_value(const char *fmt,...) const
ComplexNDArray xcomplex_array_value(const char *fmt,...) const
string_vector string_vector_value(bool pad=false) const
PermMatrix perm_matrix_value(void) const
octave_value(const Array< octave_int16 > &inda)
octave_base_value::type_conv_info numeric_demotion_function(void) const
ComplexColumnVector xcomplex_column_vector_value(const char *fmt,...) const
sortmode is_sorted_rows(sortmode mode=UNSORTED) const
octave_uint64 xuint64_scalar_value(const char *fmt,...) const
bool is_anonymous_function(void) const
octave_value single_subsref(const std::string &type, const octave_value_list &idx)
bool is_range(void) const
size_t byte_size(void) const
ComplexColumnVector complex_column_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
octave_value(const Array< octave_idx_type > &inda, bool zero_based=false, bool cache_index=false)
octave_uint32 xuint32_scalar_value(const char *fmt,...) const
octave_classdef * classdef_object_value(bool silent=false) const
octave_base_value * try_narrowing_conversion(void)
octave_uint64 uint64_scalar_value(void) const
bool all_zero_dims(void) const
SparseBoolMatrix sparse_bool_matrix_value(bool warn=false) const
NDArray array_value(bool frc_str_conv=false) const
Array< Complex > xcomplex_vector_value(const char *fmt,...) const
FloatComplex xfloat_complex_value(const char *fmt,...) const
octave_value(const uint64NDArray &inda)
bool is_real_matrix(void) const
int write(octave::stream &os, int block_size, oct_data_conv::data_type output_type, int skip, octave::mach_info::float_format flt_fmt) const
uint16NDArray xuint16_array_value(const char *fmt,...) const
Array< double > vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
octave_value(const std::map< std::string, octave_value > &)
octave_idx_type * mex_get_jc(void) const
bool is_single_type(void) const
octave_value(const octave_value_list &m)
octave_value(const Sparse< double > &m, const MatrixType &t=MatrixType())
FloatRowVector xfloat_row_vector_value(const char *fmt,...) const
uint32NDArray uint32_array_value(void) const
octave_value(const octave_uint32 &i)
octave_value convert_to_str(bool pad=false, bool force=false, char type='\'') const
bool print_name_tag(std::ostream &os, const std::string &name) const
octave_uint16 xuint16_scalar_value(const char *fmt,...) const
octave_value_list list_value(void) const
sortmode issorted(sortmode mode=UNSORTED) const
long int xlong_value(const char *fmt,...) const
octave_value all(int dim=0) const
Array< float > float_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
bool isobject(void) const
int xint_value(const char *fmt,...) const
std::string xstring_value(const char *fmt,...) const
uint64_t xuint64_value(const char *fmt,...) const
octave_idx_type * mex_get_ir(void) const
octave_map map_value(void) const
bool is_sq_string(void) const
FloatComplexColumnVector xfloat_complex_column_vector_value(const char *fmt,...) const
FloatDiagMatrix xfloat_diag_matrix_value(const char *fmt,...) const
boolNDArray xbool_array_value(const char *fmt,...) const
bool is_real_scalar(void) const
Array< double > xvector_value(const char *fmt,...) const
idx_vector index_vector(bool require_integers=false) const
bool is_undefined(void) const
FloatComplexNDArray float_complex_array_value(bool frc_str_conv=false) const
octave_value(const octave_int32 &i)
octave_base_value * rep
The real representation.
ColumnVector column_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
int32NDArray xint32_array_value(const char *fmt,...) const
octave_value resize(const dim_vector &dv, bool fill=false) const
float xfloat_value(const char *fmt,...) const
DiagMatrix xdiag_matrix_value(const char *fmt,...) const
Array< Complex > complex_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
Array< int > int_vector_value(bool req_int=false, bool frc_str_conv=false, bool frc_vec_conv=false) const
FloatNDArray float_array_value(bool frc_str_conv=false) const
octave_value(const octave_value &a)
Matrix xmatrix_value(const char *fmt,...) const
octave_int16 int16_scalar_value(void) const
Array< std::string > cellstr_value(void) const
bool is_user_function(void) const
NDArray xarray_value(const char *fmt,...) const
bool is_uint8_type(void) const
RowVector row_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
int16NDArray int16_array_value(void) const
float_display_format get_edit_display_format(void) const
MatrixType matrix_type(const MatrixType &typ) const
string_vector map_keys(void) const
FloatColumnVector xfloat_column_vector_value(const char *fmt,...) const
octave_value(const int64NDArray &inda)
bool is_inline_function(void) const
octave_value(const Array< std::string > &cellstr)
octave_value(const octave_scalar_map &m)
friend OCTINTERP_API octave_value do_colon_op(const octave_value &base, const octave_value &increment, const octave_value &limit, bool is_for_cmd_expr)
octave_value(const uint16NDArray &inda)
octave_base_value * clone(void) const
Matrix matrix_value(bool frc_str_conv=false) const
bool is_perm_matrix(void) const
octave_value(const Array< octave_int8 > &inda)
octave_value(const charNDArray &chnda, char type='\'')
FloatComplexMatrix float_complex_matrix_value(bool frc_str_conv=false) const
void print(std::ostream &os, bool pr_as_read_syntax=false)
bool iscomplex(void) const
bool is_magic_colon(void) const
octave_value diag(octave_idx_type k=0) const
octave_value(const Array< octave_uint32 > &inda)
double double_value(bool frc_str_conv=false) const
unsigned int uint_value(bool req_int=false, bool frc_str_conv=false) const
bool is_complex_scalar(void) const
boolMatrix xbool_matrix_value(const char *fmt,...) const
bool is_bool_matrix(void) const
unsigned int xuint_value(const char *fmt,...) const
octave_value(const int16NDArray &inda)
octave_value as_int8(void) const
std::string type_name(void) const
octave_user_function * xuser_function_value(const char *fmt,...) const
bool islogical(void) const
dim_vector dims(void) const
SparseComplexMatrix sparse_complex_matrix_value(bool frc_str_conv=false) const
octave_value subsasgn(const std::string &type, const std::list< octave_value_list > &idx, const octave_value &rhs)
unsigned short int xushort_value(const char *fmt,...) const
octave_user_script * user_script_value(bool silent=false) const
octave_value(double base, double limit, double inc)
octave_value(const string_vector &s, char type='\'')
Array< octave_idx_type > sort_rows_idx(sortmode mode=ASCENDING) const
uint8NDArray xuint8_array_value(const char *fmt,...) const
octave_value(const Array< octave_uint64 > &inda)
ColumnVector real(const ComplexColumnVector &a)
ColumnVector imag(const ComplexColumnVector &a)
F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE * d
F77_RET_T const F77_DBLE * x
std::complex< double > erfc(std::complex< double > z, double relerr=0)
std::complex< double > erfcx(std::complex< double > z, double relerr=0)
std::complex< double > erfi(std::complex< double > z, double relerr=0)
std::complex< double > erf(std::complex< double > z, double relerr=0)
Complex atan(const Complex &x)
Complex log1p(const Complex &x)
Complex acos(const Complex &x)
Complex asin(const Complex &x)
std::complex< T > ceil(const std::complex< T > &x)
Complex log2(const Complex &x)
std::complex< T > floor(const std::complex< T > &x)
Complex expm1(const Complex &x)
std::complex< double > Complex
std::complex< float > FloatComplex
const octave_base_value const Array< octave_idx_type > & ra_idx
return octave_value(v1.char_array_value() . concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string()) ? '\'' :'"'))
static int xisascii(int c)
static bool scalar(const dim_vector &dims)
octave_value op_ne(const octave_value &a1, const octave_value &a2)
octave_value op_el_ldiv(const octave_value &a1, const octave_value &a2)
octave_value op_uplus(const octave_value &a)
octave_value op_add(const octave_value &a1, const octave_value &a2)
OCTINTERP_API octave_value do_unary_op(octave::type_info &ti, octave_value::unary_op op, const octave_value &a)
octave_value op_gt(const octave_value &a1, const octave_value &a2)
octave_value op_uminus(const octave_value &a)
octave_value op_el_div(const octave_value &a1, const octave_value &a2)
#define DEF_DUMMY_VALUE_EXTRACTOR(VALUE, DEFVAL)
octave_value op_mul_herm(const octave_value &a1, const octave_value &a2)
octave_value op_transpose(const octave_value &a)
OCTINTERP_API void install_types(octave::type_info &)
octave_value op_el_or(const octave_value &a1, const octave_value &a2)
octave_value op_sub(const octave_value &a1, const octave_value &a2)
OCTINTERP_API octave_value do_cat_op(octave::type_info &ti, const octave_value &a, const octave_value &b, const Array< octave_idx_type > &ra_idx)
octave_value op_mul(const octave_value &a1, const octave_value &a2)
octave_value op_hermitian(const octave_value &a)
OCTINTERP_API octave_value do_colon_op(const octave_value &base, const octave_value &limit, bool is_for_cmd_expr=false)
#define OV_COMP_BINOP_FN(name)
octave_value op_le(const octave_value &a1, const octave_value &a2)
octave_value op_el_and(const octave_value &a1, const octave_value &a2)
octave_value op_herm_mul(const octave_value &a1, const octave_value &a2)
#define MAPPER_FORWARD(F)
octave_value op_eq(const octave_value &a1, const octave_value &a2)
octave_value op_el_pow(const octave_value &a1, const octave_value &a2)
#define OV_UNOP_FN_OP(name, op)
#define DEF_VALUE_EXTRACTOR(VALUE, MPREFIX)
OCTINTERP_API octave_value do_binary_op(octave::type_info &ti, octave_value::binary_op op, const octave_value &a, const octave_value &b)
octave_value op_struct_ref(const octave_value &a1, const octave_value &a2)
octave_value op_not(const octave_value &a)
#define OV_BINOP_FN(name)
octave_value op_ldiv(const octave_value &a1, const octave_value &a2)
Value octave_value_extract(const octave_value &)
octave_value op_pow(const octave_value &a1, const octave_value &a2)
octave_value op_ge(const octave_value &a1, const octave_value &a2)
octave_value op_el_mul(const octave_value &a1, const octave_value &a2)
octave_value op_div(const octave_value &a1, const octave_value &a2)
octave_value op_trans_mul(const octave_value &a1, const octave_value &a2)
octave_value op_mul_trans(const octave_value &a1, const octave_value &a2)
#define OV_BINOP_FN_OP(name, op)
octave_value op_lt(const octave_value &a1, const octave_value &a2)