From 061727bed2d8036e2d69a332d57d87f50a25737e Mon Sep 17 00:00:00 2001 From: yye00 Date: Sun, 29 Aug 2004 09:20:01 +0000 Subject: most minor fixes and indentation stuff git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/LocalReduce/trunk@32 7daa882c-dc44-4453-834e-278d26b18e6a --- src/ReductionAvg.c | 114 ++++++++++++++++++++++++++----------------------- src/ReductionCount.c | 99 ++++++++++++++++++++++-------------------- src/ReductionMax.c | 113 ++++++++++++++++++++++++++---------------------- src/ReductionMin.c | 112 ++++++++++++++++++++++++++---------------------- src/ReductionNorm1.c | 112 ++++++++++++++++++++++++++---------------------- src/ReductionNorm2.c | 112 ++++++++++++++++++++++++++---------------------- src/ReductionNorm3.c | 112 ++++++++++++++++++++++++++---------------------- src/ReductionNorm4.c | 112 ++++++++++++++++++++++++++---------------------- src/ReductionNormInf.c | 111 +++++++++++++++++++++++++---------------------- src/ReductionSum.c | 112 ++++++++++++++++++++++++++---------------------- 10 files changed, 594 insertions(+), 515 deletions(-) (limited to 'src') 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); -- cgit v1.2.3