diff options
author | schnetter <schnetter@d60812e6-3970-4df4-986e-c251b06effeb> | 2005-01-23 11:33:24 +0000 |
---|---|---|
committer | schnetter <schnetter@d60812e6-3970-4df4-986e-c251b06effeb> | 2005-01-23 11:33:24 +0000 |
commit | d01bd250a08175c54dfaf8d3b4d7ebb4a0ee7519 (patch) | |
tree | a7898c07e71f0071dc079e9fe9176ad7aa1dbb14 /src/ReductionNorm3.c | |
parent | ff13b6ad74100dd0adf82e9fc22a41c0279e9b00 (diff) |
Correct L3 and L4 norms for complex numbers.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGHReduce/trunk@62 d60812e6-3970-4df4-986e-c251b06effeb
Diffstat (limited to 'src/ReductionNorm3.c')
-rw-r--r-- | src/ReductionNorm3.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/ReductionNorm3.c b/src/ReductionNorm3.c index 65af154..86191d4 100644 --- a/src/ReductionNorm3.c +++ b/src/ReductionNorm3.c @@ -313,15 +313,19 @@ static int ReductionNorm3 (const cGH *GH, #endif case CCTK_VARIABLE_COMPLEX: +#define CUBE(x) ((x) * (x) * (x)) #undef REDUCTION_OPERATION -#define REDUCTION_OPERATION(norm3, scalar) norm3 += CUBE_ABS ((scalar).Re) +\ - CUBE_ABS ((scalar).Im) +#define REDUCTION_OPERATION(norm1, scalar) \ + norm1 += CUBE (CCTK_CmplxAbs (scalar)) ITERATE_ARRAY (CCTK_COMPLEX, num_dims, inarrays[i], from, to, iterator, points_per_dim, CCTK_REAL, outvals, num_outvals, total_outvals); break; #ifdef CCTK_REAL4 +#undef REDUCTION_OPERATION +#define REDUCTION_OPERATION(norm1, scalar) \ + norm1 += CUBE (CCTK_Cmplx8Abs (scalar)) ITERATE_ARRAY (CCTK_COMPLEX8, num_dims, inarrays[i], from, to, iterator, points_per_dim, CCTK_REAL4, outvals, num_outvals, total_outvals); @@ -329,6 +333,9 @@ static int ReductionNorm3 (const cGH *GH, #endif #ifdef CCTK_REAL8 +#undef REDUCTION_OPERATION +#define REDUCTION_OPERATION(norm1, scalar) \ + norm1 += CUBE (CCTK_Cmplx16Abs (scalar)) ITERATE_ARRAY (CCTK_COMPLEX16, num_dims, inarrays[i], from, to, iterator, points_per_dim, CCTK_REAL8, outvals, num_outvals, total_outvals); @@ -336,6 +343,9 @@ static int ReductionNorm3 (const cGH *GH, #endif #ifdef CCTK_REAL16 +#undef REDUCTION_OPERATION +#define REDUCTION_OPERATION(norm1, scalar) \ + norm1 += CUBE (CCTK_Cmplx32Abs (scalar)) ITERATE_ARRAY (CCTK_COMPLEX32, num_dims, inarrays[i], from, to, iterator, points_per_dim, CCTK_REAL16, outvals, num_outvals, total_outvals); |