dehnert
9 years ago
3 changed files with 155 additions and 0 deletions
-
1resources/3rdparty/sylvan/src/sylvan_obj_bdd_storm.hpp
-
42resources/3rdparty/sylvan/src/sylvan_obj_mtbdd_storm.hpp
-
112resources/3rdparty/sylvan/src/sylvan_obj_storm.cpp
@ -0,0 +1 @@ |
|||||
|
Mtbdd toDoubleMtbdd() const; |
@ -0,0 +1,42 @@ |
|||||
|
/**
|
||||
|
* @brief Computes f - g |
||||
|
*/ |
||||
|
Mtbdd Minus(const Mtbdd &other) const; |
||||
|
|
||||
|
/**
|
||||
|
* @brief Computes f / g |
||||
|
*/ |
||||
|
Mtbdd Divide(const Mtbdd &other) const; |
||||
|
|
||||
|
Bdd NotZero() const; |
||||
|
|
||||
|
Bdd Equals(const Mtbdd& other) const; |
||||
|
|
||||
|
Bdd Less(const Mtbdd& other) const; |
||||
|
|
||||
|
Bdd LessOrEqual(const Mtbdd& other) const; |
||||
|
|
||||
|
double getDoubleMax() const; |
||||
|
|
||||
|
double getDoubleMin() const; |
||||
|
|
||||
|
bool EqualNorm(const Mtbdd& other, double epsilon) const; |
||||
|
|
||||
|
bool EqualNormRel(const Mtbdd& other, double epsilon) const; |
||||
|
|
||||
|
Mtbdd Floor() const; |
||||
|
|
||||
|
Mtbdd Ceil() const; |
||||
|
|
||||
|
Mtbdd Pow(const Mtbdd& other) const; |
||||
|
|
||||
|
Mtbdd Mod(const Mtbdd& other) const; |
||||
|
|
||||
|
Mtbdd Logxy(const Mtbdd& other) const; |
||||
|
|
||||
|
size_t CountLeaves() const; |
||||
|
|
||||
|
/**
|
||||
|
* @brief Compute the number of non-zero variable assignments, using variables in cube. |
||||
|
*/ |
||||
|
double NonZeroCount(size_t variableCount) const; |
@ -0,0 +1,112 @@ |
|||||
|
Mtbdd |
||||
|
Bdd::toDoubleMtbdd() const { |
||||
|
LACE_ME; |
||||
|
return mtbdd_bool_to_double(bdd); |
||||
|
} |
||||
|
|
||||
|
Mtbdd |
||||
|
Mtbdd::Minus(const Mtbdd &other) const |
||||
|
{ |
||||
|
LACE_ME; |
||||
|
return mtbdd_minus(mtbdd, other.mtbdd); |
||||
|
} |
||||
|
|
||||
|
Mtbdd |
||||
|
Mtbdd::Divide(const Mtbdd &other) const |
||||
|
{ |
||||
|
LACE_ME; |
||||
|
return mtbdd_divide(mtbdd, other.mtbdd); |
||||
|
} |
||||
|
|
||||
|
Bdd |
||||
|
Mtbdd::NotZero() const |
||||
|
{ |
||||
|
LACE_ME; |
||||
|
return mtbdd_not_zero(mtbdd); |
||||
|
} |
||||
|
|
||||
|
Bdd |
||||
|
Mtbdd::Equals(const Mtbdd& other) const { |
||||
|
LACE_ME; |
||||
|
return mtbdd_equals(mtbdd, other.mtbdd); |
||||
|
} |
||||
|
|
||||
|
Bdd |
||||
|
Mtbdd::Less(const Mtbdd& other) const { |
||||
|
LACE_ME; |
||||
|
return mtbdd_less_as_bdd(mtbdd, other.mtbdd); |
||||
|
} |
||||
|
|
||||
|
Bdd |
||||
|
Mtbdd::LessOrEqual(const Mtbdd& other) const { |
||||
|
LACE_ME; |
||||
|
return mtbdd_less_or_equal_as_bdd(mtbdd, other.mtbdd); |
||||
|
} |
||||
|
|
||||
|
double |
||||
|
Mtbdd::getDoubleMax() const { |
||||
|
LACE_ME; |
||||
|
MTBDD maxNode = mtbdd_maximum(mtbdd); |
||||
|
return mtbdd_getdouble(maxNode); |
||||
|
} |
||||
|
|
||||
|
double |
||||
|
Mtbdd::getDoubleMin() const { |
||||
|
LACE_ME; |
||||
|
MTBDD minNode = mtbdd_minimum(mtbdd); |
||||
|
return mtbdd_getdouble(minNode); |
||||
|
} |
||||
|
|
||||
|
bool |
||||
|
Mtbdd::EqualNorm(const Mtbdd& other, double epsilon) const { |
||||
|
LACE_ME; |
||||
|
return mtbdd_equal_norm_d(mtbdd, other.mtbdd, epsilon); |
||||
|
} |
||||
|
|
||||
|
bool |
||||
|
Mtbdd::EqualNormRel(const Mtbdd& other, double epsilon) const { |
||||
|
LACE_ME; |
||||
|
return mtbdd_equal_norm_rel_d(mtbdd, other.mtbdd, epsilon); |
||||
|
} |
||||
|
|
||||
|
Mtbdd |
||||
|
Mtbdd::Floor() const { |
||||
|
LACE_ME; |
||||
|
return mtbdd_floor(mtbdd); |
||||
|
} |
||||
|
|
||||
|
Mtbdd |
||||
|
Mtbdd::Ceil() const { |
||||
|
LACE_ME; |
||||
|
return mtbdd_ceil(mtbdd); |
||||
|
} |
||||
|
|
||||
|
Mtbdd |
||||
|
Mtbdd::Pow(const Mtbdd& other) const { |
||||
|
LACE_ME; |
||||
|
return mtbdd_pow(mtbdd, other.mtbdd); |
||||
|
} |
||||
|
|
||||
|
Mtbdd |
||||
|
Mtbdd::Mod(const Mtbdd& other) const { |
||||
|
LACE_ME; |
||||
|
return mtbdd_mod(mtbdd, other.mtbdd); |
||||
|
} |
||||
|
|
||||
|
Mtbdd |
||||
|
Mtbdd::Logxy(const Mtbdd& other) const { |
||||
|
LACE_ME; |
||||
|
return mtbdd_logxy(mtbdd, other.mtbdd); |
||||
|
} |
||||
|
|
||||
|
size_t |
||||
|
Mtbdd::CountLeaves() const { |
||||
|
LACE_ME; |
||||
|
return mtbdd_leafcount(mtbdd); |
||||
|
} |
||||
|
|
||||
|
double |
||||
|
Mtbdd::NonZeroCount(size_t variableCount) const { |
||||
|
LACE_ME; |
||||
|
return mtbdd_non_zero_count(mtbdd, variableCount); |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue