23 #if defined (HAVE_CONFIG_H)
41 #define DEF_CLASS_UNOP(name) \
43 oct_unop_ ## name (const octave_value& a) \
45 octave_value retval; \
47 std::string class_name = a.class_name (); \
49 octave_value meth = symbol_table::find_method (#name, class_name); \
51 if (meth.is_undefined ()) \
52 error ("%s method not defined for %s class", #name, \
53 class_name.c_str ()); \
55 octave_value_list args; \
59 octave_value_list tmp = feval (meth.function_value (), args, 1); \
61 if (tmp.length () > 0) \
75 #define DEF_CLASS_BINOP(name) \
77 oct_binop_ ## name (const octave_value& a1, const octave_value& a2) \
79 octave_value retval; \
81 std::string dispatch_type \
82 = a1.is_object () ? a1.class_name () : a2.class_name (); \
84 octave_value meth = symbol_table::find_method (#name, dispatch_type); \
86 if (meth.is_undefined ()) \
87 error ("%s method not defined for %s class", #name, \
88 dispatch_type.c_str ()); \
90 octave_value_list args; \
95 octave_value_list tmp = feval (meth.function_value (), args, 1); \
97 if (tmp.length () > 0) \
122 #define INSTALL_CLASS_UNOP(op, f) \
123 octave_value_typeinfo::register_unary_class_op \
124 (octave_value::op, oct_unop_ ## f)
126 #define INSTALL_CLASS_BINOP(op, f) \
127 octave_value_typeinfo::register_binary_class_op \
128 (octave_value::op, oct_binop_ ## f)
#define DEF_CLASS_BINOP(name)
octave_value op_uplus(const octave_value &a)
octave_value op_el_pow(const octave_value &a1, const octave_value &a2)
octave_value op_eq(const octave_value &a1, const octave_value &a2)
OCTAVE_EXPORT octave_value_list or class The return code an ordinary file in Octave s or(after appending @samp{.m}) a function file in Octave's ode
#define DEF_CLASS_UNOP(name)
octave_value op_el_ldiv(const octave_value &a1, const octave_value &a2)
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)
octave_value op_pow(const octave_value &a1, const octave_value &a2)
#define INSTALL_CLASS_BINOP(op, f)
octave_value op_div(const octave_value &a1, const octave_value &a2)
void install_class_ops(void)
octave_value op_el_or(const octave_value &a1, const octave_value &a2)
octave_value op_not(const octave_value &a)
octave_value op_transpose(const octave_value &a)
octave_value op_el_and(const octave_value &a1, const octave_value &a2)
octave_value op_le(const octave_value &a1, const octave_value &a2)
octave_value op_lt(const octave_value &a1, const octave_value &a2)
octave_value op_el_div(const octave_value &a1, const octave_value &a2)
Restrict the maximum order of the solution method This option must be between and
octave_value op_ne(const octave_value &a1, const octave_value &a2)
nd example oindent opens the file binary numeric values will be read assuming they are stored in IEEE format with the least significant bit and then converted to the native representation Opening a file that is already open simply opens it again and returns a separate file id It is not an error to open a file several times
octave_value op_add(const octave_value &a1, const octave_value &a2)
octave_value op_ldiv(const octave_value &a1, const octave_value &a2)
octave_value op_sub(const octave_value &a1, const octave_value &a2)
octave_value op_el_mul(const octave_value &a1, const octave_value &a2)
octave_value op_hermitian(const octave_value &a)
octave_value op_ge(const octave_value &a1, const octave_value &a2)
octave_value op_uminus(const octave_value &a)
#define INSTALL_CLASS_UNOP(op, f)
octave_value op_mul(const octave_value &a1, const octave_value &a2)
octave_value op_gt(const octave_value &a1, const octave_value &a2)