From @gk @end|ng |rom troutm@@k@@p|@w@@h|ngton@edu  Sat May  4 18:49:03 2019
From: @gk @end|ng |rom troutm@@k@@p|@w@@h|ngton@edu (Steve Kargl)
Date: Sat, 4 May 2019 09:49:03 -0700
Subject: [Rd] R problems with lapack with gfortran
In-Reply-To: <79689a6a-077c-019a-d16a-597d7b60199d@tkoenig.net>
References: <ff60d7f9-e54d-473a-bc85-7989abc887da@tkoenig.net>
 <b24b0ef5-1f45-1a03-4153-f335e4f1f8a5@gmail.com>
 <2e68f333-1d10-02d4-3560-4b1b9d773a52@tkoenig.net>
 <6E812A6F-91B2-4412-A536-2CD672C5F4BA@xs4all.nl>
 <D521C66E-D67E-4C17-98EF-D651026561ED@gmail.com>
 <79689a6a-077c-019a-d16a-597d7b60199d@tkoenig.net>
Message-ID: <20190504164903.GB15478@troutmask.apl.washington.edu>

On Sat, May 04, 2019 at 06:42:47PM +0200, Thomas K?nig wrote:
> 
> > - figure out Fortran2003 specification for C/Fortran interoperability
> > -- this _sounds_ like the right solution, but I don't think many
> > understand how to use it and what is implied (in particular, will
> > it require making changes to LAPACK itself?)
> 
> That would actually be fairly easy.  If you declare the subroutines
> BIND(C), as in
> 
>        subroutine foo(a,b) BIND(C,name="foo_")
>        real a
>        character*1 b
>        end
> 
> you will get the calling signature that you already have in your C
> sources.
> 
> This also has the advantage of being standards compliant, and would be
> probably be the preferred method.
> 

With the caveat that one may need to use the VALUE attribute to
account for pass-by-value vs pass-by-reference.

-- 
Steve



[Rd] R problems with lapack with gfortran
Steve Kargl