octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #65321] C++20 warnings about deprecated uses o


From: Rik
Subject: [Octave-bug-tracker] [bug #65321] C++20 warnings about deprecated uses of volatile variables
Date: Mon, 19 Feb 2024 21:04:47 -0500 (EST)

Follow-up Comment #16, bug#65321 (group octave):

I think you're probably right that the code made sense at one time (a
particular time and a particular language [Fortran]), but probably doesn't
need to be done this way anymore.

I would make the minimum change necessary right now, i.e., don't include the
test for isnan() in a test for singularity based on eps.

I'm voting that direction because I think we probably need to do some code
re-factoring.  The routines like inv() have an optional input to decide
whether to calculate the condition number.  The thinking, like isargout(), is
that we shouldn't spend extra CPU cycles on this task if all the user wanted
was the inverse.  But, the LAPACK libraries have shown themselves to do weird
things when there are NaNs in the input matrix.  My memory is a little weak,
but I think it included even segfaults.  The solution was to calculate rcond
always and if it was NaN avoid calling further LAPACK library routines.  As
far as I can tell, this is what Matlab has opted for as well.  So, I don't
want to confuse matrices with NaNs for actual numerically singular matrices
and would keep the tests separate.  In terms of re-factoring, I would
eliminate the now unused "calc_cond" input which flows down through a number
of calling hierarchies.






    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?65321>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]