Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,15 @@ Zygote = "0.6.56"
julia = "1.6"

[extensions]
RecursiveArrayToolsMeasurementsExt = "Measurements"
RecursiveArrayToolsTrackerExt = "Tracker"
RecursiveArrayToolsZygoteExt = "Zygote"

[extras]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
LabelledArrays = "2ee39098-c373-598a-b85f-a56591580800"
Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7"
NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
Expand All @@ -52,8 +54,9 @@ Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"

[targets]
test = ["SafeTestsets", "Aqua", "ForwardDiff", "LabelledArrays", "NLsolve", "OrdinaryDiffEq", "Pkg", "Test", "Unitful", "Random", "StaticArrays", "StructArrays", "Zygote"]
test = ["SafeTestsets", "Aqua", "ForwardDiff", "LabelledArrays", "NLsolve", "OrdinaryDiffEq", "Pkg", "Test", "Unitful", "Random", "StaticArrays", "StructArrays", "Zygote", "Measurements"]

[weakdeps]
Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7"
Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
16 changes: 16 additions & 0 deletions ext/RecursiveArrayToolsMeasurementsExt.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
module RecursiveArrayToolsMeasurementsExt

import RecursiveArrayTools
isdefined(Base, :get_extension) ? (import Measurements) : (import ..Measurements)

function RecursiveArrayTools.recursive_unitless_bottom_eltype(a::Type{
<:Measurements.Measurement
})
typeof(oneunit(a))
end

function RecursiveArrayTools.recursive_unitless_eltype(a::Type{<:Measurements.Measurement})
typeof(oneunit(a))
end

end
1 change: 1 addition & 0 deletions src/RecursiveArrayTools.jl
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ Base.convert(T::Type{<:GPUArraysCore.AbstractGPUArray}, VA::AbstractVectorOfArra
import Requires
@static if !isdefined(Base, :get_extension)
function __init__()
Requires.@require Measurements="eff96d63-e80a-5855-80a2-b1b0885c5ab7" begin include("../ext/RecursiveArrayToolsMeasurementsExt.jl") end
Requires.@require Tracker="9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" begin include("../ext/RecursiveArrayToolsTrackerExt.jl") end
Requires.@require Zygote="e88e6eb3-aa80-5325-afca-941959d7151f" begin include("../ext/RecursiveArrayToolsZygoteExt.jl") end
end
Expand Down
5 changes: 5 additions & 0 deletions test/measurements.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
using RecursiveArrayTools, Measurements, Test

x = 1.0 ± 0.0
@test recursive_unitless_bottom_eltype(x) === Measurements.Measurement{Float64}
@test recursive_unitless_eltype(x) === Measurements.Measurement{Float64}
1 change: 1 addition & 0 deletions test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ end
@time @safetestset "Linear Algebra Tests" begin include("linalg.jl") end
@time @safetestset "Upstream Tests" begin include("upstream.jl") end
@time @safetestset "Adjoint Tests" begin include("adjoints.jl") end
@time @safetestset "Measurement Tests" begin include("measurements.jl") end
end

if !is_APPVEYOR && GROUP == "Downstream"
Expand Down