Skip to content

Commit f00b24e

Browse files
committed
Delete del
1 parent 7311465 commit f00b24e

File tree

3 files changed

+17
-48
lines changed

3 files changed

+17
-48
lines changed

src/threadsafe.jl

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,10 +185,8 @@ end
185185
values_as(vi::ThreadSafeVarInfo) = values_as(vi.varinfo)
186186
values_as(vi::ThreadSafeVarInfo, ::Type{T}) where {T} = values_as(vi.varinfo, T)
187187

188-
function unset_flag!(
189-
vi::ThreadSafeVarInfo, vn::VarName, flag::String, ignoreable::Bool=false
190-
)
191-
return unset_flag!(vi.varinfo, vn, flag, ignoreable)
188+
function unset_flag!(vi::ThreadSafeVarInfo, vn::VarName, flag::String)
189+
return unset_flag!(vi.varinfo, vn, flag)
192190
end
193191
function is_flagged(vi::ThreadSafeVarInfo, vn::VarName, flag::String)
194192
return is_flagged(vi.varinfo, vn, flag)

src/varinfo.jl

Lines changed: 9 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,6 @@ Construct an empty type unstable instance of `Metadata`.
423423
function Metadata()
424424
vals = Vector{Real}()
425425
flags = Dict{String,BitVector}()
426-
flags["del"] = BitVector()
427426
flags["trans"] = BitVector()
428427

429428
return Metadata(
@@ -887,12 +886,7 @@ function set_flag!(md::Metadata, vn::VarName, flag::String)
887886
end
888887

889888
function set_flag!(vnv::VarNamedVector, ::VarName, flag::String)
890-
if flag == "del"
891-
# The "del" flag is effectively always set for a VarNamedVector, so this is a no-op.
892-
else
893-
throw(ErrorException("Flag $flag not valid for VarNamedVector"))
894-
end
895-
return vnv
889+
throw(ErrorException("VarNamedVector does not support flags; Tried to set ${flag}."))
896890
end
897891

898892
####
@@ -1710,7 +1704,7 @@ function BangBang.push!!(vi::VarInfo, vn::VarName, r, dist::Distribution)
17101704
[1:length(val)],
17111705
val,
17121706
[dist],
1713-
Dict{String,BitVector}("trans" => [false], "del" => [false]),
1707+
Dict{String,BitVector}("trans" => [false]),
17141708
)
17151709
vi = Accessors.@set vi.metadata[sym] = md
17161710
else
@@ -1744,7 +1738,6 @@ function Base.push!(meta::Metadata, vn, r, dist)
17441738
push!(meta.ranges, (l + 1):(l + n))
17451739
append!(meta.vals, val)
17461740
push!(meta.dists, dist)
1747-
push!(meta.flags["del"], false)
17481741
push!(meta.flags["trans"], false)
17491742
return meta
17501743
end
@@ -1770,42 +1763,25 @@ function is_flagged(metadata::Metadata, vn::VarName, flag::String)
17701763
return metadata.flags[flag][getidx(metadata, vn)]
17711764
end
17721765
function is_flagged(::VarNamedVector, ::VarName, flag::String)
1773-
if flag == "del"
1774-
return true
1775-
else
1776-
throw(ErrorException("Flag $flag not valid for VarNamedVector"))
1777-
end
1766+
throw(ErrorException("VarNamedVector does not support flags; Tried to read ${flag}."))
17781767
end
17791768

1780-
# TODO(mhauru) The "ignorable" argument is a temporary hack while developing VarNamedVector,
1781-
# but still having to support the interface based on Metadata too
17821769
"""
1783-
unset_flag!(vi::VarInfo, vn::VarName, flag::String, ignorable::Bool=false
1770+
unset_flag!(vi::VarInfo, vn::VarName, flag::String
17841771
17851772
Set `vn`'s value for `flag` to `false` in `vi`.
1786-
1787-
Setting some flags for some `VarInfo` types is not possible, and by default attempting to do
1788-
so will error. If `ignorable` is set to `true` then this will silently be ignored instead.
17891773
"""
1790-
function unset_flag!(vi::VarInfo, vn::VarName, flag::String, ignorable::Bool=false)
1791-
unset_flag!(getmetadata(vi, vn), vn, flag, ignorable)
1774+
function unset_flag!(vi::VarInfo, vn::VarName, flag::String)
1775+
unset_flag!(getmetadata(vi, vn), vn, flag)
17921776
return vi
17931777
end
1794-
function unset_flag!(metadata::Metadata, vn::VarName, flag::String, ignorable::Bool=false)
1778+
function unset_flag!(metadata::Metadata, vn::VarName, flag::String)
17951779
metadata.flags[flag][getidx(metadata, vn)] = false
17961780
return metadata
17971781
end
17981782

1799-
function unset_flag!(vnv::VarNamedVector, ::VarName, flag::String, ignorable::Bool=false)
1800-
if ignorable
1801-
return vnv
1802-
end
1803-
if flag == "del"
1804-
throw(ErrorException("The \"del\" flag cannot be unset for VarNamedVector"))
1805-
else
1806-
throw(ErrorException("Flag $flag not valid for VarNamedVector"))
1807-
end
1808-
return vnv
1783+
function unset_flag!(vnv::VarNamedVector, ::VarName, flag::String)
1784+
throw(ErrorException("VarNamedVector does not support flags; Tried to unset ${flag}."))
18091785
end
18101786

18111787
# TODO: Maybe rename or something?

test/varinfo.jl

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,6 @@ function randr(vi::DynamicPPL.VarInfo, vn::VarName, dist::Distribution)
2222
r = rand(dist)
2323
push!!(vi, vn, r, dist)
2424
r
25-
elseif DynamicPPL.is_flagged(vi, vn, "del")
26-
DynamicPPL.unset_flag!(vi, vn, "del")
27-
r = rand(dist)
28-
vi[vn] = DynamicPPL.tovec(r)
29-
r
3025
else
3126
vi[vn]
3227
end
@@ -300,14 +295,14 @@ end
300295

301296
push!!(vi, vn_x, r, dist)
302297

303-
# del is set by default
304-
@test !is_flagged(vi, vn_x, "del")
298+
# trans is set by default
299+
@test !is_flagged(vi, vn_x, "trans")
305300

306-
set_flag!(vi, vn_x, "del")
307-
@test is_flagged(vi, vn_x, "del")
301+
set_flag!(vi, vn_x, "trans")
302+
@test is_flagged(vi, vn_x, "trans")
308303

309-
unset_flag!(vi, vn_x, "del")
310-
@test !is_flagged(vi, vn_x, "del")
304+
unset_flag!(vi, vn_x, "trans")
305+
@test !is_flagged(vi, vn_x, "trans")
311306
end
312307
vi = VarInfo()
313308
test_varinfo!(vi)

0 commit comments

Comments
 (0)