Oh I see, sorry. Yes, this works just as well for me:
a = 100.0
b = 10.0
c = Cdouble[1.0]
ppmm = ccall((:multiply_, "fsbrtn"), Void,
(Ptr{Float64},Ptr{Float64},Ptr{Float64}),&a,&b,c)
println(c[1])
On Wednesday, February 11, 2015 at 6:52:55 PM UTC-5, Stefan Karpinski wrote:
>
> Right, that should certainly work, but having a and b as scalars and using
> the & syntax should also.
>
> On Wed, Feb 11, 2015 at 6:50 PM, Dominique Orban <[email protected]
> <javascript:>> wrote:
>
>> This works for me:
>>
>>
>> a = Cdouble[100.0]
>> b = Cdouble[10.0]
>> c = Cdouble[1.0]
>> ppmm = ccall((:multiply_, "fsbrtn"), Void,
>> (Ptr{Float64},Ptr{Float64},Ptr{Float64}),a,b,c)
>> println(c[1])
>>
>>
>>
>>
>> On Wednesday, February 11, 2015 at 12:45:57 PM UTC-5, 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
>>>
>>
>