dbcsr_data_clear_pointer Subroutine

public subroutine dbcsr_data_clear_pointer(area)

Clears pointers from the data area.

Arguments

TypeIntentOptionalAttributesName
type(dbcsr_data_obj), intent(inout) :: area

data area


Contents


Source Code

   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