G.2.7 Get_Columns_ELL_Matrix Procedure

The main documentation of the Get_Columns_ELL_Matrix Procedure contains additional explanation of this code listing.

  subroutine Get_Columns_ELL_Matrix (Columns, ELLM)

    ! Input variable.
    type(ELL_Matrix_type), intent(in) :: ELLM     ! Matrix to be queried.
    ! Input/Output variable.
    type(integer,2,np), intent(inout) :: Columns  ! Columns bare naked array.

    ! Verify requirements.
    VERIFY(Valid_State(ELLM),5)                         ! ELLM is valid.
    VERIFY(Valid_State_NP(Columns),5)                   ! Columns is valid.
    ! Columns size checks.
    VERIFY(SIZE(Columns,1) == Length_PE(ELLM%Row_Structure),5)  
    VERIFY(SIZE(Columns,2) == ELLM%Max_Nonzeros,5)  

    ! Get the columns.
    Columns = ELLM%Columns
    ! Verify guarantees.

    VERIFY(Valid_State(ELLM),5)                ! ELLM is still valid.

  end subroutine Get_Columns_ELL_Matrix

Michael L. Hall