You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.2 KiB

  1. #include "OptimizationDirection.h"
  2. #include <iostream>
  3. #include <cassert>
  4. namespace storm {
  5. namespace solver {
  6. bool isSet(OptimizationDirectionSetting s) {
  7. return s != OptimizationDirectionSetting::Unset;
  8. }
  9. bool minimize(OptimizationDirection d) {
  10. return d == OptimizationDirection::Minimize;
  11. }
  12. bool maximize(OptimizationDirection d) {
  13. return d == OptimizationDirection::Maximize;
  14. }
  15. OptimizationDirection convert(OptimizationDirectionSetting s) {
  16. assert(isSet(s));
  17. return static_cast<OptimizationDirection>(s);
  18. }
  19. OptimizationDirectionSetting convert(OptimizationDirection d) {
  20. return static_cast<OptimizationDirectionSetting>(d);
  21. }
  22. OptimizationDirection invert(OptimizationDirection d) {
  23. return d == OptimizationDirection::Minimize ? OptimizationDirection::Maximize : OptimizationDirection::Minimize;
  24. }
  25. std::ostream& operator<<(std::ostream& out, OptimizationDirection d) {
  26. return d == OptimizationDirection::Minimize ? out << "Minimize" : out << "Maximize";
  27. }
  28. }
  29. }