Skip to content

Commit f4461b4

Browse files
cgeogaChris Geoga
and
Chris Geoga
authored
Change fallback unsafe_gamma for x::Real to x<:AbstractFloat. Add (#28)
* Change fallback unsafe_gamma for x::Real to x<:AbstractFloat. Add fallback for generic argument to default gamma function. * Remove unnecessary float conversion. * Final cleanup to unsafe_gamma. Bump version. * Remove commented line. Sorry for hasty push earlier. Co-authored-by: Chris Geoga <{ID}+{username}@users.noreply.github.com>
1 parent 720e95d commit f4461b4

File tree

2 files changed

+2
-4
lines changed

2 files changed

+2
-4
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "HypergeometricFunctions"
22
uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a"
3-
version = "0.3.1"
3+
version = "0.3.2"
44

55
[deps]
66
DualNumbers = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74"

src/specialfunctions.jl

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,15 +141,13 @@ const libm = Base.libm_name
141141

142142
unsafe_gamma(x::Float64) = ccall((:tgamma, libm), Float64, (Float64, ), x)
143143
unsafe_gamma(x::Float32) = ccall((:tgammaf, libm), Float32, (Float32, ), x)
144-
unsafe_gamma(x::Real) = unsafe_gamma(float(x))
145144
function unsafe_gamma(x::BigFloat)
146145
z = BigFloat()
147146
ccall((:mpfr_gamma, :libmpfr), Int32, (Ref{BigFloat}, Ref{BigFloat}, Int32), z, x, Base.MPFR.ROUNDING_MODE[])
148147
return z
149148
end
150-
unsafe_gamma(z::Complex) = gamma(z)
151149
unsafe_gamma(z::Dual) = (r = realpart(z);w = unsafe_gamma(r); dual(w, w*digamma(r)*dualpart(z)))
152-
150+
unsafe_gamma(z) = gamma(z)
153151
"""
154152
@lanczosratio(z, ϵ, c₀, c...)
155153

0 commit comments

Comments
 (0)