Update CoolPropLib.def (#1135)

* Update CoolPropLib.def

* Update julia wrapper
Correct type specification for Array inputs.

* Update Julia wrapper
Improves type possibilities for Array functions.
It is interesting to notice that the wrapper makes use of the linear indexing feature. Matrices can be send, and will simply be processed as a vector.
This commit is contained in:
JonWel
2016-06-25 01:08:48 +02:00
committed by Ian Bell
parent 579bba98c4
commit 61146d02bc
2 changed files with 11 additions and 7 deletions

View File

@@ -4,13 +4,16 @@ EXPORTS
AbstractState_factory = _AbstractState_factory@20
AbstractState_free = _AbstractState_free@16
AbstractState_keyed_output = _AbstractState_keyed_output@20
AbstractState_set_binary_interaction_double = AbstractState_set_binary_interaction_double@36
AbstractState_set_fractions = _AbstractState_set_fractions@24
AbstractState_update = _AbstractState_update@36
AbstractState_first_saturation_deriv = _AbstractState_first_saturation_deriv@24
AbstractState_first_partial_deriv = _AbstractState_first_partial_deriv@28
AbstractState_specify_phase = _AbstractState_specify_phase@20
AbstractState_unspecify_phase = _AbstractState_unspecify_phase@16
AbstractState_update_and_1_out = _AbstractState_update_and_1_out@40
AbstractState_update_and_5_out = _AbstractState_update_and_5_out@56
AbstractState_update_and_common_out = _AbstractState_update_and_common_out@52
AbstractState_set_binary_interaction_double = AbstractState_set_binary_interaction_double@36
F2K = _F2K@8
HAProps = _HAProps@40
HAPropsSI = _HAPropsSI@40
@@ -21,6 +24,7 @@ EXPORTS
Props = _Props@32
PropsS = _PropsS@32
PropsSI = _PropsSI@32
cair_sat = _cair_sat@8
get_debug_level = _get_debug_level@0
get_fluid_param_string = _get_fluid_param_string@16
get_global_param_string = _get_global_param_string@12

View File

@@ -297,7 +297,7 @@ end
# rhomolar The pointer to the array of molar density
# hmolar The pointer to the array of molar enthalpy
# smolar The pointer to the array of molar entropy
function AbstractState_update_and_common_out(handle::Clong, input_pair::Clong, value1::Array{Real}, value2::Array{Real}, length::Real, T::Array{Real}, p::Array{Real}, rhomolar::Array{Real}, hmolar::Array{Real}, smolar::Array{Real})
function AbstractState_update_and_common_out{R1<:Real,R2<:Real,F<:AbstractFloat}(handle::Clong, input_pair::Clong, value1::Array{R1}, value2::Array{R2}, length::Real, T::Array{F}, p::Array{F}, rhomolar::Array{F}, hmolar::Array{F}, smolar::Array{F})
ccall( (:AbstractState_update_and_common_out, "CoolProp"), Void, (Clong,Clong,Ref{Cdouble},Ref{Cdouble},Clong,Ref{Cdouble},Ref{Cdouble},Ref{Cdouble},Ref{Cdouble},Ref{Cdouble},Ref{Clong},Ptr{UInt8},Clong), handle,input_pair,value1,value2,length,T,p,rhomolar,hmolar,smolar,errcode,message_buffer::Array{UInt8,1},buffer_length)
if errcode[] != 0
if errcode[] == 1
@@ -310,7 +310,7 @@ function AbstractState_update_and_common_out(handle::Clong, input_pair::Clong, v
end
return nothing
end
function AbstractState_update_and_common_out(handle::Clong, input_pair::AbstractString, value1::Array{Real}, value2::Array{Real}, length::Real, T::Array{Real}, p::Array{Real}, rhomolar::Array{Real}, hmolar::Array{Real}, smolar::Array{Real})
function AbstractState_update_and_common_out{R1<:Real,R2<:Real,F<:AbstractFloat}(handle::Clong, input_pair::AbstractString, value1::Array{R1}, value2::Array{R2}, length::Real, T::Array{F}, p::Array{F}, rhomolar::Array{F}, hmolar::Array{F}, smolar::Array{F})
AbstractState_update_and_common_out(handle, get_input_pair_index(input_pair), value1, value2, length, T, p, rhomolar, hmolar, smolar)
return nothing
end
@@ -323,7 +323,7 @@ end
# length The number of elements stored in the arrays (both inputs and outputs MUST be the same length)
# output The indice for the output desired
# out The pointer to the array for output
function AbstractState_update_and_1_out(handle::Clong, input_pair::Clong, value1::Array{Real}, value2::Array{Real}, length::Real, output::Clong, out::Array{Real})
function AbstractState_update_and_1_out{R1<:Real,R2<:Real,F<:AbstractFloat}(handle::Clong, input_pair::Clong, value1::Array{R1}, value2::Array{R2}, length::Real, output::Clong, out::Array{F})
ccall( (:AbstractState_update_and_1_out, "CoolProp"), Void, (Clong,Clong,Ref{Cdouble},Ref{Cdouble},Clong,Clong,Ref{Cdouble},Ref{Clong},Ptr{UInt8},Clong), handle,input_pair,value1,value2,length,output,out,errcode,message_buffer::Array{UInt8,1},buffer_length)
if errcode[] != 0
if errcode[] == 1
@@ -336,7 +336,7 @@ function AbstractState_update_and_1_out(handle::Clong, input_pair::Clong, value1
end
return nothing
end
function AbstractState_update_and_1_out(handle::Clong, input_pair::AbstractString, value1::Array{Real}, value2::Array{Real}, length::Real, output::AbstractString, out::Array{Real})
function AbstractState_update_and_1_out{R1<:Real,R2<:Real,F<:AbstractFloat}(handle::Clong, input_pair::AbstractString, value1::Array{R1}, value2::Array{R2}, length::Real, output::AbstractString, out::Array{F})
AbstractState_update_and_1_out(handle, get_input_pair_index(input_pair), value1, value2, length, get_param_index(output), out)
return nothing
end
@@ -353,7 +353,7 @@ end
# out3 The pointer to the array for the third output
# out4 The pointer to the array for the fourth output
# out5 The pointer to the array for the fifth output
function AbstractState_update_and_5_out(handle::Clong, input_pair::Clong, value1::Array{Real}, value2::Array{Real}, length::Real, outputs::Array{Real}, out1::Array{Real}, out2::Array{Real}, out3::Array{Real}, out4::Array{Real}, out5::Array{Real})
function AbstractState_update_and_5_out{R1<:Real,R2<:Real,F<:AbstractFloat}(handle::Clong, input_pair::Clong, value1::Array{R1}, value2::Array{R2}, length::Real, outputs::Array{Clong}, out1::Array{F}, out2::Array{F}, out3::Array{F}, out4::Array{F}, out5::Array{F})
ccall( (:AbstractState_update_and_5_out, "CoolProp"), Void, (Clong,Clong,Ref{Cdouble},Ref{Cdouble},Clong,Ref{Clong},Ref{Cdouble},Ref{Cdouble},Ref{Cdouble},Ref{Cdouble},Ref{Cdouble},Ref{Clong},Ptr{UInt8},Clong), handle,input_pair,value1,value2,length,outputs,out1,out2,out3,out4,out5,errcode,message_buffer::Array{UInt8,1},buffer_length)
if errcode[] != 0
if errcode[] == 1
@@ -366,7 +366,7 @@ function AbstractState_update_and_5_out(handle::Clong, input_pair::Clong, value1
end
return nothing
end
function AbstractState_update_and_5_out(handle::Clong, input_pair::AbstractString, value1::Array{Real}, value2::Array{Real}, length::Real, outputs::Array{AbstractString}, out1::Array{Real}, out2::Array{Real}, out3::Array{Real}, out4::Array{Real}, out5::Array{Real})
function AbstractState_update_and_5_out{R1<:Real,R2<:Real,S<:AbstractString,F<:AbstractFloat}(handle::Clong, input_pair::AbstractString, value1::Array{R1}, value2::Array{R2}, length::Real, outputs::Array{S}, out1::Array{F}, out2::Array{F}, out3::Array{F}, out4::Array{F}, out5::Array{F})
outputs_key = Array(Clong,5)
for k = 1:5
outputs_key[k] = get_param_index(outputs[k])