Storm 1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
utility.h
Go to the documentation of this file.
1#pragma once
2
3#include "storm-config.h"
4
5#ifdef STORM_HAVE_SYLVAN
6#include <boost/functional/hash.hpp>
7
9
10namespace storm {
11namespace dd {
12
13struct SylvanMTBDDPairHash {
14 std::size_t operator()(std::pair<MTBDD, MTBDD> const& pair) const {
15 std::hash<MTBDD> hasher;
16 std::size_t seed = hasher(pair.first);
17 boost::hash_combine(seed, hasher(pair.second));
18 return seed;
19 }
20};
21
22struct SylvanMTBDDPairLess {
23 std::size_t operator()(std::pair<MTBDD, MTBDD> const& a, std::pair<MTBDD, MTBDD> const& b) const {
24 if (a.first < b.first) {
25 return true;
26 } else if (a.first == b.first && a.second < b.second) {
27 return true;
28 }
29 return false;
30 }
31};
32
33} // namespace dd
34} // namespace storm
35#endif