|
34 | 34 | end
|
35 | 35 |
|
36 | 36 | @testset "SubArray - $indexname" for (indexname, m_index) in (
|
37 |
| - ("fast", :), ("slow", Ref(m:-1:1)) |
| 37 | + ("fast", :), ("slow", m:-1:1) |
38 | 38 | )
|
39 | 39 | test_rrule(*, view(n⋆m, :, m_index), view(m⋆p, m_index, :))
|
40 | 40 | test_rrule(*, n⋆m, view(m⋆p, m_index, :))
|
41 | 41 | test_rrule(*, view(n⋆m, :, m_index), m⋆p)
|
42 | 42 | end
|
43 | 43 |
|
44 | 44 | @testset "Adjoints and Transposes" begin
|
45 |
| - test_rrule(*, Transpose(m⋆n), Transpose(p⋆m)) |
46 |
| - test_rrule(*, Adjoint(m⋆n), Adjoint(p⋆m)) |
| 45 | + test_rrule(*, Transpose(m⋆n) ⊢ Transpose(m⋆n), Transpose(p⋆m) ⊢ Transpose(p⋆m)) |
| 46 | + test_rrule(*, Adjoint(m⋆n) ⊢ Adjoint(m⋆n), Adjoint(p⋆m) ⊢ Adjoint(p⋆m)) |
47 | 47 |
|
48 |
| - test_rrule(*, Transpose(m⋆n), (m⋆p)) |
49 |
| - test_rrule(*, Adjoint(m⋆n), (m⋆p)) |
| 48 | + test_rrule(*, Transpose(m⋆n) ⊢ Transpose(m⋆n), (m⋆p)) |
| 49 | + test_rrule(*, Adjoint(m⋆n) ⊢ Adjoint(m⋆n), (m⋆p)) |
50 | 50 |
|
51 |
| - test_rrule(*, (n⋆m), Transpose(p⋆m)) |
52 |
| - test_rrule(*, (n⋆m), Adjoint(p⋆m)) |
| 51 | + test_rrule(*, (n⋆m), Transpose(p⋆m) ⊢ Transpose(p⋆m)) |
| 52 | + test_rrule(*, (n⋆m), Adjoint(p⋆m) ⊢ Adjoint(p⋆m)) |
53 | 53 | end
|
54 | 54 | end
|
55 | 55 | end
|
56 | 56 |
|
57 | 57 | @testset "Covector * Vector n=$n" for n in (3, 5)
|
58 | 58 | @testset "$f" for f in (adjoint, transpose)
|
59 | 59 | # This should be same as dot product and give a scalar
|
60 |
| - test_rrule(*, f(⋆(n)), ⋆(n)) |
| 60 | + test_rrule(*, f(⋆(n)) ⊢ f(⋆(n)), ⋆(n)) |
61 | 61 | end
|
62 | 62 | end
|
63 | 63 | end
|
|
85 | 85 | @testset "Vector $f Matrix" begin
|
86 | 86 | x = randn(10)
|
87 | 87 | Y = randn(10, 4)
|
88 |
| - test_rrule(f, x, Y) |
| 88 | + test_rrule(f, x, Y; output_tangent=Transpose(rand(4))) |
89 | 89 | end
|
90 | 90 | end
|
91 | 91 | end
|
|
0 commit comments