ó
\K]c           @` sz  d  d l  m Z m Z m 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 m Z m Z d  d l
 m Z m Z d  d l m Z m Z m Z d d l m Z m Z m Z e ƒ  Z e j d	 ƒ e ƒ  Z d
 „  Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# d „  Z$ d „  Z% d „  Z& d „  Z' d „  Z( d „  Z) d „  Z* d „  Z+ d „  Z, d „  Z- d „  Z. d „  Z/ d „  Z0 d „  Z1 d „  Z2 d „  Z3 d  „  Z4 d! „  Z5 d" „  Z6 d# „  Z7 d$ „  Z8 d% „  Z9 d& „  Z: d' „  Z; d( „  Z< d) „  Z= d* „  Z> d+ „  Z? d, „  Z@ d- „  ZA d. „  ZB d/ „  ZC d0 e f d1 „  ƒ  YZD eE d2 k rve jF ƒ  n  d S(3   i    (   t   print_functiont   absolute_importt   divisionN(   t   unittest_support(   t   compile_isolatedt   Flagst   utils(   t   typest   numpy_support(   t	   PYVERSIONt   IS_WIN32t	   IS_32BITSi   (   t   TestCaset   CompilationCachet   tagt   enable_pyobjectc         C` s   t  j |  ƒ S(   N(   t   matht   sin(   t   x(    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR      s    c         C` s   t  j |  ƒ S(   N(   R   t   cos(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR      s    c         C` s   t  j |  ƒ S(   N(   R   t   tan(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR      s    c         C` s   t  j |  ƒ S(   N(   R   t   sinh(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR   "   s    c         C` s   t  j |  ƒ S(   N(   R   t   cosh(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR   &   s    c         C` s   t  j |  ƒ S(   N(   R   t   tanh(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR   *   s    c         C` s   t  j |  ƒ S(   N(   R   t   asin(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR   .   s    c         C` s   t  j |  ƒ S(   N(   R   t   acos(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR   2   s    c         C` s   t  j |  ƒ S(   N(   R   t   atan(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR   6   s    c         C` s   t  j |  | ƒ S(   N(   R   t   atan2(   t   yR   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR   :   s    c         C` s   t  j |  ƒ S(   N(   R   t   asinh(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR   >   s    c         C` s   t  j |  ƒ S(   N(   R   t   acosh(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR   B   s    c         C` s   t  j |  ƒ S(   N(   R   t   atanh(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR   F   s    c         C` s   t  j |  ƒ S(   N(   R   t   sqrt(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR    J   s    c         C` s   t  j |  ƒ S(   N(   t   npR    (   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   npy_sqrtN   s    c         C` s   t  j |  ƒ S(   N(   R   t   exp(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR#   R   s    c         C` s   t  j |  ƒ S(   N(   R   t   expm1(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR$   V   s    c         C` s   t  j |  ƒ S(   N(   R   t   log(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR%   Z   s    c         C` s   t  j |  ƒ S(   N(   R   t   log1p(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR&   ^   s    c         C` s   t  j |  ƒ S(   N(   R   t   log10(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR'   b   s    c         C` s   t  j |  ƒ S(   N(   R   t   floor(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR(   f   s    c         C` s   t  j |  ƒ S(   N(   R   t   ceil(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR)   j   s    c         C` s   t  j |  ƒ S(   N(   R   t   trunc(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR*   n   s    c         C` s   t  j |  ƒ S(   N(   R   t   isnan(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR+   r   s    c         C` s   t  j |  ƒ S(   N(   R   t   isinf(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR,   v   s    c         C` s   t  j |  ƒ S(   N(   R   t   isfinite(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR-   z   s    c         C` s   t  j |  | ƒ S(   N(   R   t   hypot(   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR.   ~   s    c         C` s   t  j |  ƒ S(   N(   R   t   degrees(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR/   ‚   s    c         C` s   t  j |  ƒ S(   N(   R   t   radians(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR0   †   s    c         C` s   t  j |  ƒ S(   N(   R   t   erf(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR1   Š   s    c         C` s   t  j |  ƒ S(   N(   R   t   erfc(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR2   Ž   s    c         C` s   t  j |  ƒ S(   N(   R   t   gamma(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR3   ’   s    c         C` s   t  j |  ƒ S(   N(   R   t   lgamma(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR4   –   s    c         C` s   t  j |  | ƒ S(   N(   R   t   pow(   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR5   š   s    c         C` s   t  j |  | ƒ S(   N(   R   t   copysign(   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR6   ž   s    c         C` s   t  j |  ƒ S(   N(   R   t   frexp(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR7   ¢   s    c         C` s   t  j |  | ƒ S(   N(   R   t   ldexp(   R   t   e(    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR8   ¦   s    c           C` s   t  j t  j f S(   N(   R   t   piR9   (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   get_constantsª   s    t   TestMathLibc           B` sþ  e  Z d  „  Z d „  Z e d d „ Z e d d „ Z e d „ Z e d „ Z e	 d ƒ d „  ƒ Z
 e j e j d	 k d
 ƒ e d „ ƒ Z e	 d ƒ d „  ƒ Z e d „ Z e	 d ƒ d „  ƒ Z e d „ Z e	 d ƒ d „  ƒ Z e d „ Z d „  Z e d „ Z e	 d ƒ d „  ƒ Z e d „ Z e	 d ƒ d „  ƒ Z e d „ Z e	 d ƒ d „  ƒ Z e d „ Z e	 d ƒ d „  ƒ Z e d „ Z e	 d ƒ d „  ƒ Z  e d „ Z! e	 d ƒ d „  ƒ Z" e d „ Z# e	 d ƒ d  „  ƒ Z$ e d! „ Z% e	 d ƒ d" „  ƒ Z& e d# „ Z' e	 d ƒ d$ „  ƒ Z( e d% „ Z) e	 d ƒ d& „  ƒ Z* e d' „ Z+ e	 d ƒ d( „  ƒ Z, e d) „ Z- e	 d ƒ d* „  ƒ Z. e d+ „ Z/ e	 d ƒ d, „  ƒ Z0 e d- „ Z1 e	 d ƒ d. „  ƒ Z2 e d/ „ Z3 e	 d ƒ d0 „  ƒ Z4 e d1 „ Z5 e	 d ƒ d2 „  ƒ Z6 e d3 „ Z7 e	 d ƒ d4 „  ƒ Z8 e d5 „ Z9 e	 d ƒ d6 „  ƒ Z: d7 „  Z; e	 d ƒ d8 „  ƒ Z< d9 „  Z= e	 d ƒ d: „  ƒ Z> e j e? j@ dX k  d= ƒ d> „  ƒ ZA e j e? j@ dY k  d= ƒ d? „  ƒ ZB e d@ „ ZC e	 d ƒ dA „  ƒ ZD e dB „ ZE dC „  ZF e dD „ ZG dE „  ZH e dF „ ZI dG „  ZJ e dH „ ZK dI „  ZL e j e@ dZ k o]eM o]eN dK ƒ e dL „ ƒ ZO dM „  ZP e dN „ ZQ dO „  ZR e dP „ ZS e	 d ƒ dQ „  ƒ ZT e dR „ ZU e	 d ƒ dS „  ƒ ZV e dT „ ZW dU „  ZX e dV „ ZY dW „  ZZ RS([   c         C` s   t  ƒ  |  _ d  S(   N(   R   t   ccache(   t   self(    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   setUp°   s    c         C` s   |  j  t t ƒ d  S(   N(   t   run_nullary_funcR;   t   no_pyobj_flags(   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_constants³   s    t   exactc      	   K` sª   x£ t  | | ƒ D]’ \ } } |  j j | | f d | ƒ}	 |	 j }
 |
 | ƒ } | | ƒ } | t j k rp d n | } d | f } |  j | | d | d | | q Wd  S(   Nt   flagst   singles   for input %rt   prect   msg(   t   zipR=   t   compilet   entry_pointR   t   float32t   assertPreciseEqual(   R>   t   pyfunct   x_typest   x_valuesRD   RF   t   kwargst   txt   vxt   crt   cfunct   gott   expectedt   actual_precRG   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt	   run_unary¶   s    	c         C` s¹   x² t  | | | ƒ D]ž \ } } }	 |  j j | | | f d | ƒ}
 |
 j } | | |	 ƒ } | | |	 ƒ } | t j k r d n | } d | |	 f } |  j | | d | d | ƒq Wd  S(   NRD   RE   s   for inputs (%r, %r)RF   RG   (   RH   R=   RI   RJ   R   RK   RL   (   R>   RM   RN   RO   t   y_valuesRD   RF   t   tyR   R   RS   RT   RU   RV   RW   RG   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   run_binaryÂ   s    "!	c         C` sª   t  j t  j t  j t  j t  j t  j t  j t  j t  j t  j t  j t  j g } d d d d d d t	 d ƒ d t	 d ƒ t	 d ƒ d t	 d ƒ g } |  j
 | | | | ƒ d  S(   Ni    t   infg        t   nan(   R   t   int16t   int32t   int64t   uint16t   uint32t   uint64RK   t   float64t   floatRX   (   R>   RM   RD   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   check_predicate_funcÍ   s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Niþÿÿÿiÿÿÿÿi   i   gš™™™™™¹?gš™™™™™É?(   R   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_sin×   s    t	   importantc         C` s   |  j  d t ƒ d  S(   NRD   (   Rg   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_sin_npmß   s    t   win32s'   not exactly equal on win32 (issue #597)c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Niþÿÿÿiÿÿÿÿi   i   gš™™™™™¹?gš™™™™™É?(   R   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_cosã   s    c         C` s   |  j  d t ƒ d  S(   NRD   (   Rk   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_cos_npmí   s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Niþÿÿÿiÿÿÿÿi   i   gš™™™™™¹?gš™™™™™É?(   R   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_tanñ   s    c         C` s   |  j  d t ƒ d  S(   NRD   (   Rm   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_tan_npmù   s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Ni   i   gš™™™™™¹?gš™™™™™É?(   R    R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt	   test_sqrtý   s    c         C` s   |  j  d t ƒ d  S(   NRD   (   Ro   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_sqrt_npm  s    c         C` s–   t  } d d d d d d d d g } t j t j g } |  j | | | | d d ƒt j t j t j t j t j	 t j
 g } |  j | | | | ƒ d  S(   Ni   i   gš™™™™™¹?gš™™™™™É?RF   RE   (   R"   R   R^   Ra   RX   R_   R`   Rb   Rc   RK   Rd   (   R>   RD   RM   RO   RN   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_npy_sqrt	  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   Rq   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_npy_sqrt_npm  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Niþÿÿÿiÿÿÿÿi   i   gš™™™™™¹?gš™™™™™É?(   R#   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_exp  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   Rs   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_exp_npm  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Niþÿÿÿiÿÿÿÿi   i   gš™™™™™¹?gš™™™™™É?(   R$   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   test_expm1#  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   Ru   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_expm1_npm+  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(	   Ni   i
   id   iè  i † i@B gš™™™™™¹?gš™™™™™ñ?(   R%   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_log/  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   Rw   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_log_npm7  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(	   Ni   i
   id   iè  i † i@B gš™™™™™¹?gš™™™™™ñ?(   R&   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   test_log1p;  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   Ry   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_log1p_npmC  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(	   Ni   i
   id   iè  i † i@B gš™™™™™¹?gš™™™™™ñ?(   R'   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   test_log10G  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   R{   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_log10_npmO  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Ni   g      ð?(   R   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt	   test_asinS  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   R}   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_asin_npm[  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Ni   g      ð?(   R   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt	   test_acos_  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   R   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_acos_npmg  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Niþÿÿÿiÿÿÿÿi   i   gš™™™™™¹?gš™™™™™É?(   R   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt	   test_atank  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   R   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_atan_npms  s    c         C` s”   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } g  | D] } | d ^ qa } |  j
 | | | | | ƒ d  S(   Niþÿÿÿiÿÿÿÿi   i   gš™™™™™¹?gš™™™™™É?(   R   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   R[   (   R>   RD   RM   RN   RO   R   RY   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   test_atan2w  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   Rƒ   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_atan2_npm€  s    c         C` sz   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | d d ƒd  S(   Ni   g      ð?RF   t   double(   R   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   test_asinh„  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   R†   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_asinh_npmŒ  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Ni   g      ð?(   R   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   test_acosh  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   Rˆ   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_acosh_npm˜  s    c         C` sz   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | d d ƒd  S(   Ni    gš™™™™™¹?RF   R…   (   R   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   test_atanhœ  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   RŠ   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_atanh_npm¤  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Ni   g      ð?(   R   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt	   test_sinh¨  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   RŒ   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_sinh_npm°  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Ni   g      ð?(   R   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt	   test_cosh´  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   RŽ   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_cosh_npm¼  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Ni    gš™™™™™¹?(   R   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt	   test_tanhÀ  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   R   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_tanh_npmÈ  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Ni    gš™™™™™¹?gffffffþ?(   R(   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   test_floorÌ  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   R’   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_floor_npmÔ  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Ni    gš™™™™™¹?gffffffþ?(   R)   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt	   test_ceilØ  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   R”   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_ceil_npmà  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Ni    gš™™™™™¹?gffffffþ?(   R*   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   test_truncä  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   R–   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_trunc_npmì  s    c         C` s   |  j  t d t ƒd  S(   NRD   (   Rf   R+   t   enable_pyobj_flags(   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   test_isnanð  s    c         C` s   |  j  t d t ƒd  S(   NRD   (   Rf   R+   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_isnan_npmó  s    c         C` s   |  j  t d t ƒd  S(   NRD   (   Rf   R,   R˜   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   test_isinf÷  s    c         C` s   |  j  t d t ƒd  S(   NRD   (   Rf   R,   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_isinf_npmú  s    i   i   s   needs Python 3.2+c         C` s   |  j  t d t ƒd  S(   NRD   (   Rf   R-   R˜   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_isfiniteþ  s    c         C` s   |  j  t d t ƒd  S(   NRD   (   Rf   R-   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_isfinite_npm  s    c         C` s˜  t  } t j t j t j t j g } d d d d d d d d g } g  | D] } | d ^ qI } t j d	 k rt d
 n d } |  j | | | | | | ƒ d „  } xò t j t j f D]Þ }	 |  j	 j
 | |	 |	 f d | ƒ}
 |
 j } t j |	 ƒ j } | t j | ƒ j d ƒ } | | | ƒ } |  j | | | | ƒ d d
 ƒ|  j t j | ƒ ƒ t j ƒ  . t j d t ƒ |  j t d | | | ƒ Wd  QXq² Wd  S(   Ni   i   i   i   i   i   gáz®GáÊ?gÃõ(\ÂÕ?Rj   RE   RC   c         S` s   t  j |  |  | | ƒ S(   N(   R   R    (   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   naive_hypot  s    RD   g      >@RF   t   errors"   overflow encountered in .*_scalars(   R.   R   R`   Rc   RK   Rd   t   syst   platformR[   R=   RI   RJ   R   t   as_dtypet   typeR!   t   finfot   maxRL   t
   assertTrueR-   t   warningst   catch_warningst   simplefiltert   RuntimeWarningt   assertRaisesRegexp(   R>   RD   RM   RN   RO   R   RY   RF   RŸ   t   flttyRS   RT   t   dtt   valt   nb_ans(    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   test_hypot  s*    	!		c         C` s   |  j  d t ƒ d  S(   NRD   (   R±   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_hypot_npm#  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Ni   g      ð?(   R/   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_degrees'  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   R³   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_degrees_npm/  s    c         C` st   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } |  j
 | | | | ƒ d  S(   Ni   g      ð?(   R0   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_radians2  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   Rµ   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_radians_npm:  s    c      	   C` sp   t  } d d d d d d d t d ƒ g } t j t j g t | ƒ d } |  j | | | | d	 d
 d d ƒd  S(   Ng      ð?g      ð¿g       €g        g      à?i   R\   i   RF   R…   t   ulps(   R1   Re   R   RK   Rd   t   lenRX   (   R>   RD   RM   RO   RN   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_erf=  s
    $ c         C` s   |  j  d t ƒ d  S(   NRD   (   R¹   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_erf_npmD  s    c      	   C` sp   t  } d d d d d d d t d ƒ g } t j t j g t | ƒ d } |  j | | | | d	 d
 d d ƒd  S(   Ng      ð?g      ð¿g       €g        g      à?i   R\   i   RF   R…   R·   i   (   R2   Re   R   RK   Rd   R¸   RX   (   R>   RD   RM   RO   RN   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt	   test_erfcG  s
    $ c         C` s   |  j  d t ƒ d  S(   NRD   (   R»   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_erfc_npmN  s    i   s   unknown error with tgammac      	   C` s´   t  } d d d d g } t j t j g t | ƒ d } |  j | | | | d d d d	 ƒd
 d d d d t d ƒ g } t j g t | ƒ } |  j | | | | d d d d ƒd  S(   Ng      ð?gÍÌÌÌÌÌì¿g      à¿g      à?i   RF   R…   R·   i   gš™™™™™¹¿gš™™™™™¹?g      @g333333$@g      I@R\   i   (   R3   R   RK   Rd   R¸   RX   Re   (   R>   RD   RM   RO   RN   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   test_gammaQ  s     "c         C` s   |  j  d t ƒ d  S(   NRD   (   R½   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_gamma_npm]  s    c      	   C` sj   t  } d d d d d d d t d ƒ g } t j t j g t | ƒ d	 } |  j | | | | d
 d ƒd  S(   Ng      ð?gÍÌÌÌÌÌì¿gš™™™™™¹¿gš™™™™™¹?g      i@g    _ BgêŒ 9Y>)FR\   i   RF   R…   (   R4   Re   R   RK   Rd   R¸   RX   (   R>   RD   RM   RO   RN   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_lgamma`  s    $ c         C` s   |  j  d t ƒ d  S(   NRD   (   R¿   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_lgamma_npmf  s    c         C` s”   t  } t j t j t j t j t j t j t j t j	 g } d d d d d d d d g } g  | D] } | d ^ qa } |  j
 | | | | | ƒ d  S(   Niþÿÿÿiÿÿÿÿi   i   gš™™™™™¹?gš™™™™™É?(   R5   R   R^   R_   R`   Ra   Rb   Rc   RK   Rd   R[   (   R>   RD   RM   RN   RO   R   RY   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_powi  s    c         C` s   |  j  d t ƒ d  S(   NRD   (   RÁ   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_pow_npmr  s    c      
   C` s’   t  } t j t j g } d d d d d d t d ƒ t d ƒ t d	 ƒ g	 } t t t j | | | ƒ Œ  ƒ \ } } } |  j	 | | | | | ƒ d  S(
   Niþÿÿÿiÿÿÿÿg       €g        i   i   s   -infR\   R]   (
   R6   R   RK   Rd   Re   t   listRH   t	   itertoolst   productR[   (   R>   RD   RM   t   value_typest   valuesRN   RO   RY   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_copysignv  s    $$c         C` s   |  j  d t ƒ d  S(   NRD   (   RÈ   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_copysign_npm  s    c         C` se   t  } t j t j g } d d d d t d ƒ t d ƒ t d ƒ g } |  j | | | | d d	 ƒd  S(
   Ng      Àg       €g        g      @s   -infR\   R]   RF   RC   (   R7   R   RK   Rd   Re   RX   (   R>   RD   RM   RN   RO   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   test_frexpƒ  s
    !c         C` s   |  j  d t ƒ d  S(   NRD   (   RÊ   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_frexp_npmŠ  s    c         C` sÍ   t  } xÀ t j t j f D]¬ } |  j j | | t j f d | ƒ} | j } xv d d d d d d t d ƒ d f t d	 ƒ d f t d
 ƒ d f g	 D]/ } d | f } |  j	 | | Œ  | | Œ  ƒ q’ Wq Wd  S(   NRD   g      @iþÿÿÿi   g        i    g       €R\   s   -infR]   s   for input %r(   g      @iþÿÿÿ(   g      @i   (   g        i    (   g        i   (   g       €i    (   g       €i   (
   R8   R   RK   Rd   R=   RI   R_   RJ   Re   RL   (   R>   RD   RM   R­   RS   RT   t   argsRG   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt
   test_ldexp  s    $	c         C` s   |  j  d t ƒ d  S(   NRD   (   RÍ   RA   (   R>   (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   test_ldexp_npm™  s    (   i   i   (   i   i   (   i   i   ([   t   __name__t
   __module__R?   RB   R˜   RX   R[   Rf   Rg   R   Ri   t   unittestt   skipIfR¡   R¢   Rk   Rl   Rm   Rn   Ro   Rp   Rq   Rr   Rs   Rt   Ru   Rv   Rw   Rx   Ry   Rz   R{   R|   R}   R~   R   R€   R   R‚   Rƒ   R„   R†   R‡   Rˆ   R‰   RŠ   R‹   RŒ   R   RŽ   R   R   R‘   R’   R“   R”   R•   R–   R—   R™   Rš   R›   Rœ   R   R	   R   Rž   R±   R²   R³   R´   Rµ   R¶   R¹   Rº   R»   R¼   R
   R   R½   R¾   R¿   RÀ   RÁ   RÂ   RÈ   RÉ   RÊ   RË   RÍ   RÎ   (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyR<   ®   s¨   		

				$$				
					t   __main__(G   t
   __future__R    R   R   RÄ   R   R¡   R¨   t   numpyR!   t   numbaR   RÑ   t   numba.compilerR   R   R   R   R   t   numba.configR	   R
   R   t   supportR   R   R   R˜   t   setRA   R   R   R   R   R   R   R   R   R   R   R   R   R   R    R"   R#   R$   R%   R&   R'   R(   R)   R*   R+   R,   R-   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   R8   R;   R<   RÏ   t   main(    (    (    s7   lib/python2.7/site-packages/numba/tests/test_mathlib.pyt   <module>   sn   																																								ÿ ð