diff options
Diffstat (limited to 'src/Ell_Register.c')
-rw-r--r-- | src/Ell_Register.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/Ell_Register.c b/src/Ell_Register.c new file mode 100644 index 0000000..80d568e --- /dev/null +++ b/src/Ell_Register.c @@ -0,0 +1,25 @@ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "cctk.h" +#include "cctk_parameters.h" + +#include "StoreNamedData.h" + +static pNamedData *EqNameDB; + +void Ell_RegisterEq(void *(function)(const char *, void*), const char *eqname) { + StoreNamedData(&EqNameDB, eqname, (void*)function); +} + + +void Ell_RegisterSolver(void (*function), const char *sname, const char *eqname) { + void (*fn)(void *, const char *); + + fn = (void(*)(void (*function), const char *sname))GetNamedData(EqNameDB, eqname); + if (!fn) CCTK_WARN(0,"Cannot get function in EqName"); + + fn(function,sname); +} |