GNU Octave  4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Macros | Functions
ops.h File Reference
#include "Array-util.h"
Include dependency graph for ops.h:

Go to the source code of this file.

Macros

#define ASSIGNANYOPDECL(name)
 
#define ASSIGNOPDECL(name)
 
#define BINOPDECL(name, a1, a2)
 
#define CAST_BINOP_ARGS(t1, t2)
 
#define CAST_CONV_ARG(t)   t v = dynamic_cast<t> (a)
 
#define CAST_UNOP_ARG(t)   t v = dynamic_cast<t> (a)
 
#define CATOP_NONCONFORMANT(msg)
 
#define CATOPDECL(name, a1, a2)
 
#define CONCAT2(x, y)   CONCAT2X(x,y)
 
#define CONCAT2X(x, y)   x ## y
 
#define CONCAT3(x, y, z)   CONCAT3X(x,y,z)
 
#define CONCAT3X(x, y, z)   x ## y ## z
 
#define CONVDECL(name)
 
#define CONVDECLX(name)
 
#define DEFASSIGNANYOP_FN(name, t1, f)
 
#define DEFASSIGNOP(name, t1, t2)   ASSIGNOPDECL (name)
 
#define DEFASSIGNOP_FN(name, t1, t2, f)
 
#define DEFBINOP(name, t1, t2)   BINOPDECL (name, a1, a2)
 
#define DEFBINOP_FN(name, t1, t2, f)
 
#define DEFBINOP_OP(name, t1, t2, op)
 
#define DEFBINOPX(name, t1, t2)   BINOPDECL (name, , )
 
#define DEFCATOP(name, t1, t2)   CATOPDECL (name, a1, a2)
 
#define DEFCATOP_FN(name, t1, t2, f)
 
#define DEFCATOPX(name, t1, t2)   CATOPDECL (name, , )
 
#define DEFCMPLXCMPOP_OP(name, t1, t2, op)
 
#define DEFCONV(name, a_dummy, b_dummy)   CONVDECL (name)
 
#define DEFCONVFN(name, tfrom, tto)   DEFCONVFNX2 (name, tfrom, CONCAT2(tto, _matrix), CONCAT2(tto, _))
 
#define DEFCONVFN2(name, tfrom, sm, tto)   DEFCONVFNX2 (name, CONCAT3(tfrom, _, sm), CONCAT2(tto, _matrix), CONCAT2(tto, _))
 
#define DEFCONVFNX(name, tfrom, ovtto, tto, e)
 
#define DEFCONVFNX2(name, tfrom, ovtto, e)
 
#define DEFDBLCONVFN(name, ovtfrom, e)
 
#define DEFFLTCONVFN(name, ovtfrom, e)
 
#define DEFNCUNOP_METHOD(name, t, method)
 
#define DEFNDASSIGNOP_FN(name, t1, t2, e, f)
 
#define DEFNDASSIGNOP_FNOP(name, t1, t2, f, fnop)
 
#define DEFNDASSIGNOP_OP(name, t1, t2, f, op)
 
#define DEFNDBINOP_FN(name, t1, t2, e1, e2, f)
 
#define DEFNDBINOP_OP(name, t1, t2, e1, e2, op)
 
#define DEFNDCATOP_FN(name, t1, t2, e1, e2, f)
 
#define DEFNDCATOP_FN2(name, t1, t2, tc1, tc2, e1, e2, f)
 
#define DEFNDCHARCATOP_FN(name, t1, t2, f)
 
#define DEFNDCMPLXCMPOP_FN(name, t1, t2, e1, e2, f)
 
#define DEFNDUNOP_FN(name, t, e, f)
 
#define DEFNDUNOP_OP(name, t, e, op)
 
#define DEFNULLASSIGNOP_FN(name, t, f)
 
#define DEFSCALARBOOLOP_OP(name, t1, t2, op)
 
#define DEFSTRDBLCONVFN(name, tfrom)   DEFCONVFNX(name, tfrom, matrix, , char_)
 
#define DEFSTRFLTCONVFN(name, tfrom)   DEFCONVFNX(name, tfrom, float_matrix, Float, char_)
 
#define DEFSTRINTCONVFN(name, tto)   DEFCONVFNX(name, char_matrix_str, CONCAT2(tto, _matrix), tto, char_)
 
#define DEFUNOP(name, t)   UNOPDECL (name, a)
 
#define DEFUNOP_FN(name, t, f)
 
#define DEFUNOP_OP(name, t, op)
 
#define DEFUNOPX(name, t)   UNOPDECL (name, , )
 
#define INSTALL_ASSIGNANYOP(op, t1, f)
 
#define INSTALL_ASSIGNCONV(t1, t2, tr)
 
#define INSTALL_ASSIGNOP(op, t1, t2, f)
 
#define INSTALL_BINOP(op, t1, t2, f)
 
#define INSTALL_CATOP(t1, t2, f)
 
#define INSTALL_CONVOP(t1, t2, f)
 
#define INSTALL_NCUNOP(op, t, f)
 
#define INSTALL_UNOP(op, t, f)
 
