missing conversions
This commit is contained in:
parent
b0a5844afb
commit
54f7efa379
@ -35,10 +35,10 @@ Base.eltype(x::Type{<:TrackedArray{T}}) where T <: Real = TrackedReal{T}
|
|||||||
|
|
||||||
Base.convert(::Type{T}, x::S) where {T<:TrackedArray,S<:T} = x
|
Base.convert(::Type{T}, x::S) where {T<:TrackedArray,S<:T} = x
|
||||||
|
|
||||||
Base.convert(::Type{<:TrackedArray}, x::TrackedArray) =
|
Base.convert(::Type{TrackedArray{T,N,A}}, x::TrackedArray) where {T,N,A} =
|
||||||
error("Not implemented: convert $(typeof(x)) to $T")
|
track(convert, A, x)
|
||||||
|
|
||||||
Base.convert(::Type{<:TrackedArray{T,N,A}}, x::AbstractArray) where {T,N,A} =
|
Base.convert(::Type{TrackedArray{T,N,A}}, x::AbstractArray) where {T,N,A} =
|
||||||
TrackedArray(convert(A, x))
|
TrackedArray(convert(A, x))
|
||||||
|
|
||||||
Base.show(io::IO, t::Type{TrackedArray{T,N,A}}) where {T,N,A<:AbstractArray{T,N}} =
|
Base.show(io::IO, t::Type{TrackedArray{T,N,A}}) where {T,N,A<:AbstractArray{T,N}} =
|
||||||
|
@ -37,7 +37,9 @@ Base.convert(::Type{TrackedReal{T}}, x::TrackedReal{T}) where T = x
|
|||||||
Base.convert(::Type{TrackedReal{T}}, x::Real) where T = TrackedReal(convert(T, x))
|
Base.convert(::Type{TrackedReal{T}}, x::Real) where T = TrackedReal(convert(T, x))
|
||||||
|
|
||||||
Base.convert(::Type{TrackedReal{T}}, x::TrackedReal{S}) where {T,S} =
|
Base.convert(::Type{TrackedReal{T}}, x::TrackedReal{S}) where {T,S} =
|
||||||
error("Not implemented: convert tracked $S to tracked $T")
|
track(convert, T, x)
|
||||||
|
|
||||||
|
@grad convert(T, x) = convert(T, data(x)), ȳ -> (nothing, convert(typeof(x), ȳ))
|
||||||
|
|
||||||
(T::Type{<:TrackedReal})(x::Real) = convert(T, x)
|
(T::Type{<:TrackedReal})(x::Real) = convert(T, x)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user