public int compare(PairOfObjectInt<K> e1, PairOfObjectInt<K> e2) { if (e1.getRightElement() > e2.getRightElement()) { return 1; } if (e1.getRightElement() < e2.getRightElement()) { return -1; } return e1.getLeftElement().compareTo(e2.getLeftElement()); } };
/** * Creates a shallow clone of this object; the left element itself is not cloned. */ public PairOfObjectInt<L> clone() { return new PairOfObjectInt<L>(left, right); }
public int compare(PairOfObjectInt<K> e1, PairOfObjectInt<K> e2) { if (e1.getLeftElement().equals(e2.getLeftElement())) { throw new RuntimeException("Event observed twice!"); } return e1.getLeftElement().compareTo(e2.getLeftElement()); } };
@Override public PairOfObjectInt<K> next() { if (!hasNext()) { return null; } Object2IntMap.Entry<K> entry = iter.next(); pair.set(entry.getKey(), entry.getIntValue()); return pair; }
public int compare(PairOfObjectInt<K> e1, PairOfObjectInt<K> e2) { if (e1.getLeftElement().equals(e2.getLeftElement())) { throw new RuntimeException("Event observed twice!"); } return e1.getLeftElement().compareTo(e2.getLeftElement()); } };
@Override public PairOfObjectInt<K> next() { if (!hasNext()) { return null; } MapKI.Entry<K> entry = iter.next(); pair.set(entry.getKey(), entry.getValue()); return pair; }
public int compare(PairOfObjectInt<K> e1, PairOfObjectInt<K> e2) { if (e1.getRightElement() > e2.getRightElement()) { return -1; } if (e1.getRightElement() < e2.getRightElement()) { return 1; } return e1.getLeftElement().compareTo(e2.getLeftElement()); } };
public int compare(PairOfObjectInt<K> e1, PairOfObjectInt<K> e2) { if (e1.getLeftElement().equals(e2.getLeftElement())) { throw new RuntimeException("Event observed twice!"); } return e2.getLeftElement().compareTo(e1.getLeftElement()); } };
/** * Creates a shallow clone of this object; the left element itself is not cloned. */ public PairOfObjectInt<L> clone() { return new PairOfObjectInt<L>(left, right); }
public int compare(PairOfObjectInt<K> e1, PairOfObjectInt<K> e2) { if (e1.getRightElement() > e2.getRightElement()) { return 1; } if (e1.getRightElement() < e2.getRightElement()) { return -1; } return e1.getLeftElement().compareTo(e2.getLeftElement()); } };
public int compare(PairOfObjectInt<K> e1, PairOfObjectInt<K> e2) { if (e1.getLeftElement().equals(e2.getLeftElement())) { throw new RuntimeException("Event observed twice!"); } return e2.getLeftElement().compareTo(e1.getLeftElement()); } };
/** * Iterator returns the same object every time, just with a different payload. */ public Iterator<PairOfObjectInt<K>> iterator() { return new Iterator<PairOfObjectInt<K>>() { private Iterator<MapKI.Entry<K>> iter = Object2IntFrequencyDistributionEntry.this.counts .entrySet().iterator(); private final PairOfObjectInt<K> pair = new PairOfObjectInt<K>(); @Override public boolean hasNext() { return iter.hasNext(); } @Override public PairOfObjectInt<K> next() { if (!hasNext()) { return null; } MapKI.Entry<K> entry = iter.next(); pair.set(entry.getKey(), entry.getValue()); return pair; } @Override public void remove() { throw new UnsupportedOperationException(); } }; }
public int compare(PairOfObjectInt<K> e1, PairOfObjectInt<K> e2) { if (e1.getRightElement() > e2.getRightElement()) { return -1; } if (e1.getRightElement() < e2.getRightElement()) { return 1; } return e1.getLeftElement().compareTo(e2.getLeftElement()); } };
private List<PairOfObjectInt<K>> getEntriesSorted(Comparator<PairOfObjectInt<K>> comparator) { List<PairOfObjectInt<K>> list = Lists.newArrayList(); for (Object2IntMap.Entry<K> e : counts.object2IntEntrySet()) { list.add(new PairOfObjectInt<K>(e.getKey(), e.getIntValue())); } Collections.sort(list, comparator); return list; }
@Override public void map(LongWritable docno, Text doc, Context context) throws IOException, InterruptedException { List<String> tokens = Tokenizer.tokenize(doc.toString()); // Build a histogram of the terms. COUNTS.clear(); for (String token : tokens) { COUNTS.increment(token); } // Emit postings. for (PairOfObjectInt<String> e : COUNTS) { WORD.set(e.getLeftElement()); context.write(WORD, new PairOfInts((int) docno.get(), e.getRightElement())); } } }
private List<PairOfObjectInt<K>> getEntriesSorted(Comparator<PairOfObjectInt<K>> comparator) { List<PairOfObjectInt<K>> list = Lists.newArrayList(); for (MapKI.Entry<K> e : counts.entrySet()) { list.add(new PairOfObjectInt<K>(e.getKey(), e.getValue())); } Collections.sort(list, comparator); return list; }
@Override public void map(LongWritable docno, Text doc, Context context) throws IOException, InterruptedException { String text = doc.toString(); COUNTS.clear(); String[] terms = text.split("\\s+"); // First build a histogram of the terms. for (String term : terms) { if (term == null || term.length() == 0) { continue; } COUNTS.increment(term); } // Emit postings. for (PairOfObjectInt<String> e : COUNTS) { WORD.set(e.getLeftElement()); context.write(WORD, new PairOfInts((int) docno.get(), e.getRightElement())); } } }
/** * Iterator returns the same object every time, just with a different payload. */ public Iterator<PairOfObjectInt<K>> iterator() { return new Iterator<PairOfObjectInt<K>>() { private Iterator<Object2IntMap.Entry<K>> iter = Object2IntFrequencyDistributionFastutil.this.counts .object2IntEntrySet().iterator(); private final PairOfObjectInt<K> pair = new PairOfObjectInt<K>(); @Override public boolean hasNext() { return iter.hasNext(); } @Override public PairOfObjectInt<K> next() { if (!hasNext()) { return null; } Object2IntMap.Entry<K> entry = iter.next(); pair.set(entry.getKey(), entry.getIntValue()); return pair; } @Override public void remove() { throw new UnsupportedOperationException(); } }; }
conditionalSum += pair.getRightElement(); m.increment(pair.getLeftElement(), pair.getRightElement()); if (e.getRightElement() != marginals.get(e.getLeftElement())) { throw new RuntimeException("Internal Error!"); if (e.getRightElement() != m.get(e.getLeftElement())) { throw new RuntimeException("Internal Error!");
conditionalSum += pair.getRightElement(); m.increment(pair.getLeftElement(), pair.getRightElement()); if (e.getRightElement() != marginals.get(e.getLeftElement())) { throw new RuntimeException("Internal Error!"); if (e.getRightElement() != m.get(e.getLeftElement())) { throw new RuntimeException("Internal Error!");