Clears pointers from the data area.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_data_obj), | intent(inout) | :: | area |
data area |
SUBROUTINE dbcsr_data_clear_pointer(area)
!! Clears pointers from the data area.
TYPE(dbcsr_data_obj), INTENT(INOUT) :: area
!! data area
IF (.NOT. ASSOCIATED(area%d)) THEN
RETURN
END IF
IF (area%d%refcount .LE. 0) &
DBCSR_WARN("Data seems to be unreferenced.")
SELECT CASE (area%d%data_type)
CASE (dbcsr_type_int_4)
NULLIFY (area%d%i4)
CASE (dbcsr_type_int_8)
NULLIFY (area%d%i8)
CASE (dbcsr_type_real_4)
NULLIFY (area%d%r_sp)
CASE (dbcsr_type_real_8)
NULLIFY (area%d%r_dp)
CASE (dbcsr_type_complex_4)
NULLIFY (area%d%c_sp)
CASE (dbcsr_type_complex_8)
NULLIFY (area%d%c_dp)
CASE (dbcsr_type_real_8_2d)
NULLIFY (area%d%r2_dp)
CASE (dbcsr_type_real_4_2d)
NULLIFY (area%d%r2_sp)
CASE (dbcsr_type_complex_8_2d)
NULLIFY (area%d%c2_dp)
CASE (dbcsr_type_complex_4_2d)
NULLIFY (area%d%c2_sp)
CASE default
DBCSR_ABORT("Invalid data type.")
END SELECT
END SUBROUTINE dbcsr_data_clear_pointer