#define INSTALL_WIDENOP(t1, t2, f)
 
#define NULLASSIGNOPDECL(name)
 
#define UNOPDECL(name, a)
 

Functions

void install_ops (void)
 

Macro Definition Documentation

#define ASSIGNANYOPDECL (   name)
Value:
CONCAT2(oct_assignop_, name) (octave_base_value& a1, \
const octave_value_list& idx, \
const octave_value& a2)
const octave_base_value & a2
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 98 of file ops.h.

#define ASSIGNOPDECL (   name)
Value:
CONCAT2(oct_assignop_, name) (octave_base_value& a1, \
const octave_value_list& idx, \
const octave_base_value & a2
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 86 of file ops.h.

#define BINOPDECL (   name,
  a1,
  a2 
)
Value:
CONCAT2(oct_binop_, name) (const octave_base_value& a1, const octave_base_value& a2)
const octave_base_value & a2
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 272 of file ops.h.

#define CAST_BINOP_ARGS (   t1,
  t2 
)
Value:
t1 v1 = dynamic_cast<t1> (a1); \
t2 v2 = dynamic_cast<t2> (a2)
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
const octave_base_value & a2
const octave_char_matrix & v2

Definition at line 79 of file ops.h.

Referenced by oct_assignop_assign(), oct_binop_add_cdm_scm(), oct_binop_add_cdm_sm(), oct_binop_add_dm_scm(), oct_binop_add_dm_sm(), oct_binop_add_scm_cdm(), oct_binop_add_scm_dm(), oct_binop_add_sm_cdm(), oct_binop_add_sm_dm(), oct_binop_div(), oct_binop_div_scm_cdm(), oct_binop_div_scm_dm(), oct_binop_div_scm_pm(), oct_binop_div_sm_cdm(), oct_binop_div_sm_dm(), oct_binop_div_sm_pm(), oct_binop_dmsdiv(), oct_binop_dmspow(), oct_binop_el_and(), oct_binop_el_div(), oct_binop_el_ldiv(), oct_binop_el_or(), oct_binop_el_pow(), oct_binop_eq(), oct_binop_herm_ldiv(), oct_binop_herm_mul(), oct_binop_ldiv(), oct_binop_ldiv_cdm_scm(), oct_binop_ldiv_cdm_sm(), oct_binop_ldiv_dm_scm(), oct_binop_ldiv_dm_sm(), oct_binop_ldiv_pm_scm(), oct_binop_ldiv_pm_sm(), oct_binop_mul(), oct_binop_mul_cdm_scm(), oct_binop_mul_cdm_sm(), oct_binop_mul_dm_scm(), oct_binop_mul_dm_sm(), oct_binop_mul_herm(), oct_binop_mul_pm_scm(), oct_binop_mul_pm_sm(), oct_binop_mul_scm_cdm(), oct_binop_mul_scm_dm(), oct_binop_mul_scm_pm(), oct_binop_mul_sm_cdm(), oct_binop_mul_sm_dm(), oct_binop_mul_sm_pm(), oct_binop_mul_trans(), oct_binop_ne(), oct_binop_pow(), oct_binop_sdmldiv(), oct_binop_sub_cdm_scm(), oct_binop_sub_cdm_sm(), oct_binop_sub_dm_scm(), oct_binop_sub_dm_sm(), oct_binop_sub_scm_cdm(), oct_binop_sub_scm_dm(), oct_binop_sub_sm_cdm(), oct_binop_sub_sm_dm(), oct_binop_trans_ldiv(), oct_binop_trans_mul(), oct_catop_b_sbm(), oct_catop_b_sm(), oct_catop_bm_sbm(), oct_catop_bm_sm(), oct_catop_chm_m(), oct_catop_chm_s(), oct_catop_cm_scm(), oct_catop_cm_sm(), oct_catop_cs_scm(), oct_catop_cs_sm(), oct_catop_m_chm(), oct_catop_m_sbm(), oct_catop_m_scm(), oct_catop_m_sm(), oct_catop_matrix_struct(), oct_catop_s_chm(), oct_catop_s_sbm(), oct_catop_s_scm(), oct_catop_s_sm(), oct_catop_sbm_b(), oct_catop_sbm_bm(), oct_catop_sbm_m(), oct_catop_sbm_s(), oct_catop_scm_cm(), oct_catop_scm_cs(), oct_catop_scm_m(), oct_catop_scm_s(), oct_catop_sm_b(), oct_catop_sm_bm(), oct_catop_sm_cm(), oct_catop_sm_cs(), oct_catop_sm_m(), oct_catop_sm_s(), and oct_catop_struct_matrix().

#define CAST_CONV_ARG (   t)    t v = dynamic_cast<t> (a)
#define CAST_UNOP_ARG (   t)    t v = dynamic_cast<t> (a)
#define CATOP_NONCONFORMANT (   msg)
Value:
a1.rows (), a1.columns (), \
a2.rows (), a2.columns ()); \
return octave_value ()
void gripe_nonconformant(const char *op, octave_idx_type op1_len, octave_idx_type op2_len)
octave_idx_type columns(void) const
Definition: ov-base.h:301
const octave_base_value & a2
octave_idx_type rows(void) const
Definition: ov-base.h:294
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 391 of file ops.h.

