Sets a pointer, possibly using the buffers.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix |
Matrix to use |
||
type(dbcsr_data_obj), | intent(inout) | :: | pointer_any |
The pointer to set |
||
integer, | intent(in) | :: | rsize |
Row sizes of block to point to Column sizes of block to point to |
||
integer, | intent(in) | :: | csize |
Row sizes of block to point to Column sizes of block to point to |
||
logical, | intent(in) | :: | main_tr |
Whether block is transposed in the matrix |
||
integer, | intent(in) | :: | base_offset |
The block pointer |
SUBROUTINE dbcsr_set_block_pointer_any(matrix, pointer_any, & rsize, csize, main_tr, base_offset) !! Sets a pointer, possibly using the buffers. TYPE(dbcsr_type), INTENT(IN) :: matrix !! Matrix to use TYPE(dbcsr_data_obj), INTENT(INOUT) :: pointer_any !! The pointer to set INTEGER, INTENT(IN) :: rsize, csize !! Row sizes of block to point to !! Column sizes of block to point to LOGICAL, INTENT(IN) :: main_tr !! Whether block is transposed in the matrix INTEGER, INTENT(IN) :: base_offset !! The block pointer ! --------------------------------------------------------------------------- IF (main_tr) THEN CALL dbcsr_data_set_pointer(pointer_any, csize, rsize, & matrix%data_area, source_lb=base_offset) ELSE CALL dbcsr_data_set_pointer(pointer_any, rsize, csize, & matrix%data_area, source_lb=base_offset) END IF END SUBROUTINE dbcsr_set_block_pointer_any