[−][src]Trait momba_explore::time::TimeType
An interface for dealing with different ways of representing time.
Associated Types
type Valuations: Eq + PartialEq + Hash + Clone
[src]
Type used to represent potentially infinite sets of clock valuations.
type CompiledDifference: Clone
[src]
Type used to represent the difference between two clocks.
type CompiledClocks: Clone
[src]
Type used to represent a compiled set of clocks.
Required methods
pub fn new(network: &Network) -> Result<Self, String>
[src]
Crates a new instance of TimeType for the given network.
pub fn compile_difference(
&self,
left: &Clock,
right: &Clock
) -> Self::CompiledDifference
[src]
&self,
left: &Clock,
right: &Clock
) -> Self::CompiledDifference
Takes two clocks and returns a compiled difference between left
and right
.
pub fn compile_clocks(&self, clocks: &HashSet<Clock>) -> Self::CompiledClocks
[src]
Takes a set of clocks and returns a compiled set of clocks.
pub fn is_empty(&self, valuations: &Self::Valuations) -> bool
[src]
Checks the provided set of valuations is empty.
pub fn create_valuations(
&self,
constraints: Vec<Constraint<Self>>
) -> Result<Self::Valuations, String>
[src]
&self,
constraints: Vec<Constraint<Self>>
) -> Result<Self::Valuations, String>
Creates a set of valuations based on the given constraints.
pub fn constrain(
&self,
valuations: Self::Valuations,
difference: &Self::CompiledDifference,
is_strict: bool,
bound: Value
) -> Self::Valuations
[src]
&self,
valuations: Self::Valuations,
difference: &Self::CompiledDifference,
is_strict: bool,
bound: Value
) -> Self::Valuations
Constrain a set of valuations with the given constraint.
pub fn reset(
&self,
valuations: Self::Valuations,
clocks: &Self::CompiledClocks
) -> Self::Valuations
[src]
&self,
valuations: Self::Valuations,
clocks: &Self::CompiledClocks
) -> Self::Valuations
Resets the clocks of the given set to 0.
pub fn future(&self, valuations: Self::Valuations) -> Self::Valuations
[src]
Extrapolates the future of the given valuations.
Implementors
impl TimeType for Float64Zone
[src]
type Valuations = DBM<ConstantBound<NotNan<f64>>>
type CompiledDifference = (usize, usize)
type CompiledClocks = Vec<usize>
pub fn new(network: &Network) -> Result<Self, String>
[src]
pub fn compile_difference(
&self,
left: &Clock,
right: &Clock
) -> Self::CompiledDifference
[src]
&self,
left: &Clock,
right: &Clock
) -> Self::CompiledDifference
pub fn compile_clocks(&self, clocks: &HashSet<Clock>) -> Self::CompiledClocks
[src]
pub fn is_empty(&self, valuations: &Self::Valuations) -> bool
[src]
pub fn create_valuations(
&self,
constraints: Vec<Constraint<Self>>
) -> Result<Self::Valuations, String>
[src]
&self,
constraints: Vec<Constraint<Self>>
) -> Result<Self::Valuations, String>
pub fn constrain(
&self,
valuations: Self::Valuations,
difference: &Self::CompiledDifference,
is_strict: bool,
bound: Value
) -> Self::Valuations
[src]
&self,
valuations: Self::Valuations,
difference: &Self::CompiledDifference,
is_strict: bool,
bound: Value
) -> Self::Valuations
pub fn reset(
&self,
valuations: Self::Valuations,
clocks: &Self::CompiledClocks
) -> Self::Valuations
[src]
&self,
valuations: Self::Valuations,
clocks: &Self::CompiledClocks
) -> Self::Valuations
pub fn future(&self, valuations: Self::Valuations) -> Self::Valuations
[src]
Extrapolates the future of the given valuations.
impl TimeType for NoClocks
[src]
type Valuations = ()
type CompiledDifference = ()
type CompiledClocks = ()
pub fn new(network: &Network) -> Result<Self, String>
[src]
pub fn compile_difference(
&self,
_left: &Clock,
_right: &Clock
) -> Self::CompiledDifference
[src]
&self,
_left: &Clock,
_right: &Clock
) -> Self::CompiledDifference
pub fn compile_clocks(&self, clocks: &HashSet<Clock>) -> Self::CompiledClocks
[src]
pub fn is_empty(&self, _valuations: &Self::Valuations) -> bool
[src]
pub fn create_valuations(
&self,
constraints: Vec<Constraint<Self>>
) -> Result<Self::Valuations, String>
[src]
&self,
constraints: Vec<Constraint<Self>>
) -> Result<Self::Valuations, String>
pub fn constrain(
&self,
_valuations: Self::Valuations,
_difference: &Self::CompiledDifference,
_is_strict: bool,
_bound: Value
) -> Self::Valuations
[src]
&self,
_valuations: Self::Valuations,
_difference: &Self::CompiledDifference,
_is_strict: bool,
_bound: Value
) -> Self::Valuations
pub fn reset(
&self,
_valuations: Self::Valuations,
_clocks: &Self::CompiledClocks
) -> Self::Valuations
[src]
&self,
_valuations: Self::Valuations,
_clocks: &Self::CompiledClocks
) -> Self::Valuations