Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add scan function * Add initial conditional conformances to Collection and BidirectionalCollection * Rename scan to reductions * Add information to the readme about the reductions name * Add eager API * Remove Reductions' conformance to BidirectionalCollection * Implement Reductions subscript such that it occurs in constant time * Add a variant which includes the given initial result * Add a variant which takes no initial result value * Add excluding label to show the initial result is not included * Test lazy implementations * Remove reductions(including:_:) * Add conformance to LazySequenceProtocol and LazyCollectionProtocol when the base sequence conforms * Fix implementation of lazy reductions * Add test cases for sequences with one element * Tidy up tests * Improve ergonomics of no initial value eager reductions call and provide it as an extension on Sequence * Add lazy InclusiveReductions sequence * Rename Reductions to ExclusiveReductions * Add Collection implementation for InclusiveReductions * Update guide * Add links for C++ implementations * Add conformance to Collection for ExclusiveReductions * Improve ergonomics of ExclusiveReductions' index representation * Improve ergonomics of InclusiveReductions' index representation by sharing the Index implementation * Tidy up internal function * Add exclusive eager version of reductions(into:_:) * Use new lazy assertion functions * Correct the complexity claims for reductions * Separate the index types This will allow for future changes to either implementation without causing a breakage for the other. * Update guide to reflect that arrays are returned directly * Add scan as deprecated methods * Add lazy overload of reductions(into:_:) * Add the reductions(into:_:) functions * More succinctly introduce reductions * Add a note about the deprecated scan functions * Update documentation * Add @inlinable and @usableFromInline * Copy documentation to all variants of reductions * Test the value after the function is complete * Just use the += operator * Add an example for reductions(into:_:) * Improve the documentation of the return value * Update complexity note * Use the reduce documentation for inspiration for the discussion of reductions
- Loading branch information