Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
QuantileFormula.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4
6
7namespace storm {
8namespace logic {
10 public:
11 QuantileFormula(std::vector<storm::expressions::Variable> const& boundVariables, std::shared_ptr<Formula const> subformula);
12
13 virtual ~QuantileFormula();
14
15 virtual bool isQuantileFormula() const override;
16
17 virtual bool hasQuantitativeResult() const override; // Result is numerical or a pareto curve
18 virtual bool hasNumericalResult() const; // Result is numerical
19 virtual bool hasMultiDimensionalResult() const; // Result is a pareto curve
20
21 Formula const& getSubformula() const;
22 uint64_t getDimension() const;
23 bool isMultiDimensional() const;
24
26 storm::expressions::Variable const& getBoundVariable(uint64_t index) const;
27 std::vector<storm::expressions::Variable> const& getBoundVariables() const;
28
29 virtual boost::any accept(FormulaVisitor const& visitor, boost::any const& data) const override;
30 virtual void gatherAtomicExpressionFormulas(std::vector<std::shared_ptr<AtomicExpressionFormula const>>& atomicExpressionFormulas) const override;
31 virtual void gatherAtomicLabelFormulas(std::vector<std::shared_ptr<AtomicLabelFormula const>>& atomicLabelFormulas) const override;
32 virtual void gatherReferencedRewardModels(std::set<std::string>& referencedRewardModels) const override;
33
34 virtual std::ostream& writeToStream(std::ostream& out, bool allowParentheses = false) const override;
35
36 private:
37 std::vector<storm::expressions::Variable> boundVariables;
38 std::shared_ptr<Formula const> subformula;
39};
40} // namespace logic
41} // namespace storm
std::vector< storm::expressions::Variable > const & getBoundVariables() const
virtual boost::any accept(FormulaVisitor const &visitor, boost::any const &data) const override
virtual std::ostream & writeToStream(std::ostream &out, bool allowParentheses=false) const override
Writes the forumla to the given output stream.
virtual void gatherReferencedRewardModels(std::set< std::string > &referencedRewardModels) const override
virtual bool hasQuantitativeResult() const override
Formula const & getSubformula() const
virtual void gatherAtomicLabelFormulas(std::vector< std::shared_ptr< AtomicLabelFormula const > > &atomicLabelFormulas) const override
virtual bool hasNumericalResult() const
virtual void gatherAtomicExpressionFormulas(std::vector< std::shared_ptr< AtomicExpressionFormula const > > &atomicExpressionFormulas) const override
virtual bool isQuantileFormula() const override
storm::expressions::Variable const & getBoundVariable() const
QuantileFormula(std::vector< storm::expressions::Variable > const &boundVariables, std::shared_ptr< Formula const > subformula)
virtual bool hasMultiDimensionalResult() const