Skip to content

Commit a8e9189

Browse files
committed
Merge pull request #12169 from JuliaLang/ksh/mathtestsagain
Even more math tests, and a missing besselhx export
2 parents d8efc91 + 7a58818 commit a8e9189

File tree

5 files changed

+24
-10
lines changed

5 files changed

+24
-10
lines changed

base/exports.jl

+1
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,7 @@ export
457457
airyprime,
458458
airyx,
459459
besselh,
460+
besselhx,
460461
besseli,
461462
besselix,
462463
besselj,

base/math.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export sin, cos, tan, sinh, cosh, tanh, asin, acos, atan,
1818
besselj0, besselj1, besselj, besseljx,
1919
bessely0, bessely1, bessely, besselyx,
2020
hankelh1, hankelh2, hankelh1x, hankelh2x,
21-
besseli, besselix, besselk, besselkx, besselh,
21+
besseli, besselix, besselk, besselkx, besselh, besselhx,
2222
beta, lbeta, eta, zeta, polygamma, invdigamma, digamma, trigamma,
2323
erfinv, erfcinv, @evalpoly
2424

test/linalg/symmetric.jl

+2-2
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,15 @@ let n=10
9191
@test_approx_eq a * Hermitian(asym) a * asym
9292
@test_approx_eq Hermitian(asym) * Hermitian(asym) asym*asym
9393
@test_throws DimensionMismatch Hermitian(asym) * ones(eltya,n+1)
94-
Base.LinAlg.A_mul_B!(C,a,asym)
94+
Base.LinAlg.A_mul_B!(C,a,Hermitian(asym))
9595
@test_approx_eq C a*asym
9696
end
9797
if eltya <: Real && eltya != Int
9898
@test_approx_eq Symmetric(asym) * Symmetric(asym) asym*asym
9999
@test_approx_eq Symmetric(asym) * a asym * a
100100
@test_approx_eq a * Symmetric(asym) a * asym
101101
@test_throws DimensionMismatch Symmetric(asym) * ones(eltya,n+1)
102-
Base.LinAlg.A_mul_B!(C,a,asym)
102+
Base.LinAlg.A_mul_B!(C,a,Symmetric(asym))
103103
@test_approx_eq C a*asym
104104
end
105105

test/linalg2.jl

+3
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,9 @@ end
349349
@test UniformScaling(α)./α == UniformScaling(1.0)
350350
@test α + UniformScaling(1.0) == UniformScaling(1.0) + α
351351
@test α - UniformScaling(1.0) == -(UniformScaling(1.0) - α)
352+
@test copy(UniformScaling(one(Float64))) == UniformScaling(one(Float64))
353+
@test sprint(show,UniformScaling(one(Float32))) == "Base.LinAlg.UniformScaling{Float32}\n1.0*I"
354+
352355
λ = complex(randn(),randn())
353356
J = UniformScaling(λ)
354357
@test ndims(J) == 2

test/math.jl

+17-7
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,6 @@ end
130130
@test erfcinv(one(Int)) == erfcinv(1.0)
131131

132132
# airy
133-
@test_approx_eq airy(1.8) 0.0470362168668458052247
134133
@test_approx_eq airy(1.8) airyai(1.8)
135134
@test_approx_eq airyprime(1.8) -0.0685247801186109345638
136135
@test_approx_eq airyaiprime(1.8) airyprime(1.8)
@@ -140,12 +139,16 @@ end
140139
@test_throws Base.Math.AmosException airybi(200)
141140
@test_throws ArgumentError airy(5,one(Complex128))
142141
z = 1.8 + 1.0im
143-
@test_approx_eq airyx(z) airyx(0,z)
144-
@test_approx_eq airyx(0, z) airy(0, z) * exp(2/3 * z * sqrt(z))
145-
@test_approx_eq airyx(1, z) airy(1, z) * exp(2/3 * z * sqrt(z))
146-
@test_approx_eq airyx(2, z) airy(2, z) * exp(-abs(real(2/3 * z * sqrt(z))))
147-
@test_approx_eq airyx(3, z) airy(3, z) * exp(-abs(real(2/3 * z * sqrt(z))))
148-
@test_throws ArgumentError airyx(5,z)
142+
for elty in [Complex64,Complex128]
143+
@test_approx_eq airy(convert(elty,1.8)) 0.0470362168668458052247
144+
z = convert(elty,z)
145+
@test_approx_eq airyx(z) airyx(0,z)
146+
@test_approx_eq airyx(0, z) airy(0, z) * exp(2/3 * z * sqrt(z))
147+
@test_approx_eq airyx(1, z) airy(1, z) * exp(2/3 * z * sqrt(z))
148+
@test_approx_eq airyx(2, z) airy(2, z) * exp(-abs(real(2/3 * z * sqrt(z))))
149+
@test_approx_eq airyx(3, z) airy(3, z) * exp(-abs(real(2/3 * z * sqrt(z))))
150+
@test_throws ArgumentError airyx(5,z)
151+
end
149152

150153
# bessely0, bessely1, besselj0, besselj1
151154
@test_approx_eq besselj0(Float32(2.0)) besselj0(Float64(2.0))
@@ -206,6 +209,7 @@ j43 = besselj(4,3.)
206209
@test_approx_eq besselj(0.1, complex(-0.4)) 0.820421842809028916 + 0.266571215948350899im
207210
@test_approx_eq besselj(3.2, 1.3+0.6im) 0.01135309305831220201 + 0.03927719044393515275im
208211
@test_approx_eq besselj(1, 3im) 3.953370217402609396im
212+
@test_approx_eq besselj(1.0,3im) besselj(1,3im)
209213
@test_throws Base.Math.AmosException besselj(20,1000im)
210214

211215
# besselk
@@ -234,6 +238,12 @@ y33 = bessely(3,3.)
234238
@test_throws DomainError bessely(0.4,Float32(-1.0))
235239
@test_throws DomainError bessely(1,Float32(-1.0))
236240

241+
#besselhx
242+
for elty in [Complex64,Complex128]
243+
z = convert(elty, 1.0 + 1.9im)
244+
@test_approx_eq besselhx(1.0, 1, z) convert(elty,-0.5949634147786144 - 0.18451272807835967im)
245+
end
246+
237247
# issue #6653
238248
for f in (besselj,bessely,besseli,besselk,hankelh1,hankelh2)
239249
@test_approx_eq f(0,1) f(0,Complex128(1))

0 commit comments

Comments
 (0)