On 04/05/2011 8:26 AM, vioravis wrote:
I have the following FORTRAN code converted to a DLL:! my_xmean.f90 ! ! FUNCTIONS/SUBROUTINES exported from my_function.dll: ! my_function - subroutine ! subroutine my_xmean(X,N,XMEAN) ! Expose subroutine my_function to users of this DLL ! !DEC$ ATTRIBUTES DLLEXPORT,C,REFERENCE,ALIAS:'my_xmean_'::my_xmean ! Body of my_function DOUBLE PRECISION X(N) XMEAN=0D0 DO J=1,N XMEAN=XMEAN+X(J) END DO XMEAN=XMEAN/N RETURN end subroutine my_xmean When I call this DLL from R, it gets loaded properly but the values of XMEAN calcualted are way off: x<- 1:6 > .Fortran("my_xmean",as.double(X),as.integer(length(X)),double(1)) [[1]] [1] 1 2 3 4 5 6 [[2]] [1] 6 $xmean [1] 5.336073e-315 Can someone please let me what is causing this huge difference??? Thank you.
I don't see a declaration of its type in the Fortran code, so it probably defaulted to REAL, not DOUBLE PRECISION.
Duncan Murdoch ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
