1
1
# This file is a part of Julia. License is MIT: https://julialang.org/license
2
2
3
3
using Base: findprevnot, findnextnot
4
- using Random, LinearAlgebra, Test
4
+ using Random, Test, LinearAlgebra # Ideally, these tests should not depend on LinearAlgebra
5
5
6
6
isdefined (Main, :SizedArrays ) || @eval Main include (" testhelpers/SizedArrays.jl" )
7
7
using . Main. SizedArrays
@@ -15,7 +15,6 @@ tc(r1,r2) = false
15
15
16
16
bitcheck (b:: BitArray ) = Test. _check_bitarray_consistency (b)
17
17
bitcheck (x) = true
18
- bcast_setindex! (b, x, I... ) = (b[I... ] .= x; b)
19
18
20
19
function check_bitop_call (ret_type, func, args... ; kwargs... )
21
20
r2 = func (map (x-> (isa (x, BitArray) ? Array (x) : x), args)... ; kwargs... )
@@ -34,6 +33,9 @@ macro check_bit_operation(ex)
34
33
Expr (:call , :check_bitop_call , nothing , map (esc, ex. args)... )
35
34
end
36
35
36
+ bcast_setindex! (b, x, I... ) = (b[I... ] .= x; b)
37
+
38
+
37
39
let t0 = time_ns ()
38
40
global timesofar
39
41
function timesofar (str)
@@ -1641,69 +1643,6 @@ end
1641
1643
1642
1644
timesofar (" cat" )
1643
1645
1644
- @testset " Linear algebra" begin
1645
- b1 = bitrand (v1)
1646
- b2 = bitrand (v1)
1647
- @check_bit_operation dot (b1, b2) Int
1648
-
1649
- b1 = bitrand (n1, n2)
1650
- @test_throws ArgumentError tril (b1, - n1 - 2 )
1651
- @test_throws ArgumentError tril (b1, n2)
1652
- @test_throws ArgumentError triu (b1, - n1)
1653
- @test_throws ArgumentError triu (b1, n2 + 2 )
1654
- for k in (- n1 - 1 ): (n2 - 1 )
1655
- @check_bit_operation tril (b1, k) BitMatrix
1656
- end
1657
- for k in (- n1 + 1 ): (n2 + 1 )
1658
- @check_bit_operation triu (b1, k) BitMatrix
1659
- end
1660
-
1661
- for sz = [(n1,n1), (n1,n2), (n2,n1)], (f,isf) = [(tril,istril), (triu,istriu)]
1662
- b1 = bitrand (sz... )
1663
- @check_bit_operation isf (b1) Bool
1664
- b1 = f (bitrand (sz... ))
1665
- @check_bit_operation isf (b1) Bool
1666
- end
1667
-
1668
- b1 = bitrand (n1,n1)
1669
- b1 .| = copy (b1' )
1670
- @check_bit_operation issymmetric (b1) Bool
1671
- @check_bit_operation ishermitian (b1) Bool
1672
-
1673
- b1 = bitrand (n1)
1674
- b2 = bitrand (n2)
1675
- @check_bit_operation kron (b1, b2) BitVector
1676
-
1677
- b1 = bitrand (s1, s2)
1678
- b2 = bitrand (s3, s4)
1679
- @check_bit_operation kron (b1, b2) BitMatrix
1680
-
1681
- b1 = bitrand (v1)
1682
- @check_bit_operation diff (b1) Vector{Int}
1683
-
1684
- b1 = bitrand (n1, n2)
1685
- @check_bit_operation diff (b1, dims= 1 ) Matrix{Int}
1686
- @check_bit_operation diff (b1, dims= 2 ) Matrix{Int}
1687
-
1688
- b1 = bitrand (n1, n1)
1689
- @test ((svdb1, svdb1A) = (svd (b1), svd (Array (b1)));
1690
- svdb1. U == svdb1A. U && svdb1. S == svdb1A. S && svdb1. V == svdb1A. V)
1691
- @test ((qrb1, qrb1A) = (qr (b1), qr (Array (b1)));
1692
- Matrix (qrb1. Q) == Matrix (qrb1A. Q) && qrb1. R == qrb1A. R)
1693
-
1694
- b1 = bitrand (v1)
1695
- @check_bit_operation diagm (0 => b1) BitMatrix
1696
-
1697
- b1 = bitrand (v1)
1698
- b2 = bitrand (v1)
1699
- @check_bit_operation diagm (- 1 => b1, 1 => b2) BitMatrix
1700
-
1701
- b1 = bitrand (n1, n1)
1702
- @check_bit_operation diag (b1)
1703
- end
1704
-
1705
- timesofar (" linalg" )
1706
-
1707
1646
@testset " findmax, findmin" begin
1708
1647
b1 = trues (0 )
1709
1648
@test_throws ArgumentError findmax (b1)
0 commit comments