dbcsr_t_map_bounds_to_tensors Subroutine

private subroutine dbcsr_t_map_bounds_to_tensors(tensor_1, tensor_2, contract_1, notcontract_1, contract_2, notcontract_2, bounds_t1, bounds_t2, bounds_1, bounds_2, bounds_3, do_crop_1, do_crop_2)

Map contraction bounds to bounds referring to tensor indices see dbcsr_t_contract for docu of dummy arguments


type(dbcsr_t_type), intent(in) :: tensor_1
type(dbcsr_t_type), intent(in) :: tensor_2
integer, intent(in), DIMENSION(:):: contract_1
integer, intent(in), DIMENSION(:):: notcontract_1
integer, intent(in), DIMENSION(:):: contract_2
integer, intent(in), DIMENSION(:):: notcontract_2
integer, intent(out), DIMENSION(2, ndims_tensor(tensor_1)):: bounds_t1

bounds mapped to tensor_1

integer, intent(out), DIMENSION(2, ndims_tensor(tensor_2)):: bounds_t2

bounds mapped to tensor_2

integer, intent(in), optional DIMENSION(2, SIZE(contract_1)):: bounds_1
integer, intent(in), optional DIMENSION(2, SIZE(notcontract_1)):: bounds_2
integer, intent(in), optional DIMENSION(2, SIZE(notcontract_2)):: bounds_3
logical, intent(out), optional :: do_crop_1

whether tensor 1 should be cropped whether tensor 2 should be cropped

logical, intent(out), optional :: do_crop_2

whether tensor 1 should be cropped whether tensor 2 should be cropped