@@ -309,58 +309,56 @@ end
309
309
@test promote (C,A) isa Tuple{Tridiagonal, Tridiagonal}
310
310
end
311
311
312
- import Base. LinAlg: fillstored!, UnitLowerTriangular
312
+ using Base. LinAlg: fillstored!, UnitLowerTriangular
313
313
@testset " fill! and fillstored!" begin
314
- let # fill!
315
- let # fillstored!
316
- A = Tridiagonal (randn (2 ), randn (3 ), randn (2 ))
317
- @test fillstored! (A, 3 ) == Tridiagonal ([3 , 3. ], [3 , 3 , 3. ], [3 , 3. ])
318
- B = Bidiagonal (randn (3 ), randn (2 ), :U )
319
- @test fillstored! (B, 2 ) == Bidiagonal ([2. ,2 ,2 ], [2 ,2. ], :U )
320
- S = SymTridiagonal (randn (3 ), randn (2 ))
321
- @test fillstored! (S, 1 ) == SymTridiagonal ([1 ,1 ,1. ], [1 ,1. ])
322
- Ult = UnitLowerTriangular (randn (3 ,3 ))
323
- @test fillstored! (Ult, 3 ) == UnitLowerTriangular ([1 0 0 ; 3 1 0 ; 3 3 1 ])
324
- end
325
- let # fill!(exotic, 0)
326
- exotic_arrays = Any[Tridiagonal (randn (3 ), randn (4 ), randn (3 )),
327
- Bidiagonal (randn (3 ), randn (2 ), rand ([:U ,:L ])),
328
- SymTridiagonal (randn (3 ), randn (2 )),
329
- sparse (randn (3 ,4 )),
330
- # Diagonal(randn(5)), # Diagonal fill! deprecated, see below
331
- sparse (rand (3 )),
332
- # LowerTriangular(randn(3,3)), # AbstractTriangular fill! deprecated, see below
333
- # UpperTriangular(randn(3,3)) # AbstractTriangular fill! deprecated, see below
334
- ]
335
- for A in exotic_arrays
336
- fill! (A, 0 )
337
- for a in A
338
- @test a == 0
339
- end
314
+ let # fillstored!
315
+ A = Tridiagonal (randn (2 ), randn (3 ), randn (2 ))
316
+ @test fillstored! (A, 3 ) == Tridiagonal ([3 , 3. ], [3 , 3 , 3. ], [3 , 3. ])
317
+ B = Bidiagonal (randn (3 ), randn (2 ), :U )
318
+ @test fillstored! (B, 2 ) == Bidiagonal ([2. ,2 ,2 ], [2 ,2. ], :U )
319
+ S = SymTridiagonal (randn (3 ), randn (2 ))
320
+ @test fillstored! (S, 1 ) == SymTridiagonal ([1 ,1 ,1. ], [1 ,1. ])
321
+ Ult = UnitLowerTriangular (randn (3 ,3 ))
322
+ @test fillstored! (Ult, 3 ) == UnitLowerTriangular ([1 0 0 ; 3 1 0 ; 3 3 1 ])
323
+ end
324
+ let # fill!(exotic, 0)
325
+ exotic_arrays = Any[Tridiagonal (randn (3 ), randn (4 ), randn (3 )),
326
+ Bidiagonal (randn (3 ), randn (2 ), rand ([:U ,:L ])),
327
+ SymTridiagonal (randn (3 ), randn (2 )),
328
+ sparse (randn (3 ,4 )),
329
+ # Diagonal(randn(5)), # Diagonal fill! deprecated, see below
330
+ sparse (rand (3 )),
331
+ # LowerTriangular(randn(3,3)), # AbstractTriangular fill! deprecated, see below
332
+ # UpperTriangular(randn(3,3)) # AbstractTriangular fill! deprecated, see below
333
+ ]
334
+ for A in exotic_arrays
335
+ fill! (A, 0 )
336
+ for a in A
337
+ @test a == 0
340
338
end
341
- # Diagonal and AbstractTriangular fill! were defined as fillstored!,
342
- # not matching the general behavior of fill!, and so have been deprecated.
343
- # In a future dev cycle, these fill! methods should probably be reintroduced
344
- # with behavior matching that of fill! for other structured matrix types.
345
- # In the interm, equivalently test fillstored! below
346
- @test iszero (fillstored! (Diagonal (fill (1 , 3 )), 0 ))
347
- @test iszero (fillstored! (LowerTriangular (fill (1 , 3 , 3 )), 0 ))
348
- @test iszero (fillstored! (UpperTriangular (fill (1 , 3 , 3 )), 0 ))
349
339
end
350
- let # fill!(small, x)
351
- val = randn ()
352
- b = Bidiagonal (randn (1 ,1 ), :U )
353
- st = SymTridiagonal (randn (1 ,1 ))
354
- for x in (b, st)
355
- @test Array (fill! (x, val)) == fill! (Array (x), val)
356
- end
357
- b = Bidiagonal (randn (2 ,2 ), :U )
358
- st = SymTridiagonal (randn (3 ), randn (2 ))
359
- t = Tridiagonal (randn (3 ,3 ))
360
- for x in (b, t, st)
361
- @test_throws ArgumentError fill! (x, val)
362
- @test Array (fill! (x, 0 )) == fill! (Array (x), 0 )
363
- end
340
+ # Diagonal and AbstractTriangular fill! were defined as fillstored!,
341
+ # not matching the general behavior of fill!, and so have been deprecated.
342
+ # In a future dev cycle, these fill! methods should probably be reintroduced
343
+ # with behavior matching that of fill! for other structured matrix types.
344
+ # In the interm, equivalently test fillstored! below
345
+ @test iszero (fillstored! (Diagonal (fill (1 , 3 )), 0 ))
346
+ @test iszero (fillstored! (LowerTriangular (fill (1 , 3 , 3 )), 0 ))
347
+ @test iszero (fillstored! (UpperTriangular (fill (1 , 3 , 3 )), 0 ))
348
+ end
349
+ let # fill!(small, x)
350
+ val = randn ()
351
+ b = Bidiagonal (randn (1 ,1 ), :U )
352
+ st = SymTridiagonal (randn (1 ,1 ))
353
+ for x in (b, st)
354
+ @test Array (fill! (x, val)) == fill! (Array (x), val)
355
+ end
356
+ b = Bidiagonal (randn (2 ,2 ), :U )
357
+ st = SymTridiagonal (randn (3 ), randn (2 ))
358
+ t = Tridiagonal (randn (3 ,3 ))
359
+ for x in (b, t, st)
360
+ @test_throws ArgumentError fill! (x, val)
361
+ @test Array (fill! (x, 0 )) == fill! (Array (x), 0 )
364
362
end
365
363
end
366
364
end
0 commit comments