diff liboctave/CMatrix.cc @ 9359:be6867ba8104

avoid useless zero initialization when doing matrix multiply
author Jaroslav Hajek <highegg@gmail.com>
date Thu, 18 Jun 2009 09:14:57 +0200
parents 8145f2255276
children c6edba80dfae 4c7b51b2541d
line wrap: on
line diff
--- a/liboctave/CMatrix.cc	Wed Jun 17 21:11:41 2009 -0400
+++ b/liboctave/CMatrix.cc	Thu Jun 18 09:14:57 2009 +0200
@@ -2903,7 +2903,7 @@
     {
       octave_idx_type a_len = a.length ();
 
-      retval.resize (len, a_len);
+      retval = ComplexMatrix (len, a_len);
       Complex *c = retval.fortran_vec ();
 
       F77_XFCN (zgemm, ZGEMM, (F77_CONST_CHAR_ARG2 ("N", 1),
@@ -3788,12 +3788,12 @@
   else
     {
       if (a_nr == 0 || a_nc == 0 || b_nc == 0)
-	retval.resize (a_nr, b_nc, 0.0);
+	retval = ComplexMatrix (a_nr, b_nc, 0.0);
       else if (a.data () == b.data () && a_nr == b_nc && transa != transb)
         {
 	  octave_idx_type lda = a.rows ();
 
-          retval.resize (a_nr, b_nc);
+          retval = ComplexMatrix (a_nr, b_nc);
 	  Complex *c = retval.fortran_vec ();
 
           const char *ctransa = get_blas_trans_arg (transa, conja);
@@ -3829,7 +3829,7 @@
 	  octave_idx_type lda = a.rows (), tda = a.cols ();
 	  octave_idx_type ldb = b.rows (), tdb = b.cols ();
 
-	  retval.resize (a_nr, b_nc);
+	  retval = ComplexMatrix (a_nr, b_nc);
 	  Complex *c = retval.fortran_vec ();
 
 	  if (b_nc == 1 && a_nr == 1)