diff liboctave/CColVector.cc @ 9625:cbabf50315ca

optimize Matrix*ColumnVector
author Jaroslav Hajek <highegg@gmail.com>
date Sun, 06 Sep 2009 11:00:19 +0200
parents 3d6a9aea2aea
children f80c566bc751
line wrap: on
line diff
--- a/liboctave/CColVector.cc	Sun Sep 06 10:54:36 2009 +0200
+++ b/liboctave/CColVector.cc	Sun Sep 06 11:00:19 2009 +0200
@@ -340,20 +340,17 @@
     gripe_nonconformant ("operator *", nr, nc, a_len, 1);
   else
     {
-      if (nc == 0 || nr == 0)
-	retval.resize (nr, 0.0);
-      else
-	{
-	  octave_idx_type ld = nr;
+      retval.clear (nr);
+
+      if (nr != 0)
+        {
+          Complex *y = retval.fortran_vec ();
 
-	  retval.resize (nr);
-	  Complex *y = retval.fortran_vec ();
-
-	  F77_XFCN (zgemv, ZGEMV, (F77_CONST_CHAR_ARG2 ("N", 1),
-				   nr, nc, 1.0, m.data (), ld,
-				   a.data (), 1, 0.0, y, 1
-				   F77_CHAR_ARG_LEN (1)));
-	}
+          F77_XFCN (zgemv, ZGEMV, (F77_CONST_CHAR_ARG2 ("N", 1),
+                                   nr, nc, 1.0, m.data (), nr,
+                                   a.data (), 1, 0.0, y, 1
+                                   F77_CHAR_ARG_LEN (1)));
+        }
     }
 
   return retval;