diff --git a/src/tracker/lib/real.jl b/src/tracker/lib/real.jl index 6e7a44f2..b1fbb19f 100644 --- a/src/tracker/lib/real.jl +++ b/src/tracker/lib/real.jl @@ -59,6 +59,12 @@ Base.float(x::TrackedReal) = x Base.promote_rule(::Type{TrackedReal{S}},::Type{T}) where {S,T} = TrackedReal{promote_type(S,T)} +using Random + +for f in :[rand, randn, randexp].args + @eval Random.$f(rng::AbstractRNG,::Type{TrackedReal{T}}) where {T} = param(rand(rng,T)) +end + using DiffRules, SpecialFunctions, NaNMath for (M, f, arity) in DiffRules.diffrules()