Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review: MoreEnumerable.NestedLoops() #36

Closed
GoogleCodeExporter opened this issue Mar 23, 2015 · 6 comments
Closed

Review: MoreEnumerable.NestedLoops() #36

GoogleCodeExporter opened this issue Mar 23, 2015 · 6 comments

Comments

@GoogleCodeExporter
Copy link

Purpose of code changes on this branch:

Rev 119 - Implementation of the NestedLoops() operator, which expands an
Action into a sequence whose length is equivalent to the total number of
iterations of a set of nested loop. NestedLoops() builds on the Repeat()
operator to allow the dynamic construction of nested loops. It is passed an
Action and an IEnumerable<int> that reflects the number of iterations of
each level of the nested loop. The result is a sequence which repeats the
Action parameter as many times as the product of the loop counts. This
method allows the construction of virtualized, streaming sequences whose
length exceeds the representational bounds of Int32, Int64 and even
decimal. This is useful in those cases where you want to overcome the range
limitations of the built-in .NET numeric types (the Permutations extension
method is the primary beneficiary and best example of this).

When reviewing my code changes, please focus on:

* The public interface of the extension method.
* The effectiveness and clarity of the available XML comment documentation.
* How well this operator fits into the MoreLINQ ecosystem of
extension methods.
* The extent of coverage available from the corresponding unit tests.
* Whether edge cases are correctly identified and handled in the
implementation and tests.
* Whether this is the simplest way to support the requirements of operators
like Permutations() - or whether it's overkill.

After the review, I'll merge this branch into:
/trunk

Original issue reported on code.google.com by ambientl...@gmail.com on 17 Jan 2010 at 6:30

@GoogleCodeExporter
Copy link
Author

[deleted comment]

@GoogleCodeExporter
Copy link
Author

Original comment by azizatif on 17 Jan 2010 at 11:22

@GoogleCodeExporter
Copy link
Author

Now migrated to Hg and available in clone:
http://code.google.com/r/azizatif-morelinq-evenmore/
This clone is ready to be cloned :O) for further review. It also has the 
main/default branch already merged in to bring it up to date.

Original comment by azizatif on 25 May 2012 at 11:38

@GoogleCodeExporter
Copy link
Author

Original comment by azizatif on 10 Jun 2012 at 10:25

  • Changed state: Started

@GoogleCodeExporter
Copy link
Author

Following no response from ambientlion (who possibly/assuming lost interest 
given it has taken years to get this far), taking ownership of issue to 
consider as addition for MoreLINQ 2.0 milestone.

Original comment by azizatif on 12 Jun 2013 at 10:10

@GoogleCodeExporter
Copy link
Author

This issue was closed by revision ecbb044b3f86.

Original comment by azizatif on 14 Jun 2013 at 5:18

  • Changed state: Fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant