#4000: Implement QQ['x'] via Flint ZZ['x'] + denominator
------------------------------+---------------------------------------------
 Reporter:  malb              |         Owner:  somebody                        
                          
     Type:  enhancement       |        Status:  needs_work                      
                          
 Priority:  blocker           |     Milestone:  sage-4.6                        
                          
Component:  basic arithmetic  |    Resolution:                                  
                          
 Keywords:                    |        Author:  Sebastian Pancratz, Martin 
Albrecht                       
 Upstream:  N/A               |      Reviewer:  John Cremona, Martin Albrecht, 
Alex Ghitza, Harald Schilly
   Merged:                    |   Work_issues:  Solaris build error, doctest 
error                        
------------------------------+---------------------------------------------

Comment(by mpatel):

 Applying [attachment:trac4000_0.patch] to 4.6.alpha2, I get a failed
 "hunk":
 {{{
 #!diff
 --- polynomial_ring.py
 +++ polynomial_ring.py
 @@ -1220,28 +1220,34 @@
              sage: type(R.gen())
              <class
 
'sage.rings.polynomial.polynomial_element_generic.Polynomial_generic_dense_field'>
          """
 -        if implementation is None: implementation="NTL"
          from sage.rings.finite_rings.finite_field_base import
 is_FiniteField
 +        from sage.rings.rational_field import QQ
 +        from sage.rings.polynomial.polynomial_singular_interface import
 can_convert_to_singular
 +        if implementation is None:
 +            implementation = "NTL"
 +
          if implementation == "NTL" and is_FiniteField(base_ring):
 -            p=base_ring.characteristic()
              from sage.libs.ntl.ntl_ZZ_pEContext import ntl_ZZ_pEContext
              from sage.libs.ntl.ntl_ZZ_pX import ntl_ZZ_pX
 +            from sage.rings.polynomial.polynomial_zz_pex import
 Polynomial_ZZ_pEX
 +
 +            p = base_ring.characteristic()
              self._modulus =
 ntl_ZZ_pEContext(ntl_ZZ_pX(list(base_ring.polynomial()), p))
 -            from sage.rings.polynomial.polynomial_zz_pex import
 Polynomial_ZZ_pEX
 -            element_class=Polynomial_ZZ_pEX
 +            element_class = Polynomial_ZZ_pEX

          if not element_class:
              if sparse:
                  element_class =
 polynomial_element_generic.Polynomial_generic_sparse_field
              elif isinstance(base_ring, rational_field.RationalField):
 -                element_class =
 polynomial_element_generic.Polynomial_rational_dense
 +                from sage.rings.polynomial.polynomial_rational_flint
 import Polynomial_rational_flint
 +                element_class = Polynomial_rational_flint
              elif is_RealField(base_ring):
                  element_class = PolynomialRealDense
              else:
                  element_class =
 polynomial_element_generic.Polynomial_generic_dense_field
 +
          PolynomialRing_integral_domain.__init__(self, base_ring,
 name=name, sparse=sparse, element_class=element_class)

 -        from sage.rings.polynomial.polynomial_singular_interface import
 can_convert_to_singular
          self._has_singular = can_convert_to_singular(self)

      def divided_difference(self, points, full_table=False):
 }}}
 Could someone who knows this code please rebase the patch?

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/4000#comment:121>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to