diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/DatatypeConversion.c | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/src/DatatypeConversion.c b/src/DatatypeConversion.c index 156e631..1073205 100644 --- a/src/DatatypeConversion.c +++ b/src/DatatypeConversion.c @@ -23,7 +23,7 @@ CCTK_FILEVERSION(CactusPUGH_PUGHSlab_DatatypeConversion_c) /* macro to generate a predefined conversion function along with its prototype */ -#define CONVERSION_FUNCTION(source_type, dest_type, dest_elemtype, conversion)\ +#define CONVERSION_FUNCTION(source_type, dest_type, conversion) \ static CCTK_INT Convert##source_type##to##dest_type (CCTK_INT nelems, \ CCTK_INT src_stride, \ CCTK_INT dst_stride, \ @@ -49,7 +49,7 @@ static CCTK_INT Convert##source_type##to##dest_type (CCTK_INT nelems, \ (void) (dst_type + 0); \ for (_i = 0; _i < nelems; _i++, _src += src_stride, _dst += dst_stride) \ { \ - conversion (*_src, *_dst, dest_elemtype); \ + conversion (*_src, *_dst, dest_type); \ } \ \ return (nelems); \ @@ -63,49 +63,44 @@ static CCTK_INT Convert##source_type##to##dest_type (CCTK_INT nelems, \ /* predefined conversion functions for integers */ #if defined(CCTK_INT1) && defined(CCTK_INT2) -CONVERSION_FUNCTION (INT2, INT1, INT1, CONVERT) +CONVERSION_FUNCTION (INT2, INT1, CONVERT) #endif #if defined(CCTK_INT1) && defined(CCTK_INT4) -CONVERSION_FUNCTION (INT4, INT1, INT1, CONVERT) +CONVERSION_FUNCTION (INT4, INT1, CONVERT) #endif #if defined(CCTK_INT2) && defined(CCTK_INT4) -CONVERSION_FUNCTION (INT4, INT2, INT2, CONVERT) +CONVERSION_FUNCTION (INT4, INT2, CONVERT) #endif #if defined(CCTK_INT1) && defined(CCTK_INT8) -CONVERSION_FUNCTION (INT8, INT1, INT1, CONVERT) +CONVERSION_FUNCTION (INT8, INT1, CONVERT) #endif #if defined(CCTK_INT2) && defined(CCTK_INT8) -CONVERSION_FUNCTION (INT8, INT2, INT2, CONVERT) +CONVERSION_FUNCTION (INT8, INT2, CONVERT) #endif #if defined(CCTK_INT4) && defined(CCTK_INT8) -CONVERSION_FUNCTION (INT8, INT4, INT4, CONVERT) +CONVERSION_FUNCTION (INT8, INT4, CONVERT) #endif /* predefined conversion functions for reals */ #if defined(CCTK_REAL4) && defined(CCTK_REAL8) -CONVERSION_FUNCTION (REAL8, REAL4, REAL4, CONVERT) +CONVERSION_FUNCTION (REAL8, REAL4, CONVERT) #endif #if defined(CCTK_REAL4) && defined(CCTK_REAL16) -CONVERSION_FUNCTION (REAL16, REAL4, REAL4, CONVERT) +CONVERSION_FUNCTION (REAL16, REAL4, CONVERT) #endif #if defined(CCTK_REAL8) && defined(CCTK_REAL16) -CONVERSION_FUNCTION (REAL16, REAL8, REAL8, CONVERT) +CONVERSION_FUNCTION (REAL16, REAL8, CONVERT) #endif -/* the conversion of complex datatypes */ -#undef CONVERT -#define CONVERT(src, dst, dst_type) (dst).Re = (CCTK_##dst_type) (src).Re; \ - (dst).Im = (CCTK_##dst_type) (src).Im - /* predefined conversion functions for complex */ #if defined(CCTK_REAL4) && defined(CCTK_REAL8) -CONVERSION_FUNCTION (COMPLEX16, COMPLEX8, REAL4, CONVERT) +CONVERSION_FUNCTION (COMPLEX16, COMPLEX8, CONVERT) #endif #if defined(CCTK_REAL4) && defined(CCTK_REAL16) -CONVERSION_FUNCTION (COMPLEX32, COMPLEX16, REAL8, CONVERT) +CONVERSION_FUNCTION (COMPLEX32, COMPLEX16, CONVERT) #endif #if defined(CCTK_REAL8) && defined(CCTK_REAL16) -CONVERSION_FUNCTION (COMPLEX32, COMPLEX8, REAL4, CONVERT) +CONVERSION_FUNCTION (COMPLEX32, COMPLEX8, CONVERT) #endif |