Jens Olofsson
2013-Apr-24 17:36 UTC
[R] [r] Problems with Fortran calls when loaded a dll compiled with gfortran-4 Cygwin 4.5.3
An embedded and charset-unspecified text was scrubbed... Name: inte tillg?nglig URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20130424/70100a7f/attachment.pl>
Duncan Murdoch
2013-Apr-24 17:46 UTC
[R] [r] Problems with Fortran calls when loaded a dll compiled with gfortran-4 Cygwin 4.5.3
On 13-04-24 1:36 PM, Jens Olofsson wrote:> Dear users of R > I have a subroutine in Fortran95, compiled to a DLL with gfortran in Cygwin > 4.5.3.We don't support Cygwin. You should use the gfortran in Rtools, and get R to set the command line options for you, either by putting the code in a package, or by using R CMD SHLIB Mango.f95. Duncan Murdoch> The subroutine is: > subroutine MyPBP( S, p, N ) > ! Expose subroutine rtest to users of this DLL > !DEC$ ATTRIBUTES DLLEXPORT, C, REFERENCE, ALIAS: "mypbp_" ::mypbp > ! This function computes the Poisson-Binomial distribution > ! of size N using p > double precision, intent(inout) :: S(N+1) > double precision, intent(in) :: p(N) > integer, intent(in) :: N > double precision :: X(N+1) > integer i, j > !X=0 > !S=0 > X(1) = 1 - p(1) > X(2) = p(1) > do i = 2, N > S(1) = X(1)*(1-p(i)) > do j = 2,i > S(j) = X(j-1)*p(i) + X(j)*(1-p(i)) > end do > S(i+1) = X(i)*p(i) > X = S > if (i == N) then > S = X > end if > end do > end subroutine MyPBP > and it is saved into Mango.f95 > I compile it from the bash shell using: gfortran-4 c- Mango.f95 and > gfortran-4 -shared -o Mango.dll Mango.o > I am on a Windows machine running Windows 7 with Intel i7. > I load the dll in a 32-bit R by dyn.load("Mango.dll"). Using getLoadedDLLs > I can see the DLL. However, is.loaded("Mango.dll") = FALSE. In addition, R > stop responding when I try .Fortran("MyPBP", as.numeric(S), as.numeric(p), > as.integer(N)), > where N<-5, S<-array(0,N+1) and p<- c(0.1, 0.2, 0.5, 0.8, 0.9). > > What am I doing wrong? > Any ideas, thoughts and/or comments are highly appreciated. > > Jens > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >