/** * @return true iff this set is empty */ @Override public boolean isEmpty() { return sparsePart.isEmpty() && (densePart == null || densePart.isZero()); }
/** * @return true iff this set is empty */ @Override public boolean isEmpty() { return sparsePart.isEmpty() && (densePart == null || densePart.isZero()); }
/** * @return true iff this set is empty */ @Override public boolean isEmpty() { return sparsePart.isEmpty() && (densePart == null || densePart.isZero()); }
/** * */ 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(); } }
/** * Add all elements from another int set. * * @return true iff this set changes */ public boolean addAll(SparseIntSet that) { if (that == null) { throw new IllegalArgumentException("null that"); } if (this.isEmpty()) { copySet(that); return !that.isEmpty(); } else if (that.isEmpty()) { return false; } else if (this.equals(that)) { return false; } // common-case optimization if (that.size == 1) { boolean result = add(that.elements[0]); return result; } int[] br = that.elements; int bl = that.size(); return addAll(br, bl); }
/** * Add all elements from another int set. * * @return true iff this set changes */ public boolean addAll(SparseIntSet that) { if (that == null) { throw new IllegalArgumentException("null that"); } if (this.isEmpty()) { copySet(that); return !that.isEmpty(); } else if (that.isEmpty()) { return false; } else if (this.equals(that)) { return false; } // common-case optimization if (that.size == 1) { boolean result = add(that.elements[0]); return result; } int[] br = that.elements; int bl = that.size(); return addAll(br, bl); }
/** * Add all elements from another int set. * * @return true iff this set changes */ public boolean addAll(SparseIntSet that) { if (that == null) { throw new IllegalArgumentException("null that"); } if (this.isEmpty()) { copySet(that); return !that.isEmpty(); } else if (that.isEmpty()) { return false; } else if (this.equals(that)) { return false; } // common-case optimization if (that.size == 1) { boolean result = add(that.elements[0]); return result; } int[] br = that.elements; int bl = that.size(); return addAll(br, bl); }
/** * @return true iff this set contains integer i */ @Override public boolean containsAny(IntSet set) { if (set == null) { throw new IllegalArgumentException("null set"); } if (!sparsePart.isEmpty() && sparsePart.containsAny(set)) { return true; } else if (densePart != null) { int lower = densePart.getOffset(); for (IntIterator is = set.intIterator(); is.hasNext();) { int i = is.next(); if (i < lower) continue; if (densePart.get(i)) { return true; } } } return false; }
/** * @return true iff this set contains integer i */ @Override public boolean containsAny(IntSet set) { if (set == null) { throw new IllegalArgumentException("null set"); } if (!sparsePart.isEmpty() && sparsePart.containsAny(set)) { return true; } else if (densePart != null) { int lower = densePart.getOffset(); for (IntIterator is = set.intIterator(); is.hasNext();) { int i = is.next(); if (i < lower) continue; if (densePart.get(i)) { return true; } } } return false; }
/** * @return true iff this set contains integer i */ @Override public boolean containsAny(IntSet set) { if (set == null) { throw new IllegalArgumentException("null set"); } if (!sparsePart.isEmpty() && sparsePart.containsAny(set)) { return true; } else if (densePart != null) { int lower = densePart.getOffset(); for (IntIterator is = set.intIterator(); is.hasNext();) { int i = is.next(); if (i < lower) continue; if (densePart.get(i)) { return true; } } } return false; }
if (sparsePart.isEmpty()) { if (densePart == null || densePart.isZero()) { return EmptyIntIterator.instance();
if (sparsePart.isEmpty()) { if (densePart == null || densePart.isZero()) { return EmptyIntIterator.instance();
if (sparsePart.isEmpty()) { if (densePart == null || densePart.isZero()) { return EmptyIntIterator.instance();
@Override public IntIterator intIterator() { MutableSparseIntSet bits = MutableSparseIntSet.makeEmpty(); for (IntIterator pi = primaryImpl.intIterator(); pi.hasNext();) { int x = pi.next(); assert !bits.contains(x); bits.add(x); } for (IntIterator si = secondaryImpl.intIterator(); si.hasNext();) { int x = si.next(); assert bits.contains(x); bits.remove(x); } assert bits.isEmpty(); return primaryImpl.intIterator(); }
@Override public IntIterator intIterator() { MutableSparseIntSet bits = MutableSparseIntSet.makeEmpty(); for (IntIterator pi = primaryImpl.intIterator(); pi.hasNext();) { int x = pi.next(); assert !bits.contains(x); bits.add(x); } for (IntIterator si = secondaryImpl.intIterator(); si.hasNext();) { int x = si.next(); assert bits.contains(x); bits.remove(x); } assert bits.isEmpty(); return primaryImpl.intIterator(); }
@Override public IntIterator intIterator() { MutableSparseIntSet bits = MutableSparseIntSet.makeEmpty(); for (IntIterator pi = primaryImpl.intIterator(); pi.hasNext();) { int x = pi.next(); assert !bits.contains(x); bits.add(x); } for (IntIterator si = secondaryImpl.intIterator(); si.hasNext();) { int x = si.next(); assert bits.contains(x); bits.remove(x); } assert bits.isEmpty(); return primaryImpl.intIterator(); }
privatePart = MutableSparseIntSet.make(set); privatePart.removeAll(sharedPart); if (privatePart.isEmpty()) { privatePart = null; return false;
privatePart = MutableSparseIntSet.make(set); privatePart.removeAll(sharedPart); if (privatePart.isEmpty()) { privatePart = null; return false;