Mercurial > hg > octave-lyh
diff liboctave/dColVector.cc @ 14394:ed8c4921bf61 stable
correctly fill result for M * v for Nx0 * 0x1 operations
* dColVector.cc (operator * (const Matrix&, const ColumnVector&)):
Fill result if NC is 0.
* CColVector.cc (operator * (const ComplexMatrix&, const
ComplexColumnVector&)): Likewise.
* fCColVector.cc (const FloatComplexMatrix&, const
FloatComplexColumnVector&)): Likewise.
* fColVector.cc (const FloatMatrix&, const FloatColumnVector&)):
Likewise.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 23 Feb 2012 13:50:26 -0500 |
parents | 72c96de7a403 |
children | 460a3c6d8bf1 |
line wrap: on
line diff
--- a/liboctave/dColVector.cc +++ b/liboctave/dColVector.cc @@ -212,12 +212,17 @@ if (nr != 0) { - double *y = retval.fortran_vec (); + if (nc == 0) + retval.fill (0.0); + else + { + double *y = retval.fortran_vec (); - F77_XFCN (dgemv, DGEMV, (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))); + F77_XFCN (dgemv, DGEMV, (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))); + } } }