/** * */ private void checkIntegrity() { assert privatePart == null || !privatePart.isEmpty(); assert sharedPart == null || !sharedPart.isEmpty(); if (privatePart != null && sharedPart != null) { assert privatePart.intersection(sharedPart).isEmpty(); } }
/** * */ private void checkIntegrity() { assert privatePart == null || !privatePart.isEmpty(); assert sharedPart == null || !sharedPart.isEmpty(); if (privatePart != null && sharedPart != null) { assert privatePart.intersection(sharedPart).isEmpty(); } }
/** * */ private void checkIntegrity() { assert privatePart == null || !privatePart.isEmpty(); assert sharedPart == null || !sharedPart.isEmpty(); if (privatePart != null && sharedPart != null) { assert privatePart.intersection(sharedPart).isEmpty(); } }
private boolean addAllInternal(BitVectorIntSet set) { // should have hijacked this case before getting here! assert sharedPart != set; if (privatePart == null) { if (sharedPart == null) { copyValue(set); return !set.isEmpty(); } } BitVectorIntSet temp = makeDenseCopy(); boolean result = temp.addAll(set); copyValue(temp); return result; }
private boolean addAllInternal(BitVectorIntSet set) { // should have hijacked this case before getting here! assert sharedPart != set; if (privatePart == null) { if (sharedPart == null) { copyValue(set); return !set.isEmpty(); } } BitVectorIntSet temp = makeDenseCopy(); boolean result = temp.addAll(set); copyValue(temp); return result; }
private boolean addAllInternal(BitVectorIntSet set) { // should have hijacked this case before getting here! assert sharedPart != set; if (privatePart == null) { if (sharedPart == null) { copyValue(set); return !set.isEmpty(); } } BitVectorIntSet temp = makeDenseCopy(); boolean result = temp.addAll(set); copyValue(temp); return result; }
sharedPart = BitVectorRepository.findOrCreateSharedSubset(temp); temp.removeAll(sharedPart); if (!temp.isEmpty()) privatePart = MutableSparseIntSet.make(temp); else sharedPart = BitVectorRepository.findOrCreateSharedSubset(temp); temp.removeAll(sharedPart); if (!temp.isEmpty()) privatePart = MutableSparseIntSet.make(temp); else
sharedPart = BitVectorRepository.findOrCreateSharedSubset(temp); temp.removeAll(sharedPart); if (!temp.isEmpty()) privatePart = MutableSparseIntSet.make(temp); else sharedPart = BitVectorRepository.findOrCreateSharedSubset(temp); temp.removeAll(sharedPart); if (!temp.isEmpty()) privatePart = MutableSparseIntSet.make(temp); else
sharedPart = BitVectorRepository.findOrCreateSharedSubset(temp); temp.removeAll(sharedPart); if (!temp.isEmpty()) privatePart = MutableSparseIntSet.make(temp); else sharedPart = BitVectorRepository.findOrCreateSharedSubset(temp); temp.removeAll(sharedPart); if (!temp.isEmpty()) privatePart = MutableSparseIntSet.make(temp); else
private void copyValue(BitVectorIntSet s) { if (s.size() == 0) { sharedPart = null; privatePart = null; } else if (s.size() < OVERFLOW) { sharedPart = null; privatePart = MutableSparseIntSet.make(s); } else { sharedPart = BitVectorRepository.findOrCreateSharedSubset(s); if (sharedPart.size() == s.size()) { privatePart = null; } else { BitVectorIntSet temp = new BitVectorIntSet(s); temp.removeAll(sharedPart); if (!temp.isEmpty()) { privatePart = MutableSparseIntSet.make(temp); } else { privatePart = null; } } } if (PARANOID) { checkIntegrity(); } }
private void copyValue(BitVectorIntSet s) { if (s.size() == 0) { sharedPart = null; privatePart = null; } else if (s.size() < OVERFLOW) { sharedPart = null; privatePart = MutableSparseIntSet.make(s); } else { sharedPart = BitVectorRepository.findOrCreateSharedSubset(s); if (sharedPart.size() == s.size()) { privatePart = null; } else { BitVectorIntSet temp = new BitVectorIntSet(s); temp.removeAll(sharedPart); if (!temp.isEmpty()) { privatePart = MutableSparseIntSet.make(temp); } else { privatePart = null; } } } if (PARANOID) { checkIntegrity(); } }
private void copyValue(BitVectorIntSet s) { if (s.size() == 0) { sharedPart = null; privatePart = null; } else if (s.size() < OVERFLOW) { sharedPart = null; privatePart = MutableSparseIntSet.make(s); } else { sharedPart = BitVectorRepository.findOrCreateSharedSubset(s); if (sharedPart.size() == s.size()) { privatePart = null; } else { BitVectorIntSet temp = new BitVectorIntSet(s); temp.removeAll(sharedPart); if (!temp.isEmpty()) { privatePart = MutableSparseIntSet.make(temp); } else { privatePart = null; } } } if (PARANOID) { checkIntegrity(); } }