Skip to content

Commit

Permalink
Make ordering of exec_policy overload consistent in BDD and ZDD API
Browse files Browse the repository at this point in the history
  • Loading branch information
SSoelvsten committed Oct 2, 2023
1 parent f98c8ee commit 144a6d1
Showing 1 changed file with 39 additions and 38 deletions.
77 changes: 39 additions & 38 deletions src/adiar/zdd.h
Original file line number Diff line number Diff line change
Expand Up @@ -440,6 +440,14 @@ namespace adiar
//////////////////////////////////////////////////////////////////////////////
__zdd zdd_change(const zdd &A, const generator<zdd::label_type> &vars);

//////////////////////////////////////////////////////////////////////////////
/// \brief The symmetric difference between each set in the family and the
/// given set of variables.
//////////////////////////////////////////////////////////////////////////////
__zdd zdd_change(const exec_policy &ep,
const zdd &A,
const generator<zdd::label_type> &vars);

//////////////////////////////////////////////////////////////////////////////
/// \brief The symmetric difference between each set in the family and
/// the given set of variables.
Expand All @@ -458,14 +466,6 @@ namespace adiar
__zdd zdd_change(const zdd &A, ForwardIt begin, ForwardIt end)
{ return zdd_change(A, make_generator(begin, end)); }

//////////////////////////////////////////////////////////////////////////////
/// \brief The symmetric difference between each set in the family and the
/// given set of variables.
//////////////////////////////////////////////////////////////////////////////
__zdd zdd_change(const exec_policy &ep,
const zdd &A,
const generator<zdd::label_type> &vars);

//////////////////////////////////////////////////////////////////////////////
/// \brief The symmetric difference between each set in the family and the
/// given set of variables.
Expand All @@ -488,6 +488,14 @@ namespace adiar
//////////////////////////////////////////////////////////////////////////////
__zdd zdd_complement(const zdd &A, const generator<zdd::label_type> &dom);


//////////////////////////////////////////////////////////////////////////////
/// \brief Complement of A within the given domain.
//////////////////////////////////////////////////////////////////////////////
__zdd zdd_complement(const exec_policy& ep,
const zdd &A,
const generator<zdd::label_type> &dom);

//////////////////////////////////////////////////////////////////////////////
/// \brief Complement of A within the given domain.
///
Expand All @@ -504,6 +512,16 @@ namespace adiar
__zdd zdd_complement(const zdd &A, ForwardIt begin, ForwardIt end)
{ return zdd_complement(A, make_generator(begin, end)); }

//////////////////////////////////////////////////////////////////////////////
/// \brief Complement of A within the given domain.
//////////////////////////////////////////////////////////////////////////////
template<typename ForwardIt>
__zdd zdd_complement(const exec_policy &ep,
const zdd &A,
ForwardIt begin,
ForwardIt end)
{ return zdd_complement(ep, A, make_generator(begin, end)); }

//////////////////////////////////////////////////////////////////////////////
/// \brief Complement of A within the global \ref module__domain
///
Expand All @@ -518,6 +536,11 @@ namespace adiar
//////////////////////////////////////////////////////////////////////////////
__zdd zdd_complement(const zdd &A);

//////////////////////////////////////////////////////////////////////////////
/// \brief Complement of A within the global \ref module__domain
//////////////////////////////////////////////////////////////////////////////
__zdd zdd_complement(const exec_policy& ep, const zdd &A);

//////////////////////////////////////////////////////////////////////////////
/// \see zdd_complement
//////////////////////////////////////////////////////////////////////////////
Expand All @@ -527,28 +550,6 @@ namespace adiar
__zdd operator~ (__zdd&& A);
/// \endcond

//////////////////////////////////////////////////////////////////////////////
/// \brief Complement of A within the given domain.
//////////////////////////////////////////////////////////////////////////////
__zdd zdd_complement(const exec_policy& ep,
const zdd &A,
const generator<zdd::label_type> &dom);

//////////////////////////////////////////////////////////////////////////////
/// \brief Complement of A within the given domain.
//////////////////////////////////////////////////////////////////////////////
template<typename ForwardIt>
__zdd zdd_complement(const exec_policy &ep,
const zdd &A,
ForwardIt begin,
ForwardIt end)
{ return zdd_complement(ep, A, make_generator(begin, end)); }

//////////////////////////////////////////////////////////////////////////////
/// \brief Complement of A within the global \ref module__domain
//////////////////////////////////////////////////////////////////////////////
__zdd zdd_complement(const exec_policy& ep, const zdd &A);

//////////////////////////////////////////////////////////////////////////////
/// \brief Expands the domain of the given ZDD to also include the given
/// set of labels.
Expand All @@ -569,6 +570,14 @@ namespace adiar
//////////////////////////////////////////////////////////////////////////////
__zdd zdd_expand(const zdd &A, const generator<zdd::label_type> &vars);

//////////////////////////////////////////////////////////////////////////////
/// \brief Expands the domain of the given ZDD to also include the given set
/// of labels.
//////////////////////////////////////////////////////////////////////////////
__zdd zdd_expand(const exec_policy &ep,
const zdd &A,
const generator<zdd::label_type> &vars);

//////////////////////////////////////////////////////////////////////////////
/// \brief Expands the domain of the given ZDD to also include the given
/// set of labels.
Expand All @@ -592,14 +601,6 @@ namespace adiar
__zdd zdd_expand(const zdd &A, ForwardIt begin, ForwardIt end)
{ return zdd_expand(A, make_generator(begin, end)); }

//////////////////////////////////////////////////////////////////////////////
/// \brief Expands the domain of the given ZDD to also include the given set
/// of labels.
//////////////////////////////////////////////////////////////////////////////
__zdd zdd_expand(const exec_policy &ep,
const zdd &A,
const generator<zdd::label_type> &vars);

//////////////////////////////////////////////////////////////////////////////
/// \brief Expands the domain of the given ZDD to also include the given set
/// of labels.
Expand Down

0 comments on commit 144a6d1

Please sign in to comment.