File: //opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/util.pyo
�
��4]c           @   s�  d  d l  Z  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 d d l m Z d d l m	 Z	 d d l m
 Z
 d d l m Z e	 r� d �  Z e Z
 Z n. e r� d	 �  Z e Z
 Z n e j Z
 d
 �  Z d �  Z d �  Z d
 e f d �  �  YZ d �  Z d �  Z d �  Z d �  Z d �  Z d �  Z e d �  � Z d �  Z d e f d �  �  YZ d d d � Z  d �  Z! d S(   i����Ni   (   t	   decorator(   t   defaultdict(   t   jython(   t   py2k(   t   pypyc          G   s/   t  j �  t j d � t  j �  t  j �  d S(   s    aggressive gc.collect for tests.g�������?i    (   t   gct   collectt   timet   sleep(   t   args(    (    sJ   /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/util.pyt   jython_gc_collect   s
    
c          G   s   t  j �  t  j �  d  S(   N(   R   R   (   R	   (    (    sJ   /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/util.pyt   pypy_gc_collect$   s    
c           C   s   d  S(   N(    (    (    (    sJ   /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/util.pyt   lazy_gc-   s    c          #   s�   t  �  }  t rC y d d  l } |  j | � WqC t k
 r? qC Xn  d d  l } |  j | � xE |  D]= �  x4 t d | j � D]  � �  j �  � f d �  f Vq| Wqc Wd  S(   Ni����i����c            s   �  j  |  � � S(   N(   t   dumps(   t   d(   t   pickle_t   protocol(    sJ   /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/util.pyt   <lambda>B   t    (	   t   setR   t   cPicklet   addt   ImportErrort   picklet   ranget   HIGHEST_PROTOCOLt   loads(   t   picklersR   R   (    (   R   R   sJ   /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/util.pyR   1   s    	
c         C   sN   t  |  t � r t |  | � S|  t j d d | � j t j � t d | � S(   Nt   1t   0i
   (   t
   isinstancet   floatt   roundt   decimalt   Decimalt   to_integralt   ROUND_FLOORt   pow(   t   valuet   prec(    (    sJ   /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/util.pyt
   round_decimalE   s
    
	t	   RandomSetc           B   s>