comparison liboctave/CColVector.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
comparison
equal deleted inserted replaced
14393:ba4d6343524b 14394:ed8c4921bf61
344 { 344 {
345 retval.clear (nr); 345 retval.clear (nr);
346 346
347 if (nr != 0) 347 if (nr != 0)
348 { 348 {
349 Complex *y = retval.fortran_vec (); 349 if (nc == 0)
350 350 retval.fill (0.0);
351 F77_XFCN (zgemv, ZGEMV, (F77_CONST_CHAR_ARG2 ("N", 1), 351 else
352 nr, nc, 1.0, m.data (), nr, 352 {
353 a.data (), 1, 0.0, y, 1 353 Complex *y = retval.fortran_vec ();
354 F77_CHAR_ARG_LEN (1))); 354
355 F77_XFCN (zgemv, ZGEMV, (F77_CONST_CHAR_ARG2 ("N", 1),
356 nr, nc, 1.0, m.data (), nr,
357 a.data (), 1, 0.0, y, 1
358 F77_CHAR_ARG_LEN (1)));
359 }
355 } 360 }
361
356 } 362 }
357 363
358 return retval; 364 return retval;
359 } 365 }
360 366