
&]\c           @` s`  d  d l  m Z m Z m Z d  d l m Z d  d l m Z d  d l Z d  d l	 m
 Z
 d  d l m Z d d d	 d
 g Z d d d d g Z g  e e d d D] Z e e   ^ q Z i d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d  6Z i e d 6e d 6e d 6e d 6e d 6e d 6e d 6e d  6Z e
 j e j d5 d f e
 j e j d6 d f e
 j e j d7 d f e
 j e j d8 d f e
 j e j d9 d f e
 j e j d: d f e
 j e j d; d f e
 j e j d< d f e
 j e j d= d f e
 j  e j  d> d f e
 j! e j! d? d f e
 j" e j" d@ d f e
 j# e j# dA d f e
 j$ e j$ dB d f e
 j% e j% dC d f e
 j& e j& dD d f e
 j' e j' dE d f e
 j( e j( dF d f e
 j) e j) dG d f e
 j* e j* dH d f e
 j+ e j+ dI d f e
 j, e j, dJ d f e
 j- e j- dK d f e
 j. e j. dL d f e
 j/ e j/ dM d f e
 j0 e j0 dN d f e
 j1 e j1 dO d f e
 j2 e j2 dP d f e
 j3 e j3 dQ d f e
 j4 e j4 dR d f e
 j5 e j5 dS d f e
 j6 e j6 dT d f e
 j7 e j7 dU d f e
 j8 e j8 dV d f e
 j9 e j9 dW d f e
 j: e j: dX d f e
 j; e j; dY d f e
 j< e j< dZ d f e
 j= e j= d[ d f e
 j> e j? d\ d f e
 j@ e j@ d] d f e
 jA e jA d^ d f e
 jB e jB d_ d f e
 jC e jC d` d f e
 jD e jD da d f e
 jE e jE db d f e
 jF e jF dc d f e
 jG e jG dd d f e
 jH e jH de d& f e
 jI e jI df d& f e
 jJ e jJ dg d& f e
 jK e jK dh d& f e
 jL e jL di d& f e
 jM e jM dj d f e
 jN e jN dk d f e
 jO e jO dl d& f e
 jP e jP dm d& f e
 jQ e jQ dn d f e
 jR e jR do d f e
 jS e jS dp d& f e
 jT e jT dq d& f e
 jU e jU dr d f e
 jV e jV ds d f e
 jW e jW dt d f e
 jX e jX du d f e
 jY e jY dv d f e
 jZ e jZ dw d f e
 j[ e j[ dx d f e
 j\ e j\ dy d f e
 j] e j] dz d f e
 j^ e j^ d{ d f e
 j_ e j_ d| d f e
 j` e j` d} d f e
 ja e ja d~ d f e
 jb e jc d d f e
 jd e jd d d f e
 je e je d d f e
 jf e jf d d f e
 jg e jg d d f e
 jh e jh d d f e
 ji e ji d d f e
 jj e jj d d f e
 jk e jk d d f e
 jl e jl d d f e
 jm e jm d d f e
 jn e jn d d f e
 jo e jo d d f e
 jp e jp d d f e
 jq e jq d d f e
 jr e jr d d f e
 js e js d d f e
 jt e jt d d f e
 ju e ju d d f e
 jv e jv d d f e
 jw e jw d d f e
 jx e jx d d f e
 jy e jy d d f e
 jz e jz d d f e
 j{ e j{ d d f e
 j| e j| d d f e
 j} e j} d d f e
 j~ e j~ d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d- f e
 j e j d d- f e
 j e j d d- f e
 j e j d d- f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d- f e
 j e j d d- f e
 j e j d d- f e
 j e j d d- f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 j e j d d f e
 je jd d f e
 je jd d f e
 je jd d f e
 je jdd f e
 je jdd f e
 je jdd f e
 je jdd f e
 je jdd f e
 j	e j	dd f e
 j
e j
dd f e
 je jdd f e
 je jd	d f e
 je jd
d f e
 je jdd f e
 je jdd f e
 je jdd f g Zg  eD] Zed  j^ qZd0   Zd1   Ze jjd2 ed3 ed4    Zd S(  i    (   t   divisiont   print_functiont   absolute_import(   t   product(   t   assert_allcloseN(   t   special(   t   cython_specialiii   i
   g      $g      g      ?g      $@t   repeati   t   floatt   ft   doublet   ds   long doublet   gs   float complext   Fs   double complext   Ds   long double complext   Gt   intt   it   longt   lt   ddt   lldt   dddt   dDt   lds   d and l differ for negative intt   ddDt   lddt   ddddt   dddDt   ldddt   ddddds   see gh-6211t   llddt   DDc         C` s.   t  t d   |    } t t |    } | S(   Nc         S` s   t  |  S(   N(   t   TEST_POINTS(   t   x(    (    sF   lib/python2.7/site-packages/scipy/special/tests/test_cython_special.pyt   <lambda>  s    (   t   tuplet   mapt   listR   (   t	   typecodest   axest   pts(    (    sF   lib/python2.7/site-packages/scipy/special/tests/test_cython_special.pyt   _generate_test_points  s    c          C` s   d d d h }  x t  t  D] } t t |  } t |  r | j d  pU | |  k r xB t D]" \ } } } } | | k r` Pq` q` Wt d j |    q q Wd  S(   Nt   hyp2f0t   hyp1f2t   hyp3f0t   _s   {} missing from tests!(   t   dirR   t   getattrt   callablet
   startswitht   PARAMSt   RuntimeErrort   format(   t   skipt   namet   funcR.   t   cyfun(    (    sF   lib/python2.7/site-packages/scipy/special/tests/test_cython_special.pyt   test_cython_api_completeness  s    (t   paramt   idsc      
   C` s  |  \ } } } } | r+ t  j d |  n  g  | d D] } t   ^ q6 } x< | D]4 } x+ t |  D] \ } }	 | | j |	  qe WqR Wt   }
 t g t |  } xa t |  D]S \ } }	 t t |	   } | |
 k r q n  t |	  d k | | <|
 j |  q Wx | D] } g  } x8 t |  D]* \ } } | | r*| j	 t
 |  q*q*W| rq| t |  } n d  } | } t |  } xH | D]@ } | |   } | |   } t | | d d j | | |  qWqWd  S(   Nt   reasoni    i   t   err_msgs   {} {} {}(   t   pytestt   xfailt   sett	   enumeratet   addt   Falset   lenR$   t   sortedt   appendt   CYTHON_SIGNATURE_MAPt   NoneR*   R   R5   (   R;   t   pyfunct   cyfunct   specializationst   knownfailuret   codet   valuesR'   t   jt   vt   seent   is_fused_codet   vvt	   signaturet   cy_spec_funcR)   t   ptt   pyvalt   cyval(    (    sF   lib/python2.7/site-packages/scipy/special/tests/test_cython_special.pyt   test_cython_api%  s:     	
(   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   (   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   (   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   (   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   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   (  t
   __future__R    R   R   t	   itertoolsR   t   numpy.testingR   R?   t   scipyR   t   scipy.specialR   t
   int_pointst   real_pointst   tupt   complext   complex_pointsRH   R!   t   agmRI   t   airyt   _airy_pywrapt   airyet   _airye_pywrapt   bdtrt   bdtrct   bdtrit   bdtrikt   bdtrint   beit   beipt   bert   berpt
   besselpolyt   betat   betainct
   betaincinvt   betalnt   binomt   boxcoxt   boxcox1pt   btdtrt   btdtrit   btdtriat   btdtribt   cbrtt   chdtrt   chdtrct   chdtrit   chdtrivt   chndtrt	   chndtridft	   chndtrinct   chndtrixt   cosdgt   cosm1t   cotdgt   dawsnt   ellipet	   ellipeinct   ellipjt   _ellipj_pywrapt	   ellipkinct   ellipkm1t   entrt   erft   erfct   erfcxt   erfit   eval_chebyct   eval_chebyst   eval_chebytt   eval_chebyut   eval_gegenbauert   eval_genlaguerret   eval_hermitet   eval_hermitenormt   eval_jacobit   eval_laguerret   eval_legendret   eval_sh_chebytt   eval_sh_chebyut   eval_sh_jacobit   eval_sh_legendret   exp1t   exp10t   exp2t   expit   expitt   expm1t   expnt   exprelt   fdtrt   fdtrct   fdtrit   fdtridfdt   fresnelt   _fresnel_pywrapt   gammat   gammainct	   gammaincct   gammainccinvt   gammaincinvt   gammalnt   gammasgnt   gdtrt   gdtrct   gdtriat   gdtribt   gdtrixt   hankel1t   hankel1et   hankel2t   hankel2et   hubert   hyp0f1t   hyp1f1t   hyp2f1t   hyperut   i0t   i0et   i1t   i1et
   inv_boxcoxt   inv_boxcox1pt   it2i0k0t   _it2i0k0_pywrapt   it2j0y0t   _it2j0y0_pywrapt
   it2struve0t   itairyt   _itairy_pywrapt   iti0k0t   _iti0k0_pywrapt   itj0y0t   _itj0y0_pywrapt   itmodstruve0t	   itstruve0t   ivt   ivet   j0t   j1t   jvt   jvet   k0t   k0et   k1t   k1et   keit   keipt   kelvint   _kelvin_pywrapt   kert   kerpt   kl_divt   knt   kolmogit
   kolmogorovt   kvt   kvet   log1pt   log_ndtrt   loggammat   logitt   lpmvt	   mathieu_at	   mathieu_bt   mathieu_cemt   _mathieu_cem_pywrapt   mathieu_modcem1t   _mathieu_modcem1_pywrapt   mathieu_modcem2t   _mathieu_modcem2_pywrapt   mathieu_modsem1t   _mathieu_modsem1_pywrapt   mathieu_modsem2t   _mathieu_modsem2_pywrapt   mathieu_semt   _mathieu_sem_pywrapt   modfresnelmt   _modfresnelm_pywrapt   modfresnelpt   _modfresnelp_pywrapt	   modstruvet   nbdtrt   nbdtrct   nbdtrit   nbdtrikt   nbdtrint   ncfdtrt   ncfdtrit
   ncfdtridfdt
   ncfdtridfnt	   ncfdtrinct   nctdtrt	   nctdtridft	   nctdtrinct   nctdtritt   ndtrt   ndtrit   nrdtrimnt   nrdtrisdt   obl_ang1t   _obl_ang1_pywrapt   obl_ang1_cvt   _obl_ang1_cv_pywrapt   obl_cvt   obl_rad1t   _obl_rad1_pywrapt   obl_rad1_cvt   _obl_rad1_cv_pywrapt   obl_rad2t   _obl_rad2_pywrapt   obl_rad2_cvt   _obl_rad2_cv_pywrapt   pbdvt   _pbdv_pywrapt   pbvvt   _pbvv_pywrapt   pbwat   _pbwa_pywrapt   pdtrt   pdtrct   pdtrit   pdtrikt   pocht   pro_ang1t   _pro_ang1_pywrapt   pro_ang1_cvt   _pro_ang1_cv_pywrapt   pro_cvt   pro_rad1t   _pro_rad1_pywrapt   pro_rad1_cvt   _pro_rad1_cv_pywrapt   pro_rad2t   _pro_rad2_pywrapt   pro_rad2_cvt   _pro_rad2_cv_pywrapt   pseudo_hubert   psit   radiant   rel_entrt   rgammat   roundt   shichit   _shichi_pywrapt   sicit   _sici_pywrapt   sindgt   smirnovt   smirnovit   spencet   sph_harmt   stdtrt   stdtridft   stdtritt   struvet   tandgt   tklmbdat   wofzt   wrightomegat   xlog1pyt   xlogyt   y0t   y1t   ynt   yvt   yvet   zetact   owens_tR3   R"   t   __name__t   IDSR*   R:   t   markt   parametrizeRZ   (    (    (    sF   lib/python2.7/site-packages/scipy/special/tests/test_cython_special.pyt   <module>   s   +

 		