[Javabdd-checkins] JavaBDD/net/sf/javabdd BDD.java,1.9,1.10
Brought to you by:
joewhaley
From: John W. <joe...@us...> - 2005-05-21 10:14:48
|
Update of /cvsroot/javabdd/JavaBDD/net/sf/javabdd In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22149/net/sf/javabdd Modified Files: BDD.java Log Message: Added nextValue() to BDDIterator. Index: BDD.java =================================================================== RCS file: /cvsroot/javabdd/JavaBDD/net/sf/javabdd/BDD.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** BDD.java 21 May 2005 09:54:46 -0000 1.9 --- BDD.java 21 May 2005 10:14:36 -0000 1.10 *************** *** 941,944 **** --- 941,969 ---- } + public BigInteger nextValue(BDDDomain dom) { + if (a == null) { + throw new NoSuchElementException(); + } + lastReturned = null; + BigInteger val = BigInteger.ZERO; + int[] ivar = dom.vars(); + for (int m = dom.varNum() - 1; m >= 0; m--) { + val = val.shiftLeft(1); + int level = f.var2Level(ivar[m]); + int k = Arrays.binarySearch(v, level); + if (k < 0) { + val = null; + break; + } + if (b[k]) { + val = val.add(BigInteger.ONE); + } + } + if (!gotoNextA()) { + gotoNext(); + } + return val; + } + /** * Return the next tuple of domain values in the iteration. |