53 USE ftest_common,
ONLY: init_mpi, finish_mpi, test_abort
54 USE test_idxlist_utils,
ONLY: check_idxlist, test_err_count, &
55 idxlist_pack_unpack_copy
58 TYPE(xt_idxlist) :: idxempty, idxempty_copy
59 INTEGER(xt_int_kind) :: no_idx(1)
60 TYPE(xt_stripe),
ALLOCATABLE :: stripes(:)
61 CHARACTER(len=*),
PARAMETER :: filename =
'test_idxempty_f.f90'
69 CALL check_idxlist(idxempty, no_idx(1:0))
71 idxempty_copy = idxlist_pack_unpack_copy(idxempty)
74 CALL check_idxlist(idxempty_copy, no_idx(1:0))
76 CALL check_intersection
80 IF (
ALLOCATED(stripes)) &
81 CALL test_abort(
"unexpected non-zero amount of stripes for &
85 CALL check_bounding_box
93 IF (test_err_count() /= 0)
CALL test_abort(
"non-zero error count", &
98 SUBROUTINE check_intersection
99 TYPE(xt_idxlist) :: intersection
102 CALL check_idxlist(intersection, no_idx(1:0))
105 END SUBROUTINE check_intersection
107 SUBROUTINE check_bounding_box
108 INTEGER,
PARAMETER :: ndims = 3
109 INTEGER(xt_int_kind),
PARAMETER :: global_start_index = 0
110 INTEGER(xt_int_kind) :: global_size(ndims)
111 TYPE(xt_bounds) :: bounds(ndims)
116 IF (any(bounds%size /= 0)) &
117 CALL test_abort(
"ERROR: non-zero boundings box for xt_idxempty in &
118 &xt_idxlist_get_bounding_box", &
120 END SUBROUTINE check_bounding_box
122 END PROGRAM test_idxempty
void xt_initialize(MPI_Comm default_comm)
Xt_idxlist xt_idxempty_new(void)
void xt_idxlist_get_index_stripes(Xt_idxlist idxlist, struct Xt_stripe **stripes, int *num_stripes)
void xt_idxlist_get_bounding_box(Xt_idxlist idxlist, unsigned ndim, const Xt_int global_size[ndim], Xt_int global_start_index, struct Xt_bounds bounds[ndim])
Xt_idxlist xt_idxlist_get_intersection(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst)
void xt_idxlist_delete(Xt_idxlist idxlist)