ESMF_ArraySpecEQ Function

private impure elemental function ESMF_ArraySpecEQ(arrayspec1, arrayspec2)

Arguments

Type IntentOptional Attributes Name
type(ESMF_ArraySpec), intent(in) :: arrayspec1
type(ESMF_ArraySpec), intent(in) :: arrayspec2

Return Value logical


Calls

proc~~esmf_arrayspeceq~~CallsGraph proc~esmf_arrayspeceq ESMF_ArraySpecEQ proc~esmf_arrayspecgetinit ESMF_ArraySpecGetInit proc~esmf_arrayspeceq->proc~esmf_arrayspecgetinit proc~esmf_imerrs ESMF_IMErrS proc~esmf_arrayspeceq->proc~esmf_imerrs proc~esmf_initcheckshallow ESMF_InitCheckShallow proc~esmf_imerrs->proc~esmf_initcheckshallow proc~esmf_logfounderror ESMF_LogFoundError proc~esmf_imerrs->proc~esmf_logfounderror esmf_breakpoint esmf_breakpoint proc~esmf_logfounderror->esmf_breakpoint proc~esmf_logrc2msg ESMF_LogRc2Msg proc~esmf_logfounderror->proc~esmf_logrc2msg proc~esmf_logwrite ESMF_LogWrite proc~esmf_logfounderror->proc~esmf_logwrite c_esmc_loggeterrormsg c_esmc_loggeterrormsg proc~esmf_logrc2msg->c_esmc_loggeterrormsg c_esmc_vmwtime c_esmc_vmwtime proc~esmf_logwrite->c_esmc_vmwtime proc~esmf_logclose ESMF_LogClose proc~esmf_logwrite->proc~esmf_logclose proc~esmf_logflush ESMF_LogFlush proc~esmf_logwrite->proc~esmf_logflush proc~esmf_logopenfile ESMF_LogOpenFile proc~esmf_logwrite->proc~esmf_logopenfile proc~esmf_utiliounitflush ESMF_UtilIOUnitFlush proc~esmf_logwrite->proc~esmf_utiliounitflush proc~esmf_utilstring2array ESMF_UtilString2Array proc~esmf_logwrite->proc~esmf_utilstring2array

Called by

proc~~esmf_arrayspeceq~~CalledByGraph proc~esmf_arrayspeceq ESMF_ArraySpecEQ interface~operator(==)~15 operator(==) interface~operator(==)~15->proc~esmf_arrayspeceq proc~esmf_arrayspecne ESMF_ArraySpecNE proc~esmf_arrayspecne->proc~esmf_arrayspeceq interface~operator(SLASH=)~15 operator(/=) interface~operator(SLASH=)~15->proc~esmf_arrayspecne

Source Code

  impure elemental function ESMF_ArraySpecEQ(arrayspec1, arrayspec2)
!
! !RETURN VALUE:
    logical :: ESMF_ArraySpecEQ
!
! !ARGUMENTS:
    type(ESMF_ArraySpec), intent(in) :: arrayspec1
    type(ESMF_ArraySpec), intent(in) :: arrayspec2
!
! !DESCRIPTION:
!   This method overloads the (==) operator for the {\tt ESMF\_ArraySpec} class.
!   See "interface operator(==)" above for complete description.
!
!EOPI
!------------------------------------------------------------------------------
    integer :: localrc

    ! Initialize output value in case of error
    ESMF_ArraySpecEQ = .false.

    ! check inputs
    ESMF_INIT_CHECK_SHALLOW(ESMF_ArraySpecGetInit, arrayspec1, localrc)
    ESMF_INIT_CHECK_SHALLOW(ESMF_ArraySpecGetInit, arrayspec2, localrc)

    if ((arrayspec1%rank == arrayspec2%rank) .and. &
      arrayspec1%typekind == arrayspec2%typekind) &
      ESMF_ArraySpecEQ = .true.

  end function ESMF_ArraySpecEQ