On 13/08/18 20:45, Henrik Bengtsson wrote:
On Mon, Aug 13, 2018 at 3:51 AM Rolf Turner <r.tur...@auckland.ac.nz> wrote:
OK everybody! You can relax. :-) I managed to spot the loony. After
mucking around with valgrind, and before trying gdb, I had one more look
at my code and *finally* saw the stupid thing that I had been doing.
In the call to .Fortran() I had a line
nphi=as.integer(nphi),
but "nphi" was nowhere defined (!!!) in the R code. The name "nphi"
appeared as an argument in the Fortran subroutine in question, but was
nowhere actually *used*!!!
Didn't R CMD check pick this up, that is, didn't it report that 'nphi'
is a "global" variable?
No it didn't. The name only appears in the call to .Fortran(). I think
if it appeared in a call to an ordinary garden-variety R function then a
warning would have been issued.
Such a lapse would be hard for R CMD check to pick up. E.g
nphi=integer(1),
would be OK in a call to .Fortran (which would allow a value of nphi,
calculated within the called subroutine, to be *returned*) whereas
nphi=as.integer(nphi),
causes trouble when nphi has never been defined (as I found out after a
great expenditure of time and torn-out hair). In the former instance it
doesn't matter an FTCF whether nphi has been defined or not.
cheers,
Rolf
--
Technical Editor ANZJS
Department of Statistics
University of Auckland
Phone: +64-9-373-7599 ext. 88276
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.