check_copy Subroutine

subroutine check_copy(target, dist, reference)

Arguments

Type IntentOptional Attributes Name
type(dbcsr_type), intent(in) :: target
type(dbcsr_distribution_obj), intent(in) :: dist
real(kind=dp), intent(in) :: reference

Source Code

   SUBROUTINE check_copy(target, dist, reference)
      TYPE(dbcsr_type), INTENT(IN) :: target
      TYPE(dbcsr_distribution_obj), INTENT(IN) :: dist
      REAL(dp), INTENT(IN) :: reference

      CALL dbcsr_verify_matrix(target)
      IF (.NOT. ASSOCIATED(target%dist%d, dist%d)) DBCSR_ABORT("Target distribution changed")
      IF (TRIM(target%name) /= "target") DBCSR_ABORT("Target name changed")
      IF (ABS(dbcsr_checksum(target, pos=.TRUE.) - reference) > 1.0E-10_dp) &
         DBCSR_ABORT("Redistribution changed matrix data")
   END SUBROUTINE check_copy