comparison src/OPERATORS/op-m-m.cc @ 7800:5861b95e9879

support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
author Jaroslav Hajek <highegg@gmail.com>
date Wed, 07 May 2008 16:33:15 +0200
parents 82be108cc558
children 283989f2da9b
comparison
equal deleted inserted replaced
7799:199181592240 7800:5861b95e9879
90 90
91 v1.matrix_type (typ); 91 v1.matrix_type (typ);
92 return ret; 92 return ret;
93 } 93 }
94 94
95 DEFBINOP (trans_mul, matrix, matrix)
96 {
97 CAST_BINOP_ARGS (const octave_matrix&, const octave_matrix&);
98 return octave_value(xgemm (true, v1.matrix_value (), false, v2.matrix_value ()));
99 }
100
101 DEFBINOP (mul_trans, matrix, matrix)
102 {
103 CAST_BINOP_ARGS (const octave_matrix&, const octave_matrix&);
104 return octave_value(xgemm (false, v1.matrix_value (), true, v2.matrix_value ()));
105 }
106
95 DEFNDBINOP_FN (lt, matrix, matrix, array, array, mx_el_lt) 107 DEFNDBINOP_FN (lt, matrix, matrix, array, array, mx_el_lt)
96 DEFNDBINOP_FN (le, matrix, matrix, array, array, mx_el_le) 108 DEFNDBINOP_FN (le, matrix, matrix, array, array, mx_el_le)
97 DEFNDBINOP_FN (eq, matrix, matrix, array, array, mx_el_eq) 109 DEFNDBINOP_FN (eq, matrix, matrix, array, array, mx_el_eq)
98 DEFNDBINOP_FN (ge, matrix, matrix, array, array, mx_el_ge) 110 DEFNDBINOP_FN (ge, matrix, matrix, array, array, mx_el_ge)
99 DEFNDBINOP_FN (gt, matrix, matrix, array, array, mx_el_gt) 111 DEFNDBINOP_FN (gt, matrix, matrix, array, array, mx_el_gt)
153 INSTALL_BINOP (op_el_div, octave_matrix, octave_matrix, el_div); 165 INSTALL_BINOP (op_el_div, octave_matrix, octave_matrix, el_div);
154 INSTALL_BINOP (op_el_pow, octave_matrix, octave_matrix, el_pow); 166 INSTALL_BINOP (op_el_pow, octave_matrix, octave_matrix, el_pow);
155 INSTALL_BINOP (op_el_ldiv, octave_matrix, octave_matrix, el_ldiv); 167 INSTALL_BINOP (op_el_ldiv, octave_matrix, octave_matrix, el_ldiv);
156 INSTALL_BINOP (op_el_and, octave_matrix, octave_matrix, el_and); 168 INSTALL_BINOP (op_el_and, octave_matrix, octave_matrix, el_and);
157 INSTALL_BINOP (op_el_or, octave_matrix, octave_matrix, el_or); 169 INSTALL_BINOP (op_el_or, octave_matrix, octave_matrix, el_or);
170 INSTALL_BINOP (op_trans_mul, octave_matrix, octave_matrix, trans_mul);
171 INSTALL_BINOP (op_mul_trans, octave_matrix, octave_matrix, mul_trans);
172 INSTALL_BINOP (op_herm_mul, octave_matrix, octave_matrix, trans_mul);
173 INSTALL_BINOP (op_mul_herm, octave_matrix, octave_matrix, mul_trans);
158 174
159 INSTALL_CATOP (octave_matrix, octave_matrix, m_m); 175 INSTALL_CATOP (octave_matrix, octave_matrix, m_m);
160 176
161 INSTALL_ASSIGNOP (op_asn_eq, octave_matrix, octave_matrix, assign); 177 INSTALL_ASSIGNOP (op_asn_eq, octave_matrix, octave_matrix, assign);
162 INSTALL_ASSIGNOP (op_asn_eq, octave_float_matrix, octave_matrix, sgl_assign); 178 INSTALL_ASSIGNOP (op_asn_eq, octave_float_matrix, octave_matrix, sgl_assign);