SUBROUTINE dbcsr_get_info(matrix, nblkrows_total, nblkcols_total, &
nfullrows_total, nfullcols_total, &
nblkrows_local, nblkcols_local, &
nfullrows_local, nfullcols_local, &
my_prow, my_pcol, &
local_rows, local_cols, proc_row_dist, proc_col_dist, &
row_blk_size, col_blk_size, row_blk_offset, col_blk_offset, &
distribution, name, matrix_type, data_type, &
group)
TYPE(dbcsr_type), INTENT(IN) :: matrix
INTEGER, INTENT(OUT), OPTIONAL :: nblkrows_total, nblkcols_total, nfullrows_total, &
nfullcols_total, nblkrows_local, nblkcols_local, nfullrows_local, nfullcols_local, &
my_prow, my_pcol
INTEGER, DIMENSION(:), OPTIONAL, POINTER :: local_rows, local_cols, proc_row_dist, &
proc_col_dist, &
row_blk_size, col_blk_size, &
row_blk_offset, col_blk_offset
TYPE(dbcsr_distribution_type), INTENT(OUT), &
OPTIONAL :: distribution
CHARACTER(len=*), INTENT(OUT), OPTIONAL :: name
CHARACTER, INTENT(OUT), OPTIONAL :: matrix_type
INTEGER, INTENT(OUT), OPTIONAL :: data_type, group
TYPE(dbcsr_dist_prv_obj) :: dist
TYPE(mp_comm_type) :: my_group
CALL dbcsr_get_info_prv(matrix=matrix%prv, &
nblkrows_total=nblkrows_total, &
nblkcols_total=nblkcols_total, &
nfullrows_total=nfullrows_total, &
nfullcols_total=nfullcols_total, &
nblkrows_local=nblkrows_local, &
nblkcols_local=nblkcols_local, &
nfullrows_local=nfullrows_local, &
nfullcols_local=nfullcols_local, &
my_prow=my_prow, &
my_pcol=my_pcol, &
local_rows=local_rows, &
local_cols=local_cols, &
proc_row_dist=proc_row_dist, &
proc_col_dist=proc_col_dist, &
row_blk_size=row_blk_size, &
col_blk_size=col_blk_size, &
row_blk_offset=row_blk_offset, &
col_blk_offset=col_blk_offset, &
distribution=dist, &
name=name, &
matrix_type=matrix_type, &
data_type=data_type, &
group=my_group)
IF (PRESENT(distribution)) THEN
distribution%prv = dist
END IF
IF (PRESENT(group)) group = my_group%get_handle()
END SUBROUTINE dbcsr_get_info