#define CATOPDECL (   name,
  a1,
  a2 
)
Value:
CONCAT2(oct_catop_, name) (octave_base_value& a1, const octave_base_value& a2, \
const octave_base_value const Array< octave_idx_type > & ra_idx
const octave_base_value & a2
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 344 of file ops.h.

#define CONCAT2 (   x,
 
)    CONCAT2X(x,y)

Definition at line 31 of file ops.h.

#define CONCAT2X (   x,
 
)    x ## y

Definition at line 30 of file ops.h.

#define CONCAT3 (   x,
  y,
 
)    CONCAT3X(x,y,z)

Definition at line 34 of file ops.h.

#define CONCAT3X (   x,
  y,
 
)    x ## y ## z

Definition at line 33 of file ops.h.

#define CONVDECL (   name)
Value:
CONCAT2(oct_conv_, name) (const octave_base_value& a)
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 166 of file ops.h.

#define CONVDECLX (   name)
Value:
CONCAT2(oct_conv_, name) (const octave_base_value&)
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 170 of file ops.h.

#define DEFASSIGNANYOP_FN (   name,
  t1,
  f 
)
Value:
{ \
CONCAT2(octave_, t1)& v1 = dynamic_cast<CONCAT2(octave_, t1)&> (a1); \
\
v1.f (idx, a2); \
return octave_value (); \
}
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
const octave_base_value & a2
#define ASSIGNANYOPDECL(name)
Definition: ops.h:98
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 157 of file ops.h.

#define DEFASSIGNOP (   name,
  t1,
  t2 
)    ASSIGNOPDECL (name)

Definition at line 104 of file ops.h.

#define DEFASSIGNOP_FN (   name,
  t1,
  t2,
  f 
)
Value:
ASSIGNOPDECL (name) \
{ \
CAST_BINOP_ARGS (CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
\
v1.f (idx, v2.CONCAT2(t1, _value) ()); \
return octave_value (); \
}
#define ASSIGNOPDECL(name)
Definition: ops.h:86
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define CAST_BINOP_ARGS(t1, t2)
Definition: ops.h:79
const octave_char_matrix & v2
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 107 of file ops.h.

#define DEFBINOP (   name,
  t1,
  t2 
)    BINOPDECL (name, a1, a2)

Definition at line 279 of file ops.h.

#define DEFBINOP_FN (   name,
  t1,
  t2,
  f 
)
Value:
BINOPDECL (name, a1, a2) \
{ \
CAST_BINOP_ARGS (const CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
return octave_value (f (v1.CONCAT2(t1, _value) (), v2.CONCAT2(t2, _value) ())); \
}
#define BINOPDECL(name, a1, a2)
Definition: ops.h:272
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define CAST_BINOP_ARGS(t1, t2)
Definition: ops.h:79
const octave_base_value & a2
F77_RET_T const double const double * f
const octave_char_matrix & v2
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 323 of file ops.h.

#define DEFBINOP_OP (   name,
  t1,
  t2,
  op 
)
Value:
BINOPDECL (name, a1, a2) \
{ \
CAST_BINOP_ARGS (const CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
return octave_value \
(v1.CONCAT2(t1, _value) () op v2.CONCAT2(t2, _value) ()); \
}
#define BINOPDECL(name, a1, a2)
Definition: ops.h:272
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define CAST_BINOP_ARGS(t1, t2)
Definition: ops.h:79
const octave_base_value & a2
const octave_char_matrix & v2
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 282 of file ops.h.

#define DEFBINOPX (   name,
  t1,
  t2 
)    BINOPDECL (name, , )

Definition at line 276 of file ops.h.

#define DEFCATOP (   name,
  t1,
  t2 
)    CATOPDECL (name, a1, a2)

Definition at line 352 of file ops.h.

#define DEFCATOP_FN (   name,
  t1,
  t2,
  f 
)
Value:
CATOPDECL (name, a1, a2) \
{ \
CAST_BINOP_ARGS (CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
return octave_value (v1.CONCAT2(t1, _value) () . f (v2.CONCAT2(t2, _value) (), ra_idx)); \
}
const octave_base_value const Array< octave_idx_type > & ra_idx
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define CATOPDECL(name, a1, a2)
Definition: ops.h:344
#define CAST_BINOP_ARGS(t1, t2)
Definition: ops.h:79
const octave_base_value & a2
F77_RET_T const double const double * f
const octave_char_matrix & v2
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 357 of file ops.h.

#define DEFCATOPX (   name,
  t1,
  t2 
)    CATOPDECL (name, , )

Definition at line 349 of file ops.h.

#define DEFCMPLXCMPOP_OP (   name,
  t1,
  t2,
  op 
)
Value:
BINOPDECL (name, a1, a2) \
{ \
CAST_BINOP_ARGS (const CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
return octave_value \
(v1.CONCAT2(t1, _value) () op v2.CONCAT2(t2, _value) ()); \
}
#define BINOPDECL(name, a1, a2)
Definition: ops.h:272
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define CAST_BINOP_ARGS(t1, t2)
Definition: ops.h:79
const octave_base_value & a2
const octave_char_matrix & v2
void gripe_warn_complex_cmp(void)
Definition: gripes.cc:235
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 290 of file ops.h.

#define DEFCONV (   name,
  a_dummy,
  b_dummy 
)    CONVDECL (name)

