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.
 
 
 
 

50 lines
1.9 KiB

#pragma once
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wextra-semi"
#pragma clang diagnostic ignored "-Wzero-length-array"
#pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments"
#pragma clang diagnostic ignored "-Wdeprecated-register"
#pragma clang diagnostic ignored "-Wc99-extensions"
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic"
#pragma GCC system_header // Only way to suppress some warnings atm.
#include "sylvan_obj.hpp"
#include "sylvan_mtbdd_storm.h"
#include "sylvan_storm_rational_number.h"
#include "sylvan_storm_rational_function.h"
#define cas(ptr, old, new) (__sync_bool_compare_and_swap((ptr),(old),(new)))
#define ATOMIC_READ(x) (*(volatile decltype(x) *)&(x))
namespace storm {
namespace dd {
/*!
* Retrieves whether the topmost variable in the BDD is the one with the given index.
*
* @param node The top node of the BDD.
* @param variableIndex The variable index.
* @param offset An offset that is applied to the index of the top variable in the BDD.
* @return True iff the BDD's top variable has the given index.
*/
bool sylvan_bdd_matches_variable_index(BDD node, uint64_t variableIndex, int64_t offset = 0);
/*!
* Retrieves whether the topmost variable in the MTBDD is the one with the given index.
*
* @param node The top node of the BDD.
* @param variableIndex The variable index.
* @param offset An offset that is applied to the index of the top variable in the BDD.
* @return True iff the BDD's top variable has the given index.
*/
bool sylvan_mtbdd_matches_variable_index(MTBDD node, uint64_t variableIndex, int64_t offset = 0);
}
}
#pragma GCC diagnostic pop
#pragma clang diagnostic pop