diff options
author | knarf <knarf@7256fff6-a868-4c47-a7f4-99a4b5411c7d> | 2012-11-15 04:55:30 +0000 |
---|---|---|
committer | knarf <knarf@7256fff6-a868-4c47-a7f4-99a4b5411c7d> | 2012-11-15 04:55:30 +0000 |
commit | 399928ec0aaba956d6a347549fab5de55bb79944 (patch) | |
tree | a195e165e9e655da2bc2913add0422163b2a6085 | |
parent | 637bb7614deba6eab929e8b4e0f2a10f1ff1ebc2 (diff) |
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinBase/EOS_Base/trunk@21 7256fff6-a868-4c47-a7f4-99a4b5411c7d
-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) |