File tree Expand file tree Collapse file tree 2 files changed +19
-9
lines changed Expand file tree Collapse file tree 2 files changed +19
-9
lines changed Original file line number Diff line number Diff line change @@ -297,23 +297,23 @@ function names_values(extra_data::AbstractVector{<:NamedTuple{names}}) where nam
297
297
return collect (names), values
298
298
end
299
299
300
- function names_values (extra_data :: AbstractVector{<:NamedTuple} )
300
+ function names_values (xs :: AbstractVector{<:NamedTuple} )
301
301
# Obtain all parameter names.
302
- names_set = Set ( Symbol[] )
303
- for data in extra_data
304
- for name in names (data )
305
- push! (extra_names_set, name )
302
+ names_set = Set { Symbol} ( )
303
+ for x in xs
304
+ for k in keys (x )
305
+ push! (names_set, k )
306
306
end
307
307
end
308
- extra_names = collect (extra_names_set )
308
+ names_unique = collect (names_set )
309
309
310
310
# Extract all values as matrix.
311
311
values = [
312
- hasfield (data , name) ? missing : getfield (data, name)
313
- for data in extra_data , name in extra_names
312
+ haskey (x , name) ? x[name] : missing
313
+ for x in xs , name in names_unique
314
314
]
315
315
316
- return extra_names , values
316
+ return names_unique , values
317
317
end
318
318
319
319
getlogevidence (transitions, sampler, state) = missing
Original file line number Diff line number Diff line change 523
523
vdemo3kw (; T) = vdemo3 (T)
524
524
sample (vdemo3kw (; T= Vector{Float64}), alg, 250 )
525
525
end
526
+
527
+ @testset " names_values" begin
528
+ ks, xs = Turing. Inference. names_values ([
529
+ (a= 1 ,),
530
+ (b= 2 ,),
531
+ (a= 3 , b= 4 )
532
+ ])
533
+ @test all (xs[:, 1 ] .=== [1 , missing , 3 ])
534
+ @test all (xs[:, 2 ] .=== [missing , 2 , 4 ])
535
+ end
526
536
end
You can’t perform that action at this time.
0 commit comments