#14285: Add __len__ and cardinality to cartesian_product_iterator and
CartesianProduct
---------------------------------+------------------------------------------
       Reporter:  roed           |         Owner:  jason       
           Type:  enhancement    |        Status:  needs_review
       Priority:  major          |     Milestone:  sage-5.9    
      Component:  combinatorics  |    Resolution:              
       Keywords:                 |   Work issues:              
Report Upstream:  N/A            |     Reviewers:  Julian Rueth
        Authors:  David Roe      |     Merged in:              
   Dependencies:                 |      Stopgaps:              
---------------------------------+------------------------------------------
Changes (by saraedum):

  * reviewer:  => Julian Rueth


Old description:

> If cartesian_product_iterator has a `__len__` method we can use it in
> `random.sample`.
>
> We also fix a bug that yields an infinite loop:
>
> {{{
> sage: for a in cartesian_product_iterator([ZZ,[]]):
> ....:     print "hello world"
> <INFINITE LOOP>
> }}}

New description:

 If cartesian_product_iterator has a `__len__` method we can use it in
 `random.sample`.

 We also fix a bug that yields an infinite loop:

 {{{
 sage: for a in cartesian_product_iterator([ZZ,[]]):
 ....:     print "hello world"
 <INFINITE LOOP>
 }}}

 -----

 Apply:

 1. [[attachment:14285.patch]]
 1. [[attachment:trac_14285_review.patch]]

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14285#comment:6>
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 http://groups.google.com/group/sage-trac?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to