* feat: add Tap, Transpose, Unzip, ParallelReduce, and Replicate
- Add Tap: for side effects/debugging in pipelines
- Add Transpose: flip matrix rows and columns
- Add Unzip: split tuple slice into two slices
- Add ParallelReduce: parallel reduction (experimental)
- Add Replicate: create n copies of a value
Comprehensive tests included for all functions.
Resolves Issues 21, 22, 23, 24, 25
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* test: improve ParallelReduce test coverage to 97.5%
Add comprehensive tests covering:
- Default workers (workers <= 0)
- Negative workers
- Error handling and propagation
- Context cancellation during execution
- Context timeout
- Single element processing
- Many workers (more workers than elements)
- Benchmark for performance validation
Coverage increased from 68.75% to 97.5%
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
* Adding some new funky functions which I find useful
Created a Tuple struct as some of the new functions require you to return a new slice with two fields which is the result of the new functions
Created the Join, JoinProjection, Range, SumMap, Zip functions, ecah fuction is documented with how it works and had a unit test or maybe more
* Added in an OrderBy function
* Documentation comment for OrderBy which I missed out
* Adding a Unit test for JoinProject function
Updated the comments on the Join & OrderBy functions so they make a little more sense.
Covered an extra test case with the Join test, where the left set has more data than the right and so the Right handside array of the join is empty