Mercurial > hg > octave-nkf
diff liboctave/fColVector.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/fColVector.cc +++ b/liboctave/fColVector.cc @@ -209,20 +209,17 @@ gripe_nonconformant ("operator *", nr, nc, a_len, 1); else { - if (nr == 0 || nc == 0) - retval.resize (nr, 0.0); - else - { - octave_idx_type ld = nr; + retval.clear (nr); + + if (nr != 0) + { + float *y = retval.fortran_vec (); - retval.resize (nr); - float *y = retval.fortran_vec (); - - F77_XFCN (sgemv, SGEMV, (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 (sgemv, SGEMV, (F77_CONST_CHAR_ARG2 ("N", 1), + nr, nc, 1.0f, m.data (), nr, + a.data (), 1, 0.0f, y, 1 + F77_CHAR_ARG_LEN (1))); + } } return retval;