Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SymbolicEquationSolver.h
Go to the documentation of this file.
1#pragma once
2
4
7
8namespace storm {
9namespace solver {
10
11template<storm::dd::DdType DdType, typename ValueType = double>
13 public:
16 virtual ~SymbolicEquationSolver() = default;
17
18 virtual void setLowerBounds(storm::dd::Add<DdType, ValueType> const& lowerBounds);
19 virtual void setLowerBound(ValueType const& lowerBound);
20 virtual void setUpperBounds(storm::dd::Add<DdType, ValueType> const& upperBounds);
21 virtual void setUpperBound(ValueType const& lowerBound);
22 virtual void setBounds(ValueType const& lowerBound, ValueType const& upperBound);
23 virtual void setBounds(storm::dd::Add<DdType, ValueType> const& lowerBounds, storm::dd::Add<DdType, ValueType> const& upperBounds);
24
25 bool hasLowerBound() const;
26 ValueType const& getLowerBound() const;
27 bool hasLowerBounds() const;
29 bool hasUpperBound() const;
30 ValueType const& getUpperBound() const;
31 bool hasUpperBounds() const;
33
38
43
44 protected:
46
49
50 // The relevant rows to this equation solver.
52
53 private:
54 // Lower bounds (if given).
55 boost::optional<storm::dd::Add<DdType, ValueType>> lowerBounds;
56 boost::optional<ValueType> lowerBound;
57
58 // Upper bounds (if given).
59 boost::optional<storm::dd::Add<DdType, ValueType>> upperBounds;
60 boost::optional<ValueType> upperBound;
61};
62
63} // namespace solver
64} // namespace storm
storm::dd::DdManager< DdType > & getDdManager() const
storm::dd::Add< DdType, ValueType > const & getLowerBounds() const
virtual void setUpperBound(ValueType const &lowerBound)
storm::dd::Add< DdType, ValueType > getUpperBoundsVector() const
Retrieves a vector of upper bounds for all values (if any lower bounds are known).
virtual void setLowerBounds(storm::dd::Add< DdType, ValueType > const &lowerBounds)
virtual void setUpperBounds(storm::dd::Add< DdType, ValueType > const &upperBounds)
virtual void setLowerBound(ValueType const &lowerBound)
storm::dd::Bdd< DdType > const & getAllRows() const
void setAllRows(storm::dd::Bdd< DdType > const &allRows)
storm::dd::Add< DdType, ValueType > getLowerBoundsVector() const
Retrieves a vector of lower bounds for all values (if any lower bounds are known).
storm::dd::Add< DdType, ValueType > const & getUpperBounds() const
virtual void setBounds(ValueType const &lowerBound, ValueType const &upperBound)
LabParser.cpp.
Definition cli.cpp:18