diff liboctave/fCMatrix.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/fCMatrix.cc
+++ b/liboctave/fCMatrix.cc
@@ -2896,7 +2896,7 @@
     {
       octave_idx_type a_len = a.length ();
 
-      retval.resize (len, a_len);
+      retval = FloatComplexMatrix (len, a_len);
       FloatComplex *c = retval.fortran_vec ();
 
       F77_XFCN (cgemm, CGEMM, (F77_CONST_CHAR_ARG2 ("N", 1),
@@ -3781,12 +3781,12 @@
   else
     {
       if (a_nr == 0 || a_nc == 0 || b_nc == 0)
-	retval.resize (a_nr, b_nc, 0.0);
+	retval = FloatComplexMatrix (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 = FloatComplexMatrix (a_nr, b_nc);
 	  FloatComplex *c = retval.fortran_vec ();
 
           const char *ctransa = get_blas_trans_arg (transa, conja);
@@ -3822,7 +3822,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 = FloatComplexMatrix (a_nr, b_nc);
 	  FloatComplex *c = retval.fortran_vec ();
 
 	  if (b_nc == 1 && a_nr == 1)