Nothing
Initial release.
New functions:
i_enumerate.array can iterate over arbitrary margins, providing you
with a vector index.i_window constructs a sliding window of arbitrary length over a given
iterator, generalizing itertools2::ipairwise and itripletwise.i_rle() and i_rle_inverse() for run-length encoding.i_accum(), reduce(), and sum()
and prod().i_chain(...) has a companion function i_concat(it) which accepts
an iterable (rather than ...).as.numeric, as.vector, as.character,
and as.logical.concat() pastes chunks from an iterator into a vector.New features:
icount, icountn, idiv,
igrid, iseq, i_enumerate.default, iteror.default,
iteror.data.frame, iteror.default and i_enumerate.array
all have shared logic; all accept options chunks, chunksize
and recycle with equivalent behavior.icount and icountn preserve dimnames.icountn, igrid, i_enumerate.array and
iteror.array have option rowMajor to control the order of iteration.i_unique uses a hash table rather than linear scan, for much improved
performance; it also now works with any type of R object.irunif, isample and friends
accept options independent, and seed if given, the iterator will maintain a
private seed value, so that interleaving with other iterators does
not affect reproducibility. You can use a specific random number
generator algorithm by also giving kind, normal.kind, and sample.kind.i_tee works for any iterator, using a queue, where previously
itertools::i_tee only worked for memory-backed iterators.py_iteror wraps an iterator so that it can
be used by Python code via package reticulate. Meanwhile
iteror has a method for Python objects, allowing Python
iterators to be used transparently with iteror code.Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.