agrees_with_real Function

private function agrees_with_real(val, correct, err)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: val
real, intent(in) :: correct
real, intent(in) :: err

Return Value logical


Contents

Source Code


Source Code

  function agrees_with_real(val, correct, err)
    use warning_helpers, only: is_zero
    real, intent(in) :: val, correct, err
    logical :: agrees_with_real
    call should_be(val, correct)
    if (is_zero(correct) .or. abs(correct) < 10.0**(-maxexponent(err)/4)) then
       agrees_with_real = abs(val) < err
    else
       agrees_with_real = (abs((val-correct)/correct) < err)
    end if
  end function agrees_with_real