From a07a909f4e566d41cbabaab8587cecb73abf6ee3 Mon Sep 17 00:00:00 2001 From: Andreas Noack Date: Wed, 29 May 2019 16:46:47 +0200 Subject: [PATCH] Use max instead of + when combining abs- and relstep. --- src/finitediff.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/finitediff.jl b/src/finitediff.jl index b170324..546276e 100644 --- a/src/finitediff.jl +++ b/src/finitediff.jl @@ -7,11 +7,11 @@ Compute the finite difference interval epsilon. Reference: Numerical Recipes, chapter 5.7. =# @inline function compute_epsilon(::Type{Val{:forward}}, x::T, relstep::Real, absstep::Real) where T<:Number - return relstep*abs(x) + absstep + return max(relstep*abs(x), absstep) end @inline function compute_epsilon(::Type{Val{:central}}, x::T, relstep::Real, absstep::Real) where T<:Number - return relstep*abs(x) + absstep + return max(relstep*abs(x), absstep) end @inline function compute_epsilon(::Type{Val{:complex}}, x::T, ::Union{Nothing,T}=nothing, ::Union{Nothing,T}=nothing) where T<:Real