26 #if defined (HAVE_CONFIG_H)
45 DEFNDUNOP_OP (not, float_complex_matrix, float_complex_array, !)
46 DEFNDUNOP_OP (uplus, float_complex_matrix, float_complex_array, )
47 DEFNDUNOP_OP (uminus, float_complex_matrix, float_complex_array, -)
49 DEFUNOP (transpose, float_complex_matrix)
54 error (
"transpose not defined for N-D objects");
56 return octave_value (v.float_complex_matrix_value ().transpose ());
59 DEFUNOP (hermitian, float_complex_matrix)
64 error (
"complex-conjugate transpose not defined for N-D objects");
66 return octave_value (v.float_complex_matrix_value ().hermitian ());
75 DEFNDBINOP_OP (add, float_complex_matrix, float_complex_matrix,
76 float_complex_array, float_complex_array, +)
77 DEFNDBINOP_OP (sub, float_complex_matrix, float_complex_matrix,
78 float_complex_array, float_complex_array, -)
80 DEFBINOP_OP (mul, float_complex_matrix, float_complex_matrix, *)
82 DEFBINOP (div, float_complex_matrix, float_complex_matrix)
95 DEFBINOPX (
pow, float_complex_matrix, float_complex_matrix)
97 error (
"can't do A ^ B for A and B both matrices");
100 DEFBINOP (ldiv, float_complex_matrix, float_complex_matrix)
109 v1.matrix_type (typ);
149 DEFBINOP (trans_ldiv, float_complex_matrix, float_complex_matrix)
159 v1.matrix_type (typ);
163 DEFBINOP (herm_ldiv, float_complex_matrix, float_complex_matrix)
173 v1.matrix_type (typ);
178 float_complex_array, float_complex_array,
mx_el_lt)
180 float_complex_array, float_complex_array,
mx_el_le)
182 float_complex_array, float_complex_array,
mx_el_eq)
184 float_complex_array, float_complex_array,
mx_el_ge)
186 float_complex_array, float_complex_array,
mx_el_gt)
188 float_complex_array, float_complex_array,
mx_el_ne)
190 DEFNDBINOP_FN (el_mul, float_complex_matrix, float_complex_matrix,
191 float_complex_array, float_complex_array,
product)
192 DEFNDBINOP_FN (el_div, float_complex_matrix, float_complex_matrix,
193 float_complex_array, float_complex_array,
quotient)
194 DEFNDBINOP_FN (el_pow, float_complex_matrix, float_complex_matrix,
195 float_complex_array, float_complex_array,
elem_xpow)
197 DEFBINOP (el_ldiv, float_complex_matrix, float_complex_matrix)
203 v1.float_complex_array_value ()));
206 DEFNDBINOP_FN (el_and, float_complex_matrix, float_complex_matrix,
207 float_complex_array, float_complex_array,
mx_el_and)
208 DEFNDBINOP_FN (el_or, float_complex_matrix, float_complex_matrix,
209 float_complex_array, float_complex_array,
mx_el_or)
211 DEFNDCATOP_FN (fcm_fcm, float_complex_matrix, float_complex_matrix,
212 float_complex_array, float_complex_array,
concat)
215 float_complex_array, float_complex_array,
concat)
218 float_complex_array, float_complex_array,
concat)
221 float_complex_array, assign)
223 float_complex_array, assign)
225 float_complex_array, assign)
227 complex_array, assign)
232 float_complex_matrix, float_complex_array, +=)
234 float_complex_matrix, float_complex_array, -=)
336 OCTAVE_END_NAMESPACE(
octave)
ComplexColumnVector quotient(const ComplexColumnVector &x, const ComplexColumnVector &y)
ComplexColumnVector product_eq(ComplexColumnVector &x, const ComplexColumnVector &y)
ComplexColumnVector product(const ComplexColumnVector &x, const ComplexColumnVector &y)
ComplexColumnVector quotient_eq(ComplexColumnVector &x, const ComplexColumnVector &y)
ComplexMatrix xgemm(const ComplexMatrix &a, const ComplexMatrix &b, blas_trans_type transa, blas_trans_type transb)
ComplexNDArray concat(NDArray &ra, ComplexNDArray &rb, const Array< octave_idx_type > &ra_idx)
ComplexMatrix mul_trans(const ComplexMatrix &m, const SparseComplexMatrix &a)
ComplexMatrix mul_herm(const ComplexMatrix &m, const SparseComplexMatrix &a)
ComplexMatrix trans_mul(const SparseComplexMatrix &m, const ComplexMatrix &a)
ComplexMatrix herm_mul(const SparseComplexMatrix &m, const ComplexMatrix &a)
boolMatrix mx_el_le(const boolMatrix &m1, const boolMatrix &m2)
boolMatrix mx_el_ne(const boolMatrix &m1, const boolMatrix &m2)
boolMatrix mx_el_or(const boolMatrix &m1, const boolMatrix &m2)
boolMatrix mx_el_and(const boolMatrix &m1, const boolMatrix &m2)
boolMatrix mx_el_gt(const boolMatrix &m1, const boolMatrix &m2)
boolMatrix mx_el_eq(const boolMatrix &m1, const boolMatrix &m2)
boolMatrix mx_el_lt(const boolMatrix &m1, const boolMatrix &m2)
boolMatrix mx_el_ge(const boolMatrix &m1, const boolMatrix &m2)
MatrixType matrix_type() const
FloatComplexNDArray float_complex_array_value(bool=false) const
FloatComplexMatrix float_complex_matrix_value(bool=false) const
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
void() error(const char *fmt,...)
octave_int< T > pow(const octave_int< T > &a, const octave_int< T > &b)
void install_fcm_fcm_ops(octave::type_info &ti)
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()) ? '\'' :'"'))
const octave_char_matrix & v2
#define DEFNDASSIGNOP_FN(name, t1, t2, e, f)
#define DEFNDBINOP_OP(name, t1, t2, e1, e2, op)
#define INSTALL_NCUNOP_TI(ti, op, t, f)
#define DEFNULLASSIGNOP_FN(name, t, f)
#define DEFNDBINOP_FN(name, t1, t2, e1, e2, f)
#define DEFNDCMPLXCMPOP_FN(name, t1, t2, e1, e2, f)
#define DEFBINOPX(name, t1, t2)
#define DEFNDASSIGNOP_FNOP(name, t1, t2, f, fnop)
#define DEFBINOP(name, t1, t2)
#define DEFNDUNOP_OP(name, t, e, op)
#define DEFBINOP_OP(name, t1, t2, op)
#define OCTAVE_CAST_BASE_VALUE(T, T_VAL, BASE_VAL)
#define DEFNCUNOP_METHOD(name, t, method)
#define INSTALL_BINOP_TI(ti, op, t1, t2, f)
#define DEFNDCATOP_FN(name, t1, t2, e1, e2, f)
#define INSTALL_CATOP_TI(ti, t1, t2, f)
#define INSTALL_UNOP_TI(ti, op, t, f)
#define DEFNDASSIGNOP_OP(name, t1, t2, f, op)
#define INSTALL_ASSIGNOP_TI(ti, op, t1, t2, f)
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)
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 op_hermitian(const octave_value &a)
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)
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)
octave_value op_not(const octave_value &a)
octave_value op_ldiv(const octave_value &a1, const octave_value &a2)
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)
octave_value op_lt(const octave_value &a1, const octave_value &a2)
Matrix xdiv(const Matrix &a, const SparseMatrix &b, MatrixType &typ)
Matrix xleftdiv(const SparseMatrix &a, const Matrix &b, MatrixType &typ)
octave_value elem_xpow(double a, const SparseMatrix &b)