diff options
Diffstat (limited to 'src/MinFunctions.c')
-rw-r--r-- | src/MinFunctions.c | 812 |
1 files changed, 406 insertions, 406 deletions
diff --git a/src/MinFunctions.c b/src/MinFunctions.c index 1922ebf..9d77a3f 100644 --- a/src/MinFunctions.c +++ b/src/MinFunctions.c @@ -17,7 +17,7 @@ extern "C" { #endif -int LocalReduce_Min_CHAR(int i, int mask_on, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts, 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 LocalReduce_Min_CHAR(int i, int mask_on, 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 iter = 0; int sum_indices = 0; @@ -30,55 +30,55 @@ int LocalReduce_Min_CHAR(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) switch (output_number_type_codes[i]) { /* out values type switches*/ case CCTK_VARIABLE_CHAR: - ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_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_BYTE, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_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_BYTE, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[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_BYTE, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[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_BYTE, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[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_BYTE, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, 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_BYTE, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_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_BYTE, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[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_BYTE, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[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_BYTE, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, 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: @@ -102,9 +102,9 @@ int LocalReduce_Min_CHAR(int i, int mask_on, CCTK_INT * input_array_offsets, int #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -112,8 +112,8 @@ int LocalReduce_Min_CHAR(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -138,9 +138,9 @@ int LocalReduce_Min_CHAR(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -148,8 +148,8 @@ int LocalReduce_Min_CHAR(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -175,10 +175,10 @@ int LocalReduce_Min_CHAR(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -186,8 +186,8 @@ int LocalReduce_Min_CHAR(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -213,10 +213,10 @@ int LocalReduce_Min_CHAR(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -224,8 +224,8 @@ int LocalReduce_Min_CHAR(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; #endif @@ -233,7 +233,7 @@ int LocalReduce_Min_CHAR(int i, int mask_on, CCTK_INT * input_array_offsets, int return num_points; } -int LocalReduce_Min_INT(int i, int mask_on, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts, 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 LocalReduce_Min_INT(int i, int mask_on, 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 iter = 0; int sum_indices = 0; @@ -246,55 +246,55 @@ int LocalReduce_Min_INT(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) switch (output_number_type_codes[i]) { /* out values type switches*/ case CCTK_VARIABLE_CHAR: - ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_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_INT, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_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_INT, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[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_INT, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[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_INT, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[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_INT, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, 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_INT, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_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_INT, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[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_INT, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[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_INT, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, 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: @@ -317,9 +317,9 @@ int LocalReduce_Min_INT(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -327,8 +327,8 @@ int LocalReduce_Min_INT(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -353,9 +353,9 @@ int LocalReduce_Min_INT(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -363,8 +363,8 @@ int LocalReduce_Min_INT(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -390,9 +390,9 @@ int LocalReduce_Min_INT(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -400,8 +400,8 @@ int LocalReduce_Min_INT(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -427,9 +427,9 @@ int LocalReduce_Min_INT(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -437,8 +437,8 @@ int LocalReduce_Min_INT(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; #endif @@ -447,7 +447,7 @@ int LocalReduce_Min_INT(int i, int mask_on, CCTK_INT * input_array_offsets, int } #ifdef CCTK_INT1 -int LocalReduce_Min_INT1(int i, int mask_on, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts, 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 LocalReduce_Min_INT1(int i, int mask_on, 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 iter = 0; int sum_indices = 0; @@ -460,55 +460,55 @@ int LocalReduce_Min_INT1(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) switch (output_number_type_codes[i]) { /* out values type switches*/ case CCTK_VARIABLE_CHAR: - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_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_INT1, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_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_INT11 case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[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_INT12 case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[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_INT14 case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[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_INT18 case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, 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_INT1, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_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_INT1, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[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_INT1, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[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_INT1, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, 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: @@ -531,9 +531,9 @@ int LocalReduce_Min_INT1(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -541,8 +541,8 @@ int LocalReduce_Min_INT1(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -567,9 +567,9 @@ int LocalReduce_Min_INT1(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -577,8 +577,8 @@ int LocalReduce_Min_INT1(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -604,10 +604,10 @@ int LocalReduce_Min_INT1(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -615,8 +615,8 @@ int LocalReduce_Min_INT1(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -642,10 +642,10 @@ int LocalReduce_Min_INT1(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -653,8 +653,8 @@ int LocalReduce_Min_INT1(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; #endif @@ -664,7 +664,7 @@ int LocalReduce_Min_INT1(int i, int mask_on, CCTK_INT * input_array_offsets, int #endif #ifdef CCTK_INT2 -int LocalReduce_Min_INT2(int i, int mask_on, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts, 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 LocalReduce_Min_INT2(int i, int mask_on, 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 iter = 0; int sum_indices = 0; @@ -677,55 +677,55 @@ int LocalReduce_Min_INT2(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) switch (output_number_type_codes[i]) { /* out values type switches*/ case CCTK_VARIABLE_CHAR: - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_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_INT2, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_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_INT21 case CCTK_VARIABLE_INT1: - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[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_INT22 case CCTK_VARIABLE_INT2: - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[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_INT24 case CCTK_VARIABLE_INT4: - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[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_INT28 case CCTK_VARIABLE_INT8: - ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, 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_INT2, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_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_INT2, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[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_INT2, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[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_INT2, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, 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: @@ -748,9 +748,9 @@ int LocalReduce_Min_INT2(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -758,8 +758,8 @@ int LocalReduce_Min_INT2(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -784,9 +784,9 @@ int LocalReduce_Min_INT2(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -794,8 +794,8 @@ int LocalReduce_Min_INT2(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -821,10 +821,10 @@ int LocalReduce_Min_INT2(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -832,8 +832,8 @@ int LocalReduce_Min_INT2(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -859,10 +859,10 @@ int LocalReduce_Min_INT2(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -870,8 +870,8 @@ int LocalReduce_Min_INT2(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; #endif @@ -881,7 +881,7 @@ int LocalReduce_Min_INT2(int i, int mask_on, CCTK_INT * input_array_offsets, int #endif #ifdef CCTK_INT4 -int LocalReduce_Min_INT4(int i, int mask_on, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts, 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 LocalReduce_Min_INT4(int i, int mask_on, 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 iter = 0; int sum_indices = 0; @@ -894,55 +894,55 @@ int LocalReduce_Min_INT4(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) switch (output_number_type_codes[i]) { /* out values type switches*/ case CCTK_VARIABLE_CHAR: - ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_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_INT4, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_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_INT4, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[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_INT4, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[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_INT4, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[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_INT4, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, 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_INT4, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_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_INT4, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[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_INT4, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[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_INT4, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, 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: @@ -965,9 +965,9 @@ int LocalReduce_Min_INT4(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -975,8 +975,8 @@ int LocalReduce_Min_INT4(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -1001,9 +1001,9 @@ int LocalReduce_Min_INT4(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1011,8 +1011,8 @@ int LocalReduce_Min_INT4(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -1038,10 +1038,10 @@ int LocalReduce_Min_INT4(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1049,8 +1049,8 @@ int LocalReduce_Min_INT4(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -1076,10 +1076,10 @@ int LocalReduce_Min_INT4(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1087,8 +1087,8 @@ int LocalReduce_Min_INT4(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; #endif @@ -1098,7 +1098,7 @@ int LocalReduce_Min_INT4(int i, int mask_on, CCTK_INT * input_array_offsets, int #endif #ifdef CCTK_INT8 -int LocalReduce_Min_INT8(int i, int mask_on, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts, 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 LocalReduce_Min_INT8(int i, int mask_on, 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 iter = 0; int sum_indices = 0; @@ -1111,55 +1111,55 @@ int LocalReduce_Min_INT8(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) switch (output_number_type_codes[i]) { /* out values type switches*/ case CCTK_VARIABLE_CHAR: - ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_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_INT8, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_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_INT8, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[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_INT8, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[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_INT8, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[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_INT8, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, 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_INT8, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_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_INT8, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[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_INT8, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[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_INT8, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, 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: @@ -1182,9 +1182,9 @@ int LocalReduce_Min_INT8(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1192,8 +1192,8 @@ int LocalReduce_Min_INT8(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -1218,9 +1218,9 @@ int LocalReduce_Min_INT8(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1228,8 +1228,8 @@ int LocalReduce_Min_INT8(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -1255,10 +1255,10 @@ int LocalReduce_Min_INT8(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1266,8 +1266,8 @@ int LocalReduce_Min_INT8(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -1293,10 +1293,10 @@ int LocalReduce_Min_INT8(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1304,8 +1304,8 @@ int LocalReduce_Min_INT8(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; #endif @@ -1314,7 +1314,7 @@ int LocalReduce_Min_INT8(int i, int mask_on, CCTK_INT * input_array_offsets, int } #endif -int LocalReduce_Min_REAL(int i, int mask_on, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts, 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 LocalReduce_Min_REAL(int i, int mask_on, 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 iter = 0; int sum_indices = 0; @@ -1327,55 +1327,55 @@ int LocalReduce_Min_REAL(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) switch (output_number_type_codes[i]) { /* out values type switches*/ case CCTK_VARIABLE_CHAR: - ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_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_REAL, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_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_REAL, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[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_REAL, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[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_REAL, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[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_REAL, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, 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_REAL, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_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_REAL, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[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_REAL, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[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_REAL, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, 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: @@ -1398,9 +1398,9 @@ int LocalReduce_Min_REAL(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1408,8 +1408,8 @@ int LocalReduce_Min_REAL(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -1434,9 +1434,9 @@ int LocalReduce_Min_REAL(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1444,8 +1444,8 @@ int LocalReduce_Min_REAL(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -1471,10 +1471,10 @@ int LocalReduce_Min_REAL(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1482,8 +1482,8 @@ int LocalReduce_Min_REAL(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -1509,10 +1509,10 @@ int LocalReduce_Min_REAL(int i, int mask_on, CCTK_INT * input_array_offsets, int inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1520,8 +1520,8 @@ int LocalReduce_Min_REAL(int i, int mask_on, CCTK_INT * input_array_offsets, int #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; #endif @@ -1530,7 +1530,7 @@ int LocalReduce_Min_REAL(int i, int mask_on, CCTK_INT * input_array_offsets, int } #ifdef CCTK_REAL4 -int LocalReduce_Min_REAL4(int i, int mask_on, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts, 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 LocalReduce_Min_REAL4(int i, int mask_on, 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 iter = 0; int sum_indices = 0; @@ -1543,55 +1543,55 @@ int LocalReduce_Min_REAL4(int i, int mask_on, CCTK_INT * input_array_offsets, in #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) switch (output_number_type_codes[i]) { /* out values type switches*/ case CCTK_VARIABLE_CHAR: - ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_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_REAL4, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_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_REAL4, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[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_REAL4, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[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_REAL4, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[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_REAL4, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, 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_REAL4, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_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_REAL4, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[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_REAL4, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[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_REAL4, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, 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: @@ -1614,9 +1614,9 @@ int LocalReduce_Min_REAL4(int i, int mask_on, CCTK_INT * input_array_offsets, in inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1624,8 +1624,8 @@ int LocalReduce_Min_REAL4(int i, int mask_on, CCTK_INT * input_array_offsets, in #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -1650,9 +1650,9 @@ int LocalReduce_Min_REAL4(int i, int mask_on, CCTK_INT * input_array_offsets, in inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1660,8 +1660,8 @@ int LocalReduce_Min_REAL4(int i, int mask_on, CCTK_INT * input_array_offsets, in #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -1687,10 +1687,10 @@ int LocalReduce_Min_REAL4(int i, int mask_on, CCTK_INT * input_array_offsets, in inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1698,8 +1698,8 @@ int LocalReduce_Min_REAL4(int i, int mask_on, CCTK_INT * input_array_offsets, in #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -1725,10 +1725,10 @@ int LocalReduce_Min_REAL4(int i, int mask_on, CCTK_INT * input_array_offsets, in inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1736,8 +1736,8 @@ int LocalReduce_Min_REAL4(int i, int mask_on, CCTK_INT * input_array_offsets, in #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; #endif @@ -1747,7 +1747,7 @@ int LocalReduce_Min_REAL4(int i, int mask_on, CCTK_INT * input_array_offsets, in #endif #ifdef CCTK_REAL8 -int LocalReduce_Min_REAL8(int i, int mask_on, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts, 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 LocalReduce_Min_REAL8(int i, int mask_on, 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 iter = 0; int sum_indices = 0; @@ -1760,55 +1760,55 @@ int LocalReduce_Min_REAL8(int i, int mask_on, CCTK_INT * input_array_offsets, in #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) switch (output_number_type_codes[i]) { /* out values type switches*/ case CCTK_VARIABLE_CHAR: - ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_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_REAL8, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_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_REAL8, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[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_REAL8, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[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_REAL8, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[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_REAL8, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, 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_REAL8, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_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_REAL8, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[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_REAL8, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[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_REAL8, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, 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: @@ -1831,9 +1831,9 @@ int LocalReduce_Min_REAL8(int i, int mask_on, CCTK_INT * input_array_offsets, in inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1841,8 +1841,8 @@ int LocalReduce_Min_REAL8(int i, int mask_on, CCTK_INT * input_array_offsets, in #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -1867,9 +1867,9 @@ int LocalReduce_Min_REAL8(int i, int mask_on, CCTK_INT * input_array_offsets, in inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1877,8 +1877,8 @@ int LocalReduce_Min_REAL8(int i, int mask_on, CCTK_INT * input_array_offsets, in #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -1904,10 +1904,10 @@ int LocalReduce_Min_REAL8(int i, int mask_on, CCTK_INT * input_array_offsets, in inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1915,8 +1915,8 @@ int LocalReduce_Min_REAL8(int i, int mask_on, CCTK_INT * input_array_offsets, in #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -1942,10 +1942,10 @@ int LocalReduce_Min_REAL8(int i, int mask_on, CCTK_INT * input_array_offsets, in inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -1954,8 +1954,8 @@ int LocalReduce_Min_REAL8(int i, int mask_on, CCTK_INT * input_array_offsets, in #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; #endif @@ -1965,7 +1965,7 @@ int LocalReduce_Min_REAL8(int i, int mask_on, CCTK_INT * input_array_offsets, in #endif #ifdef CCTK_REAL16 -int LocalReduce_Min_REAL16(int i, int mask_on, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts, 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 LocalReduce_Min_REAL16(int i, int mask_on, 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 iter = 0; int sum_indices = 0; @@ -1978,55 +1978,55 @@ int LocalReduce_Min_REAL16(int i, int mask_on, CCTK_INT * input_array_offsets, i #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) switch (output_number_type_codes[i]) { /* out values type switches*/ case CCTK_VARIABLE_CHAR: - ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_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_REAL16, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_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_REAL16, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[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_REAL16, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[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_REAL16, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[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_REAL16, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, 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_REAL16, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_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_REAL16, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[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_REAL16, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[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_REAL16, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, 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: @@ -2049,9 +2049,9 @@ int LocalReduce_Min_REAL16(int i, int mask_on, CCTK_INT * input_array_offsets, i inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2059,8 +2059,8 @@ int LocalReduce_Min_REAL16(int i, int mask_on, CCTK_INT * input_array_offsets, i #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -2085,9 +2085,9 @@ int LocalReduce_Min_REAL16(int i, int mask_on, CCTK_INT * input_array_offsets, i inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2095,8 +2095,8 @@ int LocalReduce_Min_REAL16(int i, int mask_on, CCTK_INT * input_array_offsets, i #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -2122,10 +2122,10 @@ int LocalReduce_Min_REAL16(int i, int mask_on, CCTK_INT * input_array_offsets, i inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2133,8 +2133,8 @@ int LocalReduce_Min_REAL16(int i, int mask_on, CCTK_INT * input_array_offsets, i #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -2160,10 +2160,10 @@ int LocalReduce_Min_REAL16(int i, int mask_on, CCTK_INT * input_array_offsets, i inval.Re = (CCTK_REAL16) typed_vdata[sum_indices]; #endif #define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re; -#define REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2171,8 +2171,8 @@ int LocalReduce_Min_REAL16(int i, int mask_on, CCTK_INT * input_array_offsets, i #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 REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; #endif @@ -2181,7 +2181,7 @@ int LocalReduce_Min_REAL16(int i, int mask_on, CCTK_INT * input_array_offsets, i } #endif -int LocalReduce_Min_COMPLEX(int i, int mask_on, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts, 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 LocalReduce_Min_COMPLEX(int i, int mask_on, 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 iter = 0; int sum_indices = 0; @@ -2205,55 +2205,55 @@ int LocalReduce_Min_COMPLEX(int i, int mask_on, CCTK_INT * input_array_offsets, inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) 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_CHAR: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, 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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, 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: @@ -2266,9 +2266,9 @@ int LocalReduce_Min_COMPLEX(int i, int mask_on, CCTK_INT * input_array_offsets, (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2287,8 +2287,8 @@ int LocalReduce_Min_COMPLEX(int i, int mask_on, CCTK_INT * input_array_offsets, inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; #define EXTRA_STEP(a, b) break; @@ -2303,9 +2303,9 @@ int LocalReduce_Min_COMPLEX(int i, int mask_on, CCTK_INT * input_array_offsets, (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2324,8 +2324,8 @@ int LocalReduce_Min_COMPLEX(int i, int mask_on, CCTK_INT * input_array_offsets, inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; #define EXTRA_STEP(a, b) break; @@ -2341,10 +2341,10 @@ int LocalReduce_Min_COMPLEX(int i, int mask_on, CCTK_INT * input_array_offsets, (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2363,8 +2363,8 @@ int LocalReduce_Min_COMPLEX(int i, int mask_on, CCTK_INT * input_array_offsets, inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; #define EXTRA_STEP(a, b) break; @@ -2380,10 +2380,10 @@ int LocalReduce_Min_COMPLEX(int i, int mask_on, CCTK_INT * input_array_offsets, (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2402,8 +2402,8 @@ int LocalReduce_Min_COMPLEX(int i, int mask_on, CCTK_INT * input_array_offsets, inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; #define EXTRA_STEP(a, b) break; #endif @@ -2413,7 +2413,7 @@ int LocalReduce_Min_COMPLEX(int i, int mask_on, CCTK_INT * input_array_offsets, #ifdef CCTK_COMPLEX8 -int LocalReduce_Min_COMPLEX8(int i, int mask_on, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts, 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 LocalReduce_Min_COMPLEX8(int i, int mask_on, 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 iter = 0; int sum_indices = 0; @@ -2437,55 +2437,55 @@ int LocalReduce_Min_COMPLEX8(int i, int mask_on, CCTK_INT * input_array_offsets, inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) 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_CHAR: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, 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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, 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: @@ -2498,9 +2498,9 @@ int LocalReduce_Min_COMPLEX8(int i, int mask_on, CCTK_INT * input_array_offsets, (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2519,8 +2519,8 @@ int LocalReduce_Min_COMPLEX8(int i, int mask_on, CCTK_INT * input_array_offsets, inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; #define EXTRA_STEP(a, b) break; @@ -2535,9 +2535,9 @@ int LocalReduce_Min_COMPLEX8(int i, int mask_on, CCTK_INT * input_array_offsets, (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2556,8 +2556,8 @@ int LocalReduce_Min_COMPLEX8(int i, int mask_on, CCTK_INT * input_array_offsets, inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; #define EXTRA_STEP(a, b) break; @@ -2573,10 +2573,10 @@ int LocalReduce_Min_COMPLEX8(int i, int mask_on, CCTK_INT * input_array_offsets, (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2595,8 +2595,8 @@ int LocalReduce_Min_COMPLEX8(int i, int mask_on, CCTK_INT * input_array_offsets, inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; #define EXTRA_STEP(a, b) break; @@ -2612,10 +2612,10 @@ int LocalReduce_Min_COMPLEX8(int i, int mask_on, CCTK_INT * input_array_offsets, (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2634,8 +2634,8 @@ int LocalReduce_Min_COMPLEX8(int i, int mask_on, CCTK_INT * input_array_offsets, inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; #define EXTRA_STEP(a, b) break; #endif @@ -2645,7 +2645,7 @@ int LocalReduce_Min_COMPLEX8(int i, int mask_on, CCTK_INT * input_array_offsets, #endif #ifdef CCTK_COMPLEX16 -int LocalReduce_Min_COMPLEX16(int i, int mask_on, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts, 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 LocalReduce_Min_COMPLEX16(int i, int mask_on, 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 iter = 0; int sum_indices = 0; @@ -2669,55 +2669,55 @@ int LocalReduce_Min_COMPLEX16(int i, int mask_on, CCTK_INT * input_array_offsets inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) 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_CHAR: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_BYTE, output_numbers[i], mask_on, input_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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, 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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, 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: @@ -2730,9 +2730,9 @@ int LocalReduce_Min_COMPLEX16(int i, int mask_on, CCTK_INT * input_array_offsets (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2751,8 +2751,8 @@ int LocalReduce_Min_COMPLEX16(int i, int mask_on, CCTK_INT * input_array_offsets inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; #define EXTRA_STEP(a, b) break; @@ -2767,9 +2767,9 @@ int LocalReduce_Min_COMPLEX16(int i, int mask_on, CCTK_INT * input_array_offsets (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2788,8 +2788,8 @@ int LocalReduce_Min_COMPLEX16(int i, int mask_on, CCTK_INT * input_array_offsets inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; #define EXTRA_STEP(a, b) break; @@ -2805,10 +2805,10 @@ int LocalReduce_Min_COMPLEX16(int i, int mask_on, CCTK_INT * input_array_offsets (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2827,8 +2827,8 @@ int LocalReduce_Min_COMPLEX16(int i, int mask_on, CCTK_INT * input_array_offsets inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; #define EXTRA_STEP(a, b) break; @@ -2844,10 +2844,10 @@ int LocalReduce_Min_COMPLEX16(int i, int mask_on, CCTK_INT * input_array_offsets (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2866,8 +2866,8 @@ int LocalReduce_Min_COMPLEX16(int i, int mask_on, CCTK_INT * input_array_offsets inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; #define EXTRA_STEP(a, b) break; #endif @@ -2877,7 +2877,7 @@ int LocalReduce_Min_COMPLEX16(int i, int mask_on, CCTK_INT * input_array_offsets #endif #ifdef CCTK_COMPLEX32 -int LocalReduce_Min_COMPLEX32(int i, int mask_on, CCTK_INT * input_array_offsets, int * indices, int max_iter, int * actual_indices, CCTK_INT * input_array_strides, CCTK_INT * input_array_min_subscripts, 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 LocalReduce_Min_COMPLEX32(int i, int mask_on, 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 iter = 0; int sum_indices = 0; @@ -2901,55 +2901,55 @@ int LocalReduce_Min_COMPLEX32(int i, int mask_on, CCTK_INT * input_array_offsets inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) 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_CHAR: - ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT, output_numbers[i], mask_on, input_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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT1, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT2, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT4, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_INT8, output_numbers[i], mask_on, input_array_offsets[i], indices, 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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL, output_numbers[i], mask_on, input_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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL4, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL8, output_numbers[i], mask_on, input_array_offsets[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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL16, output_numbers[i], mask_on, input_array_offsets[i], indices, 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: @@ -2962,9 +2962,9 @@ int LocalReduce_Min_COMPLEX32(int i, int mask_on, CCTK_INT * input_array_offsets (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -2983,8 +2983,8 @@ int LocalReduce_Min_COMPLEX32(int i, int mask_on, CCTK_INT * input_array_offsets inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0]; #define EXTRA_STEP(a, b) break; @@ -2999,9 +2999,9 @@ int LocalReduce_Min_COMPLEX32(int i, int mask_on, CCTK_INT * input_array_offsets (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -3020,8 +3020,8 @@ int LocalReduce_Min_COMPLEX32(int i, int mask_on, CCTK_INT * input_array_offsets inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; #define EXTRA_STEP(a, b) break; @@ -3037,10 +3037,10 @@ int LocalReduce_Min_COMPLEX32(int i, int mask_on, CCTK_INT * input_array_offsets (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -3059,8 +3059,8 @@ int LocalReduce_Min_COMPLEX32(int i, int mask_on, CCTK_INT * input_array_offsets inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; #define EXTRA_STEP(a, b) break; @@ -3076,10 +3076,10 @@ int LocalReduce_Min_COMPLEX32(int i, int mask_on, CCTK_INT * input_array_offsets (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 REDUCTION_INITIAL(num) (num).Re = 0.0; (num).Im = 0.0; +#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], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,product) + ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], mask_on, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product) #undef REDUCTION_OPERATION #undef REDUCTION_INITIAL #undef EXTRA_STEP @@ -3098,8 +3098,8 @@ int LocalReduce_Min_COMPLEX32(int i, int mask_on, CCTK_INT * input_array_offsets inval = (CCTK_REAL16) typed_vdata[sum_indices].Re; #endif -#define REDUCTION_OPERATION(Min, scalar) if (Min < scalar) Min = scalar; -#define REDUCTION_INITIAL(num) num = 0; +#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar; +#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re; #define EXTRA_STEP(a, b) break; #endif |