σ
Κ½χXc           @` s  d  d l  m Z m Z m Z d  d l Z d  d l m Z m Z d  d l	 m
 Z
 d  d l m Z m Z d  d l m Z m Z m Z m Z d  d l m Z m Z m Z d  d l m Z m Z y d  d l Z Wn e k
 rη e d	  Z n Xy d  d l Z Wn e k
 re d
  Z n Xe j d   j d k  Z  e e d  d    Z! e j" e e d  e e d  e j# e  d  d       Z$ e
 e e d  e e d  d      Z% e e d  d    Z& e e d  d    Z' e( d k rύe   n  d S(   i    (   t   divisiont   print_functiont   absolute_importN(   t   dect   run_module_suite(   t   xslow(   t   MissingModulet   check_version(   t   Argt   IntArgt   mp_assert_allcloset   assert_mpmath_equal(   t	   compute_gt   compute_alphat	   compute_d(   t   gammainct	   gammaincct   sympyt   mpmathi   s   0.19c          C` s‘   t  j d   t  j d  t  j d  d t  j d  d t  j d  d t  j d  d t  j d	  d
 t  j d  d g }  t t d  |   Wd  QXd  S(   Ni   i   i   i   i   iΚ  i;  i ψ% i' i `uicP I     i   (   t   mpt   workdpst   mpfR
   R   (   t   g(    (    sK   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_precompute_gammainc.pyt   test_g   s
    ,"&s   0.7s   rtol only 2e-11, see gh-6938c          C` s½   t  j d  ¨ t  j d  t  j d  t  j d  d t  j d  d t  j d  d t  j d  d t  j d  d t  j d	  d
 t  j d  d g	 }  t t d  |   Wd  QXd  S(   Ni   i    i   i   i$   i  iΰ  irB  i   iS iX i	   (   R   R   R   R
   R   (   t   alpha(    (    sK   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_precompute_gammainc.pyt
   test_alpha&   s
    81'c          C` s1  t  j d  d d t  j d  f d d t  j d  f d d t  j d  f d d t  j d  f d	 d t  j d
  f d	 d t  j d  f d d t  j d  f d d t  j d  f d d t  j d  f d d t  j d  f d d t  j d  f d d t  j d  f d d t  j d  f d d t  j d  f d d t  j d  f d d t  j d  f d d t  j d  f d d t  j d  f d d t  j d  f d d t  j d   f g }  t d! d"  } g  } x, |  D]$ \ } } } | j | | |  qΰWt d#   |   } t | |  Wd  QXd  S($   Ni2   i    s    0.333333333333333333333333333333i   s#   0.102618097842403080425739573227e-7i   s#   0.185185185185185185185185185185e-2s#   0.119516285997781473243076536700e-7i   s#   0.413359788359788359788359788360e-2s#   0.140925299108675210532930244154e-7i   s#   0.649434156378600823045267489712e-3s#   0.191111684859736540606728140873e-7i   s#   0.861888290916711698604702719929e-3s#   0.288658297427087836297341274604e-7i   s#   0.336798553366358150308767592718e-3s#   0.482409670378941807563762631739e-7i   s#   0.531307936463992223165748542978e-3s#   0.882860074633048352505085243179e-7i   s#   0.344367606892377671254279625109e-3s#   0.175629733590604619378669693914e-6i   s#   0.652623918595309418922034919727e-3s#   0.377358774161109793380344937299e-6i	   s#   0.596761290192746250124390067179e-3s#   0.870823417786464116761231237189e-6i
   i   c         S` s   |  d S(   Ni   (    (   t   x(    (    sK   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_precompute_gammainc.pyt   <lambda>X   s    (   R   R   R   R   t   appendt   mapR
   (   t   datasett   dt   rest   kt   nt   std(    (    sK   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_precompute_gammainc.pyt   test_d3   s6    c           C` sM   t  t d   t d d d t t d d  g d t d d d d	 d
 d	 d  S(   Nc         S` s   t  j |  d | d t S(   Nt   bt   regularized(   R   R   t   True(   t   aR   (    (    sK   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_precompute_gammainc.pyR   b   s    i    id   t   inclusive_at   nan_okt   rtolgΤFFυg<R"   i2   t   dps(   R   R   R   t   False(    (    (    sK   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_precompute_gammainc.pyt   test_gammainc\   s    $c           C` s   t  d   d   t d d  t d d  g d t d d d d	 d
 d t  t d   t d d  t d d  g d t d d d d	 d
 d	 d  S(   Nc         S` s   t  |  | d d S(   NR,   iθ  (   R   (   R(   R   (    (    sK   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_precompute_gammainc.pyR   l   s    c         S` s   t  j |  d | d t S(   NR(   R&   (   R   R   R'   (   R(   R   (    (    sK   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_precompute_gammainc.pyR   m   s    i   id   R*   R+   gΤFFυg<R"   i2   R,   iθ  c         S` s   t  j |  d | d t S(   NR(   R&   (   R   R   R'   (   R(   R   (    (    sK   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_precompute_gammainc.pyR   s   s    i   i    (   R   R   R-   R   R	   (    (    (    sK   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_precompute_gammainc.pyt   test_gammainccg   s    	t   __main__()   t
   __future__R    R   R   t   numpyt   npt   numpy.testingR   R   t   scipy._lib._testutilsR   t   scipy.special._testutilsR   R   t   scipy.special._mptestutilsR   R	   R
   R   t&   scipy.special._precompute.gammainc_asyR   R   R   t'   scipy.special._precompute.gammainc_dataR   R   R   t   ImportErrorR   R   t   intpt   itemsizet   _is_32bit_platformR   t   slowt   knownfailureifR   R$   R.   R/   t   __name__(    (    (    sK   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_precompute_gammainc.pyt   <module>   s8   "
$
'