Skip to content

Commit 2811b1d

Browse files
refactor: make repack call replace
1 parent f658073 commit 2811b1d

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
@@ -279,10 +279,7 @@ function SciMLStructures.canonicalize(::SciMLStructures.Tunable, p::MTKParameter
279279
arr = p.tunable
280280
repack = let p = p
281281
function (new_val)
282-
if new_val !== p.tunable
283-
copyto!(p.tunable, new_val)
284-
end
285-
return p
282+
return SciMLStructures.replace(SciMLStructures.Tunable(), p, new_val)
286283
end
287284
end
288285
return arr, repack, true
@@ -303,12 +300,9 @@ for (Portion, field, recurse) in [(SciMLStructures.Discrete, :discrete, 1)
303300
(Nonnumeric, :nonnumeric, 1)]
304301
@eval function SciMLStructures.canonicalize(::$Portion, p::MTKParameters)
305302
as_vector = buffer_to_arraypartition(p.$field)
306-
repack = let as_vector = as_vector, p = p
303+
repack = let p = p
307304
function (new_val)
308-
if new_val !== as_vector
309-
update_tuple_of_buffers(new_val, p.$field)
310-
end
311-
p
305+
return SciMLStructures.replace(($Portion)(), p, new_val)
312306
end
313307
end
314308
return as_vector, repack, true

0 commit comments

Comments
 (0)