Mercurial > hg > octave-jordi
comparison src/OPERATORS/op-fm-fcm.cc @ 9663:7e5b4de5fbfe
improve mixed real x complex ops
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Wed, 23 Sep 2009 12:13:50 +0200 |
parents | 0d3b248f4ab6 |
children | 1dba57e9d08d |
comparison
equal
deleted
inserted
replaced
9662:0d3b248f4ab6 | 9663:7e5b4de5fbfe |
---|---|
48 float_complex_array, +) | 48 float_complex_array, +) |
49 DEFNDBINOP_OP (sub, float_matrix, float_complex_matrix, float_array, | 49 DEFNDBINOP_OP (sub, float_matrix, float_complex_matrix, float_array, |
50 float_complex_array, -) | 50 float_complex_array, -) |
51 | 51 |
52 DEFBINOP_OP (mul, float_matrix, float_complex_matrix, *) | 52 DEFBINOP_OP (mul, float_matrix, float_complex_matrix, *) |
53 | |
54 DEFBINOP (trans_mul, float_matrix, float_complex_matrix) | |
55 { | |
56 CAST_BINOP_ARGS (const octave_float_matrix&, const octave_float_complex_matrix&); | |
57 | |
58 FloatMatrix m1 = v1.float_matrix_value (); | |
59 FloatComplexMatrix m2 = v2.float_complex_matrix_value (); | |
60 | |
61 return FloatComplexMatrix (xgemm (true, m1, false, real (m2)), | |
62 xgemm (true, m1, false, imag (m2))); | |
63 } | |
53 | 64 |
54 DEFBINOP (div, float_matrix, float_complex_matrix) | 65 DEFBINOP (div, float_matrix, float_complex_matrix) |
55 { | 66 { |
56 CAST_BINOP_ARGS (const octave_float_matrix&, | 67 CAST_BINOP_ARGS (const octave_float_matrix&, |
57 const octave_float_complex_matrix&); | 68 const octave_float_complex_matrix&); |
171 octave_float_complex_matrix, el_ldiv); | 182 octave_float_complex_matrix, el_ldiv); |
172 INSTALL_BINOP (op_el_and, octave_float_matrix, | 183 INSTALL_BINOP (op_el_and, octave_float_matrix, |
173 octave_float_complex_matrix, el_and); | 184 octave_float_complex_matrix, el_and); |
174 INSTALL_BINOP (op_el_or, octave_float_matrix, | 185 INSTALL_BINOP (op_el_or, octave_float_matrix, |
175 octave_float_complex_matrix, el_or); | 186 octave_float_complex_matrix, el_or); |
187 INSTALL_BINOP (op_trans_mul, octave_float_matrix, | |
188 octave_float_complex_matrix, trans_mul); | |
189 INSTALL_BINOP (op_herm_mul, octave_float_matrix, | |
190 octave_float_complex_matrix, trans_mul); | |
191 INSTALL_BINOP (op_trans_ldiv, octave_float_matrix, | |
192 octave_float_complex_matrix, trans_ldiv); | |
193 INSTALL_BINOP (op_herm_ldiv, octave_float_matrix, | |
194 octave_float_complex_matrix, trans_ldiv); | |
176 | 195 |
177 INSTALL_CATOP (octave_float_matrix, octave_float_complex_matrix, fm_fcm); | 196 INSTALL_CATOP (octave_float_matrix, octave_float_complex_matrix, fm_fcm); |
178 INSTALL_CATOP (octave_matrix, octave_float_complex_matrix, m_fcm); | 197 INSTALL_CATOP (octave_matrix, octave_float_complex_matrix, m_fcm); |
179 INSTALL_CATOP (octave_float_matrix, octave_complex_matrix, fm_cm); | 198 INSTALL_CATOP (octave_float_matrix, octave_complex_matrix, fm_cm); |
180 | 199 |