#20008: Implement non-recursive iterator for compositions
-------------------------------------+-------------------------------------
       Reporter:  tscrim             |        Owner:  sage-combinat
           Type:  enhancement        |       Status:  positive_review
       Priority:  major              |    Milestone:  sage-7.1
      Component:  combinatorics      |   Resolution:
       Keywords:  iterator           |    Merged in:
        Authors:  Travis Scrimshaw   |    Reviewers:  Darij Grinberg
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  public/combinat/composition_iterator-20008|  
c6ba3e7f4d3414877fdce12128d36b40bd5e7834
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------
Changes (by tscrim):

 * status:  needs_review => positive_review


Comment:

 I'm wondering how much we could get by going one step further and moving
 `IntegerListsLex` to a small standalone C/C++ library, where we can really
 get to low-level optimizations. Although I see some technical challenges
 with this; in particular, taking functions as input and the lambda
 functions involved with the current implementation. Perhaps Cython will be
 sufficient.

 I agree that this would further benefit from cythonization/C-ifying. Right
 now we don't have a set place upon where we can put these functions. I
 also do not see them as code bloat because to really optimize
 `IntegerListsLex`, we will almost certainly have specialized
 implementations for special cases to avoid overhead of the general case.
 (This implementation can be easily tweaked to cover a number of other
 cases, but would likely have bad performance in general.)

 However, I think we should do all of these things on a separate ticket(s),
 which is why I'm setting this to a positive review given [comment:9
 Darij's comment] and the green patchbot. Feel free to set it back if you
 disagree. Yet +1 to adding a common place/library for all of these
 iterator functions (and their cython/C versions).

--
Ticket URL: <http://trac.sagemath.org/ticket/20008#comment:11>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to