diff options
-rw-r--r-- | src/AvgFunctions.c | 5304 | ||||
-rw-r--r-- | src/CountFunctions.c | 5288 | ||||
-rw-r--r-- | src/MaxFunctions.c | 5304 | ||||
-rw-r--r-- | src/MinFunctions.c | 5288 | ||||
-rw-r--r-- | src/Norm1Functions.c | 5880 | ||||
-rw-r--r-- | src/Norm2Functions.c | 6252 | ||||
-rw-r--r-- | src/Norm3Functions.c | 6232 | ||||
-rw-r--r-- | src/Norm4Functions.c | 6424 | ||||
-rw-r--r-- | src/NormInfFunctions.c | 6780 | ||||
-rw-r--r-- | src/ReductionAvg.c | 124 | ||||
-rw-r--r-- | src/ReductionCount.c | 36 | ||||
-rw-r--r-- | src/ReductionMax.c | 36 | ||||
-rw-r--r-- | src/ReductionMin.c | 36 | ||||
-rw-r--r-- | src/ReductionNorm1.c | 124 | ||||
-rw-r--r-- | src/ReductionNorm2.c | 224 | ||||
-rw-r--r-- | src/ReductionNorm3.c | 224 | ||||
-rw-r--r-- | src/ReductionNorm4.c | 224 | ||||
-rw-r--r-- | src/ReductionNormInf.c | 36 | ||||
-rw-r--r-- | src/ReductionSum.c | 36 | ||||
-rw-r--r-- | src/SumFunctions.c | 5288 |
20 files changed, 29570 insertions, 29570 deletions
diff --git a/src/AvgFunctions.c b/src/AvgFunctions.c index b2c892a..81608ce 100644 --- a/src/AvgFunctions.c +++ b/src/AvgFunctions.c @@ -89,170 +89,170 @@ int LocalReduce_Avg_BYTE(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); @@ -330,167 +330,167 @@ int LocalReduce_Avg_INT(int i, int weight_on, const void * const weight, CCTK_IN ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -568,169 +568,169 @@ int LocalReduce_Avg_INT1(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -809,169 +809,169 @@ int LocalReduce_Avg_INT2(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1050,169 +1050,169 @@ int LocalReduce_Avg_INT4(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1291,169 +1291,169 @@ int LocalReduce_Avg_INT8(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1531,169 +1531,169 @@ int LocalReduce_Avg_REAL(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1771,169 +1771,169 @@ int LocalReduce_Avg_REAL4(int i, int weight_on, const void * const weight, CCTK_ ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2012,170 +2012,170 @@ int LocalReduce_Avg_REAL8(int i, int weight_on, const void * const weight, CCTK_ ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2254,1198 +2254,1198 @@ int LocalReduce_Avg_REAL16(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -int LocalReduce_Avg_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); return 0; } - - -#ifdef HAVE_CCTK_COMPLEX8 -int LocalReduce_Avg_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; #endif -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX16 -int LocalReduce_Avg_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX32 -int LocalReduce_Avg_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; -#define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif +/* int LocalReduce_Avg_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ + + +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* int LocalReduce_Avg_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* int LocalReduce_Avg_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* int LocalReduce_Avg_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_CmplxAdd( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx8Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx16Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) scalar.Re = scalar.Re * weight; scalar.Im = scalar.Im * weight; avg = CCTK_Cmplx32Add( avg, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(avg, scalar, weight) avg = avg + weight * scalar; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ #ifdef __cplusplus diff --git a/src/CountFunctions.c b/src/CountFunctions.c index 8c10d0a..dcc0d19 100644 --- a/src/CountFunctions.c +++ b/src/CountFunctions.c @@ -87,170 +87,170 @@ int LocalReduce_Count_BYTE(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -325,167 +325,167 @@ int LocalReduce_Count_INT(int i, int weight_on, const void * const weight, CCTK_ ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -561,169 +561,169 @@ int LocalReduce_Count_INT1(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -800,169 +800,169 @@ int LocalReduce_Count_INT2(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -1039,169 +1039,169 @@ int LocalReduce_Count_INT4(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -1278,169 +1278,169 @@ int LocalReduce_Count_INT8(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -1516,169 +1516,169 @@ int LocalReduce_Count_REAL(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -1754,169 +1754,169 @@ int LocalReduce_Count_REAL4(int i, int weight_on, const void * const weight, CCT ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -1993,170 +1993,170 @@ int LocalReduce_Count_REAL8(int i, int weight_on, const void * const weight, CCT ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -2233,1188 +2233,1188 @@ int LocalReduce_Count_REAL16(int i, int weight_on, const void * const weight, CC ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - return num_points; -} -#endif - -int LocalReduce_Count_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } - - -#ifdef HAVE_CCTK_COMPLEX8 -int LocalReduce_Count_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; #endif -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - return num_points; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX16 -int LocalReduce_Count_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - return num_points; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX32 -int LocalReduce_Count_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Count, scalar) Count = num_points; -#define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - return num_points; -} -#endif +/* int LocalReduce_Count_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* return num_points; */ +/* } */ + + +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* int LocalReduce_Count_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* return num_points; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* int LocalReduce_Count_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* return num_points; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* int LocalReduce_Count_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Count, scalar) (Count).Re = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) (Count).Re = num_points; */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Count, scalar) Count = num_points; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Count, scalar, weight) Count = num_points; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* return num_points; */ +/* } */ +/* #endif */ #ifdef __cplusplus diff --git a/src/MaxFunctions.c b/src/MaxFunctions.c index 726d6bd..e5bd382 100644 --- a/src/MaxFunctions.c +++ b/src/MaxFunctions.c @@ -89,170 +89,170 @@ int LocalReduce_Max_BYTE(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); @@ -330,167 +330,167 @@ int LocalReduce_Max_INT(int i, int weight_on, const void * const weight, CCTK_IN ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -568,169 +568,169 @@ int LocalReduce_Max_INT1(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -809,169 +809,169 @@ int LocalReduce_Max_INT2(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1050,169 +1050,169 @@ int LocalReduce_Max_INT4(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1291,169 +1291,169 @@ int LocalReduce_Max_INT8(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1531,169 +1531,169 @@ int LocalReduce_Max_REAL(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1771,169 +1771,169 @@ int LocalReduce_Max_REAL4(int i, int weight_on, const void * const weight, CCTK_ ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2012,170 +2012,170 @@ int LocalReduce_Max_REAL8(int i, int weight_on, const void * const weight, CCTK_ ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2254,169 +2254,169 @@ int LocalReduce_Max_REAL16(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2424,1028 +2424,1028 @@ int LocalReduce_Max_REAL16(int i, int weight_on, const void * const weight, CCTK } #endif -int LocalReduce_Max_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} - - -#ifdef HAVE_CCTK_COMPLEX8 -int LocalReduce_Max_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX16 -int LocalReduce_Max_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX32 -int LocalReduce_Max_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; -#define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif +/* int LocalReduce_Max_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ + + +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* int LocalReduce_Max_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* int LocalReduce_Max_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* int LocalReduce_Max_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Max, scalar) if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Max).Re < (scalar).Re) (Max).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = (typed_vdata[0]).Re; (num).Im = (typed_vdata[0]).Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Max, scalar) if (Max < scalar) Max = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Max, scalar, weight) if (ABS(weight)> SMALL_NUMBER) {if (Max < scalar) Max = scalar;} ; */ +/* #define REDUCTION_INITIAL(num) num = (typed_vdata[0]).Re; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ #ifdef __cplusplus diff --git a/src/MinFunctions.c b/src/MinFunctions.c index 998d666..24467c5 100644 --- a/src/MinFunctions.c +++ b/src/MinFunctions.c @@ -87,170 +87,170 @@ int LocalReduce_Min_BYTE(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -327,167 +327,167 @@ int LocalReduce_Min_INT(int i, int weight_on, const void * const weight, CCTK_IN ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -563,169 +563,169 @@ int LocalReduce_Min_INT1(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -802,169 +802,169 @@ int LocalReduce_Min_INT2(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -1041,169 +1041,169 @@ int LocalReduce_Min_INT4(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -1280,169 +1280,169 @@ int LocalReduce_Min_INT8(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -1518,169 +1518,169 @@ int LocalReduce_Min_REAL(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -1756,169 +1756,169 @@ int LocalReduce_Min_REAL4(int i, int weight_on, const void * const weight, CCTK_ ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -1995,170 +1995,170 @@ int LocalReduce_Min_REAL8(int i, int weight_on, const void * const weight, CCTK_ ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -2235,1188 +2235,1188 @@ int LocalReduce_Min_REAL16(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - break; - #endif - } - return num_points; -} -#endif - -int LocalReduce_Min_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - break; - #endif - } - return num_points; -} - - -#ifdef HAVE_CCTK_COMPLEX8 -int LocalReduce_Min_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } #endif -#ifdef HAVE_CCTK_COMPLEX16 -int LocalReduce_Min_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - break; - #endif - } - return num_points; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX32 -int LocalReduce_Min_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0]; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; -#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; -#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; -#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; -#define EXTRA_STEP(a, b) - break; - #endif - } - return num_points; -} -#endif +/* int LocalReduce_Min_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* return num_points; */ +/* } */ + + +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* int LocalReduce_Min_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* return num_points; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* int LocalReduce_Min_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* return num_points; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* int LocalReduce_Min_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0]; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;}; */ +/* #define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;}; */ +/* #define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* return num_points; */ +/* } */ +/* #endif */ #ifdef __cplusplus diff --git a/src/Norm1Functions.c b/src/Norm1Functions.c index aabd7b6..6f607ec 100644 --- a/src/Norm1Functions.c +++ b/src/Norm1Functions.c @@ -92,202 +92,202 @@ int LocalReduce_Norm1_BYTE(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); @@ -369,199 +369,199 @@ int LocalReduce_Norm1_INT(int i, int weight_on, const void * const weight, CCTK_ ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); @@ -644,201 +644,201 @@ int LocalReduce_Norm1_INT1(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); @@ -922,201 +922,201 @@ int LocalReduce_Norm1_INT2(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); @@ -1200,201 +1200,201 @@ int LocalReduce_Norm1_INT4(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); @@ -1478,201 +1478,201 @@ int LocalReduce_Norm1_INT8(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); @@ -1755,201 +1755,201 @@ int LocalReduce_Norm1_REAL(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); @@ -2032,201 +2032,201 @@ int LocalReduce_Norm1_REAL4(int i, int weight_on, const void * const weight, CCT ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); @@ -2310,202 +2310,202 @@ int LocalReduce_Norm1_REAL8(int i, int weight_on, const void * const weight, CCT ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); @@ -2589,696 +2589,201 @@ int LocalReduce_Norm1_REAL16(int i, int weight_on, const void * const weight, CC ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -int LocalReduce_Norm1_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} - - -#ifdef HAVE_CCTK_COMPLEX8 -int LocalReduce_Norm1_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(typed_vdata[sum_indices])); - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(typed_vdata[sum_indices])); - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(typed_vdata[sum_indices])); - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(typed_vdata[sum_indices])); - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(typed_vdata[sum_indices])); - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); @@ -3287,501 +2792,996 @@ int LocalReduce_Norm1_COMPLEX8(int i, int weight_on, const void * const weight, } #endif -#ifdef HAVE_CCTK_COMPLEX16 -int LocalReduce_Norm1_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx16Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX32 -int LocalReduce_Norm1_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL16) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_CmplxAdd( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL16) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL16) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL16) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL16) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); - -#define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif +/* int LocalReduce_Norm1_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ + +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ + + +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* int LocalReduce_Norm1_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(typed_vdata[sum_indices])); */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(typed_vdata[sum_indices])); */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(typed_vdata[sum_indices])); */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(typed_vdata[sum_indices])); */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(typed_vdata[sum_indices])); */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ + +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* int LocalReduce_Norm1_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx16Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ + +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* int LocalReduce_Norm1_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL16) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_CmplxAdd( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL16) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx8Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL16) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx16Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL16) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);Norm1 = CCTK_Cmplx32Add( Norm1, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL16) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ + +/* #define REDUCTION_OPERATION(Norm1, scalar) Norm1 = Norm1 + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm1, scalar, weight) Norm1 = Norm1 + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ + +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ #ifdef _cplusplus diff --git a/src/Norm2Functions.c b/src/Norm2Functions.c index d395f0f..63933c5 100644 --- a/src/Norm2Functions.c +++ b/src/Norm2Functions.c @@ -92,203 +92,203 @@ int LocalReduce_Norm2_BYTE(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -369,200 +369,200 @@ int LocalReduce_Norm2_INT(int i, int weight_on, const void * const weight, CCTK_ ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -644,202 +644,202 @@ int LocalReduce_Norm2_INT1(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -922,202 +922,202 @@ int LocalReduce_Norm2_INT2(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1200,202 +1200,202 @@ int LocalReduce_Norm2_INT4(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1478,202 +1478,202 @@ int LocalReduce_Norm2_INT8(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1755,202 +1755,202 @@ int LocalReduce_Norm2_REAL(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2032,202 +2032,202 @@ int LocalReduce_Norm2_REAL4(int i, int weight_on, const void * const weight, CCT ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2310,203 +2310,203 @@ int LocalReduce_Norm2_REAL8(int i, int weight_on, const void * const weight, CCT ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2589,202 +2589,202 @@ int LocalReduce_Norm2_REAL16(int i, int weight_on, const void * const weight, CC ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm2, scalar) (scalar).Re = SQR((scalar).Re); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) (scalar).Re = SQR((scalar).Re*weight); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2792,1172 +2792,1172 @@ int LocalReduce_Norm2_REAL16(int i, int weight_on, const void * const weight, CC } #endif -int LocalReduce_Norm2_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - 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) 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) CCTK_CmplxAbs(typed_vdata[sum_indices]); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} - - -#ifdef HAVE_CCTK_COMPLEX8 -int LocalReduce_Norm2_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX16 -int LocalReduce_Norm2_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX32 -int LocalReduce_Norm2_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef SQR -#undef SQR -#endif -#define SQR(x) ((x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif +/* int LocalReduce_Norm2_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* 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) 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) CCTK_CmplxAbs(typed_vdata[sum_indices]); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ + + +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* int LocalReduce_Norm2_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* int LocalReduce_Norm2_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* int LocalReduce_Norm2_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar,scalar); Norm2 = CCTK_CmplxAdd( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm2 = CCTK_Cmplx8Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm2 = CCTK_Cmplx16Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) scalar.Re= scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm2 = CCTK_Cmplx32Add( Norm2, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef SQR */ +/* #undef SQR */ +/* #endif */ +/* #define SQR(x) ((x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm2, scalar) Norm2 = Norm2 + SQR(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm2, scalar, weight) Norm2 = Norm2 + SQR(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ #ifdef __cplusplus diff --git a/src/Norm3Functions.c b/src/Norm3Functions.c index e644db8..681883f 100644 --- a/src/Norm3Functions.c +++ b/src/Norm3Functions.c @@ -97,202 +97,202 @@ int LocalReduce_Norm3_BYTE(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -373,199 +373,199 @@ int LocalReduce_Norm3_INT(int i, int weight_on, const void * const weight, CCTK_ ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -647,201 +647,201 @@ int LocalReduce_Norm3_INT1(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -924,201 +924,201 @@ int LocalReduce_Norm3_INT2(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1201,201 +1201,201 @@ int LocalReduce_Norm3_INT4(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1478,201 +1478,201 @@ int LocalReduce_Norm3_INT8(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1754,201 +1754,201 @@ int LocalReduce_Norm3_REAL(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2030,201 +2030,201 @@ int LocalReduce_Norm3_REAL4(int i, int weight_on, const void * const weight, CCT ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2307,202 +2307,202 @@ int LocalReduce_Norm3_REAL8(int i, int weight_on, const void * const weight, CCT ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2585,201 +2585,201 @@ int LocalReduce_Norm3_REAL16(int i, int weight_on, const void * const weight, CC ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar,weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm3, scalar) (scalar).Re = CUBE_ABS((scalar).Re); (scalar).Im = CUBE_ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) (scalar).Re = CUBE_ABS((scalar).Re*weight); (scalar).Im = CUBE_ABS((scalar).Im*weight); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2787,1172 +2787,1172 @@ int LocalReduce_Norm3_REAL16(int i, int weight_on, const void * const weight, CC } #endif -int LocalReduce_Norm3_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - 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) 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) CCTK_CmplxAbs(typed_vdata[sum_indices]); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} - - -#ifdef HAVE_CCTK_COMPLEX8 -int LocalReduce_Norm3_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX16 -int LocalReduce_Norm3_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX32 -int LocalReduce_Norm3_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef CUBE_ABS -#undef CUBE_ABS -#endif -#define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) - -#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); -#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); -#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); -#endif - -#define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif +/* int LocalReduce_Norm3_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* 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) 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) CCTK_CmplxAbs(typed_vdata[sum_indices]); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ + + +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* int LocalReduce_Norm3_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* int LocalReduce_Norm3_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* int LocalReduce_Norm3_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, CCTK_CmplxMul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_CmplxAdd( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar, CCTK_Cmplx8Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx8Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar, CCTK_Cmplx16Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx16Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar, CCTK_Cmplx32Mul(scalar,scalar)); (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im); Norm3 = CCTK_Cmplx32Add( Norm3, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef CUBE_ABS */ +/* #undef CUBE_ABS */ +/* #endif */ +/* #define CUBE_ABS(x) ((CCTK_REAL)(x) < 0 ? -((x) * (x) * (x)) : (x) * (x) * (x)) */ + +/* #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); */ +/* #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); */ +/* #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); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm3, scalar) Norm3 = Norm3 + CUBE_ABS(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm3, scalar, weight) Norm3 = Norm3 + CUBE_ABS(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ #ifdef __cplusplus diff --git a/src/Norm4Functions.c b/src/Norm4Functions.c index 17651da..8c39b74 100644 --- a/src/Norm4Functions.c +++ b/src/Norm4Functions.c @@ -92,202 +92,202 @@ int LocalReduce_Norm4_BYTE(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -368,199 +368,199 @@ int LocalReduce_Norm4_INT(int i, int weight_on, const void * const weight, CCTK_ ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -642,201 +642,201 @@ int LocalReduce_Norm4_INT1(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -919,201 +919,201 @@ int LocalReduce_Norm4_INT2(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1196,201 +1196,201 @@ int LocalReduce_Norm4_INT4(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1473,201 +1473,201 @@ int LocalReduce_Norm4_INT8(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1749,201 +1749,201 @@ int LocalReduce_Norm4_REAL(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2025,201 +2025,201 @@ int LocalReduce_Norm4_REAL4(int i, int weight_on, const void * const weight, CCT ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2302,202 +2302,202 @@ int LocalReduce_Norm4_REAL8(int i, int weight_on, const void * const weight, CCT ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2580,1152 +2580,201 @@ int LocalReduce_Norm4_REAL16(int i, int weight_on, const void * const weight, CC ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -int LocalReduce_Norm4_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - 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) 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) CCTK_CmplxAbs(typed_vdata[sum_indices]); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER2 -#undef POWER2 -#endif -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x)*(x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} - - -#ifdef HAVE_CCTK_COMPLEX8 -int LocalReduce_Norm4_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX16 -int LocalReduce_Norm4_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Norm4, scalar) (scalar).Re = POWER4((scalar).Re); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) (scalar).Re = POWER4((scalar).Re*weight); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -3733,317 +2782,1268 @@ int LocalReduce_Norm4_COMPLEX16(int i, int weight_on, const void * const weight, } #endif -#ifdef HAVE_CCTK_COMPLEX32 -int LocalReduce_Norm4_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef POWER4 -#undef POWER4 -#endif -#ifdef POWER2 -#undef POWER2 -#endif -#define POWER2(x) ((x) * (x)) -#define POWER4(x) ((x) * (x) * (x) * (x)) - -#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))); -#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))); -#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))); -#endif - -#define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); -#define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif +/* int LocalReduce_Norm4_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* 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) 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) CCTK_CmplxAbs(typed_vdata[sum_indices]); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x)*(x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ + + +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* int LocalReduce_Norm4_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* int LocalReduce_Norm4_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* int LocalReduce_Norm4_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_CmplxMul(scalar, scalar); CCTK_CmplxMul(scalar,scalar); Norm4 = CCTK_CmplxAdd( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx8Mul(scalar,scalar); scalar = CCTK_Cmplx8Mul(scalar,scalar);Norm4 = CCTK_Cmplx8Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx16Mul(scalar,scalar); scalar = CCTK_Cmplx16Mul(scalar,scalar); Norm4 = CCTK_Cmplx16Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; scalar = CCTK_Cmplx32Mul(scalar,scalar); scalar = CCTK_Cmplx32Mul(scalar,scalar); Norm4 = CCTK_Cmplx32Add( Norm4, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef POWER4 */ +/* #undef POWER4 */ +/* #endif */ +/* #ifdef POWER2 */ +/* #undef POWER2 */ +/* #endif */ +/* #define POWER2(x) ((x) * (x)) */ +/* #define POWER4(x) ((x) * (x) * (x) * (x)) */ + +/* #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))); */ +/* #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))); */ +/* #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))); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Norm4, scalar) Norm4 = Norm4 + POWER4(scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Norm4, scalar, weight) Norm4 = Norm4 + POWER4(scalar*weight); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ #ifdef __cplusplus diff --git a/src/NormInfFunctions.c b/src/NormInfFunctions.c index 2897c96..ff4b484 100644 --- a/src/NormInfFunctions.c +++ b/src/NormInfFunctions.c @@ -96,234 +96,234 @@ int LocalReduce_NormInf_BYTE(int i, int weight_on, const void * const weight, CC ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -408,231 +408,231 @@ int LocalReduce_NormInf_INT(int i, int weight_on, const void * const weight, CCT ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -718,233 +718,233 @@ int LocalReduce_NormInf_INT1(int i, int weight_on, const void * const weight, CC ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1031,233 +1031,233 @@ int LocalReduce_NormInf_INT2(int i, int weight_on, const void * const weight, CC ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1344,233 +1344,233 @@ int LocalReduce_NormInf_INT4(int i, int weight_on, const void * const weight, CC ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1657,233 +1657,233 @@ int LocalReduce_NormInf_INT8(int i, int weight_on, const void * const weight, CC ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -1969,233 +1969,233 @@ int LocalReduce_NormInf_REAL(int i, int weight_on, const void * const weight, CC ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2281,233 +2281,233 @@ int LocalReduce_NormInf_REAL4(int i, int weight_on, const void * const weight, C ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2594,234 +2594,234 @@ int LocalReduce_NormInf_REAL8(int i, int weight_on, const void * const weight, C ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); @@ -2908,1360 +2908,1360 @@ int LocalReduce_NormInf_REAL16(int i, int weight_on, const void * const weight, ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -int LocalReduce_NormInf_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(NormInf, scalar) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (NormInf).Re = MAX( (NormInf).Re, ABS((scalar).Re*weight)); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } Util_TableSetInt(param_table_handle, num_points, "num_points"); Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); return 0; } - - -#ifdef HAVE_CCTK_COMPLEX8 -int LocalReduce_NormInf_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(typed_vdata[sum_indices])); - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS #endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(typed_vdata[sum_indices])); - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX16 -int LocalReduce_NormInf_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx16Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX32 -int LocalReduce_NormInf_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL16) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#ifdef ABS -#undef ABS -#endif -#define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) -#ifdef MAX -#undef MAX -#endif -#define MAX(x,y) ((x) >= (y) ? (x) : (y)) - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); -#endif - -#define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); -#define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - Util_TableSetInt(param_table_handle, num_points, "num_points"); - Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); - return 0; -} -#endif +/* int LocalReduce_NormInf_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ + + +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* int LocalReduce_NormInf_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(typed_vdata[sum_indices])); */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(typed_vdata[sum_indices])); */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* int LocalReduce_NormInf_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx16Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* int LocalReduce_NormInf_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL16) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #ifdef ABS */ +/* #undef ABS */ +/* #endif */ +/* #define ABS(x) ((CCTK_REAL)(x) < 0 ? -(x) : (x)) */ +/* #ifdef MAX */ +/* #undef MAX */ +/* #endif */ +/* #define MAX(x,y) ((x) >= (y) ? (x) : (y)) */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) (scalar).Re = ABS((scalar).Re); (scalar).Im = ABS((scalar).Im);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) (scalar).Re = ABS((scalar).Re*weight); (scalar).Im = ABS((scalar).Im*weight);(NormInf).Re = MAX( (NormInf).Re, (scalar).Re); (NormInf).Im = MAX( (NormInf).Im, (scalar).Im); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (CCTK_REAL4) (CCTK_Cmplx8Abs(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) (CCTK_Cmplx16Abs(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) (CCTK_Cmplx32Abs(typed_vdata[sum_indices])); */ +/* #endif */ + +/* #define REDUCTION_OPERATION(NormInf, scalar) NormInf = MAX(NormInf , ABS(scalar)); */ +/* #define WEIGHTED_REDUCTION_OPERATION(NormInf, scalar, weight) NormInf = MAX(NormInf , ABS(scalar*weight)); */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* Util_TableSetInt(param_table_handle, num_points, "num_points"); */ +/* Util_TableSetReal(param_table_handle, weight_sum, "weight_sum"); */ +/* return 0; */ +/* } */ +/* #endif */ #ifdef __cplusplus diff --git a/src/ReductionAvg.c b/src/ReductionAvg.c index 0cd1399..b51d774 100644 --- a/src/ReductionAvg.c +++ b/src/ReductionAvg.c @@ -288,24 +288,24 @@ static int ReductionAvg (int N_dims, int operator_handle, LocalReduce_Avg_REAL16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); break; #endif - case CCTK_VARIABLE_COMPLEX: - LocalReduce_Avg_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - LocalReduce_Avg_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - LocalReduce_Avg_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - LocalReduce_Avg_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* LocalReduce_Avg_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* LocalReduce_Avg_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* LocalReduce_Avg_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* LocalReduce_Avg_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ } } @@ -377,28 +377,28 @@ static int ReductionAvg (int N_dims, int operator_handle, *( (CCTK_REAL16 *) output_numbers[i]) = *( (CCTK_REAL16 *) output_numbers[i]) / weight_sum; break; #endif - case CCTK_VARIABLE_COMPLEX: - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / weight_sum; - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / weight_sum; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / weight_sum; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / weight_sum; - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / weight_sum; */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / weight_sum; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / weight_sum; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / weight_sum; */ + /* break; */ + /* #endif */ } } } @@ -459,28 +459,28 @@ static int ReductionAvg (int N_dims, int operator_handle, *( (CCTK_REAL16 *) output_numbers[i]) = *( (CCTK_REAL16 *) output_numbers[i]) / num_points; break; #endif - case CCTK_VARIABLE_COMPLEX: - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / num_points; - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / num_points; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / num_points; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / num_points; - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / num_points; */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / num_points; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / num_points; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / num_points; */ + /* break; */ + /* #endif */ } } } diff --git a/src/ReductionCount.c b/src/ReductionCount.c index 0eb0dda..e9e74b6 100644 --- a/src/ReductionCount.c +++ b/src/ReductionCount.c @@ -287,24 +287,24 @@ static int ReductionCount (int N_dims, int operator_handle, LocalReduce_Count_REAL16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); break; #endif - case CCTK_VARIABLE_COMPLEX: - LocalReduce_Count_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - LocalReduce_Count_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - LocalReduce_Count_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - LocalReduce_Count_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* LocalReduce_Count_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* LocalReduce_Count_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* LocalReduce_Count_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* LocalReduce_Count_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ } } diff --git a/src/ReductionMax.c b/src/ReductionMax.c index 34dc2d7..b36b516 100644 --- a/src/ReductionMax.c +++ b/src/ReductionMax.c @@ -279,24 +279,24 @@ static int ReductionMax (int N_dims, int operator_handle, LocalReduce_Max_REAL16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); break; #endif - case CCTK_VARIABLE_COMPLEX: - LocalReduce_Max_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - LocalReduce_Max_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - LocalReduce_Max_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - LocalReduce_Max_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* LocalReduce_Max_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* LocalReduce_Max_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* LocalReduce_Max_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* LocalReduce_Max_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ } } diff --git a/src/ReductionMin.c b/src/ReductionMin.c index 94965a3..0f1f192 100644 --- a/src/ReductionMin.c +++ b/src/ReductionMin.c @@ -281,24 +281,24 @@ static int ReductionMin (int N_dims, int operator_handle, num_points = LocalReduce_Min_REAL16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); break; #endif - case CCTK_VARIABLE_COMPLEX: - num_points = LocalReduce_Min_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - num_points = LocalReduce_Min_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - num_points = LocalReduce_Min_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - num_points = LocalReduce_Min_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* num_points = LocalReduce_Min_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* num_points = LocalReduce_Min_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* num_points = LocalReduce_Min_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* num_points = LocalReduce_Min_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ } } diff --git a/src/ReductionNorm1.c b/src/ReductionNorm1.c index 675d2c9..ca4c109 100644 --- a/src/ReductionNorm1.c +++ b/src/ReductionNorm1.c @@ -292,24 +292,24 @@ static int ReductionL1 (int N_dims, int operator_handle, LocalReduce_Norm1_REAL16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); break; #endif - case CCTK_VARIABLE_COMPLEX: - LocalReduce_Norm1_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - LocalReduce_Norm1_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - LocalReduce_Norm1_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - LocalReduce_Norm1_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* LocalReduce_Norm1_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* LocalReduce_Norm1_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* LocalReduce_Norm1_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* LocalReduce_Norm1_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ } } @@ -381,28 +381,28 @@ static int ReductionL1 (int N_dims, int operator_handle, *( (CCTK_REAL16 *) output_numbers[i]) = *( (CCTK_REAL16 *) output_numbers[i]) / weight_sum; break; #endif - case CCTK_VARIABLE_COMPLEX: - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / weight_sum; - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / weight_sum; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / weight_sum; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / weight_sum; - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / weight_sum; */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / weight_sum; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / weight_sum; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / weight_sum; */ + /* break; */ + /* #endif */ } } } @@ -463,28 +463,28 @@ static int ReductionL1 (int N_dims, int operator_handle, *( (CCTK_REAL16 *) output_numbers[i]) = *( (CCTK_REAL16 *) output_numbers[i]) / num_points; break; #endif - case CCTK_VARIABLE_COMPLEX: - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / num_points; - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / num_points; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / num_points; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / num_points; - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / num_points; */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / num_points; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / num_points; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / num_points; */ + /* break; */ + /* #endif */ } } } diff --git a/src/ReductionNorm2.c b/src/ReductionNorm2.c index 0e25b00..59200fa 100644 --- a/src/ReductionNorm2.c +++ b/src/ReductionNorm2.c @@ -158,16 +158,16 @@ static int ReductionL2 (int N_dims, int operator_handle, CCTK_REAL weight_sum; /* temporary complex variables*/ - CCTK_COMPLEX cmplx_tmp; - #ifdef HAVE_CCTK_COMPLEX8 - CCTK_COMPLEX8 cmplx_tmp8; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - CCTK_COMPLEX16 cmplx_tmp16; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - CCTK_COMPLEX32 cmplx_tmp32; - #endif + /* CCTK_COMPLEX cmplx_tmp; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* CCTK_COMPLEX8 cmplx_tmp8; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* CCTK_COMPLEX16 cmplx_tmp16; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* CCTK_COMPLEX32 cmplx_tmp32; */ + /* #endif */ /* prevent warnings for unused vars */ (void)(operator_handle + 0); @@ -306,24 +306,24 @@ static int ReductionL2 (int N_dims, int operator_handle, num_points = LocalReduce_Norm2_REAL16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); break; #endif - case CCTK_VARIABLE_COMPLEX: - num_points = LocalReduce_Norm2_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - num_points = LocalReduce_Norm2_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - num_points = LocalReduce_Norm2_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - num_points = LocalReduce_Norm2_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* num_points = LocalReduce_Norm2_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* num_points = LocalReduce_Norm2_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* num_points = LocalReduce_Norm2_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* num_points = LocalReduce_Norm2_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ } } @@ -406,48 +406,48 @@ static int ReductionL2 (int N_dims, int operator_handle, *( (CCTK_REAL16 *) output_numbers[i]) = sqrt(*( (CCTK_REAL16 *) output_numbers[i])); break; #endif - case CCTK_VARIABLE_COMPLEX: - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / weight_sum; - cmplx_tmp.Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re; - cmplx_tmp.Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = cmplx_tmp.Re; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = cmplx_tmp.Im; - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / weight_sum; - cmplx_tmp8.Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re; - cmplx_tmp8.Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = cmplx_tmp8.Re; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = cmplx_tmp8.Im; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / weight_sum; - cmplx_tmp16.Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re; - cmplx_tmp16.Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = cmplx_tmp16.Re; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = cmplx_tmp16.Im; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / weight_sum; - cmplx_tmp32.Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re; - cmplx_tmp32.Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = cmplx_tmp32.Re; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = cmplx_tmp32.Im; - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / weight_sum; */ + /* cmplx_tmp.Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re; */ + /* cmplx_tmp.Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = cmplx_tmp.Re; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = cmplx_tmp.Im; */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / weight_sum; */ + /* cmplx_tmp8.Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re; */ + /* cmplx_tmp8.Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = cmplx_tmp8.Re; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = cmplx_tmp8.Im; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / weight_sum; */ + /* cmplx_tmp16.Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re; */ + /* cmplx_tmp16.Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = cmplx_tmp16.Re; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = cmplx_tmp16.Im; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / weight_sum; */ + /* cmplx_tmp32.Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re; */ + /* cmplx_tmp32.Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = cmplx_tmp32.Re; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = cmplx_tmp32.Im; */ + /* break; */ + /* #endif */ } } } @@ -518,48 +518,48 @@ static int ReductionL2 (int N_dims, int operator_handle, *( (CCTK_REAL16 *) output_numbers[i]) = sqrt(*( (CCTK_REAL16 *) output_numbers[i])); break; #endif - case CCTK_VARIABLE_COMPLEX: - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / num_points; - cmplx_tmp.Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re; - cmplx_tmp.Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = cmplx_tmp.Re; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = cmplx_tmp.Im; - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / num_points; - cmplx_tmp8.Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re; - cmplx_tmp8.Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = cmplx_tmp8.Re; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = cmplx_tmp8.Im; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / num_points; - cmplx_tmp16.Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re; - cmplx_tmp16.Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = cmplx_tmp16.Re; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = cmplx_tmp16.Im; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / num_points; - cmplx_tmp32.Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re; - cmplx_tmp32.Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = cmplx_tmp32.Re; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = cmplx_tmp32.Im; - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp.Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re; */ + /* cmplx_tmp.Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = cmplx_tmp.Re; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = cmplx_tmp.Im; */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp8.Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re; */ + /* cmplx_tmp8.Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = cmplx_tmp8.Re; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = cmplx_tmp8.Im; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp16.Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re; */ + /* cmplx_tmp16.Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = cmplx_tmp16.Re; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = cmplx_tmp16.Im; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp32.Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re; */ + /* cmplx_tmp32.Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/2.0); */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = cmplx_tmp32.Re; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = cmplx_tmp32.Im; */ + /* break; */ + /* #endif */ } } } diff --git a/src/ReductionNorm3.c b/src/ReductionNorm3.c index c45b8b6..c7b55be 100644 --- a/src/ReductionNorm3.c +++ b/src/ReductionNorm3.c @@ -158,16 +158,16 @@ static int ReductionL3 (int N_dims, int operator_handle, CCTK_REAL weight_sum; /* temporary complex variables*/ - CCTK_COMPLEX cmplx_tmp; - #ifdef HAVE_CCTK_COMPLEX8 - CCTK_COMPLEX8 cmplx_tmp8; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - CCTK_COMPLEX16 cmplx_tmp16; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - CCTK_COMPLEX32 cmplx_tmp32; - #endif + /* CCTK_COMPLEX cmplx_tmp; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* CCTK_COMPLEX8 cmplx_tmp8; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* CCTK_COMPLEX16 cmplx_tmp16; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* CCTK_COMPLEX32 cmplx_tmp32; */ + /* #endif */ /* prevent warnings for unused vars */ (void)(operator_handle + 0); @@ -303,24 +303,24 @@ static int ReductionL3 (int N_dims, int operator_handle, LocalReduce_Norm3_REAL16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); break; #endif - case CCTK_VARIABLE_COMPLEX: - LocalReduce_Norm3_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - LocalReduce_Norm3_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - LocalReduce_Norm3_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - LocalReduce_Norm3_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* LocalReduce_Norm3_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* LocalReduce_Norm3_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* LocalReduce_Norm3_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* LocalReduce_Norm3_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ } } @@ -403,48 +403,48 @@ static int ReductionL3 (int N_dims, int operator_handle, *( (CCTK_REAL16 *) output_numbers[i]) = pow(*( (CCTK_REAL16 *) output_numbers[i]), 1.0/3.0); break; #endif - case CCTK_VARIABLE_COMPLEX: - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / num_points; - cmplx_tmp.Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re; - cmplx_tmp.Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = cmplx_tmp.Re; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = cmplx_tmp.Im; - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / num_points; - cmplx_tmp8.Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re; - cmplx_tmp8.Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = cmplx_tmp8.Re; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = cmplx_tmp8.Im; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / num_points; - cmplx_tmp16.Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re; - cmplx_tmp16.Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = cmplx_tmp16.Re; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = cmplx_tmp16.Im; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / num_points; - cmplx_tmp32.Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re; - cmplx_tmp32.Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = cmplx_tmp32.Re; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = cmplx_tmp32.Im; - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp.Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re; */ + /* cmplx_tmp.Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = cmplx_tmp.Re; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = cmplx_tmp.Im; */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp8.Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re; */ + /* cmplx_tmp8.Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = cmplx_tmp8.Re; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = cmplx_tmp8.Im; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp16.Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re; */ + /* cmplx_tmp16.Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = cmplx_tmp16.Re; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = cmplx_tmp16.Im; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp32.Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re; */ + /* cmplx_tmp32.Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = cmplx_tmp32.Re; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = cmplx_tmp32.Im; */ + /* break; */ + /* #endif */ } } } @@ -515,48 +515,48 @@ static int ReductionL3 (int N_dims, int operator_handle, *( (CCTK_REAL16 *) output_numbers[i]) = pow(*( (CCTK_REAL16 *) output_numbers[i]), 1.0/3.0); break; #endif - case CCTK_VARIABLE_COMPLEX: - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / num_points; - cmplx_tmp.Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re; - cmplx_tmp.Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = cmplx_tmp.Re; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = cmplx_tmp.Im; - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / num_points; - cmplx_tmp8.Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re; - cmplx_tmp8.Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = cmplx_tmp8.Re; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = cmplx_tmp8.Im; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / num_points; - cmplx_tmp16.Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re; - cmplx_tmp16.Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = cmplx_tmp16.Re; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = cmplx_tmp16.Im; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / num_points; - cmplx_tmp32.Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re; - cmplx_tmp32.Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = cmplx_tmp32.Re; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = cmplx_tmp32.Im; - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp.Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re; */ + /* cmplx_tmp.Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = cmplx_tmp.Re; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = cmplx_tmp.Im; */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp8.Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re; */ + /* cmplx_tmp8.Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = cmplx_tmp8.Re; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = cmplx_tmp8.Im; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp16.Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re; */ + /* cmplx_tmp16.Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = cmplx_tmp16.Re; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = cmplx_tmp16.Im; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp32.Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re; */ + /* cmplx_tmp32.Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/3.0); */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = cmplx_tmp32.Re; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = cmplx_tmp32.Im; */ + /* break; */ + /* #endif */ } } } diff --git a/src/ReductionNorm4.c b/src/ReductionNorm4.c index 6c6fb6f..afe939a 100644 --- a/src/ReductionNorm4.c +++ b/src/ReductionNorm4.c @@ -158,16 +158,16 @@ static int ReductionL4 (int N_dims, int operator_handle, CCTK_REAL weight_sum; /* temporary complex variables*/ - CCTK_COMPLEX cmplx_tmp; - #ifdef HAVE_CCTK_COMPLEX8 - CCTK_COMPLEX8 cmplx_tmp8; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - CCTK_COMPLEX16 cmplx_tmp16; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - CCTK_COMPLEX32 cmplx_tmp32; - #endif + /* CCTK_COMPLEX cmplx_tmp; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* CCTK_COMPLEX8 cmplx_tmp8; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* CCTK_COMPLEX16 cmplx_tmp16; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* CCTK_COMPLEX32 cmplx_tmp32; */ + /* #endif */ /* prevent warnings for unused vars */ (void)(operator_handle + 0); @@ -303,24 +303,24 @@ static int ReductionL4 (int N_dims, int operator_handle, LocalReduce_Norm4_REAL16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); break; #endif - case CCTK_VARIABLE_COMPLEX: - LocalReduce_Norm4_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - LocalReduce_Norm4_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - LocalReduce_Norm4_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - LocalReduce_Norm4_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* LocalReduce_Norm4_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* LocalReduce_Norm4_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* LocalReduce_Norm4_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* LocalReduce_Norm4_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ } } @@ -403,48 +403,48 @@ static int ReductionL4 (int N_dims, int operator_handle, *( (CCTK_REAL16 *) output_numbers[i]) = pow(*( (CCTK_REAL16 *) output_numbers[i]), 1.0/4.0); break; #endif - case CCTK_VARIABLE_COMPLEX: - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / weight_sum; - cmplx_tmp.Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re; - cmplx_tmp.Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = cmplx_tmp.Re; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = cmplx_tmp.Im; - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / weight_sum; - cmplx_tmp8.Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re; - cmplx_tmp8.Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = cmplx_tmp8.Re; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = cmplx_tmp8.Im; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / weight_sum; - cmplx_tmp16.Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re; - cmplx_tmp16.Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = cmplx_tmp16.Re; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = cmplx_tmp16.Im; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / weight_sum; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / weight_sum; - cmplx_tmp32.Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re; - cmplx_tmp32.Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = cmplx_tmp32.Re; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = cmplx_tmp32.Im; - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / weight_sum; */ + /* cmplx_tmp.Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re; */ + /* cmplx_tmp.Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = cmplx_tmp.Re; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = cmplx_tmp.Im; */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / weight_sum; */ + /* cmplx_tmp8.Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re; */ + /* cmplx_tmp8.Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = cmplx_tmp8.Re; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = cmplx_tmp8.Im; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / weight_sum; */ + /* cmplx_tmp16.Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re; */ + /* cmplx_tmp16.Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = cmplx_tmp16.Re; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = cmplx_tmp16.Im; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / weight_sum; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / weight_sum; */ + /* cmplx_tmp32.Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re; */ + /* cmplx_tmp32.Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = cmplx_tmp32.Re; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = cmplx_tmp32.Im; */ + /* break; */ + /* #endif */ } } } @@ -515,48 +515,48 @@ static int ReductionL4 (int N_dims, int operator_handle, *( (CCTK_REAL16 *) output_numbers[i]) = pow(*( (CCTK_REAL16 *) output_numbers[i]), 1.0/4.0); break; #endif - case CCTK_VARIABLE_COMPLEX: - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / num_points; - cmplx_tmp.Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re; - cmplx_tmp.Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); - (*( (CCTK_COMPLEX *) output_numbers[i])).Re = cmplx_tmp.Re; - (*( (CCTK_COMPLEX *) output_numbers[i])).Im = cmplx_tmp.Im; - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / num_points; - cmplx_tmp8.Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re; - cmplx_tmp8.Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = cmplx_tmp8.Re; - (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = cmplx_tmp8.Im; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / num_points; - cmplx_tmp16.Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re; - cmplx_tmp16.Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = cmplx_tmp16.Re; - (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = cmplx_tmp16.Im; - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / num_points; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / num_points; - cmplx_tmp32.Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re; - cmplx_tmp32.Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im; - cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = cmplx_tmp32.Re; - (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = cmplx_tmp32.Im; - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp.Re = (*( (CCTK_COMPLEX *) output_numbers[i])).Re; */ + /* cmplx_tmp.Im = (*( (CCTK_COMPLEX *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Re = cmplx_tmp.Re; */ + /* (*( (CCTK_COMPLEX *) output_numbers[i])).Im = cmplx_tmp.Im; */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp8.Re = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re; */ + /* cmplx_tmp8.Im = (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Re = cmplx_tmp8.Re; */ + /* (*( (CCTK_COMPLEX8 *) output_numbers[i])).Im = cmplx_tmp8.Im; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp16.Re = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re; */ + /* cmplx_tmp16.Im = (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Re = cmplx_tmp16.Re; */ + /* (*( (CCTK_COMPLEX16 *) output_numbers[i])).Im = cmplx_tmp16.Im; */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re / num_points; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im / num_points; */ + /* cmplx_tmp32.Re = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re; */ + /* cmplx_tmp32.Im = (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im; */ + /* cmplx_tmp = CCTK_CmplxPow(cmplx_tmp, 1.0/4.0); */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Re = cmplx_tmp32.Re; */ + /* (*( (CCTK_COMPLEX32 *) output_numbers[i])).Im = cmplx_tmp32.Im; */ + /* break; */ + /* #endif */ } } } diff --git a/src/ReductionNormInf.c b/src/ReductionNormInf.c index 060d3b0..6471320 100644 --- a/src/ReductionNormInf.c +++ b/src/ReductionNormInf.c @@ -297,24 +297,24 @@ static int ReductionLInf (int N_dims, int operator_handle, LocalReduce_NormInf_REAL16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); break; #endif - case CCTK_VARIABLE_COMPLEX: - LocalReduce_NormInf_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - LocalReduce_NormInf_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - LocalReduce_NormInf_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - LocalReduce_NormInf_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* LocalReduce_NormInf_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* LocalReduce_NormInf_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* LocalReduce_NormInf_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* LocalReduce_NormInf_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ } } diff --git a/src/ReductionSum.c b/src/ReductionSum.c index 61c96a2..5c5d7d9 100644 --- a/src/ReductionSum.c +++ b/src/ReductionSum.c @@ -290,24 +290,24 @@ static int ReductionSum (int N_dims, int operator_handle, num_points = LocalReduce_Sum_REAL16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); break; #endif - case CCTK_VARIABLE_COMPLEX: - num_points = LocalReduce_Sum_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: - num_points = LocalReduce_Sum_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: - num_points = LocalReduce_Sum_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: - num_points = LocalReduce_Sum_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); - break; - #endif + /* case CCTK_VARIABLE_COMPLEX: */ + /* num_points = LocalReduce_Sum_COMPLEX(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #ifdef HAVE_CCTK_COMPLEX8 */ + /* case CCTK_VARIABLE_COMPLEX8: */ + /* num_points = LocalReduce_Sum_COMPLEX8(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX16 */ + /* case CCTK_VARIABLE_COMPLEX16: */ + /* num_points = LocalReduce_Sum_COMPLEX16(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ + /* #ifdef HAVE_CCTK_COMPLEX32 */ + /* case CCTK_VARIABLE_COMPLEX32: */ + /* num_points = LocalReduce_Sum_COMPLEX32(i, weight_on, weight, input_array_offsets, indices, max_iter, actual_indices, input_array_strides, input_array_min_subscripts, input_array_dims, num_points, actual_iters_per_dim, iters_per_dim, N_dims, input_arrays, output_number_type_codes, output_numbers, param_table_handle); */ + /* break; */ + /* #endif */ } } diff --git a/src/SumFunctions.c b/src/SumFunctions.c index 588b595..193105b 100644 --- a/src/SumFunctions.c +++ b/src/SumFunctions.c @@ -88,170 +88,170 @@ int LocalReduce_Sum_BYTE(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -326,167 +326,167 @@ int LocalReduce_Sum_INT(int i, int weight_on, const void * const weight, CCTK_IN ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -562,169 +562,169 @@ int LocalReduce_Sum_INT1(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -801,169 +801,169 @@ int LocalReduce_Sum_INT2(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -1040,169 +1040,169 @@ int LocalReduce_Sum_INT4(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -1279,169 +1279,169 @@ int LocalReduce_Sum_INT8(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -1517,169 +1517,169 @@ int LocalReduce_Sum_REAL(int i, int weight_on, const void * const weight, CCTK_I ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -1755,169 +1755,169 @@ int LocalReduce_Sum_REAL4(int i, int weight_on, const void * const weight, CCTK_ ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -1994,170 +1994,170 @@ int LocalReduce_Sum_REAL8(int i, int weight_on, const void * const weight, CCTK_ ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } @@ -2234,1188 +2234,1188 @@ int LocalReduce_Sum_REAL16(int i, int weight_on, const void * const weight, CCTK ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) break; #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#ifdef CCTK_REAL_PRECISION_4 -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; -#endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP -#undef REDUCTION_PREOP_CAST - -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - inval = (out_type) typed_vdata[sum_indices]; -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - return num_points; -} -#endif - -int LocalReduce_Sum_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #ifdef CCTK_REAL_PRECISION_4 */ +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval.Re = (CCTK_REAL4) 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.Re = (CCTK_REAL8) 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.Re = (CCTK_REAL16) typed_vdata[sum_indices]; */ +/* #endif */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ +/* #undef REDUCTION_PREOP_CAST */ + +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* inval = (out_type) typed_vdata[sum_indices]; */ +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ } return num_points; } - - -#ifdef HAVE_CCTK_COMPLEX8 -int LocalReduce_Sum_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; #endif -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - return num_points; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX16 -int LocalReduce_Sum_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - return num_points; -} -#endif - -#ifdef HAVE_CCTK_COMPLEX32 -int LocalReduce_Sum_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) -{ - int iter = 0; - int sum_indices = 0; - int flag, product, j, k; - - /* Weight variables */ - CCTK_REAL weight_sum = 0.0; - CCTK_REAL weight_value = 1.0; - -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - switch (output_number_type_codes[i]) - { - /* out values type switches*/ - case CCTK_VARIABLE_BYTE: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - case CCTK_VARIABLE_INT: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_INT1 - case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT2 - case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT4 - case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_INT8 - case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_REAL: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #ifdef HAVE_CCTK_REAL4 - case CCTK_VARIABLE_REAL4: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL8 - case CCTK_VARIABLE_REAL8: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - #ifdef HAVE_CCTK_REAL16 - case CCTK_VARIABLE_REAL16: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) - break; - #endif - case CCTK_VARIABLE_COMPLEX: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #ifdef HAVE_CCTK_COMPLEX8 - case CCTK_VARIABLE_COMPLEX8: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX16 - case CCTK_VARIABLE_COMPLEX16: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - - break; - #endif - #ifdef HAVE_CCTK_COMPLEX32 - case CCTK_VARIABLE_COMPLEX32: -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#undef REDUCTION_PREOP_CAST -#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ - (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; - -#define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; -#define EXTRA_STEP(a, b) - - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) -#undef REDUCTION_OPERATION -#undef WEIGHTED_REDUCTION_OPERATION -#undef REDUCTION_INITIAL -#undef EXTRA_STEP - -#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; -#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; -#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; -#endif - -#define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; -#define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; -#define REDUCTION_INITIAL(num) num = 0; -#define EXTRA_STEP(a, b) - break; - #endif - } - return num_points; -} -#endif +/* int LocalReduce_Sum_COMPLEX(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* return num_points; */ +/* } */ + + +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* int LocalReduce_Sum_COMPLEX8(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* return num_points; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* int LocalReduce_Sum_COMPLEX16(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* return num_points; */ +/* } */ +/* #endif */ + +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* int LocalReduce_Sum_COMPLEX32(int i, int weight_on, const void * const weight, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts,const CCTK_INT * input_array_dims, int num_points, int * actual_iters_per_dim, int * iters_per_dim, int N_dims, const void *const input_arrays[], const CCTK_INT output_number_type_codes[], void * const output_numbers[], int param_table_handle) */ +/* { */ +/* int iter = 0; */ +/* int sum_indices = 0; */ +/* int flag, product, j, k; */ + +/* /\* Weight variables *\/ */ +/* CCTK_REAL weight_sum = 0.0; */ +/* CCTK_REAL weight_value = 1.0; */ + +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* switch (output_number_type_codes[i]) */ +/* { */ +/* /\* out values type switches*\/ */ +/* case CCTK_VARIABLE_BYTE: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_BYTE, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* case CCTK_VARIABLE_INT: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_INT1 */ +/* case CCTK_VARIABLE_INT1: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT2 */ +/* case CCTK_VARIABLE_INT2: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT4 */ +/* case CCTK_VARIABLE_INT4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_INT8 */ +/* case CCTK_VARIABLE_INT8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_REAL: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #ifdef HAVE_CCTK_REAL4 */ +/* case CCTK_VARIABLE_REAL4: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL8 */ +/* case CCTK_VARIABLE_REAL8: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_REAL16 */ +/* case CCTK_VARIABLE_REAL16: */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* break; */ +/* #endif */ +/* case CCTK_VARIABLE_COMPLEX: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_CmplxAdd( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #ifdef HAVE_CCTK_COMPLEX8 */ +/* case CCTK_VARIABLE_COMPLEX8: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx8Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX16 */ +/* case CCTK_VARIABLE_COMPLEX16: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx16Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ + +/* break; */ +/* #endif */ +/* #ifdef HAVE_CCTK_COMPLEX32 */ +/* case CCTK_VARIABLE_COMPLEX32: */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #undef REDUCTION_PREOP_CAST */ +/* #define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \ */ +/* (inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im; */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) scalar.Re=scalar.Re*weight; scalar.Im=scalar.Im*weight; Sum = CCTK_Cmplx32Add( Sum, scalar); */ +/* #define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; */ +/* #define EXTRA_STEP(a, b) */ + +/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) */ +/* #undef REDUCTION_OPERATION */ +/* #undef WEIGHTED_REDUCTION_OPERATION */ +/* #undef REDUCTION_INITIAL */ +/* #undef EXTRA_STEP */ + +/* #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; */ +/* #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; */ +/* #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; */ +/* #endif */ + +/* #define REDUCTION_OPERATION(Sum, scalar) Sum = Sum + scalar; */ +/* #define WEIGHTED_REDUCTION_OPERATION(Sum, scalar, weight) Sum = Sum + scalar*weight; */ +/* #define REDUCTION_INITIAL(num) num = 0; */ +/* #define EXTRA_STEP(a, b) */ +/* break; */ +/* #endif */ +/* } */ +/* return num_points; */ +/* } */ +/* #endif */ #ifdef __cplusplus |