dbcsr_build_row_index_inplace Subroutine

private pure subroutine dbcsr_build_row_index_inplace(rows, nrows)

Builds row index array from a columns-per-row count, in-place.

Arguments

Type IntentOptional Attributes Name
integer, intent(inout), DIMENSION(1:nrows + 1) :: rows

count of the number of columns per row (input); the row_p index (output)

integer, intent(in) :: nrows

number of rows


Source Code

   PURE SUBROUTINE dbcsr_build_row_index_inplace(rows, nrows)
      !! Builds row index array from a columns-per-row count, in-place.

      INTEGER, INTENT(IN)                                :: nrows
         !! number of rows
      INTEGER, DIMENSION(1:nrows + 1), INTENT(INOUT)     :: rows
         !! count of the number of columns per row (input); the row_p index (output)

      INTEGER                                            :: o, old_count, row

      old_count = rows(1)
      rows(1) = 0
      IF (nrows .GE. 1) THEN
         DO row = 2, nrows + 1
            o = rows(row)
            rows(row) = rows(row - 1) + old_count
            old_count = o
         END DO
      END IF
   END SUBROUTINE dbcsr_build_row_index_inplace