aboutsummaryrefslogtreecommitdiff
path: root/src/MinFunctions.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/MinFunctions.c')
-rw-r--r--src/MinFunctions.c252
1 files changed, 126 insertions, 126 deletions
diff --git a/src/MinFunctions.c b/src/MinFunctions.c
index 752f810..ec3ef10 100644
--- a/src/MinFunctions.c
+++ b/src/MinFunctions.c
@@ -36,7 +36,7 @@ int LocalReduce_Min_BYTE(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -109,7 +109,7 @@ int LocalReduce_Min_BYTE(int i, int weight_on, const void * const weight, CCTK_I
#endif
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -122,7 +122,7 @@ int LocalReduce_Min_BYTE(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -149,7 +149,7 @@ int LocalReduce_Min_BYTE(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -162,7 +162,7 @@ int LocalReduce_Min_BYTE(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -190,7 +190,7 @@ int LocalReduce_Min_BYTE(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -204,7 +204,7 @@ int LocalReduce_Min_BYTE(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -232,7 +232,7 @@ int LocalReduce_Min_BYTE(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -246,7 +246,7 @@ int LocalReduce_Min_BYTE(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
break;
@@ -276,7 +276,7 @@ int LocalReduce_Min_INT(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -348,7 +348,7 @@ int LocalReduce_Min_INT(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -361,7 +361,7 @@ int LocalReduce_Min_INT(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -388,7 +388,7 @@ int LocalReduce_Min_INT(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -401,7 +401,7 @@ int LocalReduce_Min_INT(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -429,7 +429,7 @@ int LocalReduce_Min_INT(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX16, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -442,7 +442,7 @@ int LocalReduce_Min_INT(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -470,7 +470,7 @@ int LocalReduce_Min_INT(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_COMPLEX32, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -483,7 +483,7 @@ int LocalReduce_Min_INT(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
break;
@@ -512,7 +512,7 @@ int LocalReduce_Min_INT1(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -584,7 +584,7 @@ int LocalReduce_Min_INT1(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -597,7 +597,7 @@ int LocalReduce_Min_INT1(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -624,7 +624,7 @@ int LocalReduce_Min_INT1(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -637,7 +637,7 @@ int LocalReduce_Min_INT1(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -665,7 +665,7 @@ int LocalReduce_Min_INT1(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -679,7 +679,7 @@ int LocalReduce_Min_INT1(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -707,7 +707,7 @@ int LocalReduce_Min_INT1(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -721,7 +721,7 @@ int LocalReduce_Min_INT1(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
break;
@@ -751,7 +751,7 @@ int LocalReduce_Min_INT2(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -823,7 +823,7 @@ int LocalReduce_Min_INT2(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -836,7 +836,7 @@ int LocalReduce_Min_INT2(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -863,7 +863,7 @@ int LocalReduce_Min_INT2(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -876,7 +876,7 @@ int LocalReduce_Min_INT2(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -904,7 +904,7 @@ int LocalReduce_Min_INT2(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -918,7 +918,7 @@ int LocalReduce_Min_INT2(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -946,7 +946,7 @@ int LocalReduce_Min_INT2(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -960,7 +960,7 @@ int LocalReduce_Min_INT2(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
break;
@@ -990,7 +990,7 @@ int LocalReduce_Min_INT4(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1062,7 +1062,7 @@ int LocalReduce_Min_INT4(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -1075,7 +1075,7 @@ int LocalReduce_Min_INT4(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1102,7 +1102,7 @@ int LocalReduce_Min_INT4(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -1115,7 +1115,7 @@ int LocalReduce_Min_INT4(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1143,7 +1143,7 @@ int LocalReduce_Min_INT4(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -1157,7 +1157,7 @@ int LocalReduce_Min_INT4(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1185,7 +1185,7 @@ int LocalReduce_Min_INT4(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -1199,7 +1199,7 @@ int LocalReduce_Min_INT4(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
break;
@@ -1229,7 +1229,7 @@ int LocalReduce_Min_INT8(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1301,7 +1301,7 @@ int LocalReduce_Min_INT8(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -1314,7 +1314,7 @@ int LocalReduce_Min_INT8(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1341,7 +1341,7 @@ int LocalReduce_Min_INT8(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -1354,7 +1354,7 @@ int LocalReduce_Min_INT8(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1382,7 +1382,7 @@ int LocalReduce_Min_INT8(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -1396,7 +1396,7 @@ int LocalReduce_Min_INT8(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1424,7 +1424,7 @@ int LocalReduce_Min_INT8(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -1438,7 +1438,7 @@ int LocalReduce_Min_INT8(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
break;
@@ -1467,7 +1467,7 @@ int LocalReduce_Min_REAL(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1539,7 +1539,7 @@ int LocalReduce_Min_REAL(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -1552,7 +1552,7 @@ int LocalReduce_Min_REAL(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1579,7 +1579,7 @@ int LocalReduce_Min_REAL(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -1592,7 +1592,7 @@ int LocalReduce_Min_REAL(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1620,7 +1620,7 @@ int LocalReduce_Min_REAL(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -1634,7 +1634,7 @@ int LocalReduce_Min_REAL(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1662,7 +1662,7 @@ int LocalReduce_Min_REAL(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -1676,7 +1676,7 @@ int LocalReduce_Min_REAL(int i, int weight_on, const void * const weight, CCTK_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 WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
break;
@@ -1705,7 +1705,7 @@ int LocalReduce_Min_REAL4(int i, int weight_on, const void * const weight, CCTK_
#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \
inval = (out_type) typed_vdata[sum_indices];
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1777,7 +1777,7 @@ int LocalReduce_Min_REAL4(int i, int weight_on, const void * const weight, CCTK_
inval.Re = (CCTK_REAL16) typed_vdata[sum_indices];
#endif
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -1790,7 +1790,7 @@ int LocalReduce_Min_REAL4(int i, int weight_on, const void * const weight, CCTK_
#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \
inval = (out_type) typed_vdata[sum_indices];
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1817,7 +1817,7 @@ int LocalReduce_Min_REAL4(int i, int weight_on, const void * const weight, CCTK_
inval.Re = (CCTK_REAL16) typed_vdata[sum_indices];
#endif
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -1830,7 +1830,7 @@ int LocalReduce_Min_REAL4(int i, int weight_on, const void * const weight, CCTK_
#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \
inval = (out_type) typed_vdata[sum_indices];
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1858,7 +1858,7 @@ int LocalReduce_Min_REAL4(int i, int weight_on, const void * const weight, CCTK_
inval.Re = (CCTK_REAL16) typed_vdata[sum_indices];
#endif
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -1872,7 +1872,7 @@ int LocalReduce_Min_REAL4(int i, int weight_on, const void * const weight, CCTK_
#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \
inval = (out_type) typed_vdata[sum_indices];
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -1900,7 +1900,7 @@ int LocalReduce_Min_REAL4(int i, int weight_on, const void * const weight, CCTK_
inval.Re = (CCTK_REAL16) typed_vdata[sum_indices];
#endif
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -1914,7 +1914,7 @@ int LocalReduce_Min_REAL4(int i, int weight_on, const void * const weight, CCTK_
#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \
inval = (out_type) typed_vdata[sum_indices];
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
break;
@@ -1944,7 +1944,7 @@ int LocalReduce_Min_REAL8(int i, int weight_on, const void * const weight, CCTK_
#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \
inval = (out_type) typed_vdata[sum_indices];
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -2016,7 +2016,7 @@ int LocalReduce_Min_REAL8(int i, int weight_on, const void * const weight, CCTK_
inval.Re = (CCTK_REAL16) typed_vdata[sum_indices];
#endif
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -2029,7 +2029,7 @@ int LocalReduce_Min_REAL8(int i, int weight_on, const void * const weight, CCTK_
#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \
inval = (out_type) typed_vdata[sum_indices];
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -2056,7 +2056,7 @@ int LocalReduce_Min_REAL8(int i, int weight_on, const void * const weight, CCTK_
inval.Re = (CCTK_REAL16) typed_vdata[sum_indices];
#endif
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -2069,7 +2069,7 @@ int LocalReduce_Min_REAL8(int i, int weight_on, const void * const weight, CCTK_
#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \
inval = (out_type) typed_vdata[sum_indices];
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -2097,7 +2097,7 @@ int LocalReduce_Min_REAL8(int i, int weight_on, const void * const weight, CCTK_
inval.Re = (CCTK_REAL16) typed_vdata[sum_indices];
#endif
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -2111,7 +2111,7 @@ int LocalReduce_Min_REAL8(int i, int weight_on, const void * const weight, CCTK_
#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \
inval = (out_type) typed_vdata[sum_indices];
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -2139,7 +2139,7 @@ int LocalReduce_Min_REAL8(int i, int weight_on, const void * const weight, CCTK_
inval.Re = (CCTK_REAL16) typed_vdata[sum_indices];
#endif
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -2154,7 +2154,7 @@ int LocalReduce_Min_REAL8(int i, int weight_on, const void * const weight, CCTK_
inval = (out_type) typed_vdata[sum_indices];
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
break;
@@ -2184,7 +2184,7 @@ int LocalReduce_Min_REAL16(int i, int weight_on, const void * const weight, CCTK
#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \
inval = (out_type) typed_vdata[sum_indices];
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -2256,7 +2256,7 @@ int LocalReduce_Min_REAL16(int i, int weight_on, const void * const weight, CCTK
inval.Re = (CCTK_REAL16) typed_vdata[sum_indices];
#endif
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -2269,7 +2269,7 @@ int LocalReduce_Min_REAL16(int i, int weight_on, const void * const weight, CCTK
#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \
inval = (out_type) typed_vdata[sum_indices];
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -2296,7 +2296,7 @@ int LocalReduce_Min_REAL16(int i, int weight_on, const void * const weight, CCTK
inval.Re = (CCTK_REAL16) typed_vdata[sum_indices];
#endif
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -2309,7 +2309,7 @@ int LocalReduce_Min_REAL16(int i, int weight_on, const void * const weight, CCTK
#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \
inval = (out_type) typed_vdata[sum_indices];
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -2337,7 +2337,7 @@ int LocalReduce_Min_REAL16(int i, int weight_on, const void * const weight, CCTK
inval.Re = (CCTK_REAL16) typed_vdata[sum_indices];
#endif
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -2351,7 +2351,7 @@ int LocalReduce_Min_REAL16(int i, int weight_on, const void * const weight, CCTK
#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \
inval = (out_type) typed_vdata[sum_indices];
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -2379,7 +2379,7 @@ int LocalReduce_Min_REAL16(int i, int weight_on, const void * const weight, CCTK
inval.Re = (CCTK_REAL16) typed_vdata[sum_indices];
#endif
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0]; (num).Im = 0;
#define EXTRA_STEP(a, b)
@@ -2393,7 +2393,7 @@ int LocalReduce_Min_REAL16(int i, int weight_on, const void * const weight, CCTK
#define REDUCTION_PREOP_CAST(inval, typed_vdata,sum_indices, out_type) \
inval = (out_type) typed_vdata[sum_indices];
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
break;
@@ -2433,7 +2433,7 @@ int LocalReduce_Min_COMPLEX(int i, int weight_on, const void * const weight, CCT
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
@@ -2495,7 +2495,7 @@ int LocalReduce_Min_COMPLEX(int i, int weight_on, const void * const weight, CCT
(inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -2519,7 +2519,7 @@ int LocalReduce_Min_COMPLEX(int i, int weight_on, const void * const weight, CCT
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
@@ -2536,7 +2536,7 @@ int LocalReduce_Min_COMPLEX(int i, int weight_on, const void * const weight, CCT
(inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -2560,7 +2560,7 @@ int LocalReduce_Min_COMPLEX(int i, int weight_on, const void * const weight, CCT
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
@@ -2578,7 +2578,7 @@ int LocalReduce_Min_COMPLEX(int i, int weight_on, const void * const weight, CCT
(inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
@@ -2603,7 +2603,7 @@ int LocalReduce_Min_COMPLEX(int i, int weight_on, const void * const weight, CCT
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
@@ -2621,7 +2621,7 @@ int LocalReduce_Min_COMPLEX(int i, int weight_on, const void * const weight, CCT
(inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
@@ -2646,7 +2646,7 @@ int LocalReduce_Min_COMPLEX(int i, int weight_on, const void * const weight, CCT
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
break;
@@ -2687,7 +2687,7 @@ int LocalReduce_Min_COMPLEX8(int i, int weight_on, const void * const weight, CC
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
@@ -2749,7 +2749,7 @@ int LocalReduce_Min_COMPLEX8(int i, int weight_on, const void * const weight, CC
(inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -2773,7 +2773,7 @@ int LocalReduce_Min_COMPLEX8(int i, int weight_on, const void * const weight, CC
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
@@ -2790,7 +2790,7 @@ int LocalReduce_Min_COMPLEX8(int i, int weight_on, const void * const weight, CC
(inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -2814,7 +2814,7 @@ int LocalReduce_Min_COMPLEX8(int i, int weight_on, const void * const weight, CC
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
@@ -2832,7 +2832,7 @@ int LocalReduce_Min_COMPLEX8(int i, int weight_on, const void * const weight, CC
(inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
@@ -2857,7 +2857,7 @@ int LocalReduce_Min_COMPLEX8(int i, int weight_on, const void * const weight, CC
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
@@ -2875,7 +2875,7 @@ int LocalReduce_Min_COMPLEX8(int i, int weight_on, const void * const weight, CC
(inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
@@ -2900,7 +2900,7 @@ int LocalReduce_Min_COMPLEX8(int i, int weight_on, const void * const weight, CC
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
break;
@@ -2941,7 +2941,7 @@ int LocalReduce_Min_COMPLEX16(int i, int weight_on, const void * const weight, C
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
@@ -3003,7 +3003,7 @@ int LocalReduce_Min_COMPLEX16(int i, int weight_on, const void * const weight, C
(inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -3027,7 +3027,7 @@ int LocalReduce_Min_COMPLEX16(int i, int weight_on, const void * const weight, C
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
@@ -3044,7 +3044,7 @@ int LocalReduce_Min_COMPLEX16(int i, int weight_on, const void * const weight, C
(inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -3068,7 +3068,7 @@ int LocalReduce_Min_COMPLEX16(int i, int weight_on, const void * const weight, C
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
@@ -3086,7 +3086,7 @@ int LocalReduce_Min_COMPLEX16(int i, int weight_on, const void * const weight, C
(inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
@@ -3111,7 +3111,7 @@ int LocalReduce_Min_COMPLEX16(int i, int weight_on, const void * const weight, C
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
@@ -3129,7 +3129,7 @@ int LocalReduce_Min_COMPLEX16(int i, int weight_on, const void * const weight, C
(inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
@@ -3154,7 +3154,7 @@ int LocalReduce_Min_COMPLEX16(int i, int weight_on, const void * const weight, C
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
break;
@@ -3195,7 +3195,7 @@ int LocalReduce_Min_COMPLEX32(int i, int weight_on, const void * const weight, C
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
@@ -3257,7 +3257,7 @@ int LocalReduce_Min_COMPLEX32(int i, int weight_on, const void * const weight, C
(inval).Re = (CCTK_REAL) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -3281,7 +3281,7 @@ int LocalReduce_Min_COMPLEX32(int i, int weight_on, const void * const weight, C
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0];
#define EXTRA_STEP(a, b)
@@ -3298,7 +3298,7 @@ int LocalReduce_Min_COMPLEX32(int i, int weight_on, const void * const weight, C
(inval).Re = (CCTK_REAL4) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL4) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_COMPLEX8, output_numbers[i], weight_on, weight, input_array_offsets[i], indices, sum_indices, max_iter, iter, flag, actual_indices,input_array_strides, input_array_min_subscripts,input_array_dims,product)
@@ -3322,7 +3322,7 @@ int LocalReduce_Min_COMPLEX32(int i, int weight_on, const void * const weight, C
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
@@ -3340,7 +3340,7 @@ int LocalReduce_Min_COMPLEX32(int i, int weight_on, const void * const weight, C
(inval).Re = (CCTK_REAL8) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL8) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
@@ -3365,7 +3365,7 @@ int LocalReduce_Min_COMPLEX32(int i, int weight_on, const void * const weight, C
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
@@ -3383,7 +3383,7 @@ int LocalReduce_Min_COMPLEX32(int i, int weight_on, const void * const weight, C
(inval).Re = (CCTK_REAL16) (typed_vdata[sum_indices]).Re; (inval).Im = (CCTK_REAL16) (typed_vdata[sum_indices]).Im;
#define REDUCTION_OPERATION(Min, scalar) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if ((Min).Re > (scalar).Re) (Min).Re = (scalar).Re;};
#define REDUCTION_INITIAL(num) (num).Re = typed_vdata[0].Re; (num).Im = typed_vdata[0].Im;
#define EXTRA_STEP(a, b)
@@ -3408,7 +3408,7 @@ int LocalReduce_Min_COMPLEX32(int i, int weight_on, const void * const weight, C
#endif
#define REDUCTION_OPERATION(Min, scalar) if (Min > scalar) Min = scalar;
-#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if (Min > scalar) Min = scalar;
+#define WEIGHTED_REDUCTION_OPERATION(Min, scalar, weight) if(ABS(weight)>SMALL_NUMBER){if (Min > scalar) Min = scalar;};
#define REDUCTION_INITIAL(num) num = typed_vdata[0].Re;
#define EXTRA_STEP(a, b)
break;