Skip to content

Commit 6c9c517

Browse files
fixup! wip: better parameter indexing
1 parent 1eeb5c5 commit 6c9c517

8 files changed

+213
-127
lines changed

src/parameter_indexing.jl

Lines changed: 74 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,10 @@ struct GetParameterIndex{I} <: AbstractParameterGetIndexer
4545
end
4646

4747
is_indexer_timeseries(::Type{GetParameterIndex{I}}) where {I} = IndexerNotTimeseries()
48-
is_indexer_timeseries(::Type{GetParameterIndex{I}}) where {I <: ParameterTimeseriesIndex} = IndexerTimeseries()
48+
function is_indexer_timeseries(::Type{GetParameterIndex{I}}) where {I <:
49+
ParameterTimeseriesIndex}
50+
IndexerTimeseries()
51+
end
4952
function indexer_timeseries_index(gpi::GetParameterIndex{<:ParameterTimeseriesIndex})
5053
gpi.idx.timeseries_idx
5154
end
@@ -56,38 +59,48 @@ function (gpi::GetParameterIndex)(::Timeseries, prob, args)
5659
throw(ParameterTimeseriesValueIndexMismatchError{Timeseries}(prob, gpi, args))
5760
end
5861
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(ts::Timeseries, prob)
59-
gpi.((ts,), (prob,), eachindex(parameter_timeseries(prob, indexer_timeseries_index(gpi))))
62+
gpi.((ts,), (prob,),
63+
eachindex(parameter_timeseries(prob, indexer_timeseries_index(gpi))))
6064
end
61-
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(buffer::AbstractArray, ts::Timeseries, prob)
62-
for (buf_idx, ts_idx) in zip(eachindex(buffer), eachindex(parameter_timeseries(prob, indexer_timeseries_index(gpi))))
65+
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(
66+
buffer::AbstractArray, ts::Timeseries, prob)
67+
for (buf_idx, ts_idx) in zip(eachindex(buffer),
68+
eachindex(parameter_timeseries(prob, indexer_timeseries_index(gpi))))
6369
buffer[buf_idx] = gpi(ts, prob, ts_idx)
6470
end
6571
return buffer
6672
end
67-
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(::Timeseries, prob, i::Union{Int, CartesianIndex})
73+
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(
74+
::Timeseries, prob, i::Union{Int, CartesianIndex})
6875
parameter_values(prob, gpi.idx, i)
6976
end
7077
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(ts::Timeseries, prob, ::Colon)
7178
gpi(ts, prob)
7279
end
73-
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(buffer::AbstractArray, ts::Timeseries, prob, ::Colon)
80+
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(
81+
buffer::AbstractArray, ts::Timeseries, prob, ::Colon)
7482
gpi(buffer, ts, prob)
7583
end
76-
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(ts::Timeseries, prob, i::AbstractArray{Bool})
77-
map(only(to_indices(parameter_timeseries(prob, indexer_timeseries_index(gpi)), (i,)))) do idx
84+
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(
85+
ts::Timeseries, prob, i::AbstractArray{Bool})
86+
map(only(to_indices(
87+
parameter_timeseries(prob, indexer_timeseries_index(gpi)), (i,)))) do idx
7888
gpi(ts, prob, idx)
7989
end
8090
end
81-
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(buffer::AbstractArray, ts::Timeseries, prob, i::AbstractArray{Bool})
82-
for (buf_idx, ts_idx) in zip(eachindex(buffer), only(to_indices(parameter_timeseries(prob, indexer_timeseries_index(gpi)), (i,))))
91+
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(
92+
buffer::AbstractArray, ts::Timeseries, prob, i::AbstractArray{Bool})
93+
for (buf_idx, ts_idx) in zip(eachindex(buffer),
94+
only(to_indices(parameter_timeseries(prob, indexer_timeseries_index(gpi)), (i,))))
8395
buffer[buf_idx] = gpi(ts, prob, ts_idx)
8496
end
8597
return buffer
8698
end
8799
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(ts::Timeseries, prob, i)
88100
gpi.((ts,), (prob,), i)
89101
end
90-
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(buffer::AbstractArray, ts::Timeseries, prob, i)
102+
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(
103+
buffer::AbstractArray, ts::Timeseries, prob, i)
91104
for (buf_idx, subidx) in zip(eachindex(buffer), i)
92105
buffer[buf_idx] = gpi(ts, prob, subidx)
93106
end
@@ -96,28 +109,36 @@ end
96109
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(::NotTimeseries, prob)
97110
throw(ParameterTimeseriesValueIndexMismatchError{NotTimeseries}(prob, gpi))
98111
end
99-
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(::AbstractArray, ::NotTimeseries, prob)
112+
function (gpi::GetParameterIndex{<:ParameterTimeseriesIndex})(
113+
::AbstractArray, ::NotTimeseries, prob)
100114
throw(ParameterTimeseriesValueIndexMismatchError{NotTimeseries}(prob, gpi))
101115
end
102116

103117
function _getp(sys, ::NotSymbolic, ::NotSymbolic, p)
104118
return GetParameterIndex(p)
105119
end
106120

107-
struct GetParameterTimeseriesIndex{I <: GetParameterIndex, J <: GetParameterIndex{<:ParameterTimeseriesIndex}} <: AbstractParameterGetIndexer
121+
struct GetParameterTimeseriesIndex{
122+
I <: GetParameterIndex, J <: GetParameterIndex{<:ParameterTimeseriesIndex}} <:
123+
AbstractParameterGetIndexer
108124
param_idx::I
109125
param_timeseries_idx::J
110126
end
111127

112128
is_indexer_timeseries(::Type{G}) where {G <: GetParameterTimeseriesIndex} = IndexerBoth()
113-
indexer_timeseries_index(gpti::GetParameterTimeseriesIndex) = indexer_timeseries_index(gpti.param_timeseries_idx)
129+
function indexer_timeseries_index(gpti::GetParameterTimeseriesIndex)
130+
indexer_timeseries_index(gpti.param_timeseries_idx)
131+
end
114132
as_not_timeseries_indexer(::IndexerBoth, gpti::GetParameterTimeseriesIndex) = gpti.param_idx
115-
as_timeseries_indexer(::IndexerBoth, gpti::GetParameterTimeseriesIndex) = gpti.param_timeseries_idx
133+
function as_timeseries_indexer(::IndexerBoth, gpti::GetParameterTimeseriesIndex)
134+
gpti.param_timeseries_idx
135+
end
116136

117137
function (gpti::GetParameterTimeseriesIndex)(ts::Timeseries, prob, args...)
118138
gpti.param_timeseries_idx(ts, prob, args...)
119139
end
120-
function (gpti::GetParameterTimeseriesIndex)(buffer::AbstractArray, ts::Timeseries, prob, args...)
140+
function (gpti::GetParameterTimeseriesIndex)(
141+
buffer::AbstractArray, ts::Timeseries, prob, args...)
121142
gpti.param_timeseries_idx(buffer, ts, prob, args...)
122143
end
123144
function (gpti::GetParameterTimeseriesIndex)(ts::NotTimeseries, prob)
@@ -128,17 +149,19 @@ function _getp(sys, ::ScalarSymbolic, ::SymbolicTypeTrait, p)
128149
idx = parameter_index(sys, p)
129150
if is_timeseries_parameter(sys, p)
130151
ts_idx = timeseries_parameter_index(sys, p)
131-
return GetParameterTimeseriesIndex(GetParameterIndex(idx), GetParameterIndex(ts_idx))
152+
return GetParameterTimeseriesIndex(
153+
GetParameterIndex(idx), GetParameterIndex(ts_idx))
132154
else
133155
return GetParameterIndex(idx)
134156
end
135157
end
136158

137159
struct MixedTimeseriesIndexes
138-
indexes
160+
indexes::Any
139161
end
140162

141-
struct MultipleParametersGetter{T <: IsIndexerTimeseries, G, I} <: AbstractParameterGetIndexer
163+
struct MultipleParametersGetter{T <: IsIndexerTimeseries, G, I} <:
164+
AbstractParameterGetIndexer
142165
getters::G
143166
timeseries_idx::I
144167

@@ -165,7 +188,8 @@ struct MultipleParametersGetter{T <: IsIndexerTimeseries, G, I} <: AbstractParam
165188
IndexerBoth
166189
end
167190

168-
if indexer_type != IndexerNotTimeseries && !allequal(indexer_timeseries_index(g) for g in getters)
191+
if indexer_type != IndexerNotTimeseries &&
192+
!allequal(indexer_timeseries_index(g) for g in getters)
169193
if indexer_type == IndexerTimeseries
170194
throw(ArgumentError("All parameters must belong to the same timeseries"))
171195
else
@@ -175,29 +199,38 @@ struct MultipleParametersGetter{T <: IsIndexerTimeseries, G, I} <: AbstractParam
175199
end
176200
end
177201

178-
return new{indexer_type, typeof(getters), typeof(timeseries_idx)}(getters, timeseries_idx)
202+
return new{indexer_type, typeof(getters), typeof(timeseries_idx)}(
203+
getters, timeseries_idx)
179204
end
180205
end
181206

182-
const AtLeastTimeseriesMPG = Union{MultipleParametersGetter{IndexerTimeseries}, MultipleParametersGetter{IndexerBoth}}
183-
const MixedTimeseriesIndexMPG = MultipleParametersGetter{IndexerNotTimeseries, G, MixedTimeseriesIndexes} where {G}
207+
const AtLeastTimeseriesMPG = Union{
208+
MultipleParametersGetter{IndexerTimeseries}, MultipleParametersGetter{IndexerBoth}}
209+
const MixedTimeseriesIndexMPG = MultipleParametersGetter{
210+
IndexerNotTimeseries, G, MixedTimeseriesIndexes} where {G}
184211

185212
is_indexer_timeseries(::Type{<:MultipleParametersGetter{T}}) where {T} = T()
186213
function indexer_timeseries_index(mpg::MultipleParametersGetter)
187214
mpg.timeseries_idx
188215
end
189-
as_not_timeseries_indexer(::IndexerBoth, mpg::MultipleParametersGetter) = MultipleParametersGetter(as_not_timeseries_indexer.(mpg.getters))
216+
function as_not_timeseries_indexer(::IndexerBoth, mpg::MultipleParametersGetter)
217+
MultipleParametersGetter(as_not_timeseries_indexer.(mpg.getters))
218+
end
190219

191-
as_timeseries_indexer(::IndexerBoth, mpg::MultipleParametersGetter) = MultipleParametersGetter(as_timeseries_indexer.(mpg.getters))
220+
function as_timeseries_indexer(::IndexerBoth, mpg::MultipleParametersGetter)
221+
MultipleParametersGetter(as_timeseries_indexer.(mpg.getters))
222+
end
192223