Definition at line 174 of file ops.h.

#define DEFCONVFN (   name,
  tfrom,
  tto 
)    DEFCONVFNX2 (name, tfrom, CONCAT2(tto, _matrix), CONCAT2(tto, _))

Definition at line 218 of file ops.h.

#define DEFCONVFN2 (   name,
  tfrom,
  sm,
  tto 
)    DEFCONVFNX2 (name, CONCAT3(tfrom, _, sm), CONCAT2(tto, _matrix), CONCAT2(tto, _))

Definition at line 221 of file ops.h.

#define DEFCONVFNX (   name,
  tfrom,
  ovtto,
  tto,
 
)
Value:
CONVDECL (name) \
{ \
CAST_CONV_ARG (const CONCAT2(octave_, tfrom)&); \
\
return new CONCAT2(octave_, ovtto) (CONCAT2(tto, NDArray) (v.CONCAT2(e, array_value) ())); \
}
#define CAST_CONV_ARG(t)
Definition: ops.h:83
#define CONCAT2(x, y)
Definition: ops.h:31
#define CONVDECL(name)
Definition: ops.h:166

Definition at line 177 of file ops.h.

#define DEFCONVFNX2 (   name,
  tfrom,
  ovtto,
 
)
Value:
CONVDECL (name) \
{ \
CAST_CONV_ARG (const CONCAT2(octave_, tfrom)&); \
\
return new CONCAT2(octave_, ovtto) (v.CONCAT2(e, array_value) ()); \
}
#define CAST_CONV_ARG(t)
Definition: ops.h:83
#define CONCAT2(x, y)
Definition: ops.h:31
#define CONVDECL(name)
Definition: ops.h:166

Definition at line 185 of file ops.h.

#define DEFDBLCONVFN (   name,
  ovtfrom,
 
)
Value:
CONVDECL (name) \
{ \
CAST_CONV_ARG (const CONCAT2(octave_, ovtfrom)&); \
\
return new octave_matrix (NDArray (v.CONCAT2(e, _value) ())); \
}
#define CAST_CONV_ARG(t)
Definition: ops.h:83
#define CONCAT2(x, y)
Definition: ops.h:31
#define CONVDECL(name)
Definition: ops.h:166

Definition at line 193 of file ops.h.

#define DEFFLTCONVFN (   name,
  ovtfrom,
 
)
Value:
CONVDECL (name) \
{ \
CAST_CONV_ARG (const CONCAT2(octave_, ovtfrom)&); \
\
return new octave_float_matrix (FloatNDArray (v.CONCAT2(e, _value) ())); \
}
#define CAST_CONV_ARG(t)
Definition: ops.h:83
#define CONCAT2(x, y)
Definition: ops.h:31
#define CONVDECL(name)
Definition: ops.h:166

Definition at line 201 of file ops.h.

#define DEFNCUNOP_METHOD (   name,
  t,
  method 
)
Value:
static void \
CONCAT2(oct_unop_, name) (octave_base_value& a) \
{ \
CAST_UNOP_ARG (CONCAT2(octave_, t)&); \
v.method (); \
}
#define CAST_UNOP_ARG(t)
Definition: ops.h:76
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 264 of file ops.h.

