aboutsummaryrefslogtreecommitdiff
path: root/src/ReductionNorm3.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ReductionNorm3.c')
-rw-r--r--src/ReductionNorm3.c112
1 files changed, 60 insertions, 52 deletions
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);