193224
for (indexerTimeseriesType, timeseriesType) in [
194225
(IndexerNotTimeseries, IsTimeseriesTrait),
195226
(IndexerBoth, NotTimeseries)
196227
]
197-
@eval function (mpg::MultipleParametersGetter{$indexerTimeseriesType})(::$timeseriesType, prob)
228+
@eval function (mpg::MultipleParametersGetter{$indexerTimeseriesType})(
229+
::$timeseriesType, prob)
198230
CallWith(prob).(mpg.getters)
199231
end
200-
@eval function (mpg::MultipleParametersGetter{$indexerTimeseriesType})(buffer::AbstractArray, ::$timeseriesType, prob)
232+
@eval function (mpg::MultipleParametersGetter{$indexerTimeseriesType})(
233+
buffer::AbstractArray, ::$timeseriesType, prob)
201234
for (buf_idx, getter) in zip(eachindex(buffer), mpg.getters)
202235
buffer[buf_idx] = getter(prob)
203236
end
@@ -212,7 +245,8 @@ end
212245
function (mpg::MultipleParametersGetter{IndexerNotTimeseries})(::Timeseries, prob, args)
213246
throw(ParameterTimeseriesValueIndexMismatchError{Timeseries}(prob, mpg, args))
214247
end
215-
function (mpg::MultipleParametersGetter{IndexerNotTimeseries})(::AbstractArray, ::Timeseries, prob, args)
248+
function (mpg::MultipleParametersGetter{IndexerNotTimeseries})(
249+
::AbstractArray, ::Timeseries, prob, args)
216250
throw(ParameterTimeseriesValueIndexMismatchError{Timeseries}(prob, mpg, args))
217251
end
218252
function (mpg::AtLeastTimeseriesMPG)(ts::Timeseries, prob)
@@ -227,20 +261,23 @@ function (mpg::AtLeastTimeseriesMPG)(ts::Timeseries, prob, ::Colon)
227261
mpg(ts, prob)
228262
end
229263
function (mpg::AtLeastTimeseriesMPG)(ts::Timeseries, prob, i::AbstractArray{Bool})
230-
map(only(to_indices(parameter_timeseries(prob, indexer_timeseries_index(mpg)), (i,)))) do idx
264+
map(only(to_indices(
265+
parameter_timeseries(prob, indexer_timeseries_index(mpg)), (i,)))) do idx
231266
mpg(ts, prob, idx)
232267
end
233268
end
234269
function (mpg::AtLeastTimeseriesMPG)(ts::Timeseries, prob, i)
235270
mpg.((ts,), (prob,), i)
236271
end
237272
function (mpg::AtLeastTimeseriesMPG)(buffer::AbstractArray, ts::Timeseries, prob)
238-
for (buf_idx, ts_idx) in zip(eachindex(buffer), eachindex(parameter_timeseries(prob, indexer_timeseries_index(mpg))))
273+
for (buf_idx, ts_idx) in zip(eachindex(buffer),
274+
eachindex(parameter_timeseries(prob, indexer_timeseries_index(mpg))))
239275
mpg(buffer[buf_idx], ts, prob, ts_idx)
240276
end
241277
return buffer
242278
end
243-
function (mpg::AtLeastTimeseriesMPG)(buffer::AbstractArray, ::Timeseries, prob, i::Union{Int, CartesianIndex})
279+
function (mpg::AtLeastTimeseriesMPG)(
280+
buffer::AbstractArray, ::Timeseries, prob, i::Union{Int, CartesianIndex})
244281
for (buf_idx, getter) in zip(eachindex(buffer), mpg.getters)
245282
buffer[buf_idx] = getter(prob, i)
246283
end
@@ -249,8 +286,10 @@ end
249286
function (mpg::AtLeastTimeseriesMPG)(buffer::AbstractArray, ts::Timeseries, prob, ::Colon)
250287
mpg(buffer, ts, prob)
251288
end
252-
function (mpg::AtLeastTimeseriesMPG)(buffer::AbstractArray, ts::Timeseries, prob, i::AbstractArray{Bool})
253-
mpg(buffer, ts, prob, only(to_indices(parameter_timeseries(prob, indexer_timeseries_index(mpg)), (i,))))
289+
function (mpg::AtLeastTimeseriesMPG)(
290+
buffer::AbstractArray, ts::Timeseries, prob, i::AbstractArray{Bool})
291+
mpg(buffer, ts, prob,
292+
only(to_indices(parameter_timeseries(prob, indexer_timeseries_index(mpg)), (i,))))
254293
end
255294
function (mpg::AtLeastTimeseriesMPG)(buffer::AbstractArray, ts::Timeseries, prob, i)
256295
for (buf_idx, ts_idx) in zip(eachindex(buffer), i)
@@ -261,7 +300,8 @@ end
261300
function (mpg::MultipleParametersGetter{IndexerTimeseries})(::NotTimeseries, prob)
262301
throw(ParameterTimeseriesValueIndexMismatchError{NotTimeseries}(prob, mpg))
263302
end
264-
function (mpg::MultipleParametersGetter{IndexerTimeseries})(::AbstractArray, ::NotTimeseries, prob)
303+
function (mpg::MultipleParametersGetter{IndexerTimeseries})(
304+
::AbstractArray, ::NotTimeseries, prob)
265305
throw(ParameterTimeseriesValueIndexMismatchError{NotTimeseries}(prob, mpg))
266306
end
267307