#define DEFNDASSIGNOP_FN (   name,
  t1,
  t2,
  e,
  f 
)
Value:
ASSIGNOPDECL (name) \
{ \
CAST_BINOP_ARGS (CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
\
v1.f (idx, v2.CONCAT2(e, _value) ()); \
return octave_value (); \
}
#define ASSIGNOPDECL(name)
Definition: ops.h:86
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define CAST_BINOP_ARGS(t1, t2)
Definition: ops.h:79
const octave_char_matrix & v2
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 125 of file ops.h.

#define DEFNDASSIGNOP_FNOP (   name,
  t1,
  t2,
  f,
  fnop 
)
Value:
ASSIGNOPDECL (name) \
{ \
CAST_BINOP_ARGS (CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
\
assert (idx.empty ()); \
fnop (v1.matrix_ref (), v2.CONCAT2(f, _value) ()); \
\
return octave_value (); \
}
#define ASSIGNOPDECL(name)
Definition: ops.h:86
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define CAST_BINOP_ARGS(t1, t2)
Definition: ops.h:79
F77_RET_T const double const double * f
const octave_char_matrix & v2
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 146 of file ops.h.

#define DEFNDASSIGNOP_OP (   name,
  t1,
  t2,
  f,
  op 
)
Value:
ASSIGNOPDECL (name) \
{ \
CAST_BINOP_ARGS (CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
\
assert (idx.empty ()); \
v1.matrix_ref () op v2.CONCAT2(f, _value) (); \
\
return octave_value (); \
}
#define ASSIGNOPDECL(name)
Definition: ops.h:86
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define CAST_BINOP_ARGS(t1, t2)
Definition: ops.h:79
F77_RET_T const double const double * f
const octave_char_matrix & v2
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 135 of file ops.h.

#define DEFNDBINOP_FN (   name,
  t1,
  t2,
  e1,
  e2,
  f 
)
Value:
BINOPDECL (name, a1, a2) \
{ \
CAST_BINOP_ARGS (const CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
return octave_value (f (v1.CONCAT2(e1, _value) (), v2.CONCAT2(e2, _value) ())); \
}
#define BINOPDECL(name, a1, a2)
Definition: ops.h:272
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define CAST_BINOP_ARGS(t1, t2)
Definition: ops.h:79
const octave_base_value & a2
F77_RET_T const double const double * f
const octave_char_matrix & v2
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 330 of file ops.h.

#define DEFNDBINOP_OP (   name,
  t1,
  t2,
  e1,
  e2,
  op 
)
Value:
BINOPDECL (name, a1, a2) \
{ \
CAST_BINOP_ARGS (const CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
return octave_value \
(v1.CONCAT2(e1, _value) () op v2.CONCAT2(e2, _value) ()); \
}
#define BINOPDECL(name, a1, a2)
Definition: ops.h:272
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define CAST_BINOP_ARGS(t1, t2)
Definition: ops.h:79
const octave_base_value & a2
const octave_char_matrix & v2
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 313 of file ops.h.

#define DEFNDCATOP_FN (   name,
  t1,
  t2,
  e1,
  e2,
  f 
)
Value:
CATOPDECL (name, a1, a2) \
{ \
CAST_BINOP_ARGS (CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
return octave_value (v1.CONCAT2(e1, _value) () . f (v2.CONCAT2(e2, _value) (), ra_idx)); \
}
const octave_base_value const Array< octave_idx_type > & ra_idx
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define CATOPDECL(name, a1, a2)
Definition: ops.h:344
#define CAST_BINOP_ARGS(t1, t2)
Definition: ops.h:79
const octave_base_value & a2
F77_RET_T const double const double * f
const octave_char_matrix & v2
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 364 of file ops.h.

#define DEFNDCATOP_FN2 (   name,
  t1,
  t2,
  tc1,
  tc2,
  e1,
  e2,
  f 
)
Value:
CATOPDECL (name, a1, a2) \
{ \
CAST_BINOP_ARGS (CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
return octave_value (tc1 (v1.CONCAT2(e1, _value) ()) . f (tc2 (v2.CONCAT2(e2, _value) ()), ra_idx)); \
}
const octave_base_value const Array< octave_idx_type > & ra_idx
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define CATOPDECL(name, a1, a2)
Definition: ops.h:344
#define CAST_BINOP_ARGS(t1, t2)
Definition: ops.h:79
const octave_base_value & a2
F77_RET_T const double const double * f
const octave_char_matrix & v2
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 384 of file ops.h.

#define DEFNDCHARCATOP_FN (   name,
  t1,
  t2,
  f 
)
Value:
CATOPDECL (name, a1, a2) \
{ \
CAST_BINOP_ARGS (CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
\
((a1.is_sq_string () || a2.is_sq_string ()) \
? '\'' : '"')); \
}
const octave_base_value const Array< octave_idx_type > & ra_idx
virtual charNDArray char_array_value(bool=false) const
Definition: ov-base.cc:668
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define CATOPDECL(name, a1, a2)
Definition: ops.h:344
#define CAST_BINOP_ARGS(t1, t2)
Definition: ops.h:79
const octave_base_value & a2
F77_RET_T const double const double * f
virtual bool is_sq_string(void) const
Definition: ov-base.h:361
const octave_char_matrix & v2
charNDArray char_array_value(bool=false) const
Definition: ov-ch-mat.h:139
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 371 of file ops.h.

#define DEFNDCMPLXCMPOP_FN (   name,
  t1,
  t2,
  e1,
  e2,
  f 
)
Value:
BINOPDECL (name, a1, a2) \
{ \
CAST_BINOP_ARGS (const CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
return octave_value (f (v1.CONCAT2(e1, _value) (), v2.CONCAT2(e2, _value) ())); \
}
#define BINOPDECL(name, a1, a2)
Definition: ops.h:272
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define CAST_BINOP_ARGS(t1, t2)
Definition: ops.h:79
const octave_base_value & a2
F77_RET_T const double const double * f
const octave_char_matrix & v2
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 337 of file ops.h.

#define DEFNDUNOP_FN (   name,
  t,
  e,
  f 
)
Value:
UNOPDECL (name, a) \
{ \
CAST_UNOP_ARG (const CONCAT2(octave_, t)&); \
return octave_value (f (v.CONCAT2(e, _value) ())); \
}
F77_RET_T const double const double * f
#define UNOPDECL(name, a)
Definition: ops.h:224
#define CAST_UNOP_ARG(t)
Definition: ops.h:76
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 257 of file ops.h.

