From 0d357d0ec9a323db8a794b14832719f813fc5e70 Mon Sep 17 00:00:00 2001 From: tradke Date: Wed, 26 Mar 2008 11:39:07 +0000 Subject: fix calculation of L2/L3/L4 norms for grid variables of datatype CCTK_COMPLEX to a result datatype CCTK_REAL git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/LocalReduce/trunk@76 7daa882c-dc44-4453-834e-278d26b18e6a --- src/Norm2Functions.c | 6 +++--- src/Norm3Functions.c | 6 +++--- src/Norm4Functions.c | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Norm2Functions.c b/src/Norm2Functions.c index deb863f..bcbd458 100644 --- a/src/Norm2Functions.c +++ b/src/Norm2Functions.c @@ -2814,15 +2814,15 @@ int LocalReduce_Norm2_COMPLEX(int i, int weight_on, const void * const weight, C #ifdef CCTK_REAL_PRECISION_4 #undef REDUCTION_PREOP_CAST #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) ((typed_vdata[sum_indices]).Re); + inval = (CCTK_REAL4) CCTK_CmplxAbs(typed_vdata[sum_indices]); #elif CCTK_REAL_PRECISION_8 #undef REDUCTION_PREOP_CAST #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL8) ((typed_vdata[sum_indices]).Re); + inval = (CCTK_REAL8) CCTK_CmplxAbs(typed_vdata[sum_indices]); #elif CCTK_REAL_PRECISION_16 #undef REDUCTION_PREOP_CAST #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL16) ((typed_vdata[sum_indices]).Re); + inval = (CCTK_REAL16) CCTK_CmplxAbs(typed_vdata[sum_indices]); #endif #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); diff --git a/src/Norm3Functions.c b/src/Norm3Functions.c index 7fa65aa..c6598a5 100644 --- a/src/Norm3Functions.c +++ b/src/Norm3Functions.c @@ -2809,15 +2809,15 @@ int LocalReduce_Norm3_COMPLEX(int i, int weight_on, const void * const weight, C #ifdef CCTK_REAL_PRECISION_4 #undef REDUCTION_PREOP_CAST #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) ((typed_vdata[sum_indices]).Re); + inval = (CCTK_REAL4) CCTK_CmplxAbs(typed_vdata[sum_indices]); #elif CCTK_REAL_PRECISION_8 #undef REDUCTION_PREOP_CAST #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL8) ((typed_vdata[sum_indices]).Re); + inval = (CCTK_REAL8) CCTK_CmplxAbs(typed_vdata[sum_indices]); #elif CCTK_REAL_PRECISION_16 #undef REDUCTION_PREOP_CAST #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL16) ((typed_vdata[sum_indices]).Re); + inval = (CCTK_REAL16) CCTK_CmplxAbs(typed_vdata[sum_indices]); #endif #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); diff --git a/src/Norm4Functions.c b/src/Norm4Functions.c index 33f0dda..2114b41 100644 --- a/src/Norm4Functions.c +++ b/src/Norm4Functions.c @@ -2808,15 +2808,15 @@ int LocalReduce_Norm4_COMPLEX(int i, int weight_on, const void * const weight, C #ifdef CCTK_REAL_PRECISION_4 #undef REDUCTION_PREOP_CAST #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) POWER2((POWER2((typed_vdata[sum_indices]).Re)+POWER2((typed_vdata[sum_indices]).Im))); + inval = (CCTK_REAL4) CCTK_CmplxAbs(typed_vdata[sum_indices]); #elif CCTK_REAL_PRECISION_8 #undef REDUCTION_PREOP_CAST #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL8) POWER2((POWER2((typed_vdata[sum_indices]).Re)+POWER2((typed_vdata[sum_indices]).Im))); + inval = (CCTK_REAL8) CCTK_CmplxAbs(typed_vdata[sum_indices]); #elif CCTK_REAL_PRECISION_16 #undef REDUCTION_PREOP_CAST #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL16) POWER2((POWER2((typed_vdata[sum_indices]).Re)+POWER2((typed_vdata[sum_indices]).Im))); + inval = (CCTK_REAL16) CCTK_CmplxAbs(typed_vdata[sum_indices]); #endif #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -- cgit v1.2.3