On 31 May 2010, at 09:45, Carlo de Falco wrote:


On 31 May 2010, at 08:35, Jaroslav Hajek wrote:

I improved mgorth using a template to compute in single/double
real/complex. 3.3.51+ has even more powerful tools to reduce the
amount of boilerplate code for such tasks, but I tried to avoid those, so I hope the file is compilable by 3.2.x though I haven't tried it. I
also let mgorth normalize the resulting vector and store it as the
last component of h, and modified pgmres.m accordingly.
mgorth.m is removed.

regards

Jaroslav,
Thanks for doing this!
I tried to test but I cannot build mgorth with 3.2.3:

mkoctfile mgorth.cc
mgorth.cc: In function ‘void do_mgorth(ColumnVector&, const Matrix&, RowVector&) [with ColumnVector = FloatComplexColumnVector, Matrix = FloatComplexMatrix, RowVector = FloatComplexRowVector]’:
mgorth.cc:83:   instantiated from here
mgorth.cc:41: error: no match for ‘operator/=’ in ‘x /= (+ h)- > FloatComplexRowVector ::<anonymous>.MArray<FloatComplex>::<anonymous>.Array<T>::operator() [with T = FloatComplex](Vc)’ mgorth.cc: In function ‘void do_mgorth(ColumnVector&, const Matrix&, RowVector&) [with ColumnVector = FloatColumnVector, Matrix = FloatMatrix, RowVector = FloatRowVector]’:
mgorth.cc:92:   instantiated from here
mgorth.cc:41: error: no match for ‘operator/=’ in ‘x /= (+ h)- > FloatRowVector ::<anonymous>.MArray<float>::<anonymous>.Array<T>::operator() [with T = float](Vc)’ mgorth.cc: In function ‘void do_mgorth(ColumnVector&, const Matrix&, RowVector&) [with ColumnVector = ComplexColumnVector, Matrix = ComplexMatrix, RowVector = ComplexRowVector]’:
mgorth.cc:104:   instantiated from here
mgorth.cc:41: error: no match for ‘operator/=’ in ‘x /= (+ h)- > ComplexRowVector ::<anonymous>.MArray<Complex>::<anonymous>.Array<T>::operator() [with T = Complex](Vc)’ mgorth.cc: In function ‘void do_mgorth(ColumnVector&, const Matrix&, RowVector&) [with ColumnVector = ColumnVector, Matrix = Matrix, RowVector = RowVector]’:
mgorth.cc:113:   instantiated from here
mgorth.cc:41: error: no match for ‘operator/=’ in ‘x /= (+ h)- > RowVector ::<anonymous>.MArray<double>::<anonymous>.Array<T>::operator() [with T = double](Vc)’

c.

I checked in the attached change to get better backward compatibility.
Regards,
c.


Attachment: patch
Description: Binary data


------------------------------------------------------------------------------

_______________________________________________
Octave-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/octave-dev

Reply via email to