|
34 | 34 |
|
35 | 35 |
|
36 | 36 | @testset "Testing fit for Bernoulli" begin |
37 | | - for rng in ((), (rng,)), D in (Bernoulli, Bernoulli{Float64}) |
| 37 | + for rng in ((), (rng,)), D in (Bernoulli, Bernoulli{Float64}, Bernoulli{Float32}) |
38 | 38 | v = rand(rng..., n0) |
39 | | - z = rand(rng..., D(0.7), n0) |
| 39 | + z = rand(rng..., Bernoulli(0.7), n0) |
40 | 40 | for x in (z, OffsetArray(z, -n0 ÷ 2)), w in (v, OffsetArray(v, -n0 ÷ 2)) |
41 | 41 | ss = @inferred suffstats(D, x) |
42 | 42 | @test ss isa Distributions.BernoulliStats |
|
57 | 57 | @test mean(d) ≈ sum(v[z .== 1]) / sum(v) |
58 | 58 | end |
59 | 59 |
|
60 | | - z = rand(rng..., D(0.7), N) |
| 60 | + z = rand(rng..., Bernoulli(0.7), N) |
61 | 61 | for x in (z, OffsetArray(z, -N ÷ 2)) |
62 | 62 | d = @inferred fit(D, x) |
63 | 63 | @test d isa D |
|
82 | 82 | end |
83 | 83 |
|
84 | 84 | @testset "Testing fit for Binomial" begin |
85 | | - for rng in ((), (rng,)), D in (Binomial, Binomial{Float64}) |
| 85 | + for rng in ((), (rng,)), D in (Binomial, Binomial{Float64}, Binomial{Float32}) |
86 | 86 | v = rand(rng..., n0) |
87 | | - z = rand(rng..., D(100, 0.3), n0) |
| 87 | + z = rand(rng..., Binomial(100, 0.3), n0) |
88 | 88 | for x in (z, OffsetArray(z, -n0 ÷ 2)), w in (v, OffsetArray(v, -n0 ÷ 2)) |
89 | 89 | ss = @inferred suffstats(D, (100, x)) |
90 | 90 | @test ss isa Distributions.BinomialStats |
|
109 | 109 | @test succprob(d) ≈ dot(z, v) / (sum(v) * 100) |
110 | 110 | end |
111 | 111 |
|
112 | | - z = rand(rng..., D(100, 0.3), N) |
| 112 | + z = rand(rng..., Binomial(100, 0.3), N) |
113 | 113 | for x in (z, OffsetArray(z, -N ÷ 2)) |
114 | 114 | d = @inferred fit(D, 100, x) |
115 | 115 | @test d isa D |
@@ -291,18 +291,24 @@ end |
291 | 291 | end |
292 | 292 |
|
293 | 293 | @testset "Testing fit for Uniform" begin |
294 | | - for func in funcs, dist in (Uniform, Uniform{Float64}) |
295 | | - x = func[2](dist(1.2, 5.8), n0) |
296 | | - d = fit(dist, x) |
297 | | - @test isa(d, dist) |
298 | | - @test 1.2 <= minimum(d) <= maximum(d) <= 5.8 |
299 | | - @test minimum(d) == minimum(x) |
300 | | - @test maximum(d) == maximum(x) |
| 294 | + for rng in ((), (rng,)), D in (Uniform, Uniform{Float64}, Uniform{Float32}) |
| 295 | + z = rand(rng..., Uniform(1.2, 5.8), n0) |
| 296 | + for x in (z, OffsetArray(z, -n0 ÷ 2)) |
| 297 | + d = fit(D, x) |
| 298 | + @test d isa D |
| 299 | + @test 1.2 <= minimum(d) <= maximum(d) <= 5.8 |
| 300 | + @test minimum(d) == partype(d)(minimum(z)) |
| 301 | + @test maximum(d) == partype(d)(maximum(z)) |
| 302 | + end |
301 | 303 |
|
302 | | - d = fit(dist, func[2](dist(1.2, 5.8), N)) |
303 | | - @test 1.2 <= minimum(d) <= maximum(d) <= 5.8 |
304 | | - @test isapprox(minimum(d), 1.2, atol=0.02) |
305 | | - @test isapprox(maximum(d), 5.8, atol=0.02) |
| 304 | + z = rand(rng..., Uniform(1.2, 5.8), N) |
| 305 | + for x in (z, OffsetArray(z, -N ÷ 2)) |
| 306 | + d = fit(D, x) |
| 307 | + @test d isa D |
| 308 | + @test 1.2 <= minimum(d) <= maximum(d) <= 5.8 |
| 309 | + @test minimum(d) ≈ 1.2 atol=0.02 |
| 310 | + @test maximum(d) ≈ 5.8 atol=0.02 |
| 311 | + end |
306 | 312 | end |
307 | 313 | end |
308 | 314 |
|
|
0 commit comments