@@ -106,16 +106,15 @@ end
106
106
end
107
107
108
108
@testset " using Yota" begin
109
- @test_broken Yota_gradient (m -> destructure (m)[1 ][1 ], m1)[1 ] == [1 ,0 ,0 ] # Unexpected expression: $(Expr(:static_parameter, 1))
110
- # These are all broken!
109
+ @test Yota_gradient (m -> destructure (m)[1 ][1 ], m1)[1 ] == [1 ,0 ,0 ]
111
110
@test Yota_gradient (m -> destructure (m)[1 ][2 ], m2)[1 ] == ([0 ,1 ,0 ], [0 ,0 ,0 ])
112
- @test Yota_gradient (m -> destructure (m)[1 ][3 ], (m1, m1))[1 ] == ([0 ,0 ,1 ], ZeroTangent () )
113
- @test Yota_gradient (m -> destructure (m)[1 ][1 ], m3)[1 ] == (x = [1 ,0 ,0 ], y = ZeroTangent () , z = [0 ,0 ,0 ])
114
- @test Yota_gradient (m -> destructure (m)[1 ][2 ], m4)[1 ] == (x = [0 ,1 ,0 ], y = ZeroTangent () , z = [0 ,0 ,0 ])
111
+ @test Yota_gradient (m -> destructure (m)[1 ][3 ], (m1, m1))[1 ] == ([0 ,0 ,1 ], nothing )
112
+ @test Yota_gradient (m -> destructure (m)[1 ][1 ], m3)[1 ] == (x = [1 ,0 ,0 ], y = nothing , z = [0 ,0 ,0 ])
113
+ @test Yota_gradient (m -> destructure (m)[1 ][2 ], m4)[1 ] == (x = [0 ,1 ,0 ], y = nothing , z = [0 ,0 ,0 ])
115
114
116
115
g5 = Yota_gradient (m -> destructure (m)[1 ][3 ], m5)[1 ]
117
116
@test g5. a[1 ]. x == [0 ,0 ,1 ]
118
- @test g5. a[2 ] === ZeroTangent ()
117
+ @test g5. a[2 ] === nothing
119
118
120
119
g6 = Yota_gradient (m -> imag (destructure (m)[1 ][4 ]), m6)[1 ]
121
120
@test g6. a == [0 ,0 ,0 ]
128
127
@test g8[3 ] == [[10.0 ]]
129
128
130
129
g9 = Yota_gradient (m -> sum (sqrt, destructure (m)[1 ]), m9)[1 ]
131
- @test g9. c === ZeroTangent ()
130
+ @test g9. c === nothing
132
131
end
133
132
end
134
133
@@ -199,11 +198,11 @@ end
199
198
@test Yota_gradient (x -> re7 (x). c[2 ][1 ], rand (3 ))[1 ] == [0 ,0 ,0 ]
200
199
201
200
v8, re8 = destructure (m8)
202
- @test_broken Yota_gradient (x -> sum (abs2, re8 (x)[1 ]. y), v8)[1 ] == [2 ,4 ,6 ,0 ,0 ] # MethodError: no method matching zero(::Type{Any})
203
- @test_broken Yota_gradient (x -> only (sum (re8 (x)[3 ]))^ 2 , v8)[1 ] == [0 ,0 ,0 ,0 ,10 ] # MethodError: no method matching !(::Expr)
201
+ @test Yota_gradient (x -> sum (abs2, re8 (x)[1 ]. y), v8)[1 ] == [2 ,4 ,6 ,0 ,0 ]
202
+ @test Yota_gradient (x -> only (sum (re8 (x)[3 ]))^ 2 , v8)[1 ] == [0 ,0 ,0 ,0 ,10 ]
204
203
205
204
re9 = destructure (m9)[2 ]
206
- @test_broken Yota_gradient (x -> sum (abs2, re9 (x). c[1 ]), 1 : 7 )[1 ] == [0 ,0 ,0 , 8 ,10 ,12 ,14 ] # MethodError: no method matching zero(::Type{Array})
205
+ @test Yota_gradient (x -> sum (abs2, re9 (x). c[1 ]), 1 : 7 )[1 ] == [0 ,0 ,0 , 8 ,10 ,12 ,14 ]
207
206
end
208
207
end
209
208
0 commit comments