Compare commits
2 Commits
master
...
mji/conver
Author | SHA1 | Date |
---|---|---|
![]() |
8ca042d2b0 | |
![]() |
54f7efa379 |
|
@ -6,7 +6,7 @@ os:
|
|||
# - osx
|
||||
|
||||
julia:
|
||||
- 1.0
|
||||
- 1.1
|
||||
- nightly
|
||||
|
||||
matrix:
|
||||
|
|
|
@ -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{<:TrackedArray}, x::TrackedArray) =
|
||||
error("Not implemented: convert $(typeof(x)) to $T")
|
||||
Base.convert(::Type{TrackedArray{T,N,A}}, x::TrackedArray) where {T,N,A} =
|
||||
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))
|
||||
|
||||
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::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)
|
||||
|
||||
|
|
Loading…
Reference in New Issue