aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortradke <tradke@10716dce-81a3-4424-a2c8-48026a0d3035>2000-11-23 21:56:57 +0000
committertradke <tradke@10716dce-81a3-4424-a2c8-48026a0d3035>2000-11-23 21:56:57 +0000
commita6874ecb52e744abb7a8b20a4a19994c1e07b8c0 (patch)
tree87e4fc1a504098c4666ec32752e51c2c06eb5a18
parentfda123018bb246a6c8641441bcbc1e4fc59c4af1 (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.c72
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++;
+ }
+}