/** * advance to the next operator */ private void advanceOuter() { innerDelegate = null; while (outerKeyDelegate.hasNext()) { currentOperator = outerKeyDelegate.next(); IBinaryNaturalRelation R = implicitUnaryMap.get(currentOperator); Iterator<IntPair> it = R.iterator(); if (it.hasNext()) { innerDelegate = it; return; } } }
/** * advance to the next operator */ private void advanceOuter() { innerDelegate = null; while (outerKeyDelegate.hasNext()) { currentOperator = outerKeyDelegate.next(); IBinaryNaturalRelation R = implicitUnaryMap.get(currentOperator); Iterator<IntPair> it = R.iterator(); if (it.hasNext()) { innerDelegate = it; return; } } }
@Test public void testSmallMap() { SmallMap<Integer, Integer> M = new SmallMap<>(); Integer I1 = Integer.valueOf(1); Integer I2 = Integer.valueOf(2); Integer I3 = Integer.valueOf(3); M.put(I1, I1); M.put(I2, I2); M.put(I3, I3); Integer I = M.get(Integer.valueOf(2)); Assert.assertTrue(I != null); Assert.assertTrue(I.equals(I2)); I = M.get(Integer.valueOf(4)); Assert.assertTrue(I == null); I = M.put(Integer.valueOf(2), Integer.valueOf(3)); Assert.assertTrue(I.equals(I2)); I = M.get(I2); Assert.assertTrue(I.equals(I3)); }
/** * @return true iff the graph already contains this equation */ private boolean containsImplicitStatement(UnaryStatement<PointsToSetVariable> eq) { if (!containsVariable(eq.getLHS())) { return false; } if (!containsVariable(eq.getRightHandSide())) { return false; } int lhs = eq.getLHS().getGraphNodeId(); int rhs = eq.getRightHandSide().getGraphNodeId(); UnaryOperator op = eq.getOperator(); IBinaryNaturalRelation R = implicitUnaryMap.get(op); if (R != null) { return R.contains(lhs, rhs); } else { return false; } }
/** * @return true iff the graph already contains this equation */ private boolean containsImplicitStatement(UnaryStatement<PointsToSetVariable> eq) { if (!containsVariable(eq.getLHS())) { return false; } if (!containsVariable(eq.getRightHandSide())) { return false; } int lhs = eq.getLHS().getGraphNodeId(); int rhs = eq.getRightHandSide().getGraphNodeId(); UnaryOperator op = eq.getOperator(); IBinaryNaturalRelation R = implicitUnaryMap.get(op); if (R != null) { return R.contains(lhs, rhs); } else { return false; } }