phileas.iteration.leaf#

This module defines abstract and concrete iteration leaves, which are the actual data sources of an iteration tree, alongside their iterators.

Classes

GeneratorWrapper(generator_function, ...)

Wrapper around a generator function, which can be used in order not to have to implement a new iteration leave, and its iterator.

GeneratorWrapperIterator(tree)

GeometricRange(start, end, default_value, steps)

Generate steps values geometrically spaced between start and end, both included.

IntegerRange(start, end, default_value, step)

Generate integer values step spaced, between start and end, both included.

IntegerRangeIterator(tree)

IterationLiteral(value)

Wrapper around a data tree.

LinearRange(start, end, default_value, steps)

Generate steps values linearly spaced between start and end, both included.

LiteralIterator(tree)

NumericRange(start, end, default_value)

Represents a range of numeric values.

NumpyRNG(seed, size, default_value, ...)

Random iteration leaf based on the RNG of numpy.

NumpyRNGIterator(tree)

Iterator that generates random numbers by reseeding a numpy bit generator, and getting its first returned values.

PrimeRng(seed, size, default_value, ...)

Random iteration leaf generating prime numbers.

PrimeRngIterator(tree)

Iterator that generates random prime numbers by uniformly generating an number with the big integer RNG, before finding a neighboring prime with sympy prevprime() and nextprime().

RandomIterationLeaf(seed, size, ...)

Deterministic pseudo-random elements generator.

Sequence(elements, ...)

Non-empty sequence of data trees.

SequenceIterator(tree)

UniformBigIntegerRng(seed, size, ...)

Random iteration leaf generating arbitrarily big integers.

UniformBigIntegerRngIterator(tree)

Iterator that generates random numbers by reseeding a numpy byte generator.