internal BDD(BDDAlgebra algebra, int ordinal, BDD one, BDD zero) { this.One = one; this.Zero = zero; this.Ordinal = ordinal; this.algebra = algebra; }
public BDD AsBDD(BDDAlgebra alg) { var res = alg.False; for (int i = 0; i < intervals.Length; i++) { res = res | alg.MkSetFromRange(intervals[i].Item1, intervals[i].Item2, 15); } return(res); }
public BDD ConvertToCharSet(BDDAlgebra solver, BV pred) { BDD res = solver.False; if (!pred.Equals(this.zero)) { for (int i = 0; i < atoms.Length; i++) { //construct the union of the corresponding atoms if (!(pred & atoms[i]).Equals(this.zero)) { BDD bdd_i = partition[i].AsBDD(solver); res = solver.MkOr(res, bdd_i); } } } return(res); }
public BDD ConvertToCharSet(BDDAlgebra alg, BDD pred) { return(pred); }