@@ -1325,6 +1325,7 @@ end
13251325
13261326""" 
13271327    setval!(vi::AbstractVarInfo, x) 
1328+     setval!(vi::AbstractVarInfo, values, keys) 
13281329    setval!(vi::AbstractVarInfo, chains::AbstractChains, sample_idx::Int, chain_idx::Int) 
13291330
13301331Set the values in `vi` to the provided values and leave those which are not present in 
@@ -1379,20 +1380,18 @@ julia> var_info[@varname(x[1])] # [✓] unchanged
13791380-0.22312984965118443 
13801381``` 
13811382""" 
1382- setval! (vi:: AbstractVarInfo , x) =  _apply! (_setval_kernel!, vi, values (x), keys (x))
1383+ setval! (vi:: AbstractVarInfo , x) =  setval! (vi, values (x), keys (x))
1384+ setval! (vi:: AbstractVarInfo , values, keys) =  _apply! (_setval_kernel!, vi, values, keys)
13831385function  setval! (
13841386    vi:: AbstractVarInfo , chains:: AbstractChains , sample_idx:: Int , chain_idx:: Int 
13851387)
1386-     return  _apply! (
1387-         _setval_kernel!, vi, chains. value[sample_idx, :, chain_idx], keys (chains)
1388-     )
1388+     return  setval! (vi, chains. value[sample_idx, :, chain_idx], keys (chains))
13891389end 
13901390
13911391function  _setval_kernel! (vi:: AbstractVarInfo , vn:: VarName , values, keys)
13921392    indices =  findall (Base. Fix1 (subsumes_string, string (vn)), keys)
13931393    if  ! isempty (indices)
1394-         sorted_indices =  sort! (indices; by= i ->  keys[i], lt= NaturalSort. natural)
1395-         val =  reduce (vcat, values[sorted_indices])
1394+         val =  reduce (vcat, values[indices])
13961395        setval! (vi, val, vn)
13971396        settrans! (vi, false , vn)
13981397    end 
@@ -1402,6 +1401,7 @@ end
14021401
14031402""" 
14041403    setval_and_resample!(vi::AbstractVarInfo, x) 
1404+     setval_and_resample!(vi::AbstractVarInfo, values, keys) 
14051405    setval_and_resample!(vi::AbstractVarInfo, chains::AbstractChains, sample_idx, chain_idx) 
14061406
14071407Set the values in `vi` to the provided values and those which are not present 
@@ -1458,24 +1458,21 @@ julia> var_info[@varname(x[1])] # [✓] changed
14581458- [`setval!`](@ref) 
14591459""" 
14601460function  setval_and_resample! (vi:: AbstractVarInfo , x)
1461-     return  _apply! (_setval_and_resample_kernel!, vi, values (x), keys (x))
1461+     return  setval_and_resample! (vi, values (x), keys (x))
1462+ end 
1463+ function  setval_and_resample! (vi:: AbstractVarInfo , values, keys)
1464+     return  _apply! (_setval_and_resample_kernel!, vi, values, keys)
14621465end 
14631466function  setval_and_resample! (
14641467    vi:: AbstractVarInfo , chains:: AbstractChains , sample_idx:: Int , chain_idx:: Int 
14651468)
1466-     return  _apply! (
1467-         _setval_and_resample_kernel!,
1468-         vi,
1469-         chains. value[sample_idx, :, chain_idx],
1470-         keys (chains),
1471-     )
1469+     return  setval_and_resample! (vi, chains. value[sample_idx, :, chain_idx], keys (chains))
14721470end 
14731471
14741472function  _setval_and_resample_kernel! (vi:: AbstractVarInfo , vn:: VarName , values, keys)
14751473    indices =  findall (Base. Fix1 (subsumes_string, string (vn)), keys)
14761474    if  ! isempty (indices)
1477-         sorted_indices =  sort! (indices; by= i ->  keys[i], lt= NaturalSort. natural)
1478-         val =  reduce (vcat, values[sorted_indices])
1475+         val =  reduce (vcat, values[indices])
14791476        setval! (vi, val, vn)
14801477        settrans! (vi, false , vn)
14811478    else 
0 commit comments