Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist | |||
integer, | intent(in) | :: | row | |||
integer, | intent(in) | :: | col |
PURE FUNCTION dbcsr_distribution_processor(dist, row, col) & RESULT(processor) TYPE(dbcsr_distribution_obj), INTENT(IN) :: dist INTEGER, INTENT(IN) :: row, col INTEGER :: processor INTEGER :: c, r IF (ASSOCIATED(dist%d%row_map%low)) THEN ! instead of array_exists r = dist%d%row_map%low%data(row) ELSE r = row END IF IF (ASSOCIATED(dist%d%col_map%low)) THEN ! instead of array_exists c = dist%d%col_map%low%data(col) ELSE c = col END IF processor = dist%d%mp_env%mp%pgrid(dist%d%row_dist_block%low%data(r), & dist%d%col_dist_block%low%data(c)) END FUNCTION dbcsr_distribution_processor