[R-pkg-devel] REAL(16) fails on M1 Macs

Dirk Eddelbuettel edd @end|ng |rom deb|@n@org
Thu Jan 14 15:58:56 CET 2021

On 14 January 2021 at 15:32, Rampal Etienne wrote:
| I have a package with FORTRAN code using REAL(16) for accurate 
| computations. This package has been on CRAN for several years, but now 
| it suddenly fails on M1 Macs, apparently due to the use of REAL(16) - it 
| cannot handle higher precision than DOUBLE PRECISION, i.e. REAL(8). How 
| do I solve this problem? Is it possible to exclude a certain 
| architecture/platform (that of M1 in this case)?

The (excellent, and early) post by two R Core members hints at specific
issues with Fortran:


It doesn't specifically mention lack of REAL(16) but it hints somewhat
strongly at Fortran still being worked on.

But from what I recall, 'long double' beyond 64 bit is not standard across
the other (formally support) platforms either.  Recall that you have

  > capabilities()[["long.double"]]
  [1] TRUE          

now in r-release as well. Can you make your code switch between 64 and 128
bit doubles 'as available'? 


https://dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org

More information about the R-package-devel mailing list