a = 100.0
b = 10.0
c = Array(Float64)
ppmm = ccall((:multiply_, "/home/juser/ManUTD/fortran_try/fsbrtn"),
    Void,(Ptr{Float64},Ptr{Float64},Ptr{Float64}),&a,&b,c)
println(c)

0.0
​

On Wednesday, February 11, 2015 at 11:15:57 PM UTC+5:30, DP wrote:
>
> Trying to work with subroutines (I am a MATLAB person without fortran and 
> julia knowledge)
>
> File Name : fsbrtn.f90
>
> SUBROUTINE MULTIPLY(A,B,C) 
> DOUBLE PRECISION A,B,C 
> C = A*B 
> RETURN 
> END
>
> gfortran -shared -O2 fsbrtn.f90 -fPIC -o fsbrtn.so
>
> a = 100.0
> b = 10.0
> c = 1.0
> ppmm = ccall((:multiply_, "/home/juser/ManUTD/fortran_try/fsbrtn"),
>    Void,(Ptr{Float64},Ptr{Float64},Ptr{Float64}),&a,&b,c)
> println(c)
>
> Output
> 1.0
>
> Where am I going wrong?
> ​
>
> ergerg
>

Reply via email to