public StringColumnPreIndexStatsCollector(String column, StatsCollectorConfig statsCollectorConfig) { super(column, statsCollectorConfig); rawStringSet = new ObjectOpenHashSet<>(INITIAL_HASH_SET_SIZE); aggregatedStringSet = new ObjectOpenHashSet<>(INITIAL_HASH_SET_SIZE); }
public Set<String> visitPost( Remap node, Set<String> v ) throws QueryBuilderVisitorException { final ObjectOpenHashSet<String> result = new ObjectOpenHashSet<String>(); for( String index: v ) { final String remappedIndex = node.indexRemapping.get( index ); result.add( remappedIndex == null ? index : remappedIndex ); } return result; } public Set<String> visitPost( Weight node, Set<String> v ) throws QueryBuilderVisitorException { return v; }
/** Creates a new multi-term node. * * @param query a vector of nodes representing distinct terms; they must be either instances * of {@link Term}, or instances of {@link Weight} containing instances of {@link Term}. * @throws IllegalArgumentException if some term appears twice in <code>query</code>, or if * the specification is not followed. */ public MultiTerm( final Query... query ) { super( query ); final ObjectOpenHashSet<MutableString> s = new ObjectOpenHashSet<MutableString>( query.length ); for( Query q : query ) { if ( ! ( q instanceof Term ) && ! ( ( q instanceof Weight ) && ( ((Weight)q).query instanceof Term ) ) ) throw new IllegalArgumentException(); s.add( new MutableString( q instanceof Term ? ((Term)q).term : ((Term)((Weight)q).query ).term ) ); } if ( s.size() != query.length ) throw new IllegalArgumentException( "Multiterm nodes require distinct terms" ); }
private Set<String> checkUnion( Set<String>[] a, String operator ) { ObjectOpenHashSet<String> s = new ObjectOpenHashSet<String>(); for( Set<String> t: a ) s.addAll( t ); if ( s.size() == 1 ) return s; errorMessage = "The " + operator + " operator requires subqueries on the same index"; return null; }
boolean inPage = false, inTitle = true; StringBuilder pageTitleBuilder = new StringBuilder(); ObjectOpenHashSet<String> titles = new ObjectOpenHashSet<String>(); pl.update(); String pageTitle = pageTitleBuilder.toString(); if (titles.contains(pageTitle)) { LOGGER.info("Skipping duplicate page: " + pageTitle); continue; titles.add(pageTitle); for (XMLEvent e: events) ew.add(e);
final ObjectOpenHashSet<Node<T>> nodes = new ObjectOpenHashSet<>(); final ObjectOpenHashSet<Leaf<T>> leaves = new ObjectOpenHashSet<>(); final ObjectOpenHashSet<T> references = new ObjectOpenHashSet<>(); if (root == null || handle2Node.get(root, true).handleLength() > vHandleLength) root = v; final InternalNode<T> node = handle2Node.get(v, true); nodes.add(node); assert node.reference.reference == node : node + " -> " + node.reference + " -> " + node.reference.reference; assert nodes.size() == handle2Node.size() : nodes.size() + " != " + handle2Node.size(); assert size < 2 || this.root == handle2Node.get(root, true); assert leaves.size() == size; int c = 0; for(final Leaf<T> leaf: leaves) if (references.contains(leaf.key)) c++; assert tail.prev == this.root; assert nodes.isEmpty();
private static Set<String> union( Set<String>[] a ) { ObjectOpenHashSet<String> s = new ObjectOpenHashSet<String>(); for( Set<String> t: a ) s.addAll( t ); return s; }
ObjectOpenHashSet<LongArrayBitVector> rankers = new ObjectOpenHashSet<>(); rankers.add(LongArrayBitVector.copy(bv.subVector(0, bv.lastOne() + 1))); rankers.add(LongArrayBitVector.copy(bv).append(1, 1)); final LongArrayBitVector plus1 = LongArrayBitVector.copy(bv); final long lastZero = plus1.lastZero(); plus1.length(lastZero + 1); plus1.set(lastZero); rankers.add(plus1); LongArrayBitVector[] rankerArray = rankers.toArray(new LongArrayBitVector[rankers.size()]); rankers = null; Arrays.sort(rankerArray);
void add(@Nullable String string) { this.uniqueStrings.add(string); }
ObjectArrayList<String> descriptions = new ObjectArrayList<String>(); ObjectArrayList<String[][]> origTerms = new ObjectArrayList<String[][]>(); ObjectOpenHashSet<String> bannedSet = new ObjectOpenHashSet<String>(bannedDescriptions); if(!bannedSet.contains(setToFilter.termDescriptions[i])) { descriptions.add(setToFilter.termDescriptions[i]); strings.add(setToFilter.termStrings[i]);
private int visit(final Node<T> n, final Node<T> parent, final long nameLength, final int depth, ObjectOpenHashSet<Node<T>> nodes, ObjectOpenHashSet<Leaf<T>> leaves, ObjectOpenHashSet<T> references) { if (n == null) return 0; if (DEBUG) { for(int i = depth; i-- != 0;) System.err.print('\t'); System.err.println("Node " + n + " (name length: " + nameLength + ")" + (n.isInternal() ? " Jump left: " + ((InternalNode<T>)n).jumpLeft + " Jump right: " + ((InternalNode<T>)n).jumpRight : "")); } assert parent == null || parent.extent(transform).equals(n.extent(transform).subVector(0, ((InternalNode<T>)parent).extentLength)); assert nameLength <= n.extentLength(transform); assert n.nameLength == nameLength : n.nameLength + " != " + nameLength + " " + n; if (n.isInternal()) { assert references.add(((InternalNode<T>)n).reference.key); assert nodes.remove(n) : n; assert handle2Node.keySet().contains(n.handle(transform)) : n; /* Check that jumps are correct. */ final long jumpLength = ((InternalNode<T>)n).jumpLength(); Node<T> jumpLeft = ((InternalNode<T>)n).left; while(jumpLeft.isInternal() && jumpLength > ((InternalNode<T>)jumpLeft).extentLength) jumpLeft = ((InternalNode<T>)jumpLeft).left; assert jumpLeft == ((InternalNode<T>)n).jumpLeft : jumpLeft + " != " + ((InternalNode<T>)n).jumpLeft + " (node: " + n + ")"; Node<T> jumpRight = ((InternalNode<T>)n).right; while(jumpRight.isInternal() && jumpLength > ((InternalNode<T>)jumpRight).extentLength) jumpRight = ((InternalNode<T>)jumpRight).right; assert jumpRight == ((InternalNode<T>)n).jumpRight : jumpRight + " != " + ((InternalNode<T>)n).jumpRight + " (node: " + n + ")"; return 1 + visit(((InternalNode<T>)n).left, n, ((InternalNode<T>)n).extentLength + 1, depth + 1, nodes, leaves, references) + visit(((InternalNode<T>)n).right, n, n.extentLength(transform) + 1, depth + 1, nodes, leaves, references); } else { assert leaves.add((Leaf<T>)n); assert n.extentLength(transform) == n.key(transform).length(); return 1; } }
@Override public boolean addAll(Collection<? extends K> c) { // The resulting collection will be at least c.size() big if (f <= .5) ensureCapacity(c.size()); // The resulting collection will be sized for c.size() elements else tryCapacity(size() + c.size()); // The resulting collection will be tentatively sized for size() + c.size() // elements return super.addAll(c); } @Override
public long tracking_evidenceActive() { return id.size(); } public int tracking_kmerCount() {
/** * Creates a new hash set copying a given collection. * * @param c * a {@link Collection} to be copied into the new hash set. * @param f * the load factor. */ public ObjectOpenHashSet(final Collection<? extends K> c, final float f) { this(c.size(), f); addAll(c); } /**
public boolean isTracked(String evidenceId) { return id.contains(evidenceId); } public class PathNodeAssertionInterceptor implements Iterator<KmerPathNode> {
public Set<String> visitPost( Remap node, Set<String> v ) throws QueryBuilderVisitorException { final ObjectOpenHashSet<String> result = new ObjectOpenHashSet<String>(); for( String index: v ) { final String remappedIndex = node.indexRemapping.get( index ); result.add( remappedIndex == null ? index : remappedIndex ); } return result; } public Set<String> visitPost( Weight node, Set<String> v ) throws QueryBuilderVisitorException { return v; }
/** Creates a new multi-term node. * * @param query a vector of nodes representing distinct terms; they must be either instances * of {@link Term}, or instances of {@link Weight} containing instances of {@link Term}. * @throws IllegalArgumentException if some term appears twice in <code>query</code>, or if * the specification is not followed. */ public MultiTerm( final Query... query ) { super( query ); final ObjectOpenHashSet<MutableString> s = new ObjectOpenHashSet<MutableString>( query.length ); for( Query q : query ) { if ( ! ( q instanceof Term ) && ! ( ( q instanceof Weight ) && ( ((Weight)q).query instanceof Term ) ) ) throw new IllegalArgumentException(); s.add( new MutableString( q instanceof Term ? ((Term)q).term : ((Term)((Weight)q).query ).term ) ); } if ( s.size() != query.length ) throw new IllegalArgumentException( "Multiterm nodes require distinct terms" ); }
private Set<String> checkUnion( Set<String>[] a, String operator ) { ObjectOpenHashSet<String> s = new ObjectOpenHashSet<String>(); for( Set<String> t: a ) s.addAll( t ); if ( s.size() == 1 ) return s; errorMessage = "The " + operator + " operator requires subqueries on the same index"; return null; }
indexToWord = new ArrayList<>(); ObjectOpenHashSet<String> stringSet = new ObjectOpenHashSet<String>(); Random r = new Random(); for( int i = 0; i < numWords; ++i ) { s = s.substring( 0, s.length() - 2 ); if( !stringSet.contains( s ) ) { indexToWord.add( s ); stringSet.add( s ); } else { System.out.println( "dup <" + s + "> line " + i );