Browse Source

fixed bug in sylvan

Former-commit-id: 0fd69e20a1
main
dehnert 9 years ago
parent
commit
4a772fe48d
  1. 2
      resources/3rdparty/sylvan/src/sylvan_mtbdd.c
  2. 1
      src/builder/DdPrismModelBuilder.cpp
  3. 8
      src/models/symbolic/Model.h
  4. 2
      src/solver/Z3SmtSolver.cpp
  5. 4
      src/storage/dd/Add.h
  6. 2
      src/storage/dd/Bdd.h
  7. 1
      src/storage/dd/Odd.h
  8. 2
      src/storage/dd/cudd/InternalCuddAdd.h
  9. 2
      src/storage/dd/cudd/InternalCuddBdd.h
  10. 2
      src/storage/dd/sylvan/InternalSylvanDdManager.cpp

2
resources/3rdparty/sylvan/src/sylvan_mtbdd.c

@ -90,7 +90,7 @@ VOID_TASK_IMPL_1(mtbdd_gc_mark_rec, MDD, mtbdd)
if (mtbdd == mtbdd_true) return;
if (mtbdd == mtbdd_false) return;
if (llmsset_mark(nodes, mtbdd)) {
if (llmsset_mark(nodes, mtbdd&0x000000ffffffffff)) {
mtbddnode_t n = GETNODE(mtbdd);
if (!mtbddnode_isleaf(n)) {
SPAWN(mtbdd_gc_mark_rec, mtbddnode_getlow(n));

1
src/builder/DdPrismModelBuilder.cpp

@ -347,7 +347,6 @@ namespace storm {
std::set<storm::expressions::Variable> assignedGlobalVariables;
std::set_intersection(assignedVariables.begin(), assignedVariables.end(), generationInfo.allGlobalVariables.begin(), generationInfo.allGlobalVariables.end(), std::inserter(assignedGlobalVariables, assignedGlobalVariables.begin()));
int index = 0;
// All unassigned boolean variables need to keep their value.
for (storm::prism::BooleanVariable const& booleanVariable : module.getBooleanVariables()) {
if (assignedVariables.find(booleanVariable.getExpressionVariable()) == assignedVariables.end()) {

8
src/models/symbolic/Model.h

@ -49,12 +49,12 @@ namespace storm {
static const storm::dd::DdType DdType = Type;
typedef StandardRewardModel<Type, ValueType> RewardModelType;
Model(Model<Type> const& other) = default;
Model& operator=(Model<Type> const& other) = default;
Model(Model<Type, ValueType> const& other) = default;
Model& operator=(Model<Type, ValueType> const& other) = default;
#ifndef WINDOWS
Model(Model<Type>&& other) = default;
Model& operator=(Model<Type>&& other) = default;
Model(Model<Type, ValueType>&& other) = default;
Model& operator=(Model<Type, ValueType>&& other) = default;
#endif
/*!

2
src/solver/Z3SmtSolver.cpp

@ -323,7 +323,7 @@ namespace storm {
std::vector<storm::expressions::Expression> Z3SmtSolver::getUnsatAssumptions() {
#ifdef STORM_HAVE_Z3
STORM_LOG_THROW(lastResult == SmtSolver::CheckResult::Unsat, storm::exceptions::InvalidStateException, "Unable to generate unsatisfiable core of assumptions, because the last check did not determine the formulas to be unsatisfiable.")
STORM_LOG_THROW(lastResult == SmtSolver::CheckResult::Unsat, storm::exceptions::InvalidStateException, "Unable to generate unsatisfiable core of assumptions, because the last check did not determine the formulas to be unsatisfiable.");
STORM_LOG_THROW(lastCheckAssumptions, storm::exceptions::InvalidStateException, "Unable to generate unsatisfiable core of assumptions, because the last check did not involve assumptions.");
z3::expr_vector z3UnsatAssumptions = this->solver->unsat_core();

4
src/storage/dd/Add.h

@ -2,6 +2,7 @@
#define STORM_STORAGE_DD_ADD_H_
#include <map>
#include <functional>
#include "src/storage/dd/Dd.h"
#include "src/storage/dd/DdType.h"
@ -584,7 +585,8 @@ namespace storm {
*/
AddIterator<LibraryType, ValueType> end(bool enumerateDontCareMetaVariables = true) const;
friend std::ostream & operator<<(std::ostream& out, const Add<LibraryType, ValueType>& add);
template<DdType LibraryTypePrime, typename ValueTypePrime>
friend std::ostream & operator<<(std::ostream& out, Add<LibraryTypePrime, ValueTypePrime> const& add);
/*!
* Converts the ADD to a BDD by mapping all values unequal to zero to 1. This effectively does the same as

2
src/storage/dd/Bdd.h

@ -1,6 +1,8 @@
#ifndef STORM_STORAGE_DD_BDD_H_
#define STORM_STORAGE_DD_BDD_H_
#include <functional>
#include "src/storage/dd/Dd.h"
#include "src/storage/dd/DdType.h"

1
src/storage/dd/Odd.h

@ -3,6 +3,7 @@
#include <vector>
#include <map>
#include <memory>
namespace storm {
namespace dd {

2
src/storage/dd/cudd/InternalCuddAdd.h

@ -3,6 +3,8 @@
#include <set>
#include <unordered_map>
#include <functional>
#include <memory>
#include "src/storage/dd/DdType.h"
#include "src/storage/dd/InternalAdd.h"

2
src/storage/dd/cudd/InternalCuddBdd.h

@ -3,6 +3,8 @@
#include <set>
#include <unordered_map>
#include <functional>
#include <memory>
#include "src/storage/dd/DdType.h"
#include "src/storage/dd/InternalBdd.h"

2
src/storage/dd/sylvan/InternalSylvanDdManager.cpp

@ -19,7 +19,7 @@ namespace storm {
lace_init(0, 1000000);
lace_startup(0, 0, 0);
sylvan::Sylvan::initPackage(1ull << 16, 1ull << 32, 1ull << 16, 1ull << 32);
sylvan::Sylvan::initPackage(1ull << 16, 1ull << 28, 1ul << 16, 1ull << 25);
sylvan::Sylvan::initBdd(1);
sylvan::Sylvan::initMtbdd();
}

Loading…
Cancel
Save