[R] Use of .Fortran

David Scott d.scott at auckland.ac.nz
Fri Jun 18 15:59:39 CEST 2010

I have no experience with incorporating Fortran code and am probably 
doing something pretty stupid.

I want to use the following Fortran subroutine (not written by me) in 
the file SSFcoef.f

       subroutine SSFcoef(nmax,nu,A,nrowA,ncolA)
       implicit double precision(a-h,o-z)
       implicit integer (i-n)
       integer l,i,nmax
       double precision nu,A(0:nmax,0:nmax)
       A(0,0) = 1D0
       do l=1,nmax
       	do i=1,l-1
       		A(l,i) = (-nu+i+l-1D0)*A(l-1,i)+A(l-1,i-1)
       	end do
       	A(l,0) = (-nu+l-1D0)*A(l-1,0)
       	A(l,l) = 1D0
       end do

I created a dll (this is windows) using R CMD SHLIB SSFcoef.f

Then my R code is:

### Load the compiled shared library in.

### Write a function that calls the Fortran subroutine
SSFcoef <- function(nmax, nu){


which when run gives

 > SSFcoef(10,2)

I am pretty sure the problem is that I am not dealing with the matrix A 
properly. I also tried this on linux and got a segfault.

Can anyone supply the appropriate modification to my call (and possibly 
to the subroutine) to make this work?

David Scott

David Scott	Department of Statistics
		The University of Auckland, PB 92019
		Auckland 1142,    NEW ZEALAND
Phone: +64 9 923 5055, or +64 9 373 7599 ext 85055
Email:	d.scott at auckland.ac.nz,  Fax: +64 9 373 7018

Director of Consulting, Department of Statistics

More information about the R-help mailing list