releases the iteration_info (see doc/ReferenceCounting.html)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_iteration_info_type), | POINTER | :: | iteration_info |
the iteration_info to release |
SUBROUTINE dbcsr_iteration_info_release(iteration_info) !! releases the iteration_info (see doc/ReferenceCounting.html) TYPE(dbcsr_iteration_info_type), POINTER :: iteration_info !! the iteration_info to release CHARACTER(len=*), PARAMETER :: routineN = 'dbcsr_iteration_info_release', & routineP = moduleN//':'//routineN IF (ASSOCIATED(iteration_info)) THEN IF (iteration_info%ref_count <= 0) THEN DBCSR_ABORT(routineP//" iteration_info%ref_counf<=0") END IF iteration_info%ref_count = iteration_info%ref_count - 1 IF (iteration_info%ref_count == 0) THEN IF (ASSOCIATED(iteration_info%iteration)) THEN DEALLOCATE (iteration_info%iteration) END IF IF (ASSOCIATED(iteration_info%last_iter)) THEN DEALLOCATE (iteration_info%last_iter) END IF IF (ASSOCIATED(iteration_info%level_name)) THEN DEALLOCATE (iteration_info%level_name) END IF DEALLOCATE (iteration_info) END IF END IF END SUBROUTINE dbcsr_iteration_info_release