Skip to content

Commit 308c5d1

Browse files
committed
style: clean up ParametricExpression internal methods
1 parent 0ad3c93 commit 308c5d1

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

src/ParametricExpression.jl

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -191,19 +191,17 @@ has_constants(::ParametricExpression) = _interface_error()
191191

192192
has_operators(ex::ParametricExpression) = has_operators(get_tree(ex))
193193

194-
# TODO: Use regular `count_scalar_constants`
195-
196-
function get_constants_array(parameter_refs, BT)
194+
function _get_constants_array(parameter_refs, ::Type{BT}) where {BT}
197195
size = sum(count_scalar_constants, parameter_refs)
198196
flat = Vector{BT}(undef, size)
199197
ix = 1
200-
for p in parameter_refs[:]
198+
for p in parameter_refs
201199
ix = pack_scalar_constants!(flat, ix, p)
202200
end
203201
return flat
204202
end
205203

206-
function set_constants_array(parameter_refs, flat)
204+
function _set_constants_array!(parameter_refs, flat)
207205
ix, i = 1, 1
208206
while ix <= length(flat) && i <= length(parameter_refs)
209207
ix, parameter_refs[i] = unpack_scalar_constants(flat, ix, parameter_refs[i])
@@ -214,19 +212,20 @@ end
214212
function get_scalar_constants(ex::ParametricExpression{T}) where {T}
215213
constants, constant_refs = get_scalar_constants(get_tree(ex))
216214
parameters = get_metadata(ex).parameters
217-
parameters_numbers = get_constants_array(parameters, eltype(constants))
215+
flat_parameters = _get_constants_array(parameters, eltype(constants))
218216
num_constants = length(constants)
219-
num_parameters = length(parameters_numbers)
220-
return vcat(constants, parameters_numbers),
221-
(; constant_refs, parameter_refs=parameters, num_parameters, num_constants)
217+
num_parameters = length(flat_parameters)
218+
combined_scalars = vcat(constants, flat_parameters)
219+
refs = (; constant_refs, parameter_refs=parameters, num_parameters, num_constants)
220+
return combined_scalars, refs
222221
end
223222
function set_scalar_constants!(ex::ParametricExpression{T}, x, refs) where {T}
224223
# First, set the usual constants
225224
set_scalar_constants!(
226225
get_tree(ex), @view(x[1:(refs.num_constants)]), refs.constant_refs
227226
)
228227
# Then, copy in the parameters
229-
set_constants_array(
228+
_set_constants_array!(
230229
@view(get_metadata(ex).parameters[:]), @view(x[(refs.num_constants + 1):end])
231230
)
232231
return ex

0 commit comments

Comments
 (0)