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.