Adiar 2.1.0
An External Memory Decision Diagram Library
Loading...
Searching...
No Matches
Variable Substitution

Variable substitution and reordering. More...

Functions

__bdd adiar::bdd_replace (const bdd &f, const function< bdd::label_type(bdd::label_type)> &m, replace_type m_type=replace_type::Auto)
 Replace variables in f according to the mapping in m.
 

Detailed Description

Variable substitution and reordering.

Remarks
Variable substitution can be used as a poor man's explicit reordering operation.

Function Documentation

◆ bdd_replace()

__bdd adiar::bdd_replace ( const bdd f,
const function< bdd::label_type(bdd::label_type)> &  m,
replace_type  m_type = replace_type::Auto 
)

Replace variables in f according to the mapping in m.

Parameters
fBDD to replace variables within
mFunction from BDD label to another (or itself).
m_typeGuarantees on the class of variable relabelling, e.g. whether it is monotonic. By default, this value is inferred automatically.
Exceptions
invalid_argumentif m_type classifies m as not monotonic.