#define DEFNDUNOP_OP (   name,
  t,
  e,
  op 
)
Value:
UNOPDECL (name, a) \
{ \
CAST_UNOP_ARG (const CONCAT2(octave_, t)&); \
return octave_value (op v.CONCAT2(e, _value) ()); \
}
#define UNOPDECL(name, a)
Definition: ops.h:224
#define CAST_UNOP_ARG(t)
Definition: ops.h:76
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 241 of file ops.h.

#define DEFNULLASSIGNOP_FN (   name,
  t,
  f 
)
Value:
{ \
CAST_UNOP_ARG (CONCAT2(octave_, t)&); \
\
v.f (idx); \
return octave_value (); \
}
#define NULLASSIGNOPDECL(name)
Definition: ops.h:92
#define CAST_UNOP_ARG(t)
Definition: ops.h:76
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 116 of file ops.h.

#define DEFSCALARBOOLOP_OP (   name,
  t1,
  t2,
  op 
)
Value:
BINOPDECL (name, a1, a2) \
{ \
CAST_BINOP_ARGS (const CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
if (xisnan (v1.CONCAT2(t1, _value) ()) || xisnan (v2.CONCAT2(t2, _value) ())) \
{ \
return octave_value (); \
} \
else \
return octave_value \
(v1.CONCAT2(t1, _value) () op v2.CONCAT2(t2, _value) ()); \
}
bool xisnan(double x)
Definition: lo-mappers.cc:144
#define BINOPDECL(name, a1, a2)
Definition: ops.h:272
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define CAST_BINOP_ARGS(t1, t2)
Definition: ops.h:79
const octave_base_value & a2
void gripe_nan_to_logical_conversion(void)
const octave_char_matrix & v2
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 299 of file ops.h.

#define DEFSTRDBLCONVFN (   name,
  tfrom 
)    DEFCONVFNX(name, tfrom, matrix, , char_)

Definition at line 212 of file ops.h.

#define DEFSTRFLTCONVFN (   name,
  tfrom 
)    DEFCONVFNX(name, tfrom, float_matrix, Float, char_)

Definition at line 215 of file ops.h.

#define DEFSTRINTCONVFN (   name,
  tto 
)    DEFCONVFNX(name, char_matrix_str, CONCAT2(tto, _matrix), tto, char_)

Definition at line 209 of file ops.h.

#define DEFUNOP (   name,
 
)    UNOPDECL (name, a)

Definition at line 231 of file ops.h.

#define DEFUNOP_FN (   name,
  t,
  f 
)
Value:
UNOPDECL (name, a) \
{ \
CAST_UNOP_ARG (const CONCAT2(octave_, t)&); \
return octave_value (f (v.CONCAT2(t, _value) ())); \
}
F77_RET_T const double const double * f
#define UNOPDECL(name, a)
Definition: ops.h:224
#define CAST_UNOP_ARG(t)
Definition: ops.h:76
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 250 of file ops.h.

#define DEFUNOP_OP (   name,
  t,
  op 
)
Value:
UNOPDECL (name, a) \
{ \
CAST_UNOP_ARG (const CONCAT2(octave_, t)&); \
return octave_value (op v.CONCAT2(t, _value) ()); \
}
#define UNOPDECL(name, a)
Definition: ops.h:224
#define CAST_UNOP_ARG(t)
Definition: ops.h:76
#define CONCAT2(x, y)
Definition: ops.h:31
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 234 of file ops.h.

#define DEFUNOPX (   name,
 
)    UNOPDECL (name, , )

Definition at line 228 of file ops.h.

#define INSTALL_ASSIGNANYOP (   op,
  t1,
  f 
)
Value:
(octave_value::op, t1::static_type_id (), CONCAT2(oct_assignop_, f));
F77_RET_T const double const double * f
#define CONCAT2(x, y)
Definition: ops.h:31
static bool register_assignany_op(octave_value::assign_op, int, assignany_op_fcn)
Definition: ov-typeinfo.cc:150

Definition at line 60 of file ops.h.

Referenced by install_cell_ops().

#define INSTALL_ASSIGNCONV (   t1,
  t2,
  tr 
)
#define INSTALL_ASSIGNOP (   op,
  t1,
  t2,
  f 
)
#define INSTALL_BINOP (   op,
  t1,
  t2,
  f 
)
Value:
(octave_value::op, t1::static_type_id (), t2::static_type_id (), \
CONCAT2(oct_binop_, f));
F77_RET_T const double const double * f
static bool register_binary_op(octave_value::binary_op, int, int, binary_op_fcn)
Definition: ov-typeinfo.cc:107
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 46 of file ops.h.

