diff options
-rw-r--r-- | src/Register.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/Register.c b/src/Register.c index 3cd143d..bb9ff05 100644 --- a/src/Register.c +++ b/src/Register.c @@ -7,8 +7,6 @@ @enddesc @@*/ -static const char *rcsid = "$Header$"; - #include <stdlib.h> #include "cctk.h" @@ -79,6 +77,7 @@ int EOS_RegisterMethod(const char *name) return handle; } +void CCTK_FCALL CCTK_FNAME(EOS_RegisterMethod)(int *handle, ONE_FORTSTRING_ARG); void CCTK_FCALL CCTK_FNAME(EOS_RegisterMethod)(int *handle, ONE_FORTSTRING_ARG) { ONE_FORTSTRING_CREATE(name) @@ -113,6 +112,7 @@ int EOS_Handle(const char *name) return handle; } +void CCTK_FCALL CCTK_FNAME(EOS_Handle)(int *handle, ONE_FORTSTRING_ARG); void CCTK_FCALL CCTK_FNAME(EOS_Handle)(int *handle, ONE_FORTSTRING_ARG) { ONE_FORTSTRING_CREATE(name) @@ -152,8 +152,10 @@ REGISTER_FUNCTION(DPressByDRho) REGISTER_FUNCTION(DPressByDEps) +#define REGISTER_FORTRAN_FUNCTION_ARGS \ +(int *retval, int *handle, CCTK_REAL (*func)(CCTK_REAL *, CCTK_REAL *)) #define REGISTER_FORTRAN_FUNCTION(x)\ -(int *retval, int *handle, CCTK_REAL (*func)(CCTK_REAL *, CCTK_REAL *)) \ +REGISTER_FORTRAN_FUNCTION_ARGS \ { \ method_t *method; \ \ @@ -173,10 +175,15 @@ REGISTER_FUNCTION(DPressByDEps) } /* Functions to register Fortran EOS functions */ +void CCTK_FCALL CCTK_FNAME(EOS_RegisterPressure) REGISTER_FORTRAN_FUNCTION_ARGS; void CCTK_FCALL CCTK_FNAME(EOS_RegisterPressure) REGISTER_FORTRAN_FUNCTION(Pressure) +void CCTK_FCALL CCTK_FNAME(EOS_RegisterSpecificIntEnergy) REGISTER_FORTRAN_FUNCTION_ARGS; void CCTK_FCALL CCTK_FNAME(EOS_RegisterSpecificIntEnergy) REGISTER_FORTRAN_FUNCTION(SpecificIntEnergy) +void CCTK_FCALL CCTK_FNAME(EOS_RegisterRestMassDens) REGISTER_FORTRAN_FUNCTION_ARGS; void CCTK_FCALL CCTK_FNAME(EOS_RegisterRestMassDens) REGISTER_FORTRAN_FUNCTION(RestMassDens) +void CCTK_FCALL CCTK_FNAME(EOS_RegisterDPressByDRho) REGISTER_FORTRAN_FUNCTION_ARGS; void CCTK_FCALL CCTK_FNAME(EOS_RegisterDPressByDRho) REGISTER_FORTRAN_FUNCTION(DPressByDRho) +void CCTK_FCALL CCTK_FNAME(EOS_RegisterDPressByDEps) REGISTER_FORTRAN_FUNCTION_ARGS; void CCTK_FCALL CCTK_FNAME(EOS_RegisterDPressByDEps) REGISTER_FORTRAN_FUNCTION(DPressByDEps) #define CALL_FUNC(x) \ @@ -212,8 +219,9 @@ CALL_FUNC(RestMassDens) CALL_FUNC(DPressByDRho) CALL_FUNC(DPressByDEps) +#define CALL_FORTRAN_FUNC_ARGS (int *handle, CCTK_REAL *a, CCTK_REAL *b) #define CALL_FORTRAN_FUNC(x) \ -(int *handle, CCTK_REAL *a, CCTK_REAL *b) \ +CALL_FORTRAN_FUNC_ARGS \ { \ CCTK_REAL retval; \ method_t *method; \ @@ -239,9 +247,14 @@ CALL_FUNC(DPressByDEps) } /* Functions to call EOS functions from Fortran*/ +CCTK_REAL CCTK_FCALL CCTK_FNAME(EOS_Pressure) CALL_FORTRAN_FUNC_ARGS; CCTK_REAL CCTK_FCALL CCTK_FNAME(EOS_Pressure) CALL_FORTRAN_FUNC(Pressure) +CCTK_REAL CCTK_FCALL CCTK_FNAME(EOS_SpecificIntEnergy) CALL_FORTRAN_FUNC_ARGS; CCTK_REAL CCTK_FCALL CCTK_FNAME(EOS_SpecificIntEnergy) CALL_FORTRAN_FUNC(SpecificIntEnergy) +CCTK_REAL CCTK_FCALL CCTK_FNAME(EOS_RestMassDens) CALL_FORTRAN_FUNC_ARGS; CCTK_REAL CCTK_FCALL CCTK_FNAME(EOS_RestMassDens) CALL_FORTRAN_FUNC(RestMassDens) +CCTK_REAL CCTK_FCALL CCTK_FNAME(EOS_DPressByDRho) CALL_FORTRAN_FUNC_ARGS; CCTK_REAL CCTK_FCALL CCTK_FNAME(EOS_DPressByDRho) CALL_FORTRAN_FUNC(DPressByDRho) +CCTK_REAL CCTK_FCALL CCTK_FNAME(EOS_DPressByDEps) CALL_FORTRAN_FUNC_ARGS; CCTK_REAL CCTK_FCALL CCTK_FNAME(EOS_DPressByDEps) CALL_FORTRAN_FUNC(DPressByDEps) |