Closed avik-pal closed 4 months ago
julia> using ReverseDiff
julia> typeof(reduce(vcat, ReverseDiff.track([4.0])))
ReverseDiff.TrackedReal{Float64, Float64, ReverseDiff.TrackedArray{Float64, Float64, 1, Vector{Float64}, Vector{Float64}}}
julia> typeof(reduce(vcat, ReverseDiff.track([4.0,4.0])))
ReverseDiff.TrackedArray{Float64, Float64, 1, Vector{Float64}, Vector{Float64}}
I'd surface that as a bug in ReverseDiff.
julia> reduce(vcat, [4.0])
4.0
That holds even for regular arrays
If I provide a parameter
p = [4.0]
, I would expect it to stay as a Vector. Currently it gets converted into a TrackedReal.Maybe we should add a special case for
length(p) == 1
and not doreduce(vcat, p)