Ë
    7^(hf  ã                   óB   — d Z ddlmZ ddlmZ ddlmZ  G d„ de«      Zy)zA
Contains the base class for series
Made using sequences in mind
é    )ÚExpr)ÚS)Úcacheitc                   ó˜   — e Zd ZdZed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Z	ed„ «       Z
ed„ «       Zd	„ Zd
„ Zd„ Zd„ Zy)Ú
SeriesBasezBase Class for seriesc                 ó   — t        d| z  «      ‚)z+The interval on which the series is definedz(%s).interval©ÚNotImplementedError©Úselfs    úW/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/series/series_class.pyÚintervalzSeriesBase.interval   s   € ô " /°DÑ"8Ó9Ð9ó    c                 ó   — t        d| z  «      ‚)z8The starting point of the series. This point is includedz
(%s).startr	   r   s    r   ÚstartzSeriesBase.start   s   € ô " ,°Ñ"5Ó6Ð6r   c                 ó   — t        d| z  «      ‚)z6The ending point of the series. This point is includedz	(%s).stopr	   r   s    r   ÚstopzSeriesBase.stop   s   € ô " +°Ñ"4Ó5Ð5r   c                 ó   — t        d| z  «      ‚)zLength of the series expansionz(%s).lengthr	   r   s    r   ÚlengthzSeriesBase.length   s   € ô " -°$Ñ"6Ó7Ð7r   c                  ó   — y)z-Returns a tuple of variables that are bounded© r   r   s    r   Ú	variableszSeriesBase.variables"   s   € ð r   c                 óš   — | j                   D ��ch c]  }|j                  D ]  }|’Œ Œ c}}j                  | j                  «      S c c}}w )z�
        This method returns the symbols in the object, excluding those
        that take on a specific value (i.e. the dummy symbols).
        )ÚargsÚfree_symbolsÚ
differencer   )r   ÚiÚjs      r   r   zSeriesBase.free_symbols'   s<   € ð !ŸI™I×>�q¨q¯~©~Ò>¨!’Ð>�Ó>ß‘˜DŸN™NÓ+ð	-ùÓ>s   �Ac                 ó–   — || j                   k  s|| j                  kD  rt        d|›d| j                  ›�«      ‚| j	                  |«      S )zTerm at point pt of a serieszIndex z out of bounds )r   r   Ú
IndexErrorr   Ú
_eval_term©r   Úpts     r   ÚtermzSeriesBase.term0   s<   € ð �—
‘
Š?˜b 4§9¡9šnÝºBÀÇÂÐNÓOÐOØ�‰˜rÓ"Ð"r   c                 ó2   — t        d| j                  z  «      ‚)NzhThe _eval_term method should be added to%s to return series term so it is availablewhen 'term' calls it.)r
   Úfuncr"   s     r   r!   zSeriesBase._eval_term7   s"   € Ü!ð #:ð %)§I¡Iñ#.ó /ð 	/r   c                 ó„   — | j                   t        j                  u r| j                  }d}n| j                   }d}|||z  z   S )zæ
        Returns the i'th point of a series
        If start point is negative infinity, point is returned from the end.
        Assumes the first point to be indexed zero.

        Examples
        ========

        TODO
        éÿÿÿÿé   )r   r   ÚNegativeInfinityr   )r   r   ÚinitialÚsteps       r   Ú
_ith_pointzSeriesBase._ith_point=   sA   € ð �:‰:œ×+Ñ+Ñ+Ø—i‘iˆGØ‰Dà—j‘jˆGØˆDà˜˜4™ÑÐr   c              #   ó¢   K  — d}|| j                   k  r:| j                  |«      }| j                  |«      –— |dz  }|| j                   k  rŒ9y y ­w©Nr   r)   )r   r-   r$   )r   r   r#   s      r   Ú__iter__zSeriesBase.__iter__Q   sH   è ø€ ØˆØ�$—+‘+ŠoØ—‘ Ó#ˆBØ—)‘)˜B“-ÒØ�‰FˆAð �$—+‘+�oùs   ‚A
AÁAc                 ót  — t        |t        «      r"| j                  |«      }| j                  |«      S t        |t        «      rq|j
                  |j                  }}|€d}|€| j                  }t        |||j                  xs d«      D �cg c]"  }| j                  | j                  |«      «      ‘Œ$ c}S y c c}w r/   )
Ú
isinstanceÚintr-   r$   Úslicer   r   r   Úranger,   )r   Úindexr   r   r   s        r   Ú__getitem__zSeriesBase.__getitem__X   s    € Ü�eœSÔ!Ø—O‘O EÓ*ˆEØ—9‘9˜UÓ#Ð#Ü˜œuÔ%ØŸ+™+ u§z¡z�4ˆEØˆ}Ø�Øˆ|Ø—{‘{�ä˜%  u§z¡z¢°QÓ7ö9°a�D—I‘I˜dŸo™o¨aÓ0Õ1ò 9ð 9ð &ùò9s   Â
'B5N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úpropertyr   r   r   r   r   r   r   r$   r!   r-   r0   r7   r   r   r   r   r      s£   „ Ùàñ:ó ð:ð ñ7ó ð7ð ñ6ó ð6ð ñ8ó ð8ð ñó ðð ñ-ó ð-ð ñ#ó ð#ò/ò ò(ó9r   r   N)r;   Úsympy.core.exprr   Úsympy.core.singletonr   Úsympy.core.cacher   r   r   r   r   ú<module>r@      s#   ðñõ
 !Ý "Ý $ôX9�õ X9r   