Package one.util.streamex
Class CombinationSpliterator
java.lang.Object
one.util.streamex.CombinationSpliterator
- All Implemented Interfaces:
Spliterator<int[]>
-
Nested Class Summary
Nested classes/interfaces inherited from interface java.util.Spliterator
Spliterator.OfDouble, Spliterator.OfInt, Spliterator.OfLong, Spliterator.OfPrimitive<T,
T_CONS, T_SPLITR extends Spliterator.OfPrimitive<T, T_CONS, T_SPLITR>> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final long
private final int
private long
private int[]
Fields inherited from interface java.util.Spliterator
CONCURRENT, DISTINCT, IMMUTABLE, NONNULL, ORDERED, SIZED, SORTED, SUBSIZED
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
(package private) static long
cnk
(int n, int k) long
void
forEachRemaining
(Consumer<? super int[]> action) (package private) static long
gcd
(long a, long b) (package private) static int[]
jump
(long newPos, int k, int n) (package private) static void
step
(int[] value, int n) boolean
tryAdvance
(Consumer<? super int[]> action) Spliterator
<int[]> trySplit()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Spliterator
getComparator, getExactSizeIfKnown, hasCharacteristics
-
Field Details
-
pos
private long pos -
value
private int[] value -
fence
private final long fence -
n
private final int n
-
-
Constructor Details
-
CombinationSpliterator
public CombinationSpliterator(int n, long pos, long fence, int[] value)
-
-
Method Details
-
forEachRemaining
- Specified by:
forEachRemaining
in interfaceSpliterator<int[]>
-
trySplit
- Specified by:
trySplit
in interfaceSpliterator<int[]>
-
estimateSize
public long estimateSize()- Specified by:
estimateSize
in interfaceSpliterator<int[]>
-
characteristics
public int characteristics()- Specified by:
characteristics
in interfaceSpliterator<int[]>
-
step
static void step(int[] value, int n) -
jump
static int[] jump(long newPos, int k, int n) -
gcd
static long gcd(long a, long b) -
cnk
static long cnk(int n, int k) - Parameters:
n
- n > kk
- k > 0- Returns:
- CNK(n, k)
-
tryAdvance
- Specified by:
tryAdvance
in interfaceSpliterator<int[]>
-