public bdd(BDD id, bool addref) { this._id = id; if (addref) { SylvanSharp.addref(this._id); } }
public bdd Not() { invocations++; watch.Start(); var ret = new bdd(SylvanSharp.sylvan_sharp_not_addref(this._id), false); watch.Stop(); return(ret); }
public bdd Xor(bdd r) { invocations++; watch.Start(); var ret = new bdd(SylvanSharp.sylvan_sharp_xor_addref(this._id, r._id), false); watch.Stop(); return(ret); }
public override string ToString() { if (SylvanSharp.nodecount(_id) < 100) { return(ToStringHelper(new Dictionary <BDD, string>())); } else { return("bdd"); } }
public static void init( int tablesize_lg2, int max_tablesize_lg2, int cachesize_lg2, int max_cachesize_lg2, int granularity = 0 ) { UInt64 table_size = 1UL << tablesize_lg2; UInt64 max_tablesize = 1UL << max_tablesize_lg2; UInt64 cachesize = 1UL << cachesize_lg2; UInt64 max_cachesize = 1UL << max_cachesize_lg2; SylvanSharp.init_package(table_size, max_tablesize, cachesize, max_cachesize); SylvanSharp.set_granularity(granularity); }
public bdd GreaterThan(bdd r) { return(new bdd(SylvanSharp.sylvan_sharp_diff_addref(this.Id, r.Id), false)); }
public bdd Biimp(bdd r) { return(new bdd(SylvanSharp.sylvan_sharp_biimp_addref(this._id, r._id), false)); }
public void PrintDot() { SylvanSharp.print_dot(this._id); }
public int Var() { return(SylvanSharp.var(this._id)); }
public bdd High() { return(new bdd(SylvanSharp.sylvan_sharp_high_addref(this.Id), false)); }
public bdd Low() { return(new bdd(SylvanSharp.sylvan_sharp_low_addref(this.Id), false)); }
public static bdd nithvar(int arg0) { return(new bdd(SylvanSharp.nithvar(arg0), false)); }
public bdd InvImplies(bdd r) { return(new bdd(SylvanSharp.sylvan_sharp_invimp_addref(this.Id, r.Id), false)); }
public bdd LessThan(bdd r) { return(new bdd(SylvanSharp.sylvan_sharp_less_addref(this.Id, r.Id), false)); }