aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryye00 <yye00@7daa882c-dc44-4453-834e-278d26b18e6a>2004-08-29 09:20:01 +0000
committeryye00 <yye00@7daa882c-dc44-4453-834e-278d26b18e6a>2004-08-29 09:20:01 +0000
commit061727bed2d8036e2d69a332d57d87f50a25737e (patch)
treee015c1e4e4d03f2e287ce16568d99e57a2412bc2
parentc1c50ea29ff0cb0d21ac8b048a8bf76317d12fb2 (diff)
most minor fixes and indentation stuff
git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/LocalReduce/trunk@32 7daa882c-dc44-4453-834e-278d26b18e6a
-rw-r--r--interface.ccl2
-rw-r--r--src/ReductionAvg.c114
-rw-r--r--src/ReductionCount.c99
-rw-r--r--src/ReductionMax.c113
-rw-r--r--src/ReductionMin.c112
-rw-r--r--src/ReductionNorm1.c112
-rw-r--r--src/ReductionNorm2.c112
-rw-r--r--src/ReductionNorm3.c112
-rw-r--r--src/ReductionNorm4.c112
-rw-r--r--src/ReductionNormInf.c111
-rw-r--r--src/ReductionSum.c112
11 files changed, 595 insertions, 516 deletions
diff --git a/interface.ccl b/interface.ccl
index 749e788..c65c82f 100644
--- a/interface.ccl
+++ b/interface.ccl
@@ -1,4 +1,4 @@
# Interface definition for thorn LocalReduce
# $Header$
-Implements: Reduce
+Implements: LocalReduce
diff --git a/src/ReductionAvg.c b/src/ReductionAvg.c
index 4191220..b385d59 100644
--- a/src/ReductionAvg.c
+++ b/src/ReductionAvg.c
@@ -194,14 +194,14 @@ static int ReductionAvg (int N_dims, int operator_handle,
/* for strides and subscripts get values from param table (it they exist) */
if ( Util_TableQueryNKeys(param_table_handle) != 0)
{
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_input_arrays, input_array_offsets, "input_array_offsets");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_strides, "input_array_strides");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_input_arrays, input_array_offsets, "input_array_offsets");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_strides, "input_array_strides");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_max_subscripts, "input_array_max_subscripts");
}
/* for masks get values from param table (it they exist) */
@@ -243,7 +243,7 @@ static int ReductionAvg (int N_dims, int operator_handle,
#define REDUCTION_OPERATION(avg, scalar) avg = avg + scalar;
#define REDUCTION_INITIAL(num) num = 0;
-#define EXTRA_STEP(a, b) a = a/b;
+#define EXTRA_STEP(a, b)
for (i = 0; i < N_input_arrays; i++)
{
@@ -294,9 +294,9 @@ static int ReductionAvg (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -362,9 +362,9 @@ static int ReductionAvg (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -431,9 +431,9 @@ static int ReductionAvg (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -501,9 +501,9 @@ static int ReductionAvg (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -571,9 +571,9 @@ static int ReductionAvg (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -641,9 +641,9 @@ static int ReductionAvg (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -710,9 +710,9 @@ static int ReductionAvg (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -779,9 +779,9 @@ static int ReductionAvg (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -849,9 +849,9 @@ static int ReductionAvg (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -875,8 +875,8 @@ static int ReductionAvg (int N_dims, int operator_handle,
}
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
+ #ifdef CCTK_REAL16
+ case CCTK_VARIABLE_REAL16:
switch (output_number_type_codes[i])
{
/* out values type switches*/
@@ -919,9 +919,9 @@ static int ReductionAvg (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -988,9 +988,9 @@ static int ReductionAvg (int N_dims, int operator_handle,
/* 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)*/
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
-/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL6, output_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)*/
+ #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)*/
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1057,9 +1057,9 @@ static int ReductionAvg (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1127,9 +1127,9 @@ static int ReductionAvg (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1197,9 +1197,9 @@ static int ReductionAvg (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1226,6 +1226,14 @@ static int ReductionAvg (int N_dims, int operator_handle,
}
}
+ /* store the number of points in the paramater table */
+ if ( Util_TableQueryNKeys(param_table_handle) != 0)
+ {
+ ierr = Util_TableSetInt(param_table_handle, num_points, "num_points");
+ ierr = Util_TableSetInt(param_table_handle, 3,"mpi_operation");
+ ierr = Util_TableSetInt(param_table_handle, 0,"perform_division");
+ }
+
/* free memory */
free (iters_per_dim);
free (indices);
diff --git a/src/ReductionCount.c b/src/ReductionCount.c
index 52b29c3..bbb25cd 100644
--- a/src/ReductionCount.c
+++ b/src/ReductionCount.c
@@ -204,7 +204,7 @@ static int ReductionCount (int N_dims, int operator_handle,
ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
N_dims, input_array_min_subscripts, "input_array_min_subscripts");
ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ N_dims, input_array_max_subscripts, "input_array_max_subscripts");
}
/* for masks get values from param table (it they exist) */
@@ -250,7 +250,6 @@ static int ReductionCount (int N_dims, int operator_handle,
for (i = 0; i < N_input_arrays; i++)
{
- printf("\n number of points: %d,iter:%d, max iter is:%d", num_points,iter,max_iter);
/* Do the type matching */
switch (input_array_type_codes[i])
{
@@ -298,9 +297,9 @@ static int ReductionCount (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -366,9 +365,9 @@ static int ReductionCount (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -435,9 +434,9 @@ static int ReductionCount (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -505,9 +504,9 @@ static int ReductionCount (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -575,9 +574,9 @@ static int ReductionCount (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -645,9 +644,9 @@ static int ReductionCount (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -714,9 +713,9 @@ static int ReductionCount (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -783,9 +782,9 @@ static int ReductionCount (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -853,9 +852,9 @@ static int ReductionCount (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -879,8 +878,8 @@ static int ReductionCount (int N_dims, int operator_handle,
}
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
+ #ifdef CCTK_REAL16
+ case CCTK_VARIABLE_REAL16:
switch (output_number_type_codes[i])
{
/* out values type switches*/
@@ -923,9 +922,9 @@ static int ReductionCount (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -992,9 +991,9 @@ static int ReductionCount (int N_dims, int operator_handle,
/* 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)*/
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
-/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL6, output_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)*/
+ #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)*/
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1061,9 +1060,9 @@ static int ReductionCount (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1131,9 +1130,9 @@ static int ReductionCount (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1201,9 +1200,9 @@ static int ReductionCount (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1229,6 +1228,14 @@ static int ReductionCount (int N_dims, int operator_handle,
#endif
}
}
+
+ /* store the number of points in the paramater table */
+ if ( Util_TableQueryNKeys(param_table_handle) != 0)
+ {
+ ierr = Util_TableSetInt(param_table_handle, num_points, "num_points");
+ ierr = Util_TableSetInt(param_table_handle, 3,"mpi_operation");
+ ierr = Util_TableSetInt(param_table_handle, 1,"perform_division");
+ }
return (0);
}
diff --git a/src/ReductionMax.c b/src/ReductionMax.c
index 453cc10..8ef32f6 100644
--- a/src/ReductionMax.c
+++ b/src/ReductionMax.c
@@ -198,14 +198,14 @@ static int ReductionMax (int N_dims, int operator_handle,
/* for strides and subscripts get values from param table (it they exist) */
if ( Util_TableQueryNKeys(param_table_handle) != 0)
{
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_input_arrays, input_array_offsets, "input_array_offsets");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_strides, "input_array_strides");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_input_arrays, input_array_offsets, "input_array_offsets");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_strides, "input_array_strides");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_max_subscripts, "input_array_max_subscripts");
}
/* for masks get values from param table (it they exist) */
@@ -298,9 +298,9 @@ static int ReductionMax (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -366,9 +366,9 @@ static int ReductionMax (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -435,9 +435,9 @@ static int ReductionMax (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -505,9 +505,9 @@ static int ReductionMax (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -575,9 +575,9 @@ static int ReductionMax (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -645,9 +645,9 @@ static int ReductionMax (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -714,9 +714,9 @@ static int ReductionMax (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -783,9 +783,9 @@ static int ReductionMax (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -853,9 +853,9 @@ static int ReductionMax (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -879,8 +879,8 @@ static int ReductionMax (int N_dims, int operator_handle,
}
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
+ #ifdef CCTK_REAL16
+ case CCTK_VARIABLE_REAL16:
switch (output_number_type_codes[i])
{
/* out values type switches*/
@@ -923,9 +923,9 @@ static int ReductionMax (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -992,9 +992,9 @@ static int ReductionMax (int N_dims, int operator_handle,
/* 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)*/
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
-/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL6, output_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)*/
+ #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)*/
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1061,9 +1061,9 @@ static int ReductionMax (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1131,9 +1131,9 @@ static int ReductionMax (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1201,9 +1201,9 @@ static int ReductionMax (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1229,6 +1229,15 @@ static int ReductionMax (int N_dims, int operator_handle,
#endif
}
}
+
+ /* store the number of points in the paramater table */
+ if ( Util_TableQueryNKeys(param_table_handle) != 0)
+ {
+ ierr = Util_TableSetInt(param_table_handle, num_points, "num_points");
+ ierr = Util_TableSetInt(param_table_handle, 1,"mpi_operation");
+ ierr = Util_TableSetInt(param_table_handle, 1,"perform_division");
+ }
+
/* free memory */
free (iters_per_dim);
free (indices);
diff --git a/src/ReductionMin.c b/src/ReductionMin.c
index ebfe389..6e78e90 100644
--- a/src/ReductionMin.c
+++ b/src/ReductionMin.c
@@ -194,14 +194,14 @@ static int ReductionMin (int N_dims, int operator_handle,
/* for strides and subscripts get values from param table (it they exist) */
if ( Util_TableQueryNKeys(param_table_handle) != 0)
{
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_input_arrays, input_array_offsets, "input_array_offsets");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_strides, "input_array_strides");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_input_arrays, input_array_offsets, "input_array_offsets");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_strides, "input_array_strides");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_max_subscripts, "input_array_max_subscripts");
}
/* for masks get values from param table (it they exist) */
@@ -294,9 +294,9 @@ static int ReductionMin (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -362,9 +362,9 @@ static int ReductionMin (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -431,9 +431,9 @@ static int ReductionMin (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -501,9 +501,9 @@ static int ReductionMin (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -571,9 +571,9 @@ static int ReductionMin (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -641,9 +641,9 @@ static int ReductionMin (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -710,9 +710,9 @@ static int ReductionMin (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -779,9 +779,9 @@ static int ReductionMin (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -849,9 +849,9 @@ static int ReductionMin (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -875,8 +875,8 @@ static int ReductionMin (int N_dims, int operator_handle,
}
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
+ #ifdef CCTK_REAL16
+ case CCTK_VARIABLE_REAL16:
switch (output_number_type_codes[i])
{
/* out values type switches*/
@@ -919,9 +919,9 @@ static int ReductionMin (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -988,9 +988,9 @@ static int ReductionMin (int N_dims, int operator_handle,
/* 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)*/
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
-/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL6, output_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)*/
+ #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)*/
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1057,9 +1057,9 @@ static int ReductionMin (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1127,9 +1127,9 @@ static int ReductionMin (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1197,9 +1197,9 @@ static int ReductionMin (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1226,6 +1226,14 @@ static int ReductionMin (int N_dims, int operator_handle,
}
}
+ /* store the number of points in the paramater table */
+ if ( Util_TableQueryNKeys(param_table_handle) != 0)
+ {
+ ierr = Util_TableSetInt(param_table_handle, num_points, "num_points");
+ ierr = Util_TableSetInt(param_table_handle, 2,"mpi_operation");
+ ierr = Util_TableSetInt(param_table_handle, 1,"perform_division");
+ }
+
/* free memory */
free (iters_per_dim);
free (indices);
diff --git a/src/ReductionNorm1.c b/src/ReductionNorm1.c
index dc7540c..8a83859 100644
--- a/src/ReductionNorm1.c
+++ b/src/ReductionNorm1.c
@@ -194,14 +194,14 @@ static int ReductionL1 (int N_dims, int operator_handle,
/* for strides and subscripts get values from param table (it they exist) */
if ( Util_TableQueryNKeys(param_table_handle) != 0)
{
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_input_arrays, input_array_offsets, "input_array_offsets");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_strides, "input_array_strides");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_input_arrays, input_array_offsets, "input_array_offsets");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_strides, "input_array_strides");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_max_subscripts, "input_array_max_subscripts");
}
/* for masks get values from param table (it they exist) */
@@ -302,9 +302,9 @@ static int ReductionL1 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -374,9 +374,9 @@ static int ReductionL1 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -447,9 +447,9 @@ static int ReductionL1 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -521,9 +521,9 @@ static int ReductionL1 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -595,9 +595,9 @@ static int ReductionL1 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -669,9 +669,9 @@ static int ReductionL1 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -742,9 +742,9 @@ static int ReductionL1 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -815,9 +815,9 @@ static int ReductionL1 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -889,9 +889,9 @@ static int ReductionL1 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -915,8 +915,8 @@ static int ReductionL1 (int N_dims, int operator_handle,
}
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
+ #ifdef CCTK_REAL16
+ case CCTK_VARIABLE_REAL16:
switch (output_number_type_codes[i])
{
/* out values type switches*/
@@ -959,9 +959,9 @@ static int ReductionL1 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1030,9 +1030,9 @@ static int ReductionL1 (int N_dims, int operator_handle,
/* 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)*/
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
-/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL6, output_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)*/
+ #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)*/
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1099,9 +1099,9 @@ static int ReductionL1 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1169,9 +1169,9 @@ static int ReductionL1 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1239,9 +1239,9 @@ static int ReductionL1 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1268,6 +1268,14 @@ static int ReductionL1 (int N_dims, int operator_handle,
}
}
+ /* store the number of points in the paramater table */
+ if ( Util_TableQueryNKeys(param_table_handle) != 0)
+ {
+ ierr = Util_TableSetInt(param_table_handle, num_points, "num_points");
+ ierr = Util_TableSetInt(param_table_handle, 3,"mpi_operation");
+ ierr = Util_TableSetInt(param_table_handle, 0,"perform_division");
+ }
+
/* free memory */
free (iters_per_dim);
free (indices);
diff --git a/src/ReductionNorm2.c b/src/ReductionNorm2.c
index dc25dba..97e8f4c 100644
--- a/src/ReductionNorm2.c
+++ b/src/ReductionNorm2.c
@@ -194,14 +194,14 @@ static int ReductionL2 (int N_dims, int operator_handle,
/* for strides and subscripts get values from param table (it they exist) */
if ( Util_TableQueryNKeys(param_table_handle) != 0)
{
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_input_arrays, input_array_offsets, "input_array_offsets");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_strides, "input_array_strides");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_input_arrays, input_array_offsets, "input_array_offsets");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_strides, "input_array_strides");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_max_subscripts, "input_array_max_subscripts");
}
/* for masks get values from param table (it they exist) */
@@ -299,9 +299,9 @@ static int ReductionL2 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -367,9 +367,9 @@ static int ReductionL2 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -436,9 +436,9 @@ static int ReductionL2 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -506,9 +506,9 @@ static int ReductionL2 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -576,9 +576,9 @@ static int ReductionL2 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -646,9 +646,9 @@ static int ReductionL2 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -715,9 +715,9 @@ static int ReductionL2 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -784,9 +784,9 @@ static int ReductionL2 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -854,9 +854,9 @@ static int ReductionL2 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -880,8 +880,8 @@ static int ReductionL2 (int N_dims, int operator_handle,
}
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
+ #ifdef CCTK_REAL16
+ case CCTK_VARIABLE_REAL16:
switch (output_number_type_codes[i])
{
/* out values type switches*/
@@ -924,9 +924,9 @@ static int ReductionL2 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -996,9 +996,9 @@ static int ReductionL2 (int N_dims, int operator_handle,
/* 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)*/
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
-/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL6, output_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)*/
+ #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)*/
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1065,9 +1065,9 @@ static int ReductionL2 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1135,9 +1135,9 @@ static int ReductionL2 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1205,9 +1205,9 @@ static int ReductionL2 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1234,6 +1234,14 @@ static int ReductionL2 (int N_dims, int operator_handle,
}
}
+ /* store the number of points in the paramater table */
+ if ( Util_TableQueryNKeys(param_table_handle) != 0)
+ {
+ ierr = Util_TableSetInt(param_table_handle, num_points, "num_points");
+ ierr = Util_TableSetInt(param_table_handle, 3,"mpi_operation");
+ ierr = Util_TableSetInt(param_table_handle, 0,"perform_division");
+ }
+
/* free memory */
free (iters_per_dim);
free (indices);
diff --git a/src/ReductionNorm3.c b/src/ReductionNorm3.c
index e94cfa6..261b04c 100644
--- a/src/ReductionNorm3.c
+++ b/src/ReductionNorm3.c
@@ -194,14 +194,14 @@ static int ReductionL3 (int N_dims, int operator_handle,
/* for strides and subscripts get values from param table (it they exist) */
if ( Util_TableQueryNKeys(param_table_handle) != 0)
{
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_input_arrays, input_array_offsets, "input_array_offsets");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_strides, "input_array_strides");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_input_arrays, input_array_offsets, "input_array_offsets");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_strides, "input_array_strides");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_max_subscripts, "input_array_max_subscripts");
}
/* for masks get values from param table (it they exist) */
@@ -300,9 +300,9 @@ static int ReductionL3 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -372,9 +372,9 @@ static int ReductionL3 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -445,9 +445,9 @@ static int ReductionL3 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -519,9 +519,9 @@ static int ReductionL3 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -593,9 +593,9 @@ static int ReductionL3 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -667,9 +667,9 @@ static int ReductionL3 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -740,9 +740,9 @@ static int ReductionL3 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -813,9 +813,9 @@ static int ReductionL3 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -887,9 +887,9 @@ static int ReductionL3 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -913,8 +913,8 @@ static int ReductionL3 (int N_dims, int operator_handle,
}
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
+ #ifdef CCTK_REAL16
+ case CCTK_VARIABLE_REAL16:
switch (output_number_type_codes[i])
{
/* out values type switches*/
@@ -957,9 +957,9 @@ static int ReductionL3 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1028,9 +1028,9 @@ static int ReductionL3 (int N_dims, int operator_handle,
/* 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)*/
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
-/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL6, output_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)*/
+ #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)*/
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1097,9 +1097,9 @@ static int ReductionL3 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1167,9 +1167,9 @@ static int ReductionL3 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1237,9 +1237,9 @@ static int ReductionL3 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1266,6 +1266,14 @@ static int ReductionL3 (int N_dims, int operator_handle,
}
}
+ /* store the number of points in the paramater table */
+ if ( Util_TableQueryNKeys(param_table_handle) != 0)
+ {
+ ierr = Util_TableSetInt(param_table_handle, num_points, "num_points");
+ ierr = Util_TableSetInt(param_table_handle, 3,"mpi_operation");
+ ierr = Util_TableSetInt(param_table_handle, 0,"perform_division");
+ }
+
/* free memory */
free (iters_per_dim);
free (indices);
diff --git a/src/ReductionNorm4.c b/src/ReductionNorm4.c
index 7cdbdf8..2bcaa30 100644
--- a/src/ReductionNorm4.c
+++ b/src/ReductionNorm4.c
@@ -194,14 +194,14 @@ static int ReductionL4 (int N_dims, int operator_handle,
/* for strides and subscripts get values from param table (it they exist) */
if ( Util_TableQueryNKeys(param_table_handle) != 0)
{
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_input_arrays, input_array_offsets, "input_array_offsets");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_strides, "input_array_strides");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_input_arrays, input_array_offsets, "input_array_offsets");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_strides, "input_array_strides");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_max_subscripts, "input_array_max_subscripts");
}
/* for masks get values from param table (it they exist) */
@@ -296,9 +296,9 @@ static int ReductionL4 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -364,9 +364,9 @@ static int ReductionL4 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -433,9 +433,9 @@ static int ReductionL4 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -503,9 +503,9 @@ static int ReductionL4 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -573,9 +573,9 @@ static int ReductionL4 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -643,9 +643,9 @@ static int ReductionL4 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -712,9 +712,9 @@ static int ReductionL4 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -781,9 +781,9 @@ static int ReductionL4 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -851,9 +851,9 @@ static int ReductionL4 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -877,8 +877,8 @@ static int ReductionL4 (int N_dims, int operator_handle,
}
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
+ #ifdef CCTK_REAL16
+ case CCTK_VARIABLE_REAL16:
switch (output_number_type_codes[i])
{
/* out values type switches*/
@@ -921,9 +921,9 @@ static int ReductionL4 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -993,9 +993,9 @@ static int ReductionL4 (int N_dims, int operator_handle,
/* 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)*/
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
-/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL6, output_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)*/
+ #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)*/
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1062,9 +1062,9 @@ static int ReductionL4 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1132,9 +1132,9 @@ static int ReductionL4 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1202,9 +1202,9 @@ static int ReductionL4 (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1231,6 +1231,14 @@ static int ReductionL4 (int N_dims, int operator_handle,
}
}
+ /* store the number of points in the paramater table */
+ if ( Util_TableQueryNKeys(param_table_handle) != 0)
+ {
+ ierr = Util_TableSetInt(param_table_handle, num_points, "num_points");
+ ierr = Util_TableSetInt(param_table_handle, 3,"mpi_operation");
+ ierr = Util_TableSetInt(param_table_handle, 0,"perform_division");
+ }
+
/* free memory */
free (iters_per_dim);
free (indices);
diff --git a/src/ReductionNormInf.c b/src/ReductionNormInf.c
index 6af73ad..e05e291 100644
--- a/src/ReductionNormInf.c
+++ b/src/ReductionNormInf.c
@@ -194,14 +194,14 @@ static int ReductionLInf (int N_dims, int operator_handle,
/* for strides and subscripts get values from param table (it they exist) */
if ( Util_TableQueryNKeys(param_table_handle) != 0)
{
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_input_arrays, input_array_offsets, "input_array_offsets");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_strides, "input_array_strides");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_input_arrays, input_array_offsets, "input_array_offsets");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_strides, "input_array_strides");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_max_subscripts, "input_array_max_subscripts");
}
/* for masks get values from param table (it they exist) */
@@ -307,9 +307,9 @@ static int ReductionLInf (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -379,9 +379,9 @@ static int ReductionLInf (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -452,9 +452,9 @@ static int ReductionLInf (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -526,9 +526,9 @@ static int ReductionLInf (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -600,9 +600,9 @@ static int ReductionLInf (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -674,9 +674,9 @@ static int ReductionLInf (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -747,9 +747,9 @@ static int ReductionLInf (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -820,9 +820,9 @@ static int ReductionLInf (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -894,9 +894,9 @@ static int ReductionLInf (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -920,8 +920,8 @@ static int ReductionLInf (int N_dims, int operator_handle,
}
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
+ #ifdef CCTK_REAL16
+ case CCTK_VARIABLE_REAL16:
switch (output_number_type_codes[i])
{
/* out values type switches*/
@@ -968,9 +968,9 @@ static int ReductionLInf (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1040,9 +1040,9 @@ static int ReductionLInf (int N_dims, int operator_handle,
/* 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)*/
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
-/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL6, output_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)*/
+ #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)*/
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1109,9 +1109,9 @@ static int ReductionLInf (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1179,9 +1179,9 @@ static int ReductionLInf (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1249,9 +1249,9 @@ static int ReductionLInf (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1278,6 +1278,13 @@ static int ReductionLInf (int N_dims, int operator_handle,
}
}
+ /* store the number of points in the paramater table */
+ if ( Util_TableQueryNKeys(param_table_handle) != 0)
+ {
+ ierr = Util_TableSetInt(param_table_handle, num_points, "num_points");
+ ierr = Util_TableSetInt(param_table_handle, 3,"mpi_operation");
+ ierr = Util_TableSetInt(param_table_handle, 0,"perform_division");
+ }
/* free memory */
free (iters_per_dim);
diff --git a/src/ReductionSum.c b/src/ReductionSum.c
index 3eaaf4f..fac4c79 100644
--- a/src/ReductionSum.c
+++ b/src/ReductionSum.c
@@ -194,14 +194,14 @@ static int ReductionSum (int N_dims, int operator_handle,
/* for strides and subscripts get values from param table (it they exist) */
if ( Util_TableQueryNKeys(param_table_handle) != 0)
{
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_input_arrays, input_array_offsets, "input_array_offsets");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_strides, "input_array_strides");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
- ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
- N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_input_arrays, input_array_offsets, "input_array_offsets");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_strides, "input_array_strides");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_min_subscripts, "input_array_min_subscripts");
+ ierr = Util_TableGetGenericArray(param_table_handle, CCTK_VARIABLE_INT,
+ N_dims, input_array_max_subscripts, "input_array_max_subscripts");
}
/* for masks get values from param table (it they exist) */
@@ -294,9 +294,9 @@ static int ReductionSum (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_BYTE, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -362,9 +362,9 @@ static int ReductionSum (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -431,9 +431,9 @@ static int ReductionSum (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT1, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -501,9 +501,9 @@ static int ReductionSum (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT2, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -571,9 +571,9 @@ static int ReductionSum (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -641,9 +641,9 @@ static int ReductionSum (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_INT8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -710,9 +710,9 @@ static int ReductionSum (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -779,9 +779,9 @@ static int ReductionSum (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL4, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -849,9 +849,9 @@ static int ReductionSum (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -875,8 +875,8 @@ static int ReductionSum (int N_dims, int operator_handle,
}
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
+ #ifdef CCTK_REAL16
+ case CCTK_VARIABLE_REAL16:
switch (output_number_type_codes[i])
{
/* out values type switches*/
@@ -919,9 +919,9 @@ static int ReductionSum (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_REAL16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -988,9 +988,9 @@ static int ReductionSum (int N_dims, int operator_handle,
/* 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)*/
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
-/* ITERATE_ON_ARRAY(i,CCTK_COMPLEX, input_arrays[i], CCTK_REAL6, output_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)*/
+ #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)*/
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1057,9 +1057,9 @@ static int ReductionSum (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX8, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1127,9 +1127,9 @@ static int ReductionSum (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX16, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1197,9 +1197,9 @@ static int ReductionSum (int N_dims, int operator_handle,
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)
break;
#endif
- #ifdef CCTK_REAL6
- case CCTK_VARIABLE_REAL6:
- ITERATE_ON_ARRAY(i,CCTK_COMPLEX32, input_arrays[i], CCTK_REAL6, output_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)
+ #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)
break;
#endif
case CCTK_VARIABLE_COMPLEX:
@@ -1226,6 +1226,14 @@ static int ReductionSum (int N_dims, int operator_handle,
}
}
+ /* store the number of points in the paramater table */
+ if ( Util_TableQueryNKeys(param_table_handle) != 0)
+ {
+ ierr = Util_TableSetInt(param_table_handle, num_points, "num_points");
+ ierr = Util_TableSetInt(param_table_handle, 3,"mpi_operation");
+ ierr = Util_TableSetInt(param_table_handle, 1,"perform_division");
+ }
+
/* free memory */
free (iters_per_dim);
free (indices);