[Nice-commit] Nice/src/mlsub/typing/lowlevel Domain.java,1.1,1.2 DomainVector.java,1.2,1.3
Brought to you by:
bonniot
From: <ar...@us...> - 2003-05-23 13:05:34
|
Update of /cvsroot/nice/Nice/src/mlsub/typing/lowlevel In directory sc8-pr-cvs1:/tmp/cvs-serv7585/F:/nice/src/mlsub/typing/lowlevel Modified Files: Domain.java DomainVector.java Log Message: Fix of bug #738542(infinite recursion in enumerating the domains) Index: Domain.java =================================================================== RCS file: /cvsroot/nice/Nice/src/mlsub/typing/lowlevel/Domain.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Domain.java 14 Jun 2000 13:32:44 -0000 1.1 --- Domain.java 23 May 2003 13:05:29 -0000 1.2 *************** *** 33,37 **** // size of this domain (possibly including unit) ! private int cardinal() { if (containsUnit) { return super.bitCount() + 1; --- 33,37 ---- // size of this domain (possibly including unit) ! int cardinal() { if (containsUnit) { return super.bitCount() + 1; *************** *** 202,206 **** * Iteration thru the domain elements **/ ! int getFirstBit() { int result = super.getLowestSetBit(); if (result == UNDEFINED_INDEX && containsUnit) { --- 202,206 ---- * Iteration thru the domain elements **/ ! int getFirstBit() { // unused method ??? int result = super.getLowestSetBit(); if (result == UNDEFINED_INDEX && containsUnit) { Index: DomainVector.java =================================================================== RCS file: /cvsroot/nice/Nice/src/mlsub/typing/lowlevel/DomainVector.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DomainVector.java 22 Aug 2002 16:58:17 -0000 1.2 --- DomainVector.java 23 May 2003 13:05:30 -0000 1.3 *************** *** 182,187 **** /** * Choose a non-null, non-singleton, domain and return its index. Return -1 ! * if all the domains are instantiated. Assume the field cardUp or cardDown ! * are correct in the domains. **/ public int chooseDomain() { --- 182,186 ---- /** * Choose a non-null, non-singleton, domain and return its index. Return -1 ! * if all the domains are instantiated. **/ public int chooseDomain() { *************** *** 201,207 **** if (set == null || set.get(i + offset)) { Domain d = (Domain)elementAt(i); ! if (d != null && d.cardUp < leastCard && d.cardUp > 1) { ! least = i + offset; ! leastCard = d.cardUp; } } --- 200,209 ---- if (set == null || set.get(i + offset)) { Domain d = (Domain)elementAt(i); ! if (d != null){ ! int card = d.cardinal(); ! if (card < leastCard && card > 1) { ! least = i + offset; ! leastCard = card; ! } } } |