Your IP : 216.73.216.52
��Yf� � @ s� d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z m Z d d l m Z d d � Z
d d � Z Gd d � d e � Z
Gd
d � d e j � Z e d k r� e j � d S)
� N)�loads�dumps)�supportc C s, t | d � r t j | � St d � � d S)z�
Helper function to convert a slice argument to an integer, and raise
TypeError with a suitable message on failure.
� __index__zBslice indices must be integers or None or have an __index__ methodN)�hasattr�operator�index� TypeError)�arg� r �4/opt/alt/python35/lib64/python3.5/test/test_slice.py�evaluate_slice_index
s
r
c C sr t j | � } | j d k r$ d n t | j � } | d k rK t d � � | d k rc t d � � | d k ru d n d } | d k r� | d n | } | j d k r� | d k r� | n | } n= t | j � } | d k r� t | | | � n t | | � } | j d k r(| d k r| n | } n= t | j � } | d k rVt | | | � n t | | � } | | | f S)zA
Reference implementation for the slice.indices method.
N� r zlength should not be negativezslice step cannot be zero���) r r �stepr
�
ValueError�start�max�min�stop)�slice�lengthr �lower�upperr r r r r �
slice_indices s"