Ticket #10593: trac_10593.patch

File trac_10593.patch, 1.5 KB (added by aapitzsch, 12 years ago)
  • sage/rings/contfrac.py

    # HG changeset patch
    # User André Apitzsch <andre.apitzsch@st.ovgu.de>
    # Date 1294763122 -3600
    # Node ID aeebef4bc7c1eaf62b24501d5238c8aa61bf1632
    # Parent  553928e531411153987bd0a766cf22fdeac915d9
    trac 10593: replace __getslice__
    
    diff -r 553928e53141 -r aeebef4bc7c1 sage/rings/contfrac.py
    a b  
    397397        Returns `n`-th term of the continued fraction.
    398398
    399399        OUTPUT:
    400             - an integer
     400            - an integer or a a continued fraction
    401401
    402402        EXAMPLES::
    403403       
     
    407407            292
    408408            sage: a[-1]
    409409            14
    410         """
    411         return self._x[n]
    412 
    413     def __getslice__(self, i, j):
    414         """
    415         OUTPUT:
    416        
    417             - a continued fraction
    418            
    419         EXAMPLES::
    420 
    421             sage: a = continued_fraction(pi); a
    422             [3, 7, 15, 1, 292, 1, 1, 1, 2, 1, 3, 1, 14]
    423410            sage: a[2:5]
    424411            [15, 1, 292]
    425412            sage: a[:3]
    426413            [3, 7, 15]
    427414            sage: a[4:]
    428415            [292, 1, 1, 1, 2, 1, 3, 1, 14]
     416            sage: a[4::2]
     417            [292, 1, 2, 3, 14]
    429418        """
    430         return ContinuedFraction(self.parent(), self._x[i:j])
     419        if isinstance(n, slice):
     420            start, stop, step = n.indices(len(self))
     421            return ContinuedFraction(self.parent(), self._x[start:stop:step])
     422        else:
     423            return self._x[n]
    431424
    432425    def _repr_(self):
    433426        """