@Override public DoubleColumn fillWith(final DoubleIterator iterator) { for (int r = 0; r < size(); r++) { if (!iterator.hasNext()) { break; } set(r, iterator.nextDouble()); } return this; }
@Override public int getNumNonZeroElements() { final DoubleIterator iterator = values.values().iterator(); int numNonZeros = 0; for( int i = values.size(); i-- != 0; ) if ( iterator.nextDouble() != 0 ) numNonZeros++; return numNonZeros; }
/** * {@inheritDoc} * * <p> * This implementation iterates over the elements in the collection, looking for * the specified element and tries to remove it. */ @Override public boolean rem(final double k) { final DoubleIterator iterator = iterator(); while (iterator.hasNext()) if (k == iterator.nextDouble()) { iterator.remove(); return true; } return false; } /**
private void advance() { while (length != 0) { if (a[offset].hasNext()) break; length--; offset++; } return; } @Override
@Override public void remove() { if (lastOffset == -1) throw new IllegalStateException(); a[lastOffset].remove(); } @Override
/** * {@inheritDoc} * * @deprecated Please use the corresponding type-specific method instead. */ @Deprecated @Override default void forEachRemaining(final Consumer<? super Double> action) { forEachRemaining((java.util.function.DoubleConsumer) action::accept); } /**
@Override public double nextDouble() { return i.nextDouble(); } }
@Override public boolean retainAll(final DoubleCollection c) { boolean retVal = false; for (final DoubleIterator i = iterator(); i.hasNext();) if (!c.contains(i.nextDouble())) { i.remove(); retVal = true; } return retVal; } @Override
@Override public boolean hasNext() { return i.hasNext(); } @Override
@Override public DoubleColumn fillWith(final DoubleRangeIterable iterable) { DoubleIterator iterator = iterable.iterator(); for (int r = 0; r < size(); r++) { if (!iterator.hasNext()) { iterator = iterable.iterator(); if (!iterator.hasNext()) { break; } } set(r, iterator.nextDouble()); } return this; }
/** * {@inheritDoc} * * @deprecated Please use the corresponding type-specific method instead. */ @Deprecated @Override default Double next() { return Double.valueOf(nextDouble()); } /**
/** * Remove from this collection all elements which satisfy the given predicate. * * @param filter * a predicate which returns {@code true} for elements to be removed. * @see Collection#removeIf(java.util.function.Predicate) * @return {@code true} if any elements were removed. */ @SuppressWarnings("overloads") default boolean removeIf(final java.util.function.DoublePredicate filter) { java.util.Objects.requireNonNull(filter); boolean removed = false; final DoubleIterator each = iterator(); while (each.hasNext()) { if (filter.test(each.nextDouble())) { each.remove(); removed = true; } } return removed; } /**
@Override public boolean isEmpty() { return !iterable.iterator().hasNext(); } @Override
/** * Compute the sum of the elements of a map. * @param v The vector * @return The sum of the values of {@code v}. */ public static double sum(Long2DoubleMap v) { double sum = 0; DoubleIterator iter = v.values().iterator(); while (iter.hasNext()) { sum += iter.nextDouble(); } return sum; }
/** * Converts the int and double iterators to a stream of IdxPref. * * @param n length of iterators * @param idxs iterator of user/item indices * @param vs interator of user/item values * @return stream of IdxPref */ protected Stream<IdxPref> getPreferences(int n, IntIterator idxs, DoubleIterator vs) { return range(0, n).mapToObj(i -> new IdxPref(idxs.nextInt(), vs.nextDouble())); }
/** * Compute the sum of the elements of a map. * @param v The vector * @return The sum of the values of {@code v}. */ public static double sumAbs(Long2DoubleMap v) { double sum = 0; DoubleIterator iter = v.values().iterator(); while (iter.hasNext()) { sum += Math.abs(iter.nextDouble()); } return sum; }
private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { final DoubleIterator i = iterator(); s.defaultWriteObject(); for (int j = size; j-- != 0;) s.writeDouble(i.nextDouble()); }
/** * Compute the sum of the squares of elements of a map. * @param v The vector * @return The sum of the squares of the values of {@code v}. */ public static double sumOfSquares(Long2DoubleMap v) { if (v instanceof Long2DoubleSortedArrayMap) { return sumOfSquares((Long2DoubleSortedArrayMap) v); } else { double sum = 0; DoubleIterator iter = v.values().iterator(); while (iter.hasNext()) { double d = iter.nextDouble(); sum += d * d; } return sum; } }
private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { final DoubleIterator i = iterator(); s.defaultWriteObject(); for (int j = size; j-- != 0;) s.writeDouble(i.nextDouble()); }