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