BDD.ToAndOr
Back to table
/*
Logic-Function-Analysis
BDD.ToAndOr
[AndOr() g]=BDD.ToAndOr(BDD drgm);
drgm : a logic function in the BDD form
g : a list of AndOr logic functions.
Convert a BDD to the AndOr logic functions.
*/
//-------------------------------------------------------------------
// examples
[f] = BDD[3]()
{
/// output: nodeIndex '->' (nodeVariable) '->' nodeIndex/value ';'
/// internal: nodeIndex '->' (nodeVariable) '->' THEN(nodeIndex/value) ',' ELSE(nodeIndex/value) ';'
/// value : T/F for TRUE/FALSE
1->(3)->2;
2->(1)->3,6;
3->(2)->F,T;
6->(2)->T,F;
}
[g]=BDD.ToAndOr(f);
Print(f,g);
//-------------------------------------------------------------------
// result
IsBiUnateFunctionTo IsPositiveUnateFunctionTo And ToAndOr List MaxValue MinValue ToBinary binary bool() ToVariableInvertedFunction Dimacs Equiv FeedbackDiagram Count logicvardef() Nand Not RadixFromIndex Or MaxSAT ShortestInputsForTransition CreateCompactTable SimpleInner StateTransition AdjustLogicVariableCount ComputeDONTCARE IndependentBase Normalization Zero