Skip to content

Commit 2c949d7

Browse files
Update tests accordingly
1 parent 86d1910 commit 2c949d7

File tree

1 file changed

+20
-23
lines changed

1 file changed

+20
-23
lines changed

test/e_lgamma_r.jl

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,42 @@
11
# From openlibm/test/libm-test-ulps.h, openlibm/test/libm-test.c
22

3-
using SpecialFunctions: _lgamma_r, _lgammaf_r
4-
53
# lgamma_test block
6-
for (T, lgamma) in ((Float64, _lgamma_r), (Float32, _lgammaf_r))
4+
# for (T, lgamma) in ((Float64, _lgamma_r), (Float32, _lgammaf_r))
5+
for T in (Float64, Float32)
76
@testset "lgamma_test, $T" begin
8-
@test lgamma(T(Inf))[1] === T(Inf)
9-
@test lgamma(T(0))[1] === T(Inf)
10-
@test lgamma(T(NaN))[1] === T(NaN)
7+
@test logabsgamma(T(Inf))[1] === T(Inf)
8+
@test logabsgamma(T(0))[1] === T(Inf)
9+
@test logabsgamma(T(NaN))[1] === T(NaN)
1110

12-
@test lgamma(T(-3))[1] === T(Inf)
13-
@test lgamma(T(-Inf))[1] === T(Inf)
11+
@test logabsgamma(T(-3))[1] === T(Inf)
12+
@test logabsgamma(T(-Inf))[1] === T(Inf)
1413

15-
# lgamma(1) == 0, lgamma (1) sets signgam to 1
16-
y, signgam = labsgamma(T(1))
14+
# logabsgamma(1) == 0, lgamma (1) sets signgam to 1
15+
y, signgam = logabsgamma(T(1))
1716
@test y === T(0.0)
1817
@test signgam == 1
1918

20-
# lgamma(3) == log(2), lgamma (3) sets signgam to 1
21-
y, signgam = labsgamma(T(3))
19+
# logabsgamma(3) == log(2), lgamma (3) sets signgam to 1
20+
y, signgam = logabsgamma(T(3))
2221
@test y === log(T(2.0))
2322
@test signgam == 1
2423

25-
# lgamma(0.5) == log(sqrt(pi)), lgamma(0.5) sets signgam to 1
26-
y, signgam = labsgamma(T(0.5))
24+
# logabsgamma(0.5) == log(sqrt(pi)), logabsgamma(0.5) sets signgam to 1
25+
y, signgam = logabsgamma(T(0.5))
2726
@test y === T(0.5log(π))
2827
@test signgam == 1
2928

30-
# lgamma(-0.5) == log(2sqrt(pi)), lgamma(-0.5) sets signgam to -1
31-
y, signgam = labsgamma(T(-0.5))
29+
# logabsgamma(-0.5) == log(2sqrt(pi)), logabsgamma(-0.5) sets signgam to -1
30+
y, signgam = logabsgamma(T(-0.5))
3231
@test y === T(0.5log(4π))
3332
@test signgam == -1
3433

3534
# In the two "broken" tests, an exact match not possible, even
3635
# in Float64, thus, we check for as close a tolerance as
3736
# possible.
3837

39-
# lgamma(0.7) == 0.26086724653166651439, lgamma(0.7) sets signgam to 1
40-
y, signgam = labsgamma(T(0.7))
38+
# logabsgamma(0.7) == 0.26086724653166651439, logabsgamma(0.7) sets signgam to 1
39+
y, signgam = logabsgamma(T(0.7))
4140
# @test_broken y === 0.26086724653166651439
4241
if T === Float64
4342
@test y 0.26086724653166651439 atol=6e-17
@@ -46,8 +45,8 @@ for (T, lgamma) in ((Float64, _lgamma_r), (Float32, _lgammaf_r))
4645
end
4746
@test signgam == 1
4847

49-
# lgamma(1.2) == -0.853740900033158497197e-1, lgamma(1.2) sets signgam to 1
50-
y, signgam = labsgamma(T(1.2))
48+
# logabsgamma(1.2) == -0.853740900033158497197e-1, logabsgamma(1.2) sets signgam to 1
49+
y, signgam = logabsgamma(T(1.2))
5150
# @test_broken y === -0.853740900033158497197e-1
5251
if T === Float64
5352
@test y -0.853740900033158497197e-1 atol=2e-17
@@ -72,9 +71,7 @@ function openlibm_logabsgamma(x::Float32)
7271
return y, Int(signp[])
7372
end
7473

75-
meetstol(x::Float64, atol) = isapprox(openlibm_logabsgamma(x)[1], _lgamma_r(x)[1], atol=atol)
76-
meetstol(x::Float32, atol) = isapprox(openlibm_logabsgamma(x)[1], _lgammaf_r(x)[1], atol=atol)
77-
74+
meetstol(x, atol) = isapprox(openlibm_logabsgamma(x)[1], logabsgamma(x)[1], atol=atol)
7875

7976
@testset "logabsgamma validation against OpenLibm, Float64" begin
8077
@test all(x -> meetstol(x, 1e-13), -50:1e-4:50)

0 commit comments

Comments
 (0)