comparison src/OPERATORS/op-fcm-fcm.cc @ 9661:afcf852256d2

optimize / and '\ for triangular matrices
author Jaroslav Hajek <highegg@gmail.com>
date Wed, 23 Sep 2009 10:00:16 +0200
parents 1be3c73ed7b5
children 1dba57e9d08d
comparison
equal deleted inserted replaced
9660:0256e187d13b 9661:afcf852256d2
137 DEFBINOP (mul_herm, float_complex_matrix, float_complex_matrix) 137 DEFBINOP (mul_herm, float_complex_matrix, float_complex_matrix)
138 { 138 {
139 CAST_BINOP_ARGS (const octave_float_complex_matrix&, const octave_float_complex_matrix&); 139 CAST_BINOP_ARGS (const octave_float_complex_matrix&, const octave_float_complex_matrix&);
140 return octave_value(xgemm (false, false, v1.float_complex_matrix_value (), 140 return octave_value(xgemm (false, false, v1.float_complex_matrix_value (),
141 true, true, v2.float_complex_matrix_value ())); 141 true, true, v2.float_complex_matrix_value ()));
142 }
143
144 DEFBINOP (trans_ldiv, float_complex_matrix, float_complex_matrix)
145 {
146 CAST_BINOP_ARGS (const octave_float_complex_matrix&,
147 const octave_float_complex_matrix&);
148 MatrixType typ = v1.matrix_type ();
149
150 FloatComplexMatrix ret = xleftdiv (v1.float_complex_matrix_value (),
151 v2.float_complex_matrix_value (), typ, blas_trans);
152
153 v1.matrix_type (typ);
154 return ret;
155 }
156
157 DEFBINOP (herm_ldiv, float_complex_matrix, float_complex_matrix)
158 {
159 CAST_BINOP_ARGS (const octave_float_complex_matrix&,
160 const octave_float_complex_matrix&);
161 MatrixType typ = v1.matrix_type ();
162
163 FloatComplexMatrix ret = xleftdiv (v1.float_complex_matrix_value (),
164 v2.float_complex_matrix_value (), typ, blas_conj_trans);
165
166 v1.matrix_type (typ);
167 return ret;
142 } 168 }
143 169
144 DEFNDCMPLXCMPOP_FN (lt, float_complex_matrix, float_complex_matrix, 170 DEFNDCMPLXCMPOP_FN (lt, float_complex_matrix, float_complex_matrix,
145 float_complex_array, float_complex_array, mx_el_lt) 171 float_complex_array, float_complex_array, mx_el_lt)
146 DEFNDCMPLXCMPOP_FN (le, float_complex_matrix, float_complex_matrix, 172 DEFNDCMPLXCMPOP_FN (le, float_complex_matrix, float_complex_matrix,
237 octave_float_complex_matrix, mul_trans); 263 octave_float_complex_matrix, mul_trans);
238 INSTALL_BINOP (op_herm_mul, octave_float_complex_matrix, 264 INSTALL_BINOP (op_herm_mul, octave_float_complex_matrix,
239 octave_float_complex_matrix, herm_mul); 265 octave_float_complex_matrix, herm_mul);
240 INSTALL_BINOP (op_mul_herm, octave_float_complex_matrix, 266 INSTALL_BINOP (op_mul_herm, octave_float_complex_matrix,
241 octave_float_complex_matrix, mul_herm); 267 octave_float_complex_matrix, mul_herm);
268 INSTALL_BINOP (op_trans_ldiv, octave_float_complex_matrix,
269 octave_float_complex_matrix, trans_ldiv);
270 INSTALL_BINOP (op_herm_ldiv, octave_float_complex_matrix,
271 octave_float_complex_matrix, herm_ldiv);
272
242 INSTALL_BINOP (op_lt, octave_float_complex_matrix, 273 INSTALL_BINOP (op_lt, octave_float_complex_matrix,
243 octave_float_complex_matrix, lt); 274 octave_float_complex_matrix, lt);
244 INSTALL_BINOP (op_le, octave_float_complex_matrix, 275 INSTALL_BINOP (op_le, octave_float_complex_matrix,
245 octave_float_complex_matrix, le); 276 octave_float_complex_matrix, le);
246 INSTALL_BINOP (op_eq, octave_float_complex_matrix, 277 INSTALL_BINOP (op_eq, octave_float_complex_matrix,