The main documentation of the Get_Values_ELL_Matrix Procedure contains additional explanation of this code listing.
subroutine Get_Values_ELL_Matrix (Values, ELLM) ! Input variable. type(ELL_Matrix_type), intent(in) :: ELLM ! Matrix to be queried. ! Input/Output variable. type(real,2,np), intent(inout) :: Values ! Values bare naked array. !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Verify requirements. VERIFY(Valid_State(ELLM),5) ! ELLM is valid. VERIFY(Valid_State_NP(Values),5) ! Values is valid. ! Values size checks. VERIFY(SIZE(Values,1) == Length_PE(ELLM%Row_Structure),5) VERIFY(SIZE(Values,2) == ELLM%Max_Nonzeros,5) ! Get the values. Values = ELLM%Values ! Verify guarantees. VERIFY(Valid_State(ELLM),5) ! ELLM is still valid. return end subroutine Get_Values_ELL_Matrix