diff --git a/test/testsuite/statistics.jl b/test/testsuite/statistics.jl index 5479c77e..e5332b56 100644 --- a/test/testsuite/statistics.jl +++ b/test/testsuite/statistics.jl @@ -5,31 +5,33 @@ using Statistics if !(ET in [Float16, Float32, Float64]) continue end + range = ET <: Real ? (ET(1):ET(100)) : ET + @testset "std" begin - @test compare(std, AT, rand(ET, 10)) - @test compare(std, AT, rand(ET, 10,1,2)) - @test compare(A->std(A; corrected=true), AT, rand(ET, 10,1,2)) - @test compare(A->std(A; dims=1), AT, rand(ET, 10,1,2)) + @test compare(std, AT, rand(range, 10)) + @test compare(std, AT, rand(range, 10, 1, 2)) + @test compare(A -> std(A; corrected = true), AT, rand(range, 10, 1, 2)) + @test compare(A -> std(A; dims = 1), AT, rand(range, 10, 1, 2)) end @testset "var" begin - @test compare(var, AT, rand(ET, 10)) - @test compare(var, AT, rand(ET, 10,1,2)) - @test compare(A->var(A; corrected=true), AT, rand(ET, 10,1,2)) - @test compare(A->var(A; dims=1), AT, rand(ET, 10,1,2)) - @test compare(A->var(A; dims=[1]), AT, rand(ET, 10,1,2)) - @test compare(A->var(A; dims=(1,)), AT, rand(ET, 10,1,2)) - @test compare(A->var(A; dims=[2,3]), AT, rand(ET, 10,1,2)) - @test compare(A->var(A; dims=(2,3)), AT, rand(ET, 10,1,2)) + @test compare(var, AT, rand(range, 10)) + @test compare(var, AT, rand(range, 10, 1, 2)) + @test compare(A -> var(A; corrected = true), AT, rand(range, 10, 1, 2)) + @test compare(A -> var(A; dims = 1), AT, rand(range, 10, 1, 2)) + @test compare(A -> var(A; dims = [1]), AT, rand(range, 10, 1, 2)) + @test compare(A -> var(A; dims = (1,)), AT, rand(range, 10, 1, 2)) + @test compare(A -> var(A; dims = [2, 3]), AT, rand(range, 10, 1, 2)) + @test compare(A -> var(A; dims = (2, 3)), AT, rand(range, 10, 1, 2)) end @testset "mean" begin - @test compare(mean, AT, rand(ET, 2, 2)) - @test compare(A->mean(A; dims=2), AT, rand(ET, 2, 2)) - @test compare(A->mean(A; dims=[1,3]), AT, rand(ET, 2, 2, 2)) - @test compare(A->mean(sin, A), AT, rand(ET, 2,2)) - @test compare(A->mean(sin, A; dims=2), AT, rand(ET, 2,2)) - @test compare(A->mean(sin, A; dims=[1,3]), AT, rand(ET, 2,2,2)) + @test compare(mean, AT, rand(range, 2, 2)) + @test compare(A -> mean(A; dims = 2), AT, rand(range, 2, 2)) + @test compare(A -> mean(A; dims = [1, 3]), AT, rand(range, 2, 2, 2)) + @test compare(A -> mean(sin, A), AT, rand(range, 2, 2)) + @test compare(A -> mean(sin, A; dims = 2), AT, rand(range, 2, 2)) + @test compare(A -> mean(sin, A; dims = [1, 3]), AT, rand(range, 2, 2, 2)) end end @@ -38,24 +40,20 @@ using Statistics if !(ET in [Float32, Float64, Float16, ComplexF64]) continue end + range = ET <: Real ? (ET(1):ET(100)) : ET + @testset "cov" begin s = 100 - @test compare(cov, AT, rand(ET, s)) - @test compare(cov, AT, rand(ET, s, 2)) - @test compare(A->cov(A; dims=2), AT, rand(ET, s, 2)) - if ET <: Real - @test compare(cov, AT, rand(ET(1):ET(100), s)) - end + @test compare(cov, AT, rand(range, s)) + @test compare(cov, AT, rand(range, s, 2)) + @test compare(A -> cov(A; dims = 2), AT, rand(range, s, 2)) end @testset "cor" begin s = 100 - @test compare(cor, AT, rand(ET, s)) nans=true - @test compare(cor, AT, rand(ET, s, 2)) nans=true - @test compare(A->cor(A; dims=2), AT, rand(ET, s, 2)) nans=true - if ET <: Real - @test compare(cor, AT, rand(ET(1):ET(100), s)) nans=true - end + @test compare(cor, AT, rand(range, s)) nans = true + @test compare(cor, AT, rand(range, s, 2)) nans = true + @test compare(A -> cor(A; dims = 2), AT, rand(range, s, 2)) nans = true end end end