diff --git a/NEWS.md b/NEWS.md index 665e84ce..d8caebd5 100644 --- a/NEWS.md +++ b/NEWS.md @@ -8,6 +8,14 @@ ([#103](https://github.com/JuliaPhysics/Measurements.jl/issues/103), [#104](https://github.com/JuliaPhysics/Measurements.jl/pull/104)). +### Deprecations + +* `factorial(a::Measurement)` is deprecated in favour of + `SpecialFunctions.gamma(a + 1)`, as a result of + `SpecialFunctions.factorial(a::AbstractFloat)` being removed in + `SpecialFunctions.jl` v2.0 + ([#111](https://github.com/JuliaPhysics/Measurements.jl/pull/111)). + ## v2.6.0 (2021-04-20) ### New features diff --git a/Project.toml b/Project.toml index 69b85014..427a1a11 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "Measurements" uuid = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" authors = ["Mosè Giordano "] -version = "2.6.0" +version = "2.7.0" [deps] Calculus = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" diff --git a/src/special-functions.jl b/src/special-functions.jl index 485fa685..8f7563e4 100644 --- a/src/special-functions.jl +++ b/src/special-functions.jl @@ -60,13 +60,7 @@ function SpecialFunctions.dawson(a::Measurement{T}) where {T<:AbstractFloat} return result(res, one(T) - 2 * aval * res, a) end -# Factorial and gamma - -function SpecialFunctions.factorial(a::Measurement) - aval = a.val - fact = SpecialFunctions.factorial(aval) - return result(fact, fact*digamma(aval + one(aval)), a) -end +# Gamma function SpecialFunctions.gamma(a::Measurement) aval = a.val @@ -226,3 +220,13 @@ function SpecialFunctions.besselkx(nu::Real, a::Measurement) besselk(nu, x)*exp(x), a) end + +# Deprecations +function Base.factorial(a::Measurement) + Base.depwarn(""" + factorial(($(a))::Measurement) is deprecated, instead use + SpecialFunctions.gamma($(a + one(a))) + """, + :factorial) + SpecialFunctions.gamma(a + one(a)) +end