Skip to content

Commit c457d32

Browse files
refactor: make repack call replace
1 parent 1fd513e commit c457d32

File tree

1 file changed

+3
-9
lines changed

1 file changed

+3
-9
lines changed

src/systems/parameter_buffer.jl

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -264,10 +264,7 @@ function SciMLStructures.canonicalize(::SciMLStructures.Tunable, p::MTKParameter
264264
arr = p.tunable
265265
repack = let p = p
266266
function (new_val)
267-
if new_val !== p.tunable
268-
copyto!(p.tunable, new_val)
269-
end
270-
return p
267+
return SciMLStructures.replace(SciMLStructures.Tunable(), p, new_val)
271268
end
272269
end
273270
return arr, repack, true
@@ -288,12 +285,9 @@ for (Portion, field, recurse) in [(SciMLStructures.Discrete, :discrete, 2)
288285
(Nonnumeric, :nonnumeric, 1)]
289286
@eval function SciMLStructures.canonicalize(::$Portion, p::MTKParameters)
290287
as_vector = buffer_to_arraypartition(p.$field)
291-
repack = let as_vector = as_vector, p = p
288+
repack = let p = p
292289
function (new_val)
293-
if new_val !== as_vector
294-
update_tuple_of_buffers(new_val, p.$field)
295-
end
296-
p
290+
return SciMLStructures.replace(($Portion)(), p, new_val)
297291
end
298292
end
299293
return as_vector, repack, true

0 commit comments

Comments
 (0)