ó
°áÇMc           @   s&   d  Z  d „  Z d d d „  ƒ  YZ d S(   i    c         C   s(   |  t  } |  t  } d | >} | | f S(   Ni   (   t   INT_BITS(   t   elementt   indext   offsett   bit(    (    s   Set.pyt   getIndex   s    


t   Setc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   sT   | |  _  t d |  j  t ƒ |  _ x* t t |  j ƒ ƒ D] } d |  j | <q9 Wd  S(   Ni   i    (   t   capacityt   rangeR    t   vectort   len(   t   selfR   t   i(    (    s   Set.pyt   __init__   s    	c         C   s)   t  | ƒ \ } } |  j | c | O<d  S(   N(   R   R	   (   R   R   R   R   (    (    s   Set.pyt   add   s    c         C   s*   t  | ƒ \ } } |  j | c | M<d  S(   N(   R   R	   (   R   R   R   R   (    (    s   Set.pyt   delete   s    c         C   s'   t  | ƒ \ } } |  j | | @d k S(   Ni    (   R   R	   (   R   R   R   R   (    (    s   Set.pyt   contains   s    (   t   __name__t
   __module__R   R   R   R   (    (    (    s   Set.pyR   	   s   			N(    (   R    R   R   (    (    (    s   Set.pyt   <module>   s   	