Skip to content

Commit

Permalink
removed has_static_support and everything related
Browse files Browse the repository at this point in the history
  • Loading branch information
torfjelde committed Apr 19, 2024
1 parent a7f0656 commit 671620b
Showing 1 changed file with 4 additions and 46 deletions.
50 changes: 4 additions & 46 deletions src/model.jl
Original file line number Diff line number Diff line change
Expand Up @@ -31,21 +31,12 @@ julia> Model{(:y,)}(f, (x = 1.0, y = 2.0), (x = 42,)) # with special definition
Model{typeof(f),(:x, :y),(:x,),(:y,),Tuple{Float64,Float64},Tuple{Int64}}(f, (x = 1.0, y = 2.0), (x = 42,))
```
"""
struct Model{
F,
argnames,
defaultnames,
missings,
Targs,
Tdefaults,
Ctx<:AbstractContext,
IsStatic<:Union{Val{false},Val{true}},
} <: AbstractProbabilisticProgram
struct Model{F,argnames,defaultnames,missings,Targs,Tdefaults,Ctx<:AbstractContext} <:
AbstractProbabilisticProgram
f::F
args::NamedTuple{argnames,Targs}
defaults::NamedTuple{defaultnames,Tdefaults}
context::Ctx
has_static_support::IsStatic

@doc """
Model{missings}(f, args::NamedTuple, defaults::NamedTuple)
Expand All @@ -58,10 +49,9 @@ struct Model{
args::NamedTuple{argnames,Targs},
defaults::NamedTuple{defaultnames,Tdefaults},
context::Ctx=DefaultContext(),
has_static_support::Union{Val{false},Val{true}}=Val{false}(),
) where {missings,F,argnames,Targs,defaultnames,Tdefaults,Ctx}
return new{F,argnames,defaultnames,missings,Targs,Tdefaults,Ctx,typeof(isstatic)}(
f, args, defaults, context, has_static_support
return new{F,argnames,defaultnames,missings,Targs,Tdefaults,Ctx}(
f, args, defaults, context
)
end
end
Expand All @@ -88,38 +78,6 @@ function Model(f, args::NamedTuple, context::AbstractContext=DefaultContext(); k
return Model(f, args, NamedTuple(kwargs), context)
end

"""
has_static_support(model::Model)
Return `true` if `model` has static support.
"""
has_static_support(model::Model) = model.has_static_support isa Val{true}

"""
set_static_support(model::Model, isstatic::Val{true},Val{false})
Set `model` to have static support if `isstatic` is `true`, otherwise not.
"""
function set_static_support(model::Model, isstatic::Union{Val{true},Val{false}})
return Model{getmissings(model)}(
model.f, model.args, model.defaults, model.context, isstatic
)
end

"""
mark_as_static_support(model::Model)
Mark `model` as having static support.
"""
mark_as_static_support(model::Model) = set_static_support(model, Val{true}())

"""
mark_as_dynamic_support(model::Model)
Mark `model` as not having static support.
"""
mark_as_dynamic_support(model::Model) = set_static_support(model, Val{false}())

function contextualize(model::Model, context::AbstractContext)
return Model(model.f, model.args, model.defaults, context)
end
Expand Down

0 comments on commit 671620b

Please sign in to comment.