ó
šßÈ[c           @` s’   d  Z  d d l m Z m Z m Z m Z d d l m Z d d l Z d d l	 Z	 d d l
 Z d d l m Z d d l m Z d	 „  Z d
 „  Z d S(   u}   Test `astropy.utils.timer`.

.. note::

    The tests only compare rough estimates as
    performance is machine-dependent.

i    (   t   absolute_importt   divisiont   print_functiont   unicode_literalsi   (   t   sixNi   (   t   RunTimePredictor(   t   ModelsErrorc         C` s(   d t  j |  ƒ d } t j | ƒ | S(   ua   This sleeps for y seconds for use with timing tests.

    .. math::

        y = 5 * x - 10

    g      @i
   (   t   npt   asarrayt   timet   sleep(   t   xt   y(    (    s=   lib/python2.7/site-packages/astropy/utils/tests/test_timer.pyt   func_to_time   s    c       
   C` s,  t  t ƒ }  t j t ƒ  |  j ƒ  Wd QXt j t ƒ  |  j d ƒ Wd QX|  j d d d d d g ƒ |  j d ƒ |  j	 d	 k s t
 ‚ |  j d g k s¥ t
 ‚ t t j |  j ƒ ƒ } t t j |  j ƒ ƒ } t j j | d d d d d g ƒ t j j | d
 d d d d g ƒ t j t ƒ  |  j d d ƒ } Wd QXt j t ƒ  |  j d d ƒ } Wd QX|  j ƒ  } |  j d k sŠt
 ‚ d | d k o¥d k n s°t
 ‚ d | d k oËd k n sÖt
 ‚ |  j d ƒ } d | k oüd k n st
 ‚ |  j d ƒ } | | k s(t
 ‚ d S(   u   Test function timer.Nid   g)\Âõ( @gR¸…ëQ @gÍÌÌÌÌÌ @u   agffffff@gš™™™™™@u   func_to_timegš™™™™™¹?gš™™™™™É?g      à?g      ø?g      ð?t   modelu   foot   fitteri   g      @g      @iõÿÿÿi    i÷ÿÿÿi¹  i  (   R   R   t   pytestt   raisest
   ValueErrort   do_fitt   RuntimeErrort   predict_timet	   time_funct	   _funcnamet   AssertionErrort
   _cache_badt   listR   t   iterkeyst   resultst
   itervaluesR   t   testingt   assert_array_equalt   assert_allcloseR   t   _power(   t   pt   kt   vt   at   tt   t2(    (    s=   lib/python2.7/site-packages/astropy/utils/tests/test_timer.pyt
   test_timer(   s2    ""&&"(   t   __doc__t
   __future__R    R   R   R   t   externR   R	   R   t   numpyR   t   timerR   t   modeling.fittingR   R   R(   (    (    (    s=   lib/python2.7/site-packages/astropy/utils/tests/test_timer.pyt   <module>	   s   "	