src/parameter_timeseries_collection.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ function Base.getindex(ptc::ParameterTimeseriesCollection, idx::ParameterTimeser
5757
timeseries = ptc.collection[idx.timeseries_idx]
5858
return getu(timeseries, idx.parameter_idx)(timeseries)
5959
end
60-
function Base.getindex(ptc::ParameterTimeseriesCollection, idx::ParameterTimeseriesIndex, subidx)
60+
function Base.getindex(
61+
ptc::ParameterTimeseriesCollection, idx::ParameterTimeseriesIndex, subidx)
6162
timeseries = ptc.collection[idx.timeseries_idx]
6263
return getu(timeseries, idx.parameter_idx)(timeseries, subidx)
6364
end
@@ -68,7 +69,8 @@ function Base.getindex(ptc::ParameterTimeseriesCollection, ts_idx, subidx, param
6869
return ptc[ParameterTimeseriesIndex(ts_idx, param_idx), subidx]
6970
end
7071

71-
function parameter_values(ptc::ParameterTimeseriesCollection, idx::ParameterTimeseriesIndex, subidx)
72+
function parameter_values(
73+
ptc::ParameterTimeseriesCollection, idx::ParameterTimeseriesIndex, subidx)
7274
return ptc[idx, subidx]
7375
end
7476
function parameter_timeseries(ptc::ParameterTimeseriesCollection, idx)

src/state_indexing.jl

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ function set_state!(sys, val, idx)
22
state_values(sys)[idx] = val
33
end
44

5-
65
"""
76
getu(indp, sym)
87
@@ -69,25 +68,32 @@ end
6968
function (g::GetpAtStateTime)(ts::Timeseries, p_ts::Timeseries, prob)
7069
g(ts, p_ts, is_indexer_timeseries(g.getter), prob)
7170
end
72-
function (g::GetpAtStateTime)(::Timeseries, ::Timeseries, ::Union{IndexerTimeseries, IndexerBoth}, prob)
73-
g.getter.((prob,), parameter_timeseries_at_state_time(prob, indexer_timeseries_index(g.getter)))
71+
function (g::GetpAtStateTime)(
72+
::Timeseries, ::Timeseries, ::Union{IndexerTimeseries, IndexerBoth}, prob)
73+
g.getter.((prob,),
74+
parameter_timeseries_at_state_time(prob, indexer_timeseries_index(g.getter)))
7475
end
7576
function (g::GetpAtStateTime)(::Timeseries, ::Timeseries, ::IndexerNotTimeseries, prob)
7677
g.getter(prob)
7778
end
7879
function (g::GetpAtStateTime)(ts::Timeseries, p_ts::Timeseries, prob, i)
7980
g(ts, p_ts, is_indexer_timeseries(g.getter), prob, i)
8081
end
81-
function (g::GetpAtStateTime)(::Timeseries, ::Timeseries, ::Union{IndexerTimeseries, IndexerBoth}, prob, i)
82-
g.getter(prob, parameter_timeseries_at_state_time(prob, indexer_timeseries_index(g.getter), i))
82+
function (g::GetpAtStateTime)(
83+
::Timeseries, ::Timeseries, ::Union{IndexerTimeseries, IndexerBoth}, prob, i)
84+
g.getter(prob,
85+
parameter_timeseries_at_state_time(prob, indexer_timeseries_index(g.getter), i))
8386
end
84-
function (g::GetpAtStateTime)(::Timeseries, ::Timeseries, ::IndexerNotTimeseries, prob, ::Union{Int, CartesianIndex})
87+
function (g::GetpAtStateTime)(::Timeseries, ::Timeseries, ::IndexerNotTimeseries,
88+
prob, ::Union{Int, CartesianIndex})
8589
g.getter(prob)
8690
end
87-
function (g::GetpAtStateTime)(::Timeseries, ::Timeseries, ::IndexerNotTimeseries, prob, ::Colon)
91+
function (g::GetpAtStateTime)(
92+
::Timeseries, ::Timeseries, ::IndexerNotTimeseries, prob, ::Colon)
8893
map(_ -> g.getter(prob), current_time(prob))
8994
end
90-
function (g::GetpAtStateTime)(::Timeseries, ::Timeseries, ::IndexerNotTimeseries, prob, i::AbstractArray{Bool})
95+
function (g::GetpAtStateTime)(
96+
::Timeseries, ::Timeseries, ::IndexerNotTimeseries, prob, i::AbstractArray{Bool})
9197
num_ones = sum(i)
9298
map(_ -> g.getter(prob), 1:num_ones)
9399
end
@@ -123,23 +129,28 @@ end
123129
function (o::TimeDependentObservedFunction)(ts::Timeseries, prob, i)
124130
return o(ts, is_parameter_timeseries(prob), prob, i)
125131
end
126-
function (o::TimeDependentObservedFunction)(::Timeseries, ::Timeseries, prob, i::Union{Int, CartesianIndex})
132+
function (o::TimeDependentObservedFunction)(
133+
::Timeseries, ::Timeseries, prob, i::Union{Int, CartesianIndex})
127134
return o.obsfn(state_values(prob, i),
128135
parameter_values_at_state_time(prob, i),
129136
current_time(prob, i))
130137
end
131-
function (o::TimeDependentObservedFunction)(ts::Timeseries, p_ts::IsTimeseriesTrait, prob, ::Colon)
138+
function (o::TimeDependentObservedFunction)(
139+
ts::Timeseries, p_ts::IsTimeseriesTrait, prob, ::Colon)
132140
return o(ts, p_ts, prob)
133141
end
134-
function (o::TimeDependentObservedFunction)(ts::Timeseries, p_ts::IsTimeseriesTrait, prob, i::AbstractArray{Bool})
142+
function (o::TimeDependentObservedFunction)(
143+
ts::Timeseries, p_ts::IsTimeseriesTrait, prob, i::AbstractArray{Bool})
135144
map(only(to_indices(current_time(prob), (i,)))) do idx
136145
o(ts, p_ts, prob, idx)
137146
end
138147
end
139-
function (o::TimeDependentObservedFunction)(ts::Timeseries, p_ts::IsTimeseriesTrait, prob, i)
148+
function (o::TimeDependentObservedFunction)(
149+
ts::Timeseries, p_ts::IsTimeseriesTrait, prob, i)
140150
o.((ts,), (p_ts,), (prob,), i)
141151
end
142-
function (o::TimeDependentObservedFunction)(::Timeseries, ::NotTimeseries, prob, i::Union{Int, CartesianIndex})
152+
function (o::TimeDependentObservedFunction)(
153+
::Timeseries, ::NotTimeseries, prob, i::Union{Int, CartesianIndex})
143154
o.obsfn(state_values(prob, i), parameter_values(prob), current_time(prob, i))
144155
end
145156
function (o::TimeDependentObservedFunction)(::NotTimeseries, prob)
@@ -231,7 +242,8 @@ for (t1, t2) in [
231242
@eval function _getu(sys, ::NotSymbolic, ::$t1, sym::$t2)
232243
num_observed = count(x -> is_observed(sys, x), sym)
233244
if num_observed == 0
234-
if all(Base.Fix1(is_parameter, sys), sym) && all(!Base.Fix1(is_timeseries_parameter, sys), sym)
245+
if all(Base.Fix1(is_parameter, sys), sym) &&
246+
all(!Base.Fix1(is_timeseries_parameter, sys), sym)
235247
GetpAtStateTime(getp(sys, sym))
236248
else
237249
getters = getu.((sys,), sym)

src/symbol_cache.jl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,13 @@ function SymbolCache(vars = nothing, params = nothing, indepvars = nothing;
5454
throw(ArgumentError("Timeseries parameter $k must also be present in parameters."))
5555
end
5656
if !isa(v, ParameterTimeseriesIndex)
57-
throw(TypeError(:SymbolCache, "index of timeseries parameter $k", ParameterTimeseriesIndex, v))
57+
throw(TypeError(:SymbolCache, "index of timeseries parameter $k",
58+
ParameterTimeseriesIndex, v))
5859
end
5960
end
6061
end
61-
return SymbolCache{typeof(vars), typeof(params), typeof(timeseries_parameters), typeof(indepvars), typeof(defaults)}(
62+
return SymbolCache{typeof(vars), typeof(params), typeof(timeseries_parameters),
63+
typeof(indepvars), typeof(defaults)}(
6264
vars,
6365
params,
6466
timeseries_parameters,
@@ -93,7 +95,8 @@ function is_timeseries_parameter(sc::SymbolCache, sym)
9395
sc.timeseries_parameters !== nothing && haskey(sc.timeseries_parameters, sym)
9496
end
9597
function timeseries_parameter_index(sc::SymbolCache, sym)
96-
sc.timeseries_parameters === nothing ? nothing : get(sc.timeseries_parameters, sym, nothing)
98+
sc.timeseries_parameters === nothing ? nothing :
99+
get(sc.timeseries_parameters, sym, nothing)
97100
end
98101
function is_independent_variable(sc::SymbolCache, sym)
99102
sc.independent_variables === nothing && return false

0 commit comments

Comments
 (0)