@@ -924,7 +924,7 @@ function haskey(vi::TypedVarInfo, vn::VarName)
924
924
return getsym (vn) in fieldnames (Tmeta) && haskey (getmetadata (vi, vn). idcs, vn)
925
925
end
926
926
927
- function show (io:: IO , vi:: UntypedVarInfo )
927
+ function Base . show (io:: IO , :: MIME"text/plain" , vi:: UntypedVarInfo )
928
928
vi_str = """
929
929
/=======================================================================
930
930
| VarInfo
@@ -942,7 +942,33 @@ function show(io::IO, vi::UntypedVarInfo)
942
942
print (io, vi_str)
943
943
end
944
944
945
- # Add a new entry to VarInfo
945
+
946
+ const _MAX_VARS_SHOWN = 4
947
+
948
+ function _show_varnames (io:: IO , vi)
949
+ md = vi. metadata
950
+ vns = md. vns
951
+
952
+ groups = Dict {Symbol, Vector{VarName}} ()
953
+ for vn in vns
954
+ group = get! (() -> Vector {VarName} (), groups, getsym (vn))
955
+ push! (group, vn)
956
+ end
957
+
958
+ print (io, length (groups), length (groups) == 1 ? " variable " : " variables " , " (" )
959
+ join (io, Iterators. take (keys (groups), _MAX_VARS_SHOWN), " , " )
960
+ length (groups) > _MAX_VARS_SHOWN && print (io, " , ..." )
961
+ print (io, " ), dimension " , sum (prod (size (md. vals[md. ranges[md. idcs[vn]]])) for vn in vns))
962
+ end
963
+
964
+ function Base. show (io:: IO , vi:: UntypedVarInfo )
965
+ print (io, " VarInfo (" )
966
+ _show_varnames (io, vi)
967
+ print (io, " ; logp: " , round (getlogp (vi), digits= 3 ))
968
+ print (io, " )" )
969
+ end
970
+
971
+
946
972
"""
947
973
push!(vi::VarInfo, vn::VarName, r, dist::Distribution)
948
974
0 commit comments