mirror of
https://github.com/CoolProp/CoolProp.git
synced 2026-01-23 04:47:57 -05:00
67 lines
2.6 KiB
Fortran
67 lines
2.6 KiB
Fortran
MODULE CPINTERFACE
|
|
INTERFACE
|
|
FUNCTION PropsSI (output, name1, prop1, name2, prop2, fluidname) BIND(C, NAME='PropsSI')
|
|
use iso_c_binding
|
|
real(C_DOUBLE) :: PropsSI
|
|
character(KIND=c_char) :: output(*)
|
|
character(c_char) :: name1(*)
|
|
real(C_DOUBLE), VALUE :: prop1
|
|
character(c_char) :: name2(*)
|
|
real(C_DOUBLE), VALUE :: prop2
|
|
character(kind=c_char) :: fluidname(*)
|
|
|
|
END FUNCTION PropsSI
|
|
|
|
FUNCTION get_input_pair_index(input) BIND(C, NAME='get_input_pair_index')
|
|
use iso_c_binding
|
|
integer(C_long) :: get_input_pair_index
|
|
character(KIND=c_char) :: input(*)
|
|
|
|
END FUNCTION get_input_pair_index
|
|
|
|
FUNCTION get_param_index(input) BIND(C, NAME='get_param_index')
|
|
use iso_c_binding
|
|
integer(C_long) :: get_param_index
|
|
character(KIND=c_char) :: input(*)
|
|
|
|
END FUNCTION get_param_index
|
|
|
|
FUNCTION AbstractState_factory(backend, fluidname, errcode, buffer, buffersize) BIND(C, NAME='AbstractState_factory')
|
|
use iso_c_binding
|
|
integer(C_long) :: AbstractState_factory
|
|
character(kind=c_char):: backend(*)
|
|
character(kind=c_char) :: fluidname(*)
|
|
integer(C_long) :: errcode
|
|
character(kind=c_char) :: buffer(*)
|
|
integer(C_long), VALUE :: buffersize
|
|
|
|
END FUNCTION AbstractState_factory
|
|
|
|
SUBROUTINE AbstractState_update(handle, input, prop1, prop2, errcode, &
|
|
buffer, buffersize) BIND(C, NAME='AbstractState_update')
|
|
use iso_c_binding
|
|
integer(C_long), VALUE :: handle
|
|
integer(C_long), VALUE :: input
|
|
real(C_DOUBLE), VALUE :: prop1
|
|
real(C_DOUBLE), VALUE :: prop2
|
|
integer(C_long) :: errcode
|
|
character(kind=c_char) :: buffer(*)
|
|
integer(C_long), VALUE :: buffersize
|
|
|
|
END SUBROUTINE AbstractState_update
|
|
|
|
FUNCTION AbstractState_keyed_output(handle, output, errcode, &
|
|
buffer, buffersize) BIND(C, NAME='AbstractState_keyed_output')
|
|
use iso_c_binding
|
|
real(C_DOUBLE) :: AbstractState_keyed_output
|
|
integer(C_long),VALUE :: handle
|
|
integer(C_long),VALUE :: output
|
|
integer(C_long) :: errcode
|
|
character(kind=c_char) :: buffer(*)
|
|
integer(C_long), VALUE :: buffersize
|
|
|
|
END FUNCTION AbstractState_keyed_output
|
|
|
|
END INTERFACE
|
|
END MODULE CPINTERFACE
|