Browse Source
Created new base class OptimizingOperator.
Created new base class OptimizingOperator.
Inheriting from this class where appropriate, added constructors accepting minimumOperator argument.main
5 changed files with 81 additions and 63 deletions
-
35src/formula/NoBoundOperator.h
-
56src/formula/OptimizingOperator.h
-
36src/formula/PathBoundOperator.h
-
11src/formula/ProbabilisticBoundOperator.h
-
6src/formula/RewardBoundOperator.h
@ -0,0 +1,56 @@ |
|||
#ifndef STORM_FORMULA_OPTIMIZINGOPERATOR_H_ |
|||
#define STORM_FORMULA_OPTIMIZINGOPERATOR_H_ |
|||
|
|||
namespace storm { |
|||
|
|||
namespace formula { |
|||
|
|||
class OptimizingOperator { |
|||
public: |
|||
/*! |
|||
* Empty constructor |
|||
*/ |
|||
OptimizingOperator() : optimalityOperator(false), minimumOperator(false) { |
|||
} |
|||
|
|||
/*! |
|||
* Constructor |
|||
* |
|||
* @param minimumOperator A flag indicating whether this operator is a minimizing or a maximizing operator. |
|||
*/ |
|||
OptimizingOperator(bool minimumOperator) : optimalityOperator(true), minimumOperator(minimumOperator) { |
|||
} |
|||
|
|||
/*! |
|||
* Retrieves whether the operator is to be interpreted as an optimizing (i.e. min/max) operator. |
|||
* @returns True if the operator is an optimizing operator. |
|||
*/ |
|||
bool isOptimalityOperator() const { |
|||
return optimalityOperator; |
|||
} |
|||
|
|||
/*! |
|||
* Retrieves whether the operator is a minimizing operator given that it is an optimality |
|||
* operator. |
|||
* @returns True if the operator is an optimizing operator and it is a minimizing operator and |
|||
* false otherwise, i.e. if it is either not an optimizing operator or not a minimizing operator. |
|||
*/ |
|||
bool isMinimumOperator() const { |
|||
return optimalityOperator && minimumOperator; |
|||
} |
|||
|
|||
private: |
|||
// A flag that indicates whether this operator is meant as an optimizing (i.e. min/max) operator |
|||
// over a nondeterministic model. |
|||
bool optimalityOperator; |
|||
|
|||
// In the case this operator is an optimizing operator, this flag indicates whether it is |
|||
// looking for the minimum or the maximum value. |
|||
bool minimumOperator; |
|||
}; |
|||
|
|||
} /* namespace formula */ |
|||
|
|||
} /* namespace storm */ |
|||
|
|||
#endif /* STORM_FORMULA_OPTIMIZINGOPERATOR_H_ */ |
Write
Preview
Loading…
Cancel
Save
Reference in new issue