łň
ÜRMc           @   sĆ   d  d k  Z  d  d k Z y d Z e  i d  Z WnB e  i j
 o3 e i d j o d Z d Z qv d Z d Z n Xd e Z d	   Z e i	 d j  o d   Z
 n e Z
 d e f d     YZ d S(   i˙˙˙˙Nt   Pi˙˙˙t   li   t   qi   i   c         C   s   |  d j  o |  t  7}  n |  S(   Ni    (   t   HUGEVAL(   t   result(    (    s!   /64/home/arigo/u/pypy/tool/uid.pyt   fixid   s    i   i   c         C   s   t  t |    S(   su   
        Return the id of an object as an unsigned number so that its hex
        representation makes sense
        (   R   t   id(   t   obj(    (    s!   /64/home/arigo/u/pypy/tool/uid.pyt   uid   s    t   Hashablec           B   sP   e  Z d  Z d d g Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(	   sĹ   
    A Hashable instance encapsulates any object, but is always usable as a
    key in dictionaries.  This is based on id() for mutable objects and on
    real hash/compare for immutable ones.
    t   keyt   valuec         C   sş   | |  _  t |  i   |  i  f } | d t j oH |  i  o= d d k l } | d |  i   d j o t d f } qz n y t |  Wn" t j
 o t |  i   } n X| |  _ d  S(   Ni    i˙˙˙˙(   t   copysigng      đ?g      đżs   -0.0(	   R   t   typet   floatt   pypy.rlib.rarithmeticR   t   hasht	   TypeErrorR   R
   (   t   selfR   R
   R   (    (    s!   /64/home/arigo/u/pypy/tool/uid.pyt   __init__+   s    	c         C   s#   |  i  | i  j o |  i | i j S(   N(   t	   __class__R
   (   R   t   other(    (    s!   /64/home/arigo/u/pypy/tool/uid.pyt   __eq__=   s    c         C   s   |  | j S(   N(    (   R   R   (    (    s!   /64/home/arigo/u/pypy/tool/uid.pyt   __ne__@   s    c         C   s   t  |  i  S(   N(   R   R
   (   R   (    (    s!   /64/home/arigo/u/pypy/tool/uid.pyt   __hash__C   s    c         C   s   d |  f S(   Ns   (%s)(    (   R   (    (    s!   /64/home/arigo/u/pypy/tool/uid.pyt   __repr__F   s    c         C   sÂ   t  |  i  } | i d  oI | i d  o9 t |  i d  o& d t |  i  i |  i i f } nW t |  d j p) t |  d j o0 t |  i  t j	 o | d  d | d	 } n | S(
   Nt   <t   >t   __name__s   %s %si<   i   i   s   ...iů˙˙˙(	   t   reprR   t
   startswitht   endswitht   hasattrR   R   t   lent   str(   R   t   r(    (    s!   /64/home/arigo/u/pypy/tool/uid.pyt   __str__I   s     &<(
   R   t
   __module__t   __doc__t	   __slots__R   R   R   R   R   R$   (    (    (    s!   /64/home/arigo/u/pypy/tool/uid.pyR	   #   s   					(   i   i   (   t   structt   syst   HUGEVAL_FMTt   calcsizet   HUGEVAL_BYTESt   errort   maxintR   R   t   version_infoR   R   t   objectR	   (    (    (    s!   /64/home/arigo/u/pypy/tool/uid.pys   <module>   s   

	
