Skip to content

Commit b84900a

Browse files
author
oscarddssmith
committed
move to package extension
1 parent 5e55510 commit b84900a

File tree

6 files changed

+22
-7
lines changed

6 files changed

+22
-7
lines changed

Project.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@ Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
2020
[weakdeps]
2121
Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7"
2222
MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca"
23+
Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
2324
Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
2425
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
2526

2627
[extensions]
2728
RecursiveArrayToolsMeasurementsExt = "Measurements"
2829
RecursiveArrayToolsMonteCarloMeasurementsExt = "MonteCarloMeasurements"
2930
RecursiveArrayToolsTrackerExt = "Tracker"
31+
RecursiveArrayToolsSymbolicsExt = "Symbolics"
3032
RecursiveArrayToolsZygoteExt = "Zygote"
3133

3234
[compat]
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
module RecursiveArrayToolsSymbolicsExt
2+
3+
import RecursiveArrayTools
4+
isdefined(Base, :get_extension) ? (import Symbolics) : (import ..Symbolics)
5+
6+
RecursiveArrayTools.issymbollike(::Symbolics.Num) = true
7+
8+
end

src/RecursiveArrayTools.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import Requires
3232
@static if !isdefined(Base, :get_extension)
3333
function __init__()
3434
Requires.@require Measurements="eff96d63-e80a-5855-80a2-b1b0885c5ab7" begin include("../ext/RecursiveArrayToolsMeasurementsExt.jl") end
35+
Requires.@require Symbolics="e88e6eb3-aa80-5325-afca-941959d7151f" begin include("../ext/RecursiveArrayToolsSymbolicsExt.jl") end
3536
Requires.@require Tracker="9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" begin include("../ext/RecursiveArrayToolsTrackerExt.jl") end
3637
Requires.@require Zygote="e88e6eb3-aa80-5325-afca-941959d7151f" begin include("../ext/RecursiveArrayToolsZygoteExt.jl") end
3738
end

src/vector_of_array.jl

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,9 @@ end
6464
struct AllObserved
6565
end
6666

67-
function issymbollike(x)
68-
x isa Union{Symbol, AllObserved} && return true
69-
ss = (:Operation, :Variable, :Sym, :Num, :Term)
70-
return typeof(x).name.name in ss
71-
end
67+
# extended by Symbolcs
68+
issymbollike(::Any) = false
69+
issymbollike(::Union{Symbol, AllObserved}) = true
7270

7371
function Base.Array(VA::AbstractVectorOfArray{T, N, A}) where {T, N,
7472
A <: AbstractVector{

test/downstream/Project.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
33
MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca"
44
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
5-
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
5+
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
6+
Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
67
Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
8+
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
79

810
[compat]
911
ModelingToolkit = "8.33"
1012
MonteCarloMeasurements = "1.1"
1113
OrdinaryDiffEq = "6.31"
14+
Tracker = "0.2"
1215
Unitful = "1.17"
13-
Tracker = "0.2"

test/downstream/SymbolicsExt.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
using RecursiveArrayTools, Symbolics, Test
2+
3+
@variables x;
4+
@test RecursiveArrayTools.issymbollike(x)

0 commit comments

Comments
 (0)