diff options
author | allen <allen@b61c5cb5-eaca-4651-9a7a-d64986f99364> | 1999-12-02 19:21:27 +0000 |
---|---|---|
committer | allen <allen@b61c5cb5-eaca-4651-9a7a-d64986f99364> | 1999-12-02 19:21:27 +0000 |
commit | 54ed35ed2352a12702b6ff49925e698753184048 (patch) | |
tree | 96c78ffbfdebd7ca04bbe624508386c3f4d7e4c8 /src/SetupGroup.c | |
parent | 6647097e2d05aaea5bc316fdef138a196ec4d005 (diff) |
Support for CCTK_INT2 etc
git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@139 b61c5cb5-eaca-4651-9a7a-d64986f99364
Diffstat (limited to 'src/SetupGroup.c')
-rw-r--r-- | src/SetupGroup.c | 167 |
1 files changed, 142 insertions, 25 deletions
diff --git a/src/SetupGroup.c b/src/SetupGroup.c index f44ebd5..bbfe5da 100644 --- a/src/SetupGroup.c +++ b/src/SetupGroup.c @@ -15,7 +15,12 @@ static char *rcisd = "$Header$"; -pGF *SetupPGF(pGH *GH, const char *name, int dim, int varsize, int vtype, int stagger); +pGF *SetupPGF(pGH *GH, + const char *name, + int dim, + int varsize, + int vtype, + int stagger); int pugh_SetupScalarGroup(pGH *newGH, int vtype, int n_variables, int n_timelevels); int pugh_SetupArrayGroup(pGH *newGH, int vtype, int dim, int n_variables, int n_timelevels); @@ -81,7 +86,7 @@ int pugh_SetupGroup(pGH *newGH, int gtype, int vtype, int dim, int n_variables, int pugh_SetupScalarGroup(pGH *newGH, int vtype, int n_variables, int n_timelevels) { int variable; - + char *msg; int var_size; int level; @@ -91,12 +96,65 @@ int pugh_SetupScalarGroup(pGH *newGH, int vtype, int n_variables, int n_timeleve switch(vtype) { - case CCTK_VARIABLE_CHAR : var_size = sizeof(CCTK_CHAR); break; - case CCTK_VARIABLE_INT : var_size = sizeof(CCTK_INT) ; break; - case CCTK_VARIABLE_REAL : var_size = sizeof(CCTK_REAL); break; - case CCTK_VARIABLE_COMPLEX : var_size = sizeof(CCTK_COMPLEX); break; - default : CCTK_WARN(0,"Unknown variable type in pugh_SetupScalarGroup"); - var_size = 1; + case CCTK_VARIABLE_CHAR: + var_size = sizeof(CCTK_CHAR); + break; + + case CCTK_VARIABLE_INT: + var_size = sizeof(CCTK_INT) ; + break; + +#ifdef CCTK_INT2 + case CCTK_VARIABLE_INT2: + var_size = sizeof(CCTK_INT2); + break; +#endif + +#ifdef CCTK_INT4 + case CCTK_VARIABLE_INT4: + var_size = sizeof(CCTK_INT4); + break; +#endif + +#ifdef CCTK_INT8 + case CCTK_VARIABLE_INT8: + var_size = sizeof(CCTK_INT8); + break; +#endif + + case CCTK_VARIABLE_REAL: + var_size = sizeof(CCTK_REAL); + break; + +#ifdef CCTK_REAL4 + case CCTK_VARIABLE_REAL4: + var_size = sizeof(CCTK_REAL4); + break; +#endif + +#ifdef CCTK_REAL8 + case CCTK_VARIABLE_REAL8: + var_size = sizeof(CCTK_REAL8); + break; +#endif + +#ifdef CCTK_REAL16 + case CCTK_VARIABLE_REAL16: + var_size = sizeof(CCTK_REAL16); + break; +#endif + + case CCTK_VARIABLE_COMPLEX: + var_size = sizeof(CCTK_COMPLEX); + break; + + default: + msg = malloc( 200*sizeof(char) ); + sprintf(msg,"Unknown variable type (%d) in pugh_SetupScalarGroup",vtype); + CCTK_WARN(0,msg); + free(msg); + var_size = 1; + } temp = (void ***)realloc(newGH->variables, (newGH->nvariables+n_variables)*sizeof(void **)); @@ -157,11 +215,15 @@ int pugh_SetupArrayGroup(pGH *newGH, int vtype, int dim, int n_variables, int n_ @endhistory @@*/ -int pugh_SetupGFGroup(pGH *newGH, int vtype, int dim, int n_variables, int n_timelevels) +int pugh_SetupGFGroup(pGH *newGH, + int vtype, + int dim, + int n_variables, + int n_timelevels) { int variable; - + char *msg; int var_size; void ***temp; @@ -172,16 +234,69 @@ int pugh_SetupGFGroup(pGH *newGH, int vtype, int dim, int n_variables, int n_tim switch(vtype) { - case CCTK_VARIABLE_CHAR : var_size = sizeof(CCTK_CHAR); break; - case CCTK_VARIABLE_INT : var_size = sizeof(CCTK_INT) ; break; - case CCTK_VARIABLE_REAL : var_size = sizeof(CCTK_REAL); break; - case CCTK_VARIABLE_COMPLEX : var_size = sizeof(CCTK_COMPLEX); break; - default : CCTK_WARN(0, - "Unknown variable type in pugh_SetupScalarGroup"); - var_size = 1; + case CCTK_VARIABLE_CHAR: + var_size = sizeof(CCTK_CHAR); + break; + + case CCTK_VARIABLE_INT: + var_size = sizeof(CCTK_INT) ; + break; + +#ifdef CCTK_INT2 + case CCTK_VARIABLE_INT2: + var_size = sizeof(CCTK_INT2); + break; +#endif + +#ifdef CCTK_INT4 + case CCTK_VARIABLE_INT4: + var_size = sizeof(CCTK_INT4); + break; +#endif + +#ifdef CCTK_INT8 + case CCTK_VARIABLE_INT8: + var_size = sizeof(CCTK_INT8); + break; +#endif + + case CCTK_VARIABLE_REAL: + var_size = sizeof(CCTK_REAL); + break; + +#ifdef CCTK_REAL4 + case CCTK_VARIABLE_REAL4: + var_size = sizeof(CCTK_REAL4); + break; +#endif + +#ifdef CCTK_REAL8 + case CCTK_VARIABLE_REAL8: + var_size = sizeof(CCTK_REAL8); + break; +#endif + +#ifdef CCTK_REAL16 + case CCTK_VARIABLE_REAL16: + var_size = sizeof(CCTK_REAL16); + break; +#endif + + case CCTK_VARIABLE_COMPLEX: + var_size = sizeof(CCTK_COMPLEX); + break; + + default: + msg = malloc( 200*sizeof(char) ); + sprintf(msg,"Unknown variable type (%d) in pugh_SetupGFGroup",vtype); + CCTK_WARN(0,msg); + free(msg); + var_size = 1; + } - temp = (void ***)realloc(newGH->variables, (newGH->nvariables+n_variables)*sizeof(void **)); + temp = (void ***)realloc(newGH->variables, + (newGH->nvariables+n_variables)*sizeof(void **)); if(temp) { @@ -189,18 +304,20 @@ int pugh_SetupGFGroup(pGH *newGH, int vtype, int dim, int n_variables, int n_tim for(variable = 0; variable < n_variables; variable++) { - newGH->variables[newGH->nvariables] = (void **)malloc(n_timelevels*sizeof(void *)); + newGH->variables[newGH->nvariables] = + (void **)malloc(n_timelevels*sizeof(void *)); if(newGH->variables[newGH->nvariables]) { for(level = 0; level < n_timelevels; level++) { - newGH->variables[newGH->nvariables][level] = SetupPGF(newGH, - CCTK_VarName(newGH->nvariables), - dim, - var_size, - vtype, - PUGH_VERTEXCTR); + newGH->variables[newGH->nvariables][level] = + SetupPGF(newGH, + CCTK_VarName(newGH->nvariables), + dim, + var_size, + vtype, + PUGH_VERTEXCTR); } newGH->nvariables++; } |