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	Wed Sep 23 12:16:06 2009 +0200
+++ b/src/OPERATORS/op-cm-cm.cc	Sat Sep 26 10:41:07 2009 +0200
@@ -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)