diff options
author | tradke <tradke@10716dce-81a3-4424-a2c8-48026a0d3035> | 2000-11-23 21:56:57 +0000 |
---|---|---|
committer | tradke <tradke@10716dce-81a3-4424-a2c8-48026a0d3035> | 2000-11-23 21:56:57 +0000 |
commit | a6874ecb52e744abb7a8b20a4a19994c1e07b8c0 (patch) | |
tree | 87e4fc1a504098c4666ec32752e51c2c06eb5a18 | |
parent | fda123018bb246a6c8641441bcbc1e4fc59c4af1 (diff) |
This file will provide several predefined datatype conversion routines.
For now it is just one: CCTK_VARIABLE_REAL -> CCTK_VARIABLE_REAL4.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGHSlab/trunk@40 10716dce-81a3-4424-a2c8-48026a0d3035
-rw-r--r-- | src/DatatypeConversion.c | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/DatatypeConversion.c b/src/DatatypeConversion.c new file mode 100644 index 0000000..fc0ce67 --- /dev/null +++ b/src/DatatypeConversion.c @@ -0,0 +1,72 @@ + /*@@ + @file DatatypeConversion.c + @date Thursday Nov 23 2000 + @author Thomas Radke + @desc + Predefined datatype conversion routines for hyperslab extraction. + @enddesc + @version $Id$ + @@*/ + +#include <string.h> + +#include "cctk.h" +#include "NewPUGHSlab.h" + + +/* the rcs ID and its dummy function to use it */ +static char *rcsid="$ID: $"; +CCTK_FILEVERSION(CactusPUGH_PUGHSlab_DatatypeConversion_c) + + +/* local function prototypes */ +static void PUGHSlab_REAL_to_REAL4 (void *_hdata, + void *_vdata, + unsigned int nelems); + + + /*@@ + @routine PUGH_Startup + @date Wed Feb 3 23:14:38 1999 + @author Tom Goodale + @desc + The startup registration routine for PUGH. + @enddesc + @calls + @calledby + @history + + @endhistory + +@@*/ +PUGHSlab_conversion_fn PUGHSlab_GetDatatypeConversionFn (int vtype, int htype) +{ + PUGHSlab_conversion_fn retval; + + + if (vtype == CCTK_VARIABLE_REAL && htype == CCTK_VARIABLE_REAL4) + { + retval = PUGHSlab_REAL_to_REAL4; + } + else + { + retval = NULL; + } + + return (retval); +} + + +static void PUGHSlab_REAL_to_REAL4 (void *_hdata, + void *_vdata, + unsigned int nelems) +{ + CCTK_REAL *vdata = (CCTK_REAL *) _vdata; + CCTK_REAL4 *hdata = (CCTK_REAL4 *) _hdata; + + + while (nelems--) + { + *hdata++ = (CCTK_REAL4) *vdata++; + } +} |