Referenced by install_b_b_ops(), install_b_bm_ops(), install_b_sbm_ops(), install_bm_b_ops(), install_bm_bm_ops(), install_bm_sbm_ops(), install_cdm_cdm_ops(), install_cm_cm_ops(), install_cm_cs_ops(), install_cm_m_ops(), install_cm_s_ops(), install_cm_scm_ops(), install_cm_sm_ops(), install_cs_cm_ops(), install_cs_cs_ops(), install_cs_m_ops(), install_cs_s_ops(), install_cs_scm_ops(), install_cs_sm_ops(), install_dm_dm_ops(), install_dm_scm_ops(), install_dm_sm_ops(), install_fcdm_fcdm_ops(), install_fcm_fcm_ops(), install_fcm_fcs_ops(), install_fcm_fm_ops(), install_fcm_fs_ops(), install_fcn_ops(), install_fcs_fcm_ops(), install_fcs_fcs_ops(), install_fcs_fm_ops(), install_fcs_fs_ops(), install_fdm_fdm_ops(), install_fm_fcm_ops(), install_fm_fcs_ops(), install_fm_fm_ops(), install_fm_fs_ops(), install_fs_fcm_ops(), install_fs_fcs_ops(), install_fs_fm_ops(), install_fs_fs_ops(), install_LSHORT_RSHORT_ops(), install_m_cm_ops(), install_m_cs_ops(), install_m_m_ops(), install_m_s_ops(), install_m_scm_ops(), install_m_sm_ops(), install_MSHORT_SSHORT_ops(), install_pm_pm_ops(), install_pm_scm_ops(), install_pm_sm_ops(), install_range_ops(), install_s_cm_ops(), install_s_cs_ops(), install_s_m_ops(), install_s_s_ops(), install_s_scm_ops(), install_s_sm_ops(), install_sbm_b_ops(), install_sbm_bm_ops(), install_sbm_sbm_ops(), install_scm_cm_ops(), install_scm_cs_ops(), install_scm_m_ops(), install_scm_s_ops(), install_scm_scm_ops(), install_scm_sm_ops(), install_sm_cm_ops(), install_sm_cs_ops(), install_sm_m_ops(), install_sm_s_ops(), install_sm_scm_ops(), install_sm_sm_ops(), and install_str_str_ops().

#define INSTALL_CATOP (   t1,
  t2,
  f 
)
Value:
(t1::static_type_id (), t2::static_type_id (), CONCAT2(oct_catop_, f));
F77_RET_T const double const double * f
static bool register_cat_op(int, int, cat_op_fcn)
Definition: ov-typeinfo.cc:133
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 51 of file ops.h.

Referenced by install_b_b_ops(), install_b_bm_ops(), install_b_sbm_ops(), install_bm_b_ops(), install_bm_bm_ops(), install_bm_sbm_ops(), install_cell_ops(), install_chm_ops(), install_cm_cm_ops(), install_cm_cs_ops(), install_cm_m_ops(), install_cm_s_ops(), install_cm_scm_ops(), install_cm_sm_ops(), install_cs_cm_ops(), install_cs_cs_ops(), install_cs_m_ops(), install_cs_s_ops(), install_cs_scm_ops(), install_cs_sm_ops(), install_fcm_fcm_ops(), install_fcm_fcs_ops(), install_fcm_fm_ops(), install_fcm_fs_ops(), install_fcs_fcm_ops(), install_fcs_fcs_ops(), install_fcs_fm_ops(), install_fcs_fs_ops(), install_fm_fcm_ops(), install_fm_fcs_ops(), install_fm_fm_ops(), install_fm_fs_ops(), install_fs_fcm_ops(), install_fs_fcs_ops(), install_fs_fm_ops(), install_fs_fs_ops(), install_m_cm_ops(), install_m_cs_ops(), install_m_m_ops(), install_m_s_ops(), install_m_scm_ops(), install_m_sm_ops(), install_range_ops(), install_s_cm_ops(), install_s_cs_ops(), install_s_m_ops(), install_s_s_ops(), install_s_scm_ops(), install_s_sm_ops(), install_sbm_b_ops(), install_sbm_bm_ops(), install_sbm_sbm_ops(), install_scm_cm_ops(), install_scm_cs_ops(), install_scm_m_ops(), install_scm_s_ops(), install_scm_scm_ops(), install_scm_sm_ops(), install_sm_cm_ops(), install_sm_cs_ops(), install_sm_m_ops(), install_sm_s_ops(), install_sm_scm_ops(), install_sm_sm_ops(), install_str_m_ops(), install_str_s_ops(), install_str_str_ops(), and install_struct_ops().

#define INSTALL_CONVOP (   t1,
  t2,
  f 
)
Value:
(t1::static_type_id (), t2::static_type_id (), CONCAT2(oct_conv_, f));
static bool register_type_conv_op(int, int, octave_base_value::type_conv_fcn)
Definition: ov-typeinfo.cc:167
F77_RET_T const double const double * f
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 68 of file ops.h.

Referenced by install_bm_bm_ops(), install_cdm_cdm_ops(), install_cm_cm_ops(), install_cs_cs_ops(), install_dm_dm_ops(), install_double_conv_ops(), install_fcdm_fcdm_ops(), install_fcm_fcm_ops(), install_fcs_fcs_ops(), install_fdm_fdm_ops(), install_float_conv_ops(), install_fm_fm_ops(), install_fs_fs_ops(), install_m_m_ops(), install_pm_pm_ops(), and install_sbm_sbm_ops().

#define INSTALL_NCUNOP (   op,
  t,
  f 
)
Value:
(octave_value::op, t::static_type_id (), CONCAT2(oct_unop_, f));
F77_RET_T const double const double * f
static bool register_non_const_unary_op(octave_value::unary_op, int, non_const_unary_op_fcn)
Definition: ov-typeinfo.cc:90
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 42 of file ops.h.

Referenced by install_bm_bm_ops(), install_cm_cm_ops(), install_cs_cs_ops(), install_fcm_fcm_ops(), install_fcs_fcs_ops(), install_fm_fm_ops(), install_fs_fs_ops(), install_m_m_ops(), install_s_s_ops(), and install_scm_scm_ops().

#define INSTALL_UNOP (   op,
  t,
  f 
)
#define INSTALL_WIDENOP (   t1,
  t2,
  f 
)
#define NULLASSIGNOPDECL (   name)
Value:
CONCAT2(oct_assignop_, name) (octave_base_value& a, \
const octave_value_list& idx, \
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 92 of file ops.h.

#define UNOPDECL (   name,
 
)
Value:
CONCAT2(oct_unop_, name) (const octave_base_value& a)
#define CONCAT2(x, y)
Definition: ops.h:31

Definition at line 224 of file ops.h.

Function Documentation

void install_ops ( void  )

Definition at line 138 of file ops.cc.

References install_b_b_ops(), install_b_bm_ops(), install_b_sbm_ops(), install_base_type_conversions(), install_bm_b_ops(), install_bm_bm_ops(), install_bm_sbm_ops(), install_cdm_cdm_ops(), install_cdm_cm_ops(), install_cdm_cs_ops(), install_cdm_dm_ops(), install_cdm_m_ops(), install_cdm_s_ops(), install_cell_ops(), install_chm_ops(), install_class_ops(), install_cm_cdm_ops(), install_cm_cm_ops(), install_cm_cs_ops(), install_cm_dm_ops(), install_cm_m_ops(), install_cm_pm_ops(), install_cm_s_ops(), install_cm_scm_ops(), install_cm_sm_ops(), install_cs_cm_ops(), install_cs_cs_ops(), install_cs_m_ops(), install_cs_s_ops(), install_cs_scm_ops(), install_cs_sm_ops(), install_dm_cdm_ops(), install_dm_cm_ops(), install_dm_cs_ops(), install_dm_dm_ops(), install_dm_m_ops(), install_dm_s_ops(), install_dm_scm_ops(), install_dm_sm_ops(), install_double_conv_ops(), install_fcdm_fcdm_ops(), install_fcdm_fcm_ops(), install_fcdm_fcs_ops(), install_fcdm_fdm_ops(), install_fcdm_fm_ops(), install_fcdm_fs_ops(), install_fcm_fcdm_ops(), install_fcm_fcm_ops(), install_fcm_fcs_ops(), install_fcm_fdm_ops(), install_fcm_fm_ops(), install_fcm_fs_ops(), install_fcm_pm_ops(), install_fcn_ops(), install_fcs_fcm_ops(), install_fcs_fcs_ops(), install_fcs_fm_ops(), install_fcs_fs_ops(), install_fdm_fcdm_ops(), install_fdm_fcm_ops(), install_fdm_fcs_ops(), install_fdm_fdm_ops(), install_fdm_fm_ops(), install_fdm_fs_ops(), install_float_conv_ops(), install_fm_fcdm_ops(), install_fm_fcm_ops(), install_fm_fcs_ops(), install_fm_fdm_ops(), install_fm_fm_ops(), install_fm_fs_ops(), install_fm_pm_ops(), install_fs_fcm_ops(), install_fs_fcs_ops(), install_fs_fm_ops(), install_fs_fs_ops(), install_i16_i16_ops(), install_i32_i32_ops(), install_i64_i64_ops(), install_i8_i8_ops(), install_int_concat_ops(), install_int_conv_ops(), install_m_cdm_ops(), install_m_cm_ops(), install_m_cs_ops(), install_m_dm_ops(), install_m_m_ops(), install_m_pm_ops(), install_m_s_ops(), install_m_scm_ops(), install_m_sm_ops(), install_pm_cm_ops(), install_pm_fcm_ops(), install_pm_fm_ops(), install_pm_m_ops(), install_pm_pm_ops(), install_pm_scm_ops(), install_pm_sm_ops(), install_range_ops(), install_s_cm_ops(), install_s_cs_ops(), install_s_m_ops(), install_s_s_ops(), install_s_scm_ops(), install_s_sm_ops(), install_sbm_b_ops(), install_sbm_bm_ops(), install_sbm_sbm_ops(), install_scm_cm_ops(), install_scm_cs_ops(), install_scm_m_ops(), install_scm_s_ops(), install_scm_scm_ops(), install_scm_sm_ops(), install_sm_cm_ops(), install_sm_cs_ops(), install_sm_m_ops(), install_sm_s_ops(), install_sm_scm_ops(), install_sm_sm_ops(), install_str_m_ops(), install_str_s_ops(), install_str_str_ops(), install_struct_ops(), install_ui16_ui16_ops(), install_ui32_ui32_ops(), install_ui64_ui64_ops(), and install_ui8_ui8_ops().

Referenced by octave_initialize_interpreter().