Skip to content

Intel Fortran compiler returns a -1 TRUE value

3 messages · Barry Rowlingson, Duncan Murdoch, William Dunlap

#
On Tue, Sep 30, 2014 at 12:53 PM, Duncan Murdoch <murdoch.duncan at gmail.com>
wrote:
Oh yes, a very old and long-standing user error. I assume the CRAN checks
don't check this. Has it ever been okay to pass logicals to Fortran?

 I shall inform the package maintainer....

Thanks

Barry
#
On 30/09/2014 8:39 AM, Barry Rowlingson wrote:
The checks can't really see that kind of thing:  they don't understand 
the external languages.  It's up to the user to follow the instructions 
in most cases.
It's okay to pass R logicals to Fortran (where they become INTEGER), 
it's just not okay to pass Fortran LOGICALs to R. The gcc Fortran 
compilers treat logicals the same as C does (i.e. 0 and 1 for FALSE and 
TRUE), but others don't, as you found out.

Duncan Murdoch
#
In S+ and S it was valid to pass logicals to .Fortran, where they got
mapped into the
appropriate bit pattern.  (The trouble was that 'appropriate' was
compiled into the program -
so you were locked into our compiler vendor's choice).   Passing them
between Fortran
code and C code has always been a problem (as has passing character
data between them).

Bill Dunlap
TIBCO Software
wdunlap tibco.com


On Tue, Sep 30, 2014 at 5:39 AM, Barry Rowlingson
<b.rowlingson at lancaster.ac.uk> wrote: