29 #if defined (HAVE_CONFIG_H)
77 if ((opname ==
"transpose") || (opname ==
"ctranspose"))
80 error (
"%s not defined for N-D objects of %s class", opname.c_str (),
87 error (
"%s method not defined for %s class", opname.c_str (),
101 error (
"%s method not defined for %s class", opname.c_str (),
102 class_name.c_str ());
107 #define DEF_CLASS_UNOP(opname) \
108 static octave_value \
109 oct_unop_ ## opname (const octave_value& a) \
111 return oct_unop_default (a, #opname); \
119 #undef DEF_CLASS_UNOP
139 const std::string& opname)
156 error (
"%s method not defined for %s class", opname.c_str (),
157 dispatch_type.c_str ());
170 #define DEF_CLASS_BINOP(opname) \
171 static octave_value \
172 oct_binop_ ## opname (const octave_value& a1, const octave_value& a2) \
174 return oct_binop_default (a1, a2, #opname); \
195 #undef DEF_CLASS_BINOP
bool is_superiorto(const std::string &a, const std::string &b)
octave_value find_method(const std::string &name, const std::string &dispatch_type)
bool install_unary_class_op(octave_value::unary_op op, unary_class_op_fcn f)
bool install_binary_class_op(octave_value::binary_op op, binary_class_op_fcn f)
virtual bool isobject(void) const
virtual std::string class_name(void) const
std::list< std::string > parent_class_name_list(void) const
std::string class_name(void) const
octave_map map_value(void) const
octave_map transpose(void) const
octave_idx_type length(void) const
bool is_classdef_object(void) const
const octave_base_value & get_rep(void) const
bool is_defined(void) const
std::string class_name(void) const
octave_function * function_value(bool silent=false) const
bool isobject(void) const
bool is_undefined(void) const
void error(const char *fmt,...)
octave_value_list feval(const char *name, const octave_value_list &args, int nargout)
Evaluate an Octave function (built-in or interpreted) and return the list of result values.
symbol_table & __get_symbol_table__(const std::string &who)
static octave_value oct_binop_or(const octave_value &a1, const octave_value &a2)
static octave_value oct_binop_times(const octave_value &a1, const octave_value &a2)
static octave_value oct_binop_mldivide(const octave_value &a1, const octave_value &a2)
static octave_value oct_unop_uplus(const octave_value &a)
static octave_value oct_binop_mpower(const octave_value &a1, const octave_value &a2)
static octave_value oct_binop_power(const octave_value &a1, const octave_value &a2)
#define DEF_CLASS_BINOP(opname)
Helper macro to define binary class operators.
static octave_value oct_binop_mtimes(const octave_value &a1, const octave_value &a2)
static octave_value oct_binop_le(const octave_value &a1, const octave_value &a2)
static octave_value oct_unop_not(const octave_value &a)
static octave_value oct_binop_ldivide(const octave_value &a1, const octave_value &a2)
static octave_value oct_unop_uminus(const octave_value &a)
static octave_value oct_binop_default(const octave_value &a1, const octave_value &a2, const std::string &opname)
Default binary class operator.
void install_class_ops(octave::type_info &ti)
static octave_value oct_binop_ne(const octave_value &a1, const octave_value &a2)
static octave_value oct_unop_transpose(const octave_value &a)
static octave_value oct_binop_lt(const octave_value &a1, const octave_value &a2)
static octave_value oct_binop_gt(const octave_value &a1, const octave_value &a2)
static octave_value oct_binop_rdivide(const octave_value &a1, const octave_value &a2)
static octave_value oct_unop_default(const octave_value &a, const std::string &opname)
Default unary class operator.
static octave_value oct_unop_ctranspose(const octave_value &a)
static octave_value oct_binop_ge(const octave_value &a1, const octave_value &a2)
static octave_value oct_binop_and(const octave_value &a1, const octave_value &a2)
static octave_value oct_binop_eq(const octave_value &a1, const octave_value &a2)
#define DEF_CLASS_UNOP(opname)
Helper macro to define unary class operators.
static octave_value oct_binop_plus(const octave_value &a1, const octave_value &a2)
static octave_value oct_binop_mrdivide(const octave_value &a1, const octave_value &a2)
static octave_value oct_binop_minus(const octave_value &a1, const octave_value &a2)
const octave_base_value & a2
return octave_value(v1.char_array_value() . concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string()) ? '\'' :'"'))
octave_value_list ovl(const OV_Args &... args)
Construct an octave_value_list with less typing.
static void transpose(octave_idx_type N, const octave_idx_type *ridx, const octave_idx_type *cidx, octave_idx_type *ridx2, octave_idx_type *cidx2)