2 ! { dg-options "-O -fbounds-check" }
5 MODULE PROCEDURE array_data_i1d
8 END TYPE array_i1d_type
10 TYPE(array_i1d_type
), POINTER :: low
11 END TYPE array_i1d_obj
13 TYPE(array_i1d_obj
) :: local_rows
14 LOGICAL :: local_indexing
20 FUNCTION array_data_i1d(array
) RESULT (DATA)
21 TYPE(array_i1d_obj
), INTENT(IN
) :: array
22 INTEGER, DIMENSION(:), POINTER :: DATA
23 IF (ASSOCIATED (array
%low
)) THEN
25 END FUNCTION array_data_i1d
26 SUBROUTINE dbcsr_make_index_list (matrix
, thread_redist
)
27 TYPE(dbcsr_obj
), INTENT(INOUT
) :: matrix
28 LOGICAL, INTENT(IN
) :: thread_redist
29 INTEGER, ALLOCATABLE
, DIMENSION(:, :) :: blki
30 INTEGER, DIMENSION(:), POINTER :: local_rows
, td
33 IF (nthreads
.GT
. 0 .AND
. thread_redist
) THEN
34 IF (matrix
%m
%local_indexing
) THEN
35 local_rows
=> array_data (matrix
%m
%local_rows
)
37 CALL dbcsr_build_row_index_inplace (thr_c
, nthreads
)
38 IF (matrix
%m
%local_indexing
) THEN
40 IF (td(local_rows(blki(1, blk
))) .EQ
. ithread
) THEN
45 END SUBROUTINE dbcsr_make_index_list