|
908 | 908 | end
|
909 | 909 | end
|
910 | 910 |
|
| 911 | +# https://github.com/JuliaLang/julia/pull/45793 |
| 912 | +@testset "insertdims" begin |
| 913 | + a = rand(8, 7) |
| 914 | + @test @inferred(insertdims(a, dims=1)) == @inferred(insertdims(a, dims=(1,))) == reshape(a, (1, 8, 7)) |
| 915 | + @test @inferred(insertdims(a, dims=3)) == @inferred(insertdims(a, dims=(3,))) == reshape(a, (8, 7, 1)) |
| 916 | + @test @inferred(insertdims(a, dims=(1, 3))) == reshape(a, (1, 8, 1, 7)) |
| 917 | + @test @inferred(insertdims(a, dims=(1, 2, 3))) == reshape(a, (1, 1, 1, 8, 7)) |
| 918 | + @test @inferred(insertdims(a, dims=(1, 4))) == reshape(a, (1, 8, 7, 1)) |
| 919 | + @test @inferred(insertdims(a, dims=(1, 3, 5))) == reshape(a, (1, 8, 1, 7, 1)) |
| 920 | + @test @inferred(insertdims(a, dims=(1, 2, 4, 6))) == reshape(a, (1, 1, 8, 1, 7, 1)) |
| 921 | + @test @inferred(insertdims(a, dims=(1, 3, 4, 6))) == reshape(a, (1, 8, 1, 1, 7, 1)) |
| 922 | + @test @inferred(insertdims(a, dims=(1, 4, 6, 3))) == reshape(a, (1, 8, 1, 1, 7, 1)) |
| 923 | + @test @inferred(insertdims(a, dims=(1, 3, 5, 6))) == reshape(a, (1, 8, 1, 7, 1, 1)) |
| 924 | + |
| 925 | + @test_throws ArgumentError insertdims(a, dims=(1, 1, 2, 3)) |
| 926 | + @test_throws ArgumentError insertdims(a, dims=(1, 2, 2, 3)) |
| 927 | + @test_throws ArgumentError insertdims(a, dims=(1, 2, 3, 3)) |
| 928 | + @test_throws UndefKeywordError insertdims(a) |
| 929 | + @test_throws ArgumentError insertdims(a, dims=0) |
| 930 | + @test_throws ArgumentError insertdims(a, dims=(1, 2, 1)) |
| 931 | + @test_throws ArgumentError insertdims(a, dims=4) |
| 932 | + @test_throws ArgumentError insertdims(a, dims=6) |
| 933 | + |
| 934 | + # insertdims and dropdims are inverses |
| 935 | + b = rand(1,1,1,5,1,1,7) |
| 936 | + for dims in [1, (1,), 2, (2,), 3, (3,), (1,3), (1,2,3), (1,2), (1,3,5), (1,2,5,6), (1,3,5,6), (1,3,5,6), (1,6,5,3)] |
| 937 | + @test dropdims(insertdims(a; dims); dims) == a |
| 938 | + @test insertdims(dropdims(b; dims); dims) == b |
| 939 | + end |
| 940 | +end |
| 941 | + |
911 | 942 | # https://github.com/JuliaLang/julia/pull/54653: add Fix
|
912 | 943 | @testset "Fix" begin
|
913 | 944 | function test_fix1(Fix1=Compat.Fix1)
|
|
0 commit comments