#16901: cythonized function in combinatorial designs must be interruptible
-------------------------------------+-------------------------------------
       Reporter:  vdelecroix         |        Owner:
           Type:  defect             |       Status:  new
       Priority:  major              |    Milestone:  sage-6.4
      Component:  combinatorial      |   Resolution:
  designs                            |    Merged in:
       Keywords:                     |    Reviewers:
        Authors:  Vincent Delecroix  |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  00f4fdb067d61ec76b87efb0f250a4937bda9046
  u/vdelecroix/16901                 |     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------
Changes (by vdelecroix):

 * commit:   => 00f4fdb067d61ec76b87efb0f250a4937bda9046
 * branch:   => u/vdelecroix/16901


Comment:

 It is better with the branch applied as it becomes interruptible.
 Nevertheless it is not ideal since it may happen that after an
 interruption you are not able to call `MOLS_table` anymore... got strange
 error like
 {{{
 TypeError                                 Traceback (most recent call
 last)
 <ipython-input-4-3880577162c6> in <module>()
 ----> 1 MOLS_table(Integer(10000))

 /opt/sage_flatsurf/local/lib/python2.7/site-
 packages/sage/combinat/designs/latin_squares.pyc in
 MOLS_table(number_of_lines, compare)
     513         if i%20==0:
     514             print "\n%3d|"%i,
 --> 515         k =
 mutually_orthogonal_latin_squares(None,i,existence=True)
     516         if compare:
     517             if i < 2 or hb[i] == k:

 /opt/sage_flatsurf/local/lib/python2.7/site-
 packages/sage/combinat/designs/latin_squares.pyc in
 mutually_orthogonal_latin_squares(k, n, partitions, check, existence)
     359             raise ValueError("there are no bound on k when
 0<=n<=1")
     360
 --> 361         k = orthogonal_array(None,n,existence=True) - 2
     362         if existence:
     363             return k

 /opt/sage_flatsurf/local/lib/python2.7/site-
 packages/sage/combinat/designs/orthogonal_arrays.pyc in
 orthogonal_array(k, n, t, resolvable, check, existence)
     811         else:
     812             for k in range(t-1,n+2):
 --> 813                 if not orthogonal_array(k+1,n,t=t,existence=True):
     814                     break
     815         if existence:

 /opt/sage_flatsurf/local/lib/python2.7/site-
 packages/sage/combinat/designs/orthogonal_arrays.pyc in
 orthogonal_array(k, n, t, resolvable, check, existence)
     909         OA = OA_from_quasi_difference_matrix(M,G,add_col=True)
     910
 --> 911     elif may_be_available and find_recursive_construction(k,n):
     912         _OA_cache_set(k,n,True)
     913         if existence:

 /opt/sage_flatsurf/local/lib/python2.7/site-
 packages/sage/misc/cachefunc.so in
 sage.misc.cachefunc.CachedFunction.__call__
 (build/cythonized/sage/misc/cachefunc.c:4678)()

 /opt/sage_flatsurf/local/lib/python2.7/site-
 packages/sage/combinat/designs/orthogonal_arrays_find_recursive.so in
 
sage.combinat.designs.orthogonal_arrays_find_recursive.find_recursive_construction
 
(build/cythonized/sage/combinat/designs/orthogonal_arrays_find_recursive.c:2565)()

 TypeError: function takes exactly 3 arguments (2 given)
 }}}

 Vincent
 ----
 Last 10 new commits:
 
||[http://git.sagemath.org/sage.git/commit/?id=80e0ceff43edca6fd46d99ee3e3f4b452200a5da
 80e0cef]||{{{trac #16879: orthogonal_array_recursive.py -> pyx}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=054911031ccdf219a52dbc4a83a5d0e7376541d7
 0549110]||{{{trac #16879: a is_available function in
 orthogonal_arrays_recursive}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=0201bcb08be6a4dad3a9d8eec1c9302e88b29328
 0201bcb]||{{{trac #16879: more speed up}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=b1100184a070d350a0a537527485eb02ef87a6b8
 b110018]||{{{trac #16879: rename orthogonal_arrays_recursive to
 orthogonal_arrays_find_recursive}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=d9e04753f45301c24c8c0811ae215cd4d7885aa2
 d9e0475]||{{{trac #16879: Move constructions from orthogonal_arrays_find
 to orthogonal_arrays_build (this, and only this)}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=5031aee11c668df05d0d955292f7111ffbb985c0
 5031aee]||{{{trac #16879: Fix the import statements}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=0c1893f75b17657458a441e512a00be0ceba7728
 0c1893f]||{{{trac #16879: Fix the doc}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=6a3869d56d0458e66f4e427f2e9c2930157dd141
 6a3869d]||{{{trac #16879: speed up}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=d7129d6e80c8d3eb11d09e2cd620882a14d6e73d
 d7129d6]||{{{trac #16879: Trivial stuff}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=00f4fdb067d61ec76b87efb0f250a4937bda9046
 00f4fdb]||{{{trac #16879: make cython code in OA interruptible}}}||

--
Ticket URL: <http://trac.sagemath.org/ticket/16901#comment:1>
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to