@@ -5,6 +5,7 @@ using SymbolicUtils.Code: LazyState
55using StaticArrays
66using LabelledArrays
77using SparseArrays
8+ using ReverseDiff
89using LinearAlgebra
910
1011test_repr (a, b) = @test repr (Base. remove_linenums! (a)) == repr (Base. remove_linenums! (b))
@@ -158,6 +159,17 @@ nanmath_st.rewrites[:nanmath] = true
158159 @test eval (toexpr (Let ([a ← 1 , b ← 2 , arr ← @SLVector ((:a , :b ))(@SVector [1 ,2 ])],
159160 MakeArray ([a+ b,a/ b], arr)))) === @SLVector ((:a , :b ))(@SVector [3 , 1 / 2 ])
160161
162+ trackedarr = eval (toexpr (Let ([a ← ReverseDiff. track (1.0 ), b ← 2 , arr ← ReverseDiff. track (ones (2 ))],
163+ MakeArray ([a+ b,a/ b], arr))))
164+ @test trackedarr isa ReverseDiff. TrackedArray
165+ @test trackedarr == [3 , 1 / 2 ]
166+
167+ trackedarr = eval (toexpr (Let ([a ← ReverseDiff. track (1.0 ), b ← 2 , arr ← ReverseDiff. track (ones (2 ))],
168+ MakeArray ([a b; a+ b a/ b], arr))))
169+ @test trackedarr isa ReverseDiff. TrackedArray
170+ @test trackedarr == [1 2 ; 3 1 / 2 ]
171+
172+
161173 R1 = eval (toexpr (Let ([a ← 1 , b ← 2 , arr ← @MVector ([1 ,2 ])],MakeArray ([a,b,a+ b,a/ b], arr))))
162174 @test R1 == (@MVector [1 , 2 , 3 , 1 / 2 ]) && R1 isa MVector
163175
0 commit comments