@@ -1238,40 +1238,62 @@ end
12381238 @test ! all (iszero, m)
12391239 @test ! all (isone, m)
12401240 end
1241- for d in (1 , )
1241+ @testset for d in (0 , 1 )
12421242 for m in (Eye {T} (d), Eye {T} (d, d))
1243+ M = Array (m)
12431244 @test ! any (iszero, m)
12441245 @test ! all (iszero, m)
1245- @test any (isone, m)
1246- @test all (isone, m)
1246+ @test any (isone, m) == ! isempty (m)
1247+ @test all (isone, m) == ! isempty (m)
1248+ if ! isempty (m)
1249+ @test ! any (iszero, m) == ! any (iszero, M)
1250+ @test ! all (iszero, m) == ! all (iszero, M)
1251+ @test any (isone, m) == any (isone, M)
1252+ @test all (isone, m) == all (isone, M)
1253+ end
12471254 end
12481255
12491256 for m in (Eye {T} (d, d + 1 ), Eye {T} (d + 1 , d))
1250- @test any (iszero, m)
1257+ M = Array (m)
1258+ @test any (iszero, m) == ! isempty (m)
12511259 @test ! all (iszero, m)
1252- @test any (isone, m)
1260+ @test any (isone, m) == ! isempty (m)
12531261 @test ! all (isone, m)
1262+ if ! isempty (M)
1263+ @test any (iszero, m) == any (iszero, M)
1264+ @test ! all (iszero, m) == ! all (iszero, M)
1265+ @test any (isone, m) == any (isone, M)
1266+ @test ! all (isone, m) == ! all (isone, M)
1267+ end
12541268 end
12551269
12561270 onem = Ones {T} (d, d)
1257- @test isone (onem)
1258- @test ! iszero (onem)
1271+ @test isone (onem) == isone (Array (onem))
1272+ @test iszero (onem) == isempty (onem) == iszero (Array (onem))
1273+
1274+ if d > 0
1275+ @test ! isone (Ones {T} (d, 2 d))
1276+ end
12591277
12601278 zerom = Zeros {T} (d, d)
1261- @test ! isone (zerom)
1262- @test iszero (zerom)
1279+ @test isone (zerom) == isempty (zerom) == isone (Array (zerom))
1280+ @test iszero (zerom) == iszero (Array (zerom))
1281+
1282+ if d > 0
1283+ @test iszero (Zeros {T} (d, 2 d))
1284+ end
12631285
12641286 fillm0 = Fill (T (0 ), d, d)
1265- @test ! isone (fillm0)
1266- @test iszero (fillm0)
1287+ @test isone (fillm0) == isempty (fillm0) == isone ( Array (fillm0) )
1288+ @test iszero (fillm0) == iszero ( Array (fillm0))
12671289
12681290 fillm1 = Fill (T (1 ), d, d)
1269- @test isone (fillm1)
1270- @test ! iszero (fillm1)
1291+ @test isone (fillm1) == isone ( Array (fillm1))
1292+ @test iszero (fillm1) == isempty (fillm1) == iszero (Array ( fillm1) )
12711293
12721294 fillm2 = Fill (T (2 ), d, d)
1273- @test ! isone (fillm2)
1274- @test ! iszero (fillm2)
1295+ @test isone (fillm2) == isempty (fillm2) == isone (Array ( fillm2) )
1296+ @test iszero (fillm2) == isempty (fillm2) == iszero (Array ( fillm2) )
12751297 end
12761298 for d in (2 , 3 )
12771299 for m in (Eye {T} (d), Eye {T} (d, d), Eye {T} (d, d + 2 ), Eye {T} (d + 2 , d))
@@ -1306,6 +1328,10 @@ end
13061328 end
13071329 end
13081330
1331+ @test iszero (Zeros {SMatrix{2,2,Int,4}} (2 ))
1332+ @test iszero (Fill (SMatrix {2,2} (0 ,0 ,0 ,0 ), 2 ))
1333+ @test iszero (Fill (SMatrix {2,2} (0 ,0 ,0 ,1 ), 0 ))
1334+
13091335 @testset " all/any" begin
13101336 @test any (Ones {Bool} (10 )) === all (Ones {Bool} (10 )) === any (Fill (true ,10 )) === all (Fill (true ,10 )) === true
13111337 @test any (Zeros {Bool} (10 )) === all (Zeros {Bool} (10 )) === any (Fill (false ,10 )) === all (Fill (false ,10 )) === false
0 commit comments