26 #if ! defined (octave_ov_h)
29 #include "octave-config.h"
51 class scope_stack_frame;
52 class base_value_stack_frame;
54 OCTAVE_END_NAMESPACE(
octave)
65 class octave_fcn_cache;
130 unknown_compound_binary_op
152 static OCTINTERP_API
binary_op assign_op_to_binary_op (assign_op);
154 static OCTINTERP_API assign_op binary_op_to_assign_op (
binary_op);
156 static OCTINTERP_API std::string unary_op_as_string (
unary_op);
157 static OCTINTERP_API std::string unary_op_fcn_name (
unary_op);
159 static OCTINTERP_API std::string binary_op_as_string (
binary_op);
160 static OCTINTERP_API std::string binary_op_fcn_name (
binary_op);
162 static OCTINTERP_API std::string binary_op_fcn_name (compound_binary_op);
164 static OCTINTERP_API std::string assign_op_as_string (assign_op);
190 #if defined (OCTAVE_HAVE_LONG_LONG_INT)
193 #if defined (OCTAVE_HAVE_UNSIGNED_LONG_LONG_INT)
201 bool is_cs_list =
false);
245 OCTINTERP_API
octave_value (
const std::string& s,
char type =
'\'');
288 bool zero_based =
false,
289 bool cache_index =
false);
294 bool force_range =
false);
300 OCTINTERP_API
octave_value (
const std::map<std::string, octave_value>&);
302 const std::list<std::string>& plist);
304 const std::list<std::string>& plist);
348 if (m_rep && --m_rep->m_count == 0 && m_rep != nil_rep ())
354 if (m_rep->m_count > 1)
358 if (--m_rep->m_count == 0 && m_rep != nil_rep ())
370 if (m_rep->m_count > obsolete_copies + 1)
374 if (--m_rep->m_count == 0 && m_rep != nil_rep ())
391 if (m_rep != a.
m_rep)
393 if (--m_rep->m_count == 0 && m_rep != nil_rep ())
411 if (m_rep && --m_rep->m_count == 0 && m_rep != nil_rep ())
424 {
return m_rep->numeric_conversion_function (); }
427 {
return m_rep->numeric_demotion_function (); }
463 {
return m_rep->
size (); }
468 {
return m_rep->xnumel (idx); }
477 const std::list<octave_value_list>& idx)
478 {
return m_rep->
subsref (type, idx); }
481 const std::list<octave_value_list>& idx,
483 {
return m_rep->
subsref (type, idx, auto_add); }
486 subsref (
const std::string& type,
const std::list<octave_value_list>& idx,
494 const std::list<octave_value_list>& idx, std::size_t skip = 1);
498 const std::list<octave_value_list>& idx, std::size_t skip = 1);
502 const std::list<octave_value_list>& idx, std::size_t skip = 1);
506 return m_rep->do_index_op (idx, resize_ok);
514 subsasgn (
const std::string& type,
const std::list<octave_value_list>& idx,
525 const std::list<octave_value_list>& idx,
530 const std::list<octave_value_list>& idx,
const octave_value& rhs);
536 return m_rep->index_vector (require_integers);
551 int ndims ()
const {
return m_rep->ndims (); }
557 {
return (ndims () == 2 && rows () == 0 && columns () == 0); }
560 {
return m_rep->numel (); }
563 {
return m_rep->byte_size (); }
572 {
return m_rep->
reshape (dv); }
575 {
return m_rep->
permute (vec, inv); }
578 {
return m_rep->
permute (vec,
true); }
581 {
return m_rep->
resize (dv, fill);}
593 {
return m_rep->is_defined (); }
596 {
return ! is_defined (); }
599 {
return m_rep->is_legacy_object (); }
602 {
return m_rep->isempty (); }
605 {
return m_rep->iscell (); }
608 {
return m_rep->iscellstr (); }
611 {
return m_rep->is_real_scalar (); }
614 {
return m_rep->is_real_matrix (); }
617 {
return m_rep->is_complex_scalar (); }
620 {
return m_rep->is_complex_matrix (); }
623 {
return m_rep->is_bool_scalar (); }
626 {
return m_rep->is_bool_matrix (); }
629 {
return m_rep->is_char_matrix (); }
632 {
return m_rep->is_diag_matrix (); }
635 {
return m_rep->is_perm_matrix (); }
638 {
return m_rep->is_string (); }
641 {
return m_rep->is_sq_string (); }
644 {
return m_rep->is_string () && ! m_rep->is_sq_string (); }
647 {
return m_rep->is_range (); }
650 {
return m_rep->isstruct (); }
653 {
return m_rep->is_classdef_meta (); }
656 {
return m_rep->is_classdef_object (); }
659 {
return m_rep->is_classdef_superclass_ref (); }
662 {
return m_rep->is_package (); }
665 {
return m_rep->isobject (); }
668 {
return m_rep->isjava (); }
671 {
return m_rep->is_cs_list (); }
674 {
return m_rep->is_magic_colon (); }
677 {
return m_rep->is_magic_int (); }
680 {
return m_rep->isnull (); }
685 {
return m_rep->
all (dim); }
688 {
return m_rep->
any (dim); }
691 {
return m_rep->builtin_type (); }
696 {
return m_rep->is_double_type (); }
699 {
return m_rep->is_single_type (); }
702 {
return m_rep->isfloat (); }
707 {
return m_rep->is_int8_type (); }
710 {
return m_rep->is_int16_type (); }
713 {
return m_rep->is_int32_type (); }
716 {
return m_rep->is_int64_type (); }
719 {
return m_rep->is_uint8_type (); }
722 {
return m_rep->is_uint16_type (); }
725 {
return m_rep->is_uint32_type (); }
728 {
return m_rep->is_uint64_type (); }
731 {
return m_rep->isinteger (); }
736 {
return m_rep->islogical (); }
739 {
return m_rep->isreal (); }
742 {
return m_rep->iscomplex (); }
745 {
return m_rep->is_scalar_type (); }
748 {
return m_rep->is_matrix_type (); }
751 {
return m_rep->isnumeric (); }
754 {
return m_rep->issparse (); }
759 {
return m_rep->is_true (); }
766 {
return m_rep->is_constant (); }
769 {
return m_rep->is_function_handle (); }
772 {
return m_rep->is_anonymous_function (); }
775 {
return m_rep->is_inline_function (); }
778 {
return m_rep->is_function (); }
781 {
return m_rep->is_user_script (); }
784 {
return m_rep->is_user_function (); }
787 {
return m_rep->is_user_code (); }
790 {
return m_rep->is_builtin_function (); }
793 {
return m_rep->is_dld_function (); }
796 {
return m_rep->is_mex_function (); }
805 short_value (
bool req_int =
false,
bool frc_str_conv =
false)
const
806 {
return m_rep->short_value (req_int, frc_str_conv); }
810 {
return m_rep->ushort_value (req_int, frc_str_conv); }
812 int int_value (
bool req_int =
false,
bool frc_str_conv =
false)
const
813 {
return m_rep->int_value (req_int, frc_str_conv); }
816 uint_value (
bool req_int =
false,
bool frc_str_conv =
false)
const
817 {
return m_rep->uint_value (req_int, frc_str_conv); }
820 {
return m_rep->nint_value (frc_str_conv); }
823 long_value (
bool req_int =
false,
bool frc_str_conv =
false)
const
824 {
return m_rep->long_value (req_int, frc_str_conv); }
827 ulong_value (
bool req_int =
false,
bool frc_str_conv =
false)
const
828 {
return m_rep->ulong_value (req_int, frc_str_conv); }
831 int64_value (
bool req_int =
false,
bool frc_str_conv =
false)
const
832 {
return m_rep->int64_value (req_int, frc_str_conv); }
836 {
return m_rep->uint64_value (req_int, frc_str_conv); }
842 {
return m_rep->double_value (frc_str_conv); }
845 {
return m_rep->float_value (frc_str_conv); }
848 {
return m_rep->scalar_value (frc_str_conv); }
851 {
return m_rep->float_scalar_value (frc_str_conv); }
854 {
return m_rep->matrix_value (frc_str_conv); }
857 {
return m_rep->float_matrix_value (frc_str_conv); }
860 {
return m_rep->array_value (frc_str_conv); }
863 {
return m_rep->float_array_value (frc_str_conv); }
866 {
return m_rep->complex_value (frc_str_conv); }
869 {
return m_rep->float_complex_value (frc_str_conv); }
872 {
return m_rep->complex_matrix_value (frc_str_conv); }
876 {
return m_rep->float_complex_matrix_value (frc_str_conv); }
879 {
return m_rep->complex_array_value (frc_str_conv); }
883 {
return m_rep->float_complex_array_value (frc_str_conv); }
886 {
return m_rep->bool_value (warn); }
889 {
return m_rep->bool_matrix_value (warn); }
892 {
return m_rep->bool_array_value (warn); }
895 {
return m_rep->char_matrix_value (frc_str_conv); }
898 {
return m_rep->char_array_value (frc_str_conv); }
901 {
return m_rep->sparse_matrix_value (frc_str_conv); }
905 {
return m_rep->sparse_complex_matrix_value (frc_str_conv); }
908 {
return m_rep->sparse_bool_matrix_value (warn); }
911 {
return m_rep->diag_matrix_value (force); }
914 {
return m_rep->float_diag_matrix_value (force); }
917 {
return m_rep->complex_diag_matrix_value (force); }
921 {
return m_rep->float_complex_diag_matrix_value (force); }
924 {
return m_rep->perm_matrix_value (); }
927 {
return m_rep->int8_scalar_value (); }
930 {
return m_rep->int16_scalar_value (); }
933 {
return m_rep->int32_scalar_value (); }
936 {
return m_rep->int64_scalar_value (); }
939 {
return m_rep->uint8_scalar_value (); }
942 {
return m_rep->uint16_scalar_value (); }
945 {
return m_rep->uint32_scalar_value (); }
948 {
return m_rep->uint64_scalar_value (); }
951 {
return m_rep->int8_array_value (); }
954 {
return m_rep->int16_array_value (); }
957 {
return m_rep->int32_array_value (); }
960 {
return m_rep->int64_array_value (); }
963 {
return m_rep->uint8_array_value (); }
966 {
return m_rep->uint16_array_value (); }
969 {
return m_rep->uint32_array_value (); }
972 {
return m_rep->uint64_array_value (); }
975 {
return m_rep->string_value (force); }
978 {
return m_rep->string_vector_value (pad); }
983 {
return m_rep->cellstr_value (); }
986 {
return m_rep->range_value (); }
995 {
return m_rep->map_keys (); }
997 bool isfield (
const std::string& field_name)
const
998 {
return m_rep->isfield (field_name); }
1001 {
return m_rep->nparents (); }
1004 {
return m_rep->parent_class_name_list (); }
1007 {
return m_rep->parent_class_names (); }
1014 {
return m_rep->is_instance_of (cls_name); }
1037 bool frc_vec_conv =
false)
const;
1041 bool frc_vec_conv =
false)
const;
1045 bool frc_vec_conv =
false)
const;
1049 bool frc_vec_conv =
false)
const;
1053 bool frc_vec_conv =
false)
const;
1057 bool frc_vec_conv =
false)
const;
1061 bool frc_vec_conv =
false)
const;
1065 bool frc_vec_conv =
false)
const;
1069 bool frc_str_conv =
false,
1070 bool frc_vec_conv =
false)
const;
1074 bool frc_str_conv =
false,
1075 bool frc_vec_conv =
false)
const;
1079 bool frc_vec_conv =
false)
const;
1083 bool frc_vec_conv =
false)
const;
1087 bool frc_vec_conv =
false)
const;
1091 bool frc_vec_conv =
false)
const;
1224 OCTINTERP_API octave::range<double>
1290 { m_rep->maybe_economize (); }
1308 char type =
'\'')
const
1316 { m_rep->convert_to_row_or_column_vector (); }
1319 {
return m_rep->print_as_scalar (); }
1321 void print (std::ostream& os,
bool pr_as_read_syntax =
false)
1322 { m_rep->print (os, pr_as_read_syntax); }
1324 void print_raw (std::ostream& os,
bool pr_as_read_syntax =
false)
const
1325 { m_rep->print_raw (os, pr_as_read_syntax); }
1328 {
return m_rep->print_name_tag (os, name); }
1331 { m_rep->print_with_name (os, name,
true); }
1333 void short_disp (std::ostream& os)
const { m_rep->short_disp (os); }
1340 return m_rep->edit_display (fmt, i, j);
1343 int type_id ()
const {
return m_rep->type_id (); }
1345 std::string
type_name ()
const {
return m_rep->type_name (); }
1357 const std::list<octave_value_list>& idx);
1364 print_info (std::ostream& os,
const std::string& prefix =
"")
const;
1366 bool save_ascii (std::ostream& os) {
return m_rep->save_ascii (os); }
1371 {
return m_rep->save_binary (os, save_as_floats); }
1377 bool save_as_floats)
1378 {
return m_rep->save_hdf5 (loc_id, name, save_as_floats); }
1383 write (octave::stream& os,
int block_size,
1392 OCTINTERP_API
const void *
1398 return m_rep->mex_get_ir ();
1404 return m_rep->mex_get_jc ();
1408 {
return m_rep->as_mxArray (interleaved); }
1411 {
return m_rep->
diag (k); }
1414 {
return m_rep->
diag (
m,
n); }
1417 {
return m_rep->
sort (dim, mode); }
1420 {
return m_rep->
sort (sidx, dim, mode); }
1423 {
return m_rep->issorted (mode); }
1429 {
return m_rep->is_sorted_rows (mode); }
1441 #define MAPPER_FORWARD(F) \
1442 octave_value F () const \
1444 return m_rep->map (octave_base_value::umap_ ## F); \
1511 #undef MAPPER_FORWARD
1514 {
return m_rep->
map (umap); }
1539 return m_rep->fast_elem_insert (
n,
x);
1598 const octave_value& limit,
bool is_for_cmd_expr =
false);
1602 bool is_for_cmd_expr =
false)
1613 OCTAVE_END_NAMESPACE(
octave)
1615 #define OV_UNOP_FN(name) \
1616 inline octave_value \
1617 name (const octave_value& a) \
1619 return octave::unary_op (octave_value::name, a); \
1622 #define OV_UNOP_OP(name, op) \
1623 inline octave_value \
1624 operator op (const octave_value& a) \
1629 #define OV_UNOP_FN_OP(name, op) \
1631 OV_UNOP_OP (name, op)
1645 #define OV_BINOP_FN(name) \
1646 inline octave_value \
1647 name (const octave_value& a1, const octave_value& a2) \
1649 return octave::binary_op (octave_value::name, a1, a2); \
1652 #define OV_BINOP_OP(name, op) \
1653 inline octave_value \
1654 operator op (const octave_value& a1, const octave_value& a2) \
1656 return name (a1, a2); \
1659 #define OV_BINOP_FN_OP(name, op) \
1660 OV_BINOP_FN (name) \
1661 OV_BINOP_OP (name, op)
1687 #define OV_COMP_BINOP_FN(name) \
1688 inline octave_value \
1689 name (const octave_value& a1, const octave_value& a2) \
1691 return octave::binary_op (octave_value::name, a1, a2); \
1704 template <typename Value>
1708 #define DEF_VALUE_EXTRACTOR(VALUE,MPREFIX) \
1710 inline VALUE octave_value_extract<VALUE> (const octave_value& v) \
1712 return v.MPREFIX ## _value (); \
1771 #undef DEF_VALUE_EXTRACTOR
1773 #define DEF_DUMMY_VALUE_EXTRACTOR(VALUE,DEFVAL) \
1775 inline VALUE octave_value_extract<VALUE> (const octave_value&) \
1783 #undef DEF_DUMMY_VALUE_EXTRACTOR
ComplexColumnVector conj(const ComplexColumnVector &a)
size_type size(const size_type d) const
Size of the specified dimension.
Array< octave_idx_type > sort_rows_idx(sortmode mode=ASCENDING) const
Sort by rows returns only indices.
Vector representing the dimensions (size) of an Array.
octave::refcount< octave_idx_type > m_count
virtual octave_base_value * try_narrowing_conversion()
virtual octave_base_value * find_parent_class(const std::string &)
virtual octave_base_value * empty_clone() const
octave_value(octave_value &&a)
bool is_function_handle() const
bool is_classdef_object() const
string_vector xstring_vector_value(const char *fmt,...) const
bool isfield(const std::string &field_name) const
octave_value(const octave_uint64 &i)
octave_value(const Sparse< Complex > &m, const MatrixType &t=MatrixType())
octave_value as_uint64() const
SparseMatrix xsparse_matrix_value(const char *fmt,...) const
octave_base_value * internal_rep() 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_value_list list_value() const
octave_int8 xint8_scalar_value(const char *fmt,...) const
bool all_zero_dims() const
void make_unique(int obsolete_copies)
bool is_magic_int() const
RowVector xrow_vector_value(const char *fmt,...) const
uint64_t uint64_value(bool req_int=false, bool frc_str_conv=false) const
octave_int8 int8_scalar_value() const
bool is_diag_matrix() const
bool is_undefined() const
bool is_uint32_type() const
octave_value(octave_base_value *new_rep, bool borrow=false)
void print_raw(std::ostream &os, bool pr_as_read_syntax=false) const
int64NDArray xint64_array_value(const char *fmt,...) const
boolNDArray bool_array_value(bool warn=false) const
SparseMatrix sparse_matrix_value(bool frc_str_conv=false) const
octave_value simple_subsasgn(char type, octave_value_list &idx, const octave_value &rhs)
ComplexRowVector complex_row_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
octave_uint64 uint64_scalar_value() const
void call_object_destructor()
int8NDArray xint8_array_value(const char *fmt,...) const
Cell xcell_value(const char *fmt,...) const
std::string class_name() const
bool bool_value(bool warn=false) const
int xnint_value(const char *fmt,...) const
octave_base_value * clone() const
octave_value convert_to_str_internal(bool pad, bool force, char type) const
bool is_inline_function() const
octave_value subsref(const std::string &type, const std::list< octave_value_list > &idx)
octave_uint16 uint16_scalar_value() const
bool is_real_scalar() const
charMatrix char_matrix_value(bool frc_str_conv=false) const
octave_value(const Sparse< bool > &m, const MatrixType &t=MatrixType())
FloatComplexNDArray xfloat_complex_array_value(const char *fmt,...) const
octave_value as_int32() const
int32NDArray int32_array_value() const
uint16NDArray uint16_array_value() 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
octave_value index_op(const octave_value_list &idx, bool resize_ok=false)
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
unsigned long int xulong_value(const char *fmt,...) const
int16NDArray xint16_array_value(const char *fmt,...) const
octave_value as_int8() 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)
int16NDArray int16_array_value() const
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
void print_with_name(std::ostream &os, const std::string &name) const
bool is_dq_string() const
octave_value(const octave_map &m, const std::string &id, const std::list< std::string > &plist)
octave_value(const octave::range< double > &r, bool force_range=false)
Array< std::string > xcellstr_value(const char *fmt,...) const
int8NDArray int8_array_value() const
std::string get_dims_str() const
octave_int64 int64_scalar_value() const
octave_value(const char *s, char type='\'')
octave_idx_type rows() const
octave::idx_vector index_vector(bool require_integers=false) const
int64_t int64_value(bool req_int=false, bool frc_str_conv=false) const
bool is_scalar_type() 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)
bool is_sq_string() const
octave::range< double > range_value() const
short int short_value(bool req_int=false, bool frc_str_conv=false) const
octave_scalar_map scalar_map_value() const
octave_idx_type nzmax() const
octave_value & non_const_unary_op(unary_op op, const std::string &type, const std::list< octave_value_list > &idx)
bool is_classdef_meta() const
octave_value permute(const Array< int > &vec, bool inv=false) const
FloatDiagMatrix float_diag_matrix_value(bool force=false) const
ComplexMatrix complex_matrix_value(bool frc_str_conv=false) const
bool is_int8_type() const
bool is_user_script() const
void short_disp(std::ostream &os) const
octave_value_list simple_subsref(char type, octave_value_list &idx, int nargout)
void erase_subfunctions()
octave_value_list next_subsref(int nargout, const std::string &type, const std::list< octave_value_list > &idx, std::size_t skip=1)
bool load_binary(std::istream &is, bool swap, octave::mach_info::float_format fmt)
octave_value(octave_value::magic_colon)
SparseBoolMatrix xsparse_bool_matrix_value(const char *fmt,...) const
octave_value dump() const
double xscalar_value(const char *fmt,...) const
Complex complex_value(bool frc_str_conv=false) const
octave_value(const octave_uint16 &i)
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(const uint32NDArray &inda)
FloatComplexDiagMatrix float_complex_diag_matrix_value(bool force=false) const
bool is_perm_matrix() const
octave_value undef_subsasgn(const std::string &type, const std::list< octave_value_list > &idx, const octave_value &rhs)
octave_value as_uint8() 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
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
const octave_idx_type * mex_get_ir() const
octave_idx_type end_index(octave_idx_type index_position, octave_idx_type num_indices) const
octave_value(const octave_map &m)
MatrixType matrix_type() const
Array< int > xint_vector_value(const char *fmt,...) const
octave_value(const int32NDArray &inda)
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
static octave_value empty_conv(const std::string &type, const octave_value &rhs=octave_value())
octave_value(const octave_int8 &i)
octave_value as_int16() const
PermMatrix xperm_matrix_value(const char *fmt,...) const
octave_value(const octave_int64 &i)
ComplexMatrix xcomplex_matrix_value(const char *fmt,...) const
const octave_idx_type * mex_get_jc() 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
bool is_complex_scalar() const
ComplexNDArray complex_array_value(bool frc_str_conv=false) const
bool is_copy_of(const octave_value &val) const
octave_value next_subsref(const std::string &type, const std::list< octave_value_list > &idx, std::size_t skip=1)
bool is_mex_function() const
string_vector parent_class_names() const
octave_int16 xint16_scalar_value(const char *fmt,...) const
octave_value as_single() const
FloatRowVector float_row_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
bool is_single_type() 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(const SparseMatrix &m, const MatrixType &t=MatrixType())
bool is_dld_function() const
uint64NDArray xuint64_array_value(const char *fmt,...) const
double xdouble_value(const char *fmt,...) const
bool save_binary(std::ostream &os, bool save_as_floats)
charNDArray char_array_value(bool frc_str_conv=false) const
void make_storable_value()
const octave_base_value & get_rep() const
octave_uint32 uint32_scalar_value() const
FloatColumnVector float_column_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
bool is_legacy_object() const
bool save_ascii(std::ostream &os)
string_vector map_keys() const
float float_scalar_value(bool frc_str_conv=false) const
FloatComplex float_complex_value(bool frc_str_conv=false) const
void break_closure_cycles(const std::shared_ptr< octave::stack_frame > &)
Array< FloatComplex > xfloat_complex_vector_value(const char *fmt,...) const
octave::range< double > xrange_value(const char *fmt,...) const
bool is_equal(const octave_value &) const
std::size_t nparents() const
octave_idx_type xnumel(const octave_value_list &idx)
octave_value storable_value() const
bool is_uint8_type() const
bool is_uint64_type() 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
float_display_format get_edit_display_format() const
octave_base_value::type_conv_info numeric_demotion_function() const
octave_value as_uint32() const
int64_t xint64_value(const char *fmt,...) const
bool is_zero_by_zero() const
bool is_uint16_type() const
octave_fcn_handle * xfcn_handle_value(const char *fmt,...) const
uint64NDArray uint64_array_value() const
charMatrix xchar_matrix_value(const char *fmt,...) const
short int xshort_value(const char *fmt,...) const
octave_user_script * xuser_script_value(const char *fmt,...) 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
bool is_magic_colon() const
FloatNDArray xfloat_array_value(const char *fmt,...) const
octave_function * function_value(bool silent=false) const
unsigned long int ulong_value(bool req_int=false, bool frc_str_conv=false) const
octave_value any(int dim=0) const
bool is_int16_type() const
octave_idx_type nfields() const
bool is_char_matrix() const
octave_value(const SparseBoolMatrix &bm, const MatrixType &t=MatrixType())
octave_value reshape(const dim_vector &dv) const
bool print_as_scalar() const
octave_value & assign(assign_op op, const std::string &type, const std::list< octave_value_list > &idx, const octave_value &rhs)
octave_int64 xint64_scalar_value(const char *fmt,...) const
double scalar_value(bool frc_str_conv=false) 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)
octave_value(const octave::idx_vector &idx, bool lazy=true)
bool is_bool_matrix() const
ComplexRowVector xcomplex_row_vector_value(const char *fmt,...) const
octave_base_value::type_conv_info numeric_conversion_function() const
octave_idx_type numel() const
octave_value next_subsref(bool auto_add, const std::string &type, const std::list< octave_value_list > &idx, std::size_t skip=1)
bool load_ascii(std::istream &is)
octave_map map_value() const
void convert_to_row_or_column_vector()
bool is_real_matrix() const
octave_fcn_handle * fcn_handle_value(bool silent=false) const
boolMatrix bool_matrix_value(bool warn=false) const
octave_idx_type nnz() 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
octave_uint8 uint8_scalar_value() const
int nint_value(bool frc_str_conv=false) const
octave_value(const Array< char > &chnda, char type='\'')
bool is_int64_type() const
octave_uint8 xuint8_scalar_value(const char *fmt,...) 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
void print_info(std::ostream &os, const std::string &prefix="") const
octave_idx_type xidx_type_value(const char *fmt,...) const
bool is_matrix_type() const
octave_value map(octave_base_value::unary_mapper_t umap) const
octave_int16 int16_scalar_value() const
charNDArray xchar_array_value(const char *fmt,...) const
octave_value(const octave_uint8 &i)
octave_value(const Array< octave_int32 > &inda)
octave_base_value * empty_clone() const
long int long_value(bool req_int=false, bool frc_str_conv=false) 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
octave_value(const Array< octave_int16 > &inda)
ComplexColumnVector xcomplex_column_vector_value(const char *fmt,...) const
sortmode is_sorted_rows(sortmode mode=UNSORTED) const
bool is_user_function() const
octave_uint64 xuint64_scalar_value(const char *fmt,...) const
octave_value single_subsref(const std::string &type, const octave_value_list &idx)
bool is_anonymous_function() 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
int64NDArray int64_array_value() const
octave_idx_type get_count() 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)
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
octave_value & non_const_unary_op(unary_op op)
uint16NDArray xuint16_array_value(const char *fmt,...) const
Array< double > vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
octave_idx_type length() const
octave_value(const std::map< std::string, octave_value > &)
octave_value as_uint16() const
bool is_double_type() const
octave_value as_int64() const
bool is_builtin_function() const
bool is_int32_type() const
bool is_bool_scalar() 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
octave_value(const octave_uint32 &i)
bool is_classdef_superclass_ref() const
octave_value as_double() const
const void * mex_get_data(mxClassID class_id=mxUNKNOWN_CLASS, mxComplexity complexity=mxREAL) const
octave_value convert_to_str(bool pad=false, bool force=false, char type='\'') const
uint8NDArray uint8_array_value() const
bool print_name_tag(std::ostream &os, const std::string &name) const
octave_value full_value() const
octave_uint16 xuint16_scalar_value(const char *fmt,...) const
sortmode issorted(sortmode mode=UNSORTED) const
std::string type_name() const
long int xlong_value(const char *fmt,...) const
octave_value all(int dim=0) const
bool is_user_code() const
Array< float > float_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
octave_base_value * m_rep
The real representation.
int xint_value(const char *fmt,...) const
std::string xstring_value(const char *fmt,...) const
uint64_t xuint64_value(const char *fmt,...) 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
octave_int32 int32_scalar_value() const
Array< double > xvector_value(const char *fmt,...) const
std::size_t byte_size() const
FloatComplexNDArray float_complex_array_value(bool frc_str_conv=false) const
octave_value(const octave_int32 &i)
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
octave_base_value * try_narrowing_conversion()
float xfloat_value(const char *fmt,...) const
std::list< std::string > parent_class_name_list() 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
mxArray * as_mxArray(bool interleaved=false) const
NDArray xarray_value(const char *fmt,...) const
uint32NDArray uint32_array_value() const
RowVector row_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
MatrixType matrix_type(const MatrixType &typ) const
FloatColumnVector xfloat_column_vector_value(const char *fmt,...) const
octave_value(const int64NDArray &inda)
bool is_complex_matrix() const
octave_value(const Array< std::string > &cellstr)
octave_value(const octave_scalar_map &m)
octave_idx_type columns() const
octave_value(const uint16NDArray &inda)
Matrix matrix_value(bool frc_str_conv=false) const
octave_value(const Array< octave_int8 > &inda)
octave_value(const charNDArray &chnda, char type='\'')
builtin_type_t builtin_type() const
FloatComplexMatrix float_complex_matrix_value(bool frc_str_conv=false) const
void print(std::ostream &os, bool pr_as_read_syntax=false)
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
boolMatrix xbool_matrix_value(const char *fmt,...) const
PermMatrix perm_matrix_value() const
unsigned int xuint_value(const char *fmt,...) const
octave_value(const int16NDArray &inda)
octave_value as_double_or_copy() const
octave_user_function * xuser_function_value(const char *fmt,...) 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
Array< std::string > cellstr_value() const
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)
octave_value squeeze() const
ColumnVector real(const ComplexColumnVector &a)
ColumnVector imag(const ComplexColumnVector &a)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
octave::idx_vector idx_vector
Complex log2(const Complex &x)
Complex asin(const Complex &x)
Complex acos(const Complex &x)
Complex atan(const Complex &x)
std::complex< T > floor(const std::complex< T > &x)
std::complex< T > ceil(const std::complex< T > &x)
F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE * d
F77_RET_T const F77_DBLE * x
Complex expm1(const Complex &x)
Complex log1p(const Complex &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)
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()) ? '\'' :'"'))
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)
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)
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)
octave_value op_mul(const octave_value &a1, const octave_value &a2)
octave_value colon_op(const octave_value &base, const octave_value &increment, const octave_value &limit, bool is_for_cmd_expr=false)
void install_types(octave::type_info &)
octave_value op_hermitian(const octave_value &a)
#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 cat_op(type_info &ti, const octave_value &a, const octave_value &b, const Array< octave_idx_type > &ra_idx)
octave_value binary_op(type_info &ti, octave_value::binary_op op, const octave_value &a, const octave_value &b)
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)
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 unary_op(type_info &ti, octave_value::unary_op op, const octave_value &a)
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)