static long[] longIteratorToList(LongPrimitiveIterator iterator) { long[] result = new long[5]; int size = 0; while (iterator.hasNext()) { if (size == result.length) { long[] newResult = new long[result.length << 1]; System.arraycopy(result, 0, newResult, 0, result.length); result = newResult; } result[size++] = iterator.next(); } if (size != result.length) { long[] newResult = new long[size]; System.arraycopy(result, 0, newResult, 0, size); result = newResult; } return result; }
@Override public long nextLong() { if (datumConsumed) { return delegate.nextLong(); } else { if (delegate.hasNext()) { long delegateNext = delegate.peek(); if (extraDatum <= delegateNext) { datumConsumed = true; return extraDatum; } else { return delegate.next(); } } else { datumConsumed = true; return extraDatum; } } }
@Test(expected = NoSuchElementException.class) public void testNext() { LongPrimitiveIterator it = new LongPrimitiveArrayIterator(new long[] {3,2,1}); assertTrue(it.hasNext()); assertEquals(3, (long) it.next()); assertTrue(it.hasNext()); assertEquals(2, it.nextLong()); assertTrue(it.hasNext()); assertEquals(1, (long) it.next()); assertFalse(it.hasNext()); it.nextLong(); }
for (int j = 0; j < mapSize; j++) { if (pascalDistribution != null) { keyIterator.skip(pascalDistribution.sample()); while (!keyIterator.hasNext()) { Preconditions.checkState(keyIterator.hasNext()); if (pascalDistribution != null) { keyIterator.skip(pascalDistribution.sample()); float[] sampledVector = vectors.get(keyIterator.nextLong()); mapRow[j] = new Node(sampledVector);
/** * @param set to choose from * @param random random number generator * @return element of the set chosen uniformly at random */ public static int randomFrom(FastIDSet set, RandomGenerator random) { int size = set.size(); Preconditions.checkArgument(size > 0, "Empty set"); LongPrimitiveIterator it = set.iterator(); it.skip(random.nextInt(size)); return (int) it.nextLong(); }
@Override public boolean hasNext() { return !datumConsumed || delegate.hasNext(); }
@Override public List<RecommendedItem> recommend(long userID, int howMany, IDRescorer rescorer) throws TasteException { DataModel dataModel = getDataModel(); int numItems = dataModel.getNumItems(); List<RecommendedItem> result = Lists.newArrayListWithCapacity(howMany); while (result.size() < howMany) { LongPrimitiveIterator it = dataModel.getItemIDs(); it.skip(random.nextInt(numItems)); long itemID = it.next(); if (dataModel.getPreferenceValue(userID, itemID) == null) { result.add(new GenericRecommendedItem(itemID, randomPref())); } } return result; }
@Override public FastByIDMap.MapEntry<float[]> next() { // Will throw NoSuchElementException if needed: long itemID = input.nextLong(); delegate.set(itemID, Y.get(itemID)); return delegate; }
itemIDSet.addAll(itemIDs); LongPrimitiveIterator it = itemIDs.iterator(); while (it.hasNext()) { long itemID = it.nextLong(); FastIDSet userIDs = preferenceForItems.get(itemID); if (userIDs == null) { int i = 0; LongPrimitiveIterator it = userData.keySetIterator(); while (it.hasNext()) { userIDs[i++] = it.next();
@Override public long nextLong() { if (datumConsumed) { return delegate.nextLong(); } else { if (delegate.hasNext()) { long delegateNext = delegate.peek(); if (extraDatum <= delegateNext) { datumConsumed = true; return extraDatum; } else { return delegate.next(); } } else { datumConsumed = true; return extraDatum; } } }
@Override public boolean hasNext() { return !datumConsumed || delegate.hasNext(); }
@Override public List<RecommendedItem> recommend(long userID, int howMany, IDRescorer rescorer, boolean includeKnownItems) throws TasteException { DataModel dataModel = getDataModel(); int numItems = dataModel.getNumItems(); List<RecommendedItem> result = Lists.newArrayListWithCapacity(howMany); while (result.size() < howMany) { LongPrimitiveIterator it = dataModel.getItemIDs(); it.skip(random.nextInt(numItems)); long itemID = it.next(); if (includeKnownItems || dataModel.getPreferenceValue(userID, itemID) == null) { result.add(new GenericRecommendedItem(itemID, randomPref())); } } return result; }
static long[] longIteratorToList(LongPrimitiveIterator iterator) { long[] result = new long[5]; int size = 0; while (iterator.hasNext()) { if (size == result.length) { long[] newResult = new long[result.length << 1]; System.arraycopy(result, 0, newResult, 0, result.length); result = newResult; } result[size++] = iterator.next(); } if (size != result.length) { long[] newResult = new long[size]; System.arraycopy(result, 0, newResult, 0, size); result = newResult; } return result; }
itemIDSet.addAll(itemIDs); LongPrimitiveIterator it = itemIDs.iterator(); while (it.hasNext()) { long itemID = it.nextLong(); FastIDSet userIDs = preferenceForItems.get(itemID); if (userIDs == null) { int i = 0; LongPrimitiveIterator it = userData.keySetIterator(); while (it.hasNext()) { userIDs[i++] = it.next();