The main documentation of the Set_Not_Up_to_Date_ELL_Matrix Procedure contains additional explanation of this code listing.
subroutine Set_Not_Up_to_Date_ELLM (ELLM) ! Input/Output variable. type(ELL_Matrix_type), intent(inout) :: ELLM ! Variable to be set. !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Verify requirements. VERIFY(Valid_State(ELLM),5) ! ELLM is valid. ! Unset the updated? variables. ELLM%Average_is_Updated = .false. ELLM%Frobenius_Norm_is_Updated = .false. ELLM%Index_is_Updated = .false. ELLM%Infinity_Norm_is_Updated = .false. ELLM%Maximum_is_Updated = .false. ELLM%Minimum_is_Updated = .false. ELLM%One_Norm_is_Updated = .false. ELLM%Sum_is_Updated = .false. ELLM%Two_Norm_is_Updated = .false. ! Verify guarantees. VERIFY(Valid_State(ELLM),5) ! ELLM is still valid. return end subroutine Set_Not_Up_to_Date_ELLM