Wang, Zhu
2014-Sep-22 22:33 UTC
[Rd] Replace isnan and lgamma in Fortran subroutine in R package
Hello, I submitted a package which used Fortran functions isnan and lgamma. However, I was told that: isnan and lgamma are not Fortran 95 functions. I was asked to write 'cross-platform portable code' and so should not be writing GNU extensions to Fortran. See http://cran.r-project.org/web/checks/check_results_mpath.html, which will shortly show installation failures under Solaris. I will appreciate advice on how to replace these two functions to avoid failure on some platforms. Thanks in advance, Zhu Wang [[alternative HTML version deleted]]
Berend Hasselman
2014-Sep-23 05:43 UTC
[Rd] Replace isnan and lgamma in Fortran subroutine in R package
On 23-09-2014, at 00:33, Wang, Zhu <Zwang at connecticutchildrens.org> wrote:> Hello, > > I submitted a package which used Fortran functions isnan and lgamma. However, I was told that: > > isnan and lgamma are not Fortran 95 functions. > > I was asked to write 'cross-platform portable code' and so should not be writing GNU extensions to Fortran. > > See http://cran.r-project.org/web/checks/check_results_mpath.html, which will shortly show installation failures under Solaris. > > I will appreciate advice on how to replace these two functions to avoid failure on some platforms. >I don?t know about lgamma. Instead of isnan you could use Lapack?s logical function disnan to test for NaN (it?s in lapack 3.4.2; I don?t know about earlier versions). Another way would be to write a C function using functions provided by R to test for NaN. That function should be declared with F77_NAME so that it can be called from a Fortran routine. I haven?t tried this so I don?t know if this would be foolproof or is the best way to do it.. Berend
Martyn Plummer
2014-Sep-23 12:39 UTC
[Rd] Replace isnan and lgamma in Fortran subroutine in R package
Try this patch. Martyn On Mon, 2014-09-22 at 22:33 +0000, Wang, Zhu wrote:> Hello, > > I submitted a package which used Fortran functions isnan and lgamma. However, I was told that: > > isnan and lgamma are not Fortran 95 functions. > > I was asked to write 'cross-platform portable code' and so should not be writing GNU extensions to Fortran. > > See http://cran.r-project.org/web/checks/check_results_mpath.html, which will shortly show installation failures under Solaris. > > I will appreciate advice on how to replace these two functions to avoid failure on some platforms. > > Thanks in advance, > > Zhu Wang > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel----------------------------------------------------------------------- This message and its attachments are strictly confidential. If you are not the intended recipient of this message, please immediately notify the sender and delete it. Since its integrity cannot be guaranteed, its content cannot involve the sender's responsibility. Any misuse, any disclosure or publication of its content, either whole or partial, is prohibited, exception made of formally approved use ----------------------------------------------------------------------- -------------- next part -------------- A non-text attachment was scrubbed... Name: mpath.patch Type: text/x-patch Size: 2006 bytes Desc: mpath.patch URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20140923/7ee2587f/attachment.bin>