Mercurial > hg > octave-nkf
diff src/OPERATORS/op-cm-cm.cc @ 9665:1dba57e9d08d
use blas_trans_type for xgemm
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Sat, 26 Sep 2009 10:41:07 +0200 |
parents | afcf852256d2 |
children | fb6b6fcafa62 |
line wrap: on
line diff
--- a/src/OPERATORS/op-cm-cm.cc +++ b/src/OPERATORS/op-cm-cm.cc @@ -112,29 +112,33 @@ DEFBINOP (trans_mul, complex_matrix, complex_matrix) { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex_matrix&); - return octave_value(xgemm (true, false, v1.complex_matrix_value (), - false, false, v2.complex_matrix_value ())); + return octave_value(xgemm (v1.complex_matrix_value (), + v2.complex_matrix_value (), + blas_trans, blas_no_trans)); } DEFBINOP (mul_trans, complex_matrix, complex_matrix) { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex_matrix&); - return octave_value(xgemm (false, false, v1.complex_matrix_value (), - true, false, v2.complex_matrix_value ())); + return octave_value(xgemm (v1.complex_matrix_value (), + v2.complex_matrix_value (), + blas_no_trans, blas_trans)); } DEFBINOP (herm_mul, complex_matrix, complex_matrix) { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex_matrix&); - return octave_value(xgemm (true, true, v1.complex_matrix_value (), - false, false, v2.complex_matrix_value ())); + return octave_value(xgemm (v1.complex_matrix_value (), + v2.complex_matrix_value (), + blas_conj_trans, blas_no_trans)); } DEFBINOP (mul_herm, complex_matrix, complex_matrix) { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex_matrix&); - return octave_value(xgemm (false, false, v1.complex_matrix_value (), - true, true, v2.complex_matrix_value ())); + return octave_value(xgemm (v1.complex_matrix_value (), + v2.complex_matrix_value (), + blas_no_trans, blas_conj_trans)); } DEFBINOP (trans_ldiv, complex_matrix, complex_matrix)