|
81 | 81 | arrayts, |
82 | 82 | elt in elts |
83 | 83 |
|
84 | | - if arrayt == JLArray |
85 | | - # TODO: Collecting to `Array` is broken for GPU arrays so a lot of tests |
86 | | - # are broken, look into fixing that. |
87 | | - continue |
88 | | - end |
89 | | - |
90 | 84 | dev = adapt(arrayt) |
91 | 85 | r = @constinferred blockrange([2 × 2, 3 × 3]) |
92 | 86 | d = Dict( |
93 | | - Block(1, 1) => Eye{elt}(2, 2) ⊗ randn(elt, 2, 2), |
94 | | - Block(2, 2) => Eye{elt}(3, 3) ⊗ randn(elt, 3, 3), |
| 87 | + Block(1, 1) => Eye{elt}(2, 2) ⊗ dev(randn(elt, 2, 2)), |
| 88 | + Block(2, 2) => Eye{elt}(3, 3) ⊗ dev(randn(elt, 3, 3)), |
95 | 89 | ) |
96 | 90 | a = @constinferred dev(blocksparse(d, r, r)) |
97 | 91 | @test sprint(show, a) == sprint(show, Array(a)) |
@@ -133,13 +127,21 @@ end |
133 | 127 |
|
134 | 128 | @test @constinferred(norm(a)) ≈ norm(Array(a)) |
135 | 129 |
|
136 | | - b = @constinferred exp(a) |
137 | | - @test Array(b) ≈ exp(Array(a)) |
| 130 | + if arrayt === Array |
| 131 | + b = @constinferred exp(a) |
| 132 | + @test Array(b) ≈ exp(Array(a)) |
| 133 | + else |
| 134 | + @test_broken exp(a) |
| 135 | + end |
138 | 136 |
|
139 | | - u, s, v = svd_compact(a) |
140 | | - @test u * s * v ≈ a |
141 | | - @test blocktype(u) === blocktype(a) |
142 | | - @test blocktype(v) === blocktype(a) |
| 137 | + if arrayt === Array |
| 138 | + u, s, v = svd_compact(a) |
| 139 | + @test u * s * v ≈ a |
| 140 | + @test blocktype(u) === blocktype(a) |
| 141 | + @test blocktype(v) === blocktype(a) |
| 142 | + else |
| 143 | + @test_broken svd_compact(a) |
| 144 | + end |
143 | 145 |
|
144 | 146 | # Broken operations |
145 | 147 | @test_broken inv(a) |
|
0 commit comments