From cd0fdae6428a9c63b52c5296f5525f1c0a7e9aaa Mon Sep 17 00:00:00 2001 From: schnetter Date: Sat, 29 Jan 2005 17:12:20 +0000 Subject: Use CCTK_BYTE instead of CCTK_CHAR. Dispatch on the types in a switch statement instead of an if/else if cascade. git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/IOBasic/trunk@162 b589c3ab-70e8-4b4d-a09f-cba2dd200880 --- src/WriteInfo.c | 76 ++++++++++++++++++++++++--------------------------------- 1 file changed, 32 insertions(+), 44 deletions(-) diff --git a/src/WriteInfo.c b/src/WriteInfo.c index b6fb1be..163a3c7 100644 --- a/src/WriteInfo.c +++ b/src/WriteInfo.c @@ -92,88 +92,76 @@ int IOBasic_WriteInfo (const cGH *GH, int vindex) /* get the variable's data type and data pointer */ ptr = CCTK_VarDataPtrI (GH, 0, vindex); vtype = CCTK_VarTypeI (vindex); - if (vtype == CCTK_VARIABLE_CHAR) - { - reduction->value = (double) *(CCTK_CHAR *) ptr; - } - else if (vtype == CCTK_VARIABLE_INT) + switch (vtype) { + case CCTK_VARIABLE_BYTE: + reduction->value = (double) *(CCTK_BYTE *) ptr; + break; + case CCTK_VARIABLE_INT: reduction->value = (double) *(CCTK_INT *) ptr; - } - else if (vtype == CCTK_VARIABLE_REAL) - { + break; + case CCTK_VARIABLE_REAL: reduction->value = (double) *(CCTK_REAL *) ptr; - } - else if (vtype == CCTK_VARIABLE_COMPLEX) - { + break; + case CCTK_VARIABLE_COMPLEX: reduction->value = (double) ((CCTK_REAL *) ptr)[0]; reduction->next->value = (double) ((CCTK_REAL *) ptr)[1]; reduction->next->is_valid = 1; - } + break; #ifdef CCTK_INT1 - else if (vtype == CCTK_VARIABLE_INT1) - { + case CCTK_VARIABLE_INT1: reduction->value = (double) *(CCTK_INT1 *) ptr; - } + break; #endif #ifdef CCTK_INT2 - else if (vtype == CCTK_VARIABLE_INT2) - { + case CCTK_VARIABLE_INT2: reduction->value = (double) *(CCTK_INT2 *) ptr; - } + break; #endif #ifdef CCTK_INT4 - else if (vtype == CCTK_VARIABLE_INT4) - { + case CCTK_VARIABLE_INT4: reduction->value = (double) *(CCTK_INT4 *) ptr; - } + break; #endif #ifdef CCTK_INT8 - else if (vtype == CCTK_VARIABLE_INT8) - { + case CCTK_VARIABLE_INT8: reduction->value = (double) *(CCTK_INT8 *) ptr; - } + break; #endif #ifdef CCTK_REAL4 - else if (vtype == CCTK_VARIABLE_REAL4) - { + case CCTK_VARIABLE_REAL4: reduction->value = (double) *(CCTK_REAL4 *) ptr; - } - else if (vtype == CCTK_VARIABLE_COMPLEX8) - { + break; + case CCTK_VARIABLE_COMPLEX8: reduction->value = (double) ((CCTK_REAL4 *) ptr)[0]; reduction->next->value = (double) ((CCTK_REAL4 *) ptr)[1]; reduction->next->is_valid = 1; - } + break; #endif #ifdef CCTK_REAL8 - else if (vtype == CCTK_VARIABLE_REAL8) - { + case CCTK_VARIABLE_REAL8: reduction->value = (double) *(CCTK_REAL8 *) ptr; - } - else if (vtype == CCTK_VARIABLE_COMPLEX16) - { + break; + case CCTK_VARIABLE_COMPLEX16: reduction->value = (double) ((CCTK_REAL8 *) ptr)[0]; reduction->next->value = (double) ((CCTK_REAL8 *) ptr)[1]; reduction->next->is_valid = 1; - } + break; #endif #ifdef CCTK_REAL16 - else if (vtype == CCTK_VARIABLE_REAL16) - { + case CCTK_VARIABLE_REAL16: reduction->value = (double) *(CCTK_REAL16 *) ptr; - } - else if (vtype == CCTK_VARIABLE_COMPLEX32) - { + break; + case CCTK_VARIABLE_COMPLEX32: reduction->value = (double) ((CCTK_REAL16 *) ptr)[0]; reduction->next->value = (double) ((CCTK_REAL16 *) ptr)[1]; reduction->next->is_valid = 1; - } + break; #endif - else - { + default: CCTK_WARN (3, "IOBasic_WriteInfo: Unsupported data type"); reduction->is_valid = 0; + break; } } else -- cgit v1.2.3