Well, as for the original question(s), the answer is "No, the Sage core library is not a pure Python/Cython library, so yes, essentially you can include C/C++ code." --- there are already other examples (I think some code of David Harvey for example). I think formally, the way of the integration of the C/C++ parts of the patch is allright, too.
But the "no binary objects whatsoever" criticism from Harald is justified (due to the mercurial history, even erasing .png files later will not help --- the increase in size will last forever), as well as the question of maintainability. Frankly, I see no benefit in having these new parts being coded in C/C+ + compared to using the already existing Python/Cython framework of ArithmeticSubgroups. To the contrary, the C/C++ code seems to use internally C/C++ int's for the entries of the 2x2 matrices and is thus vulnerable w.r.t. overflow issues --- on 32bit platforms earlier than on 64bit platforms (one could have easily used e.g. int64_t's instead, but the basic problem remains). Whereas the current Sage code uses internally fast arbitrary precision Integer arithmetic. Don't get me wrong, I definitely do want the #11709 code to be incorporated as soon as possible, and not only because it's a first time contribution to Sage (from Hartmut Monien, and someone else who still has to remove the Umlaut in his name from at least one of the patch files, IIRC)! But as soon I can free a minimum of time of mine to do some refactoring and enhancing of the Sage ArithmeticSubgroups I need for my own work, I hardly believe that any C/C++ code will survive that (only its functionality, refactored and enhanced, e.g. to work directly with subgroups of SL2Z instead of PSL2Z, for e.g. generators and cosets, special treatment of subgroups that are invariant under the Shimura main involution, some nice speedups, ...). Since we already have this thread open for discussion --- what do you think are the benefits of having this functionality coded in C/C++ instead of Python/Cython (sorry if that question is too Off-Topic)? The only benefit I can see is: "It already exists and is (almost) ready for inclusion, whereas e.g. Chris Kurth's KFarey spkg does not seem to be available any longer via the web". Cheers, Georg -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org