public void test_mergeA() { ListIntSet setA = new ListIntSet(); int[] valuesA = {0, 1, 31}; for (int i = 0; i < valuesA.length; i++) { setA.add(valuesA[i]); } ListIntSet setB = new ListIntSet(); int[] valuesB = {0, 5, 6, 32, 127, 128}; for (int i = 0; i < valuesB.length; i++) { setB.add(valuesB[i]); } setA.merge(setB); for (int i = 0; i < valuesA.length; i++) { assertTrue(setA.has(valuesA[i])); } for (int i = 0; i < valuesB.length; i++) { assertTrue(setA.has(valuesB[i])); } }
public void test_basic() { ListIntSet set = new ListIntSet(); assertEquals(0, set.elements()); set.add(31); set.add(0); set.add(1); assertTrue(set.has(0)); assertTrue(set.has(1)); assertTrue(set.has(31)); assertEquals(3, set.elements()); assertFalse(set.has(2)); assertFalse(set.has(7)); assertFalse(set.has(30)); }
public void test_empty() { ListIntSet set = new ListIntSet(); IntIterator iter = set.iterator(); assertFalse(iter.hasNext()); }
/** * Make IntSet for register live in/out sets. * * @param countRegs {@code >=0;} count of SSA registers used in method * @return {@code non-null;} appropriate set */ /*package*/ static IntSet makeLivenessSet(int countRegs) { return countRegs <= LIVENESS_SET_THRESHOLD_SIZE ? new BitIntSet(countRegs) : new ListIntSet(); } }
public void test_remove() { ListIntSet set = new ListIntSet(); set.add(0); set.add(1); set.add(31); assertTrue(set.has(0)); assertTrue(set.has(1)); assertTrue(set.has(31)); assertFalse(set.has(2)); assertFalse(set.has(7)); assertFalse(set.has(30)); set.remove(0); assertFalse(set.has(0)); assertTrue(set.has(1)); assertTrue(set.has(31)); }
public void test_iterator() { ListIntSet set = new ListIntSet(); set.add(0); set.add(0); set.add(1); set.add(1); set.add(31); set.add(31); IntIterator iter = set.iterator(); assertTrue(iter.hasNext()); assertEquals(iter.next(), 0); assertTrue(iter.hasNext()); assertEquals(iter.next(), 1); assertTrue(iter.hasNext()); assertEquals(iter.next(), 31); assertFalse(iter.hasNext()); try { iter.next(); fail(); } catch (NoSuchElementException ex) { // exception excepted } }
public void test_mergeWithListIntSet() { BitIntSet setA = new BitIntSet(32); int[] valuesA = {0, 1, 31}; for (int i = 0; i < valuesA.length; i++) { setA.add(valuesA[i]); } ListIntSet setB = new ListIntSet(); int[] valuesB = {0, 5, 6, 8, 31}; for (int i = 0; i < valuesB.length; i++) { setB.add(valuesB[i]); } setA.merge(setB); for (int i = 0; i < valuesA.length; i++) { assertTrue(setA.has(valuesA[i])); } for (int i = 0; i < valuesB.length; i++) { assertTrue(setA.has(valuesB[i])); } }
/** * Make IntSet for the interference graph sets. Public because * InterferenceGraph is in another package. * * @param countRegs {@code >=0;} count of SSA registers used in method * @return {@code non-null;} appropriate set */ public static IntSet makeInterferenceSet(int countRegs) { return countRegs <= INTERFERENCE_SET_THRESHOLD_SIZE ? new BitIntSet(countRegs) : new ListIntSet(); }
public void test_remove() { ListIntSet set = new ListIntSet(); set.add(0); set.add(1); set.add(31); assertTrue(set.has(0)); assertTrue(set.has(1)); assertTrue(set.has(31)); assertFalse(set.has(2)); assertFalse(set.has(7)); assertFalse(set.has(30)); set.remove(0); assertFalse(set.has(0)); assertTrue(set.has(1)); assertTrue(set.has(31)); }
public void test_iterator() { ListIntSet set = new ListIntSet(); set.add(0); set.add(0); set.add(1); set.add(1); set.add(31); set.add(31); IntIterator iter = set.iterator(); assertTrue(iter.hasNext()); assertEquals(iter.next(), 0); assertTrue(iter.hasNext()); assertEquals(iter.next(), 1); assertTrue(iter.hasNext()); assertEquals(iter.next(), 31); assertFalse(iter.hasNext()); try { iter.next(); fail(); } catch (NoSuchElementException ex) { // exception excepted } }
public void test_mergeWithListIntSet() { BitIntSet setA = new BitIntSet(32); int[] valuesA = {0, 1, 31}; for (int i = 0; i < valuesA.length; i++) { setA.add(valuesA[i]); } ListIntSet setB = new ListIntSet(); int[] valuesB = {0, 5, 6, 8, 31}; for (int i = 0; i < valuesB.length; i++) { setB.add(valuesB[i]); } setA.merge(setB); for (int i = 0; i < valuesA.length; i++) { assertTrue(setA.has(valuesA[i])); } for (int i = 0; i < valuesB.length; i++) { assertTrue(setA.has(valuesB[i])); } }
public void test_mergeA() { ListIntSet setA = new ListIntSet(); int[] valuesA = {0, 1, 31}; for (int i = 0; i < valuesA.length; i++) { setA.add(valuesA[i]); } ListIntSet setB = new ListIntSet(); int[] valuesB = {0, 5, 6, 32, 127, 128}; for (int i = 0; i < valuesB.length; i++) { setB.add(valuesB[i]); } setA.merge(setB); for (int i = 0; i < valuesA.length; i++) { assertTrue(setA.has(valuesA[i])); } for (int i = 0; i < valuesB.length; i++) { assertTrue(setA.has(valuesB[i])); } }
/** * Make IntSet for the dominance-frontier sets. * * @param szBlocks {@code >=0;} count of basic blocks in method * @return {@code non-null;} appropriate set */ /*package*/ static IntSet makeDomFrontSet(int szBlocks) { return szBlocks <= DOMFRONT_SET_THRESHOLD_SIZE ? new BitIntSet(szBlocks) : new ListIntSet(); }
public void test_basic() { ListIntSet set = new ListIntSet(); assertEquals(0, set.elements()); set.add(31); set.add(0); set.add(1); assertTrue(set.has(0)); assertTrue(set.has(1)); assertTrue(set.has(31)); assertEquals(3, set.elements()); assertFalse(set.has(2)); assertFalse(set.has(7)); assertFalse(set.has(30)); }
public void test_empty() { ListIntSet set = new ListIntSet(); IntIterator iter = set.iterator(); assertFalse(iter.hasNext()); }