|
196 | 196 | @test isdiag(LowerTriangular(diagm(0 => [1,2,3,4])))
|
197 | 197 | @test !isdiag(UpperTriangular(rand(4, 4)))
|
198 | 198 | @test !isdiag(LowerTriangular(rand(4, 4)))
|
199 |
| - |
200 |
| - for A in [rand(4,4), zeros(4,4), diagm(1=>1:3), diagm(-2=>2:3)] |
201 |
| - U = UpperTriangular(A) |
202 |
| - UA = Array(U) |
203 |
| - L = LowerTriangular(A) |
204 |
| - LA = Array(L) |
205 |
| - UU = UnitUpperTriangular(A) |
206 |
| - UUA = Array(UU) |
207 |
| - UL = UnitLowerTriangular(A) |
208 |
| - ULA = Array(UL) |
209 |
| - for k in -size(A,1):size(A,2) |
210 |
| - @test istril(U, k) == istril(UA, k) |
211 |
| - @test istriu(L, k) == istriu(LA, k) |
212 |
| - @test istril(UU, k) == istril(UUA, k) |
213 |
| - @test istriu(UL, k) == istriu(ULA, k) |
214 |
| - end |
215 |
| - end |
216 |
| - for (T, f) in ((UnitUpperTriangular, istril), (UnitLowerTriangular, istriu)) |
217 |
| - A = Matrix{BigFloat}(undef, 2, 2) |
218 |
| - isupper = T === UnitUpperTriangular |
219 |
| - A[1+!isupper, 1+isupper] = 3 |
220 |
| - UU = T(A) |
221 |
| - UUA = Array(UU) |
222 |
| - for k in -size(A,1):size(A,2) |
223 |
| - @test f(UU, k) == f(UUA, k) |
224 |
| - end |
225 |
| - end |
226 | 199 | end
|
227 | 200 |
|
228 | 201 | # Test throwing in fallbacks for non BlasFloat/BlasComplex in A_rdiv_Bx!
|
@@ -761,15 +734,16 @@ end
|
761 | 734 | end
|
762 | 735 |
|
763 | 736 | @testset "istriu/istril forwards to parent" begin
|
764 |
| - @testset "$(nameof(typeof(M)))" for M in [Tridiagonal(rand(n-1), rand(n), rand(n-1)), |
| 737 | + @testset "$(nameof(typeof(M)))" for M in Any[Tridiagonal(rand(n-1), rand(n), rand(n-1)), |
765 | 738 | Tridiagonal(zeros(n-1), zeros(n), zeros(n-1)),
|
766 | 739 | Diagonal(randn(n)),
|
767 | 740 | Diagonal(zeros(n)),
|
| 741 | + rand(n,n), zeros(n,n), diagm(1=>1:n-1), diagm(-2=>1:n-2), |
768 | 742 | ]
|
769 | 743 | @testset for TriT in (UpperTriangular, UnitUpperTriangular, LowerTriangular, UnitLowerTriangular)
|
770 | 744 | U = TriT(M)
|
771 | 745 | A = Array(U)
|
772 |
| - for k in -n:n |
| 746 | + @testset for k in -n:n |
773 | 747 | @test istriu(U, k) == istriu(A, k)
|
774 | 748 | @test istril(U, k) == istril(A, k)
|
775 | 749 | end
|
|
787 | 761 | end
|
788 | 762 | end
|
789 | 763 |
|
| 764 | + @testset "partly initialized in unit triangular" begin |
| 765 | + for (T, f) in ((UnitUpperTriangular, istril), (UnitLowerTriangular, istriu)) |
| 766 | + A = Matrix{BigFloat}(undef, 2, 2) |
| 767 | + isupper = T === UnitUpperTriangular |
| 768 | + A[1+!isupper, 1+isupper] = 3 |
| 769 | + UU = T(A) |
| 770 | + UUA = Array(UU) |
| 771 | + for k in -size(A,1):size(A,2) |
| 772 | + @test f(UU, k) == f(UUA, k) |
| 773 | + end |
| 774 | + end |
| 775 | + end |
| 776 | + |
790 | 777 | @testset "Union eltype" begin
|
791 | 778 | M = Matrix{Union{Int,Missing}}(missing,2,2)
|
792 | 779 | U = triu(M)
|
|
0 commit comments