@Override public long[] nextKey() { return nextEntryReuse().getKey(); }
@Override public long[] nextKey() { return nextEntryReuse().getKey(); }
@Override public long[] nextKey() { return nextEntryReuse().getKey(); }
@Override public long[] nextKey() { return nextEntryReuse().getKey(); }
@Override public long[] nextKey() { return nextEntryReuse().getKey(); }
@Override public long[] nextKey() { return nextEntryReuse().getKey(); }
@Override public long[] nextKey() { return nextEntryReuse().getKey(); }
@Override public long[] nextKey() { return nextEntryReuse().getKey(); }
@Override public long[] nextKey() { return nextEntryReuse().getKey(); }
@Override public long[] nextKey() { return nextEntryReuse().getKey(); }
@SuppressWarnings("unchecked") private void readValue(long[] kdKey, Object value, KnnResultList<T> resultList) { PhEntryDist<T> result = resultList.phGetTempEntry(); if (value instanceof Node) { Node sub = (Node) value; System.arraycopy(kdKey, 0, result.getKey(), 0, kdKey.length); result.setNodeInternal(sub); } else { System.arraycopy(kdKey, 0, result.getKey(), 0, kdKey.length); //ensure that 'node' is set to null result.setValueInternal((T) value); } resultList.phOffer(result); }
@SuppressWarnings("unchecked") private void readValue(int posInNode, long hcPos, KnnResultList<T> resultList) { if (node.values()[posInNode] == null) { return; } PhEntryDist<T> result = resultList.phGetTempEntry(); long[] key = result.getKey(); System.arraycopy(prefix, 0, key, 0, prefix.length); //The key is the current (and future) prefix as well as key of key-value Object v = node.getEntryPIN(posInNode, hcPos, key, key); if (v == null) { throw new IllegalStateException(); } if (v instanceof Node) { result.setNodeInternal(v); } else { //ensure that 'node' is set to null result.setValueInternal((T) v ); } resultList.phOffer(result); }
@Override public PhEntryDistSF<T> nextEntry() { double[] lower = new double[dims]; double[] upper = new double[dims]; PhEntryDist<T> pvEntry = q.nextEntryReuse(); pre.post(pvEntry.getKey(), lower, upper); return new PhEntryDistSF<>(lower, upper, pvEntry.getValue(), pvEntry.dist()); } @Override
@Override public PhEntryDistF<T> nextEntry() { double[] d = new double[dims]; PhEntryDist<T> e = q.nextEntryReuse(); pre.post(e.getKey(), d); return new PhEntryDistF<>(d, e.getValue(), e.dist()); }
@Override public PhEntryDistF<T> nextEntryReuse() { PhEntryDist<T> e = q.nextEntryReuse(); pre.post(e.getKey(), buffer.getKey()); buffer.set( e.getValue(), e.dist() ); return buffer; }
@Override public PhEntryDistSF<T> nextEntryReuse() { PhEntryDist<T> pvEntry = q.nextEntryReuse(); pre.post(pvEntry.getKey(), buffer.lower(), buffer.upper()); buffer.setValueDist( pvEntry.getValue(), pvEntry.dist() ); return buffer; } @Override