1- using Test: @test , @test_broken , @testset
21using LinearAlgebra: Adjoint, Diagonal
2+ using Test: @test , @test_broken , @testset
3+ using TestExtras: @constinferred
34using TypeParameterAccessors: NDims, similartype
45
56@testset " TypeParameterAccessors similartype" begin
@@ -10,10 +11,14 @@ using TypeParameterAccessors: NDims, similartype
1011 @test similartype (Array, NDims (2 )) == Matrix
1112 @test similartype (Array, Float64, (2 , 2 )) == Matrix{Float64}
1213 @test similartype (Array, Float64, NDims (2 )) == Matrix{Float64}
14+
15+ # Adjoint
1316 @test similartype (Adjoint{Float32,Matrix{Float32}}, Float64, (2 , 2 , 2 )) ==
1417 Array{Float64,3 }
1518 @test similartype (Adjoint{Float32,Matrix{Float32}}, Float64, NDims (3 )) == Array{Float64,3 }
1619 @test similartype (Adjoint{Float32,Matrix{Float32}}, Float64) == Matrix{Float64}
20+
21+ # Diagonal
1722 @test similartype (Diagonal{Float32,Vector{Float32}}) == Matrix{Float32}
1823 @test similartype (Diagonal{Float32,Vector{Float32}}, Float64) == Matrix{Float64}
1924 @test similartype (Diagonal{Float32,Vector{Float32}}, (2 , 2 , 2 )) == Array{Float32,3 }
@@ -22,4 +27,18 @@ using TypeParameterAccessors: NDims, similartype
2227 Array{Float64,3 }
2328 @test similartype (Diagonal{Float32,Vector{Float32}}, Float64, NDims (3 )) ==
2429 Array{Float64,3 }
30+
31+ # BitArray
32+ @test @constinferred (similartype (BitArray)) == BitArray
33+ @test @constinferred (similartype (BitVector)) == BitVector
34+ @test @constinferred (similartype (BitArray, (2 , 2 , 2 ))) == BitArray{3 }
35+ @test @constinferred (similartype (BitVector, (2 , 2 , 2 ))) == BitArray{3 }
36+ @test @constinferred (similartype (BitArray, NDims (3 ))) == BitArray{3 }
37+ @test @constinferred (similartype (BitVector, NDims (3 ))) == BitArray{3 }
38+ @test @constinferred (similartype (BitArray, Float32)) == Array{Float32}
39+ @test @constinferred (similartype (BitVector, Float32)) == Vector{Float32}
40+ @test @constinferred (similartype (BitArray, Float32, (2 , 2 , 2 ))) == Array{Float32,3 }
41+ @test @constinferred (similartype (BitVector, Float32, (2 , 2 , 2 ))) == Array{Float32,3 }
42+ @test @constinferred (similartype (BitArray, Float32, NDims (3 ))) == Array{Float32,3 }
43+ @test @constinferred (similartype (BitVector, Float32, NDims (3 ))) == Array{Float32,3 }
2544end
0 commit comments