On Fri, 8 Apr 2022, Sven Schreiber wrote:
Hi,
I wanted to check whether the cmod() function is marked as deprecated
(see ticket
https://sourceforge.net/p/gretl/todo/66/), but instead I ran
into a crash. Just try to run the following line (without unsaved data,
of course):
? eval cmod(Im(2.0))
This is with the latest snapshot.
That's now fixed in git. The functions Im() and Re() were assuming
matrix input but not checking for it, and therefore crashing on
scalar input as in your example.
They now accept scalar input -- in line with our policy that scalars
and 1 x 1 matrices should be as interoperable as possible -- and
they now check properly for valid input.
As for cmod(), no it's not yet deprecated, and personally I don't
see a need to do so. If we didn't already have cmod I would oppose
adding it -- since abs() does the job -- but since it's extant and
documented it seems to me, in effect, a harmless alias.
Allin