#pragma once #include "../include/cudd.h" #include #include class Mgr { Cudd mgr; public: BDD bddVar() const; BDD bddVar(int i) const; BDD bddZero() const; BDD bddOne() const; BDD bddConstant(bool v) const; void setMaxMemory(unsigned long maxMemory); void storeBDD(const BDD& bdd, char filename[]); void storeCNF(const BDD& bdd, char filename[]); BDD loadBDD(const std::string& path); BDD loadCNF(const std::string& path); void dumpDot(const BDD& b, FILE* fp) const; void dumpDot(const BDD& b) const; void dumpDot(const BDD& b, const std::string& dotPath) const; void dumpDot(const std::vector& roots, FILE* fp) const; void dumpDot(const std::vector& roots) const; void dumpDot(const std::vector& roots, const std::string& dotPath) const; int nodeCount(const std::vector& roots) const; void debug(BDD b) const; void debug(const std::vector& roots) const; }; extern Mgr m;