Sort stack entries with respect to the c_id.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in), | DIMENSION(dbcsr_ps_width, stack_size) | :: | params_in | ||
integer, | intent(out), | DIMENSION(dbcsr_ps_acc_width, stack_size) | :: | params_out | ||
integer, | intent(in) | :: | stack_size |
SUBROUTINE stack_sort(params_in, params_out, stack_size) !! Sort stack entries with respect to the c_id. INTEGER, INTENT(IN) :: stack_size INTEGER, & DIMENSION(dbcsr_ps_acc_width, stack_size), & INTENT(OUT) :: params_out INTEGER, DIMENSION(dbcsr_ps_width, stack_size), & INTENT(IN) :: params_in INTEGER :: i INTEGER, DIMENSION(stack_size) :: c_sort, c_sort_ind ! sort by the C-blocks c_sort = params_in(6, :stack_size) CALL sort(c_sort, stack_size, c_sort_ind) DO i = 1, stack_size params_out(1:3, i) = params_in(4:6, c_sort_ind(i)) END DO END SUBROUTINE stack_sort