ó
Ê½÷Xc           @` s  d  d l  m Z m Z m Z d  d l Z d  d l m Z m Z m Z d  d l	 j
 Z d  d l m Z i	 d d 6d d 6d	 d
 6d d 6d d 6d d 6d d 6d d 6d d 6Z d d d g Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d  „  Z d! „  Z d" „  Z d S(#   i    (   t   divisiont   print_functiont   absolute_importN(   t   assert_t   assert_equalt   assert_raises(   t   _sf_error_test_functioni   t   singulari   t	   underflowi   t   overflowi   t   slowi   t   lossi   t	   no_resulti   t   domaini   t   argi	   t   othert   ignoret   warnt   raisec         C` s«   | d k rN t  j d t ƒ + } |  | Œ  t | d j t j k ƒ Wd  QXnY | d k r} t t j ƒ  |  | Œ  Wd  QXn* t  j ƒ   t  j	 d ƒ |  | Œ  Wd  QXd  S(   NR   t   recordiÿÿÿÿR   t   error(
   t   warningst   catch_warningst   TrueR   t   categoryt   sct   SpecialFunctionWarningR   t   SpecialFunctionErrort   simplefilter(   t   funt   argst   actiont   w(    (    s@   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_sf_error.pyt   _check_action   s    
#c          C` sS   t  j ƒ  }  x@ |  j ƒ  D]2 \ } } t | t j ƒ  k ƒ t | t k ƒ q Wd  S(   N(   R   t   geterrt   itemsR   t   _sf_error_code_mapt   keyst   _sf_error_actions(   t   errt   keyt   value(    (    s@   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_sf_error.pyt   test_geterr-   s    c          C` sà   t  j ƒ  }  z¿ x¸ t j ƒ  D]ª } x¡ t D]™ } t  j ƒ  } t  j i | | 6  } t | | k ƒ t  j ƒ  } t | | | k ƒ | j | ƒ | j | ƒ t | | k ƒ t t	 t | f | ƒ q) Wq WWd  t  j |    Xd  S(   N(
   R   R"   R$   R%   R&   t   seterrR   t   popR!   R   (   t	   entry_errR   R   t   geterr_olderrt   seterr_olderrt   newerr(    (    s@   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_sf_error.pyt   test_seterr4   s     
c       
   C` s_   t  j ƒ  }  t  j d d ƒ ( t t  j ƒ  t  j d ƒ Wd  QXWd  QXt |  t  j ƒ  ƒ d  S(   NR   R   i    (   R   R"   t   errstateR   R   t   loggammaR   (   t   olderr(    (    s@   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_sf_error.pyt   test_errstate_pyx_basicH   s
    c       
   C` s_   t  j ƒ  }  t  j d d ƒ ( t t  j ƒ  t  j d ƒ Wd  QXWd  QXt |  t  j ƒ  ƒ d  S(   NR   R   iÿÿÿÿ(   R   R"   R2   R   R   t   spenceR   (   R4   (    (    s@   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_sf_error.pyt   test_errstate_c_basicP   s
    c       
   C` s_   t  j ƒ  }  t  j d d ƒ ( t t  j ƒ  t  j d ƒ Wd  QXWd  QXt |  t  j ƒ  ƒ d  S(   NR   R   iüÿÿ(   R   R"   R2   R   R   t   wrightomegaR   (   R4   (    (    s@   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_sf_error.pyt   test_errstate_cpp_basicX   s
    c       
   C` s   xx t  j ƒ  D]j }  xa t D]Y } t j ƒ  } t j i | |  6   t t t  |  f | ƒ Wd  QXt | t j ƒ  ƒ q Wq Wd  S(   N(	   R$   R%   R&   R   R"   R2   R!   R   R   (   R   R   R4   (    (    s@   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_sf_error.pyt   test_errstate`   s    
c       
   C` sr   t  j ƒ  }  t  j d d d d ƒ 5 t  j d ƒ t t  j ƒ  t  j d ƒ Wd  QXWd  QXt |  t  j ƒ  ƒ d  S(   Nt   allR   R   R   i    g      ð¿(   R   R"   R2   t   gammalnR   R   R6   R   (   R4   (    (    s@   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_sf_error.pyt   test_errstate_all_but_onek   s    c       
   C` s½   t  j ƒ  ! t  j d ƒ t j t ƒ }  Wd  QXzY t t |  t ƒ ƒ t  j d t ƒ . } t j	 d ƒ t | d j
 t j k ƒ Wd  QXWd  t  j ƒ   t  j d ƒ t j |  ƒ Wd  QXXd  S(   NR   R   i    iÿÿÿÿ(   R   R   R   R   t   errprintR   R   t
   isinstancet   boolR3   R   R   (   t   flagR    (    (    s@   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_sf_error.pyt   test_errprintt   s    $(   t
   __future__R    R   R   R   t   numpy.testingR   R   R   t   scipy.specialt   specialR   t   scipy.special._ufuncsR   R$   R&   R!   R*   R1   R5   R7   R9   R:   R=   RB   (    (    (    s@   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_sf_error.pyt   <module>   s4   
										