ó
Ê½÷Xc           @` sÂ   d  d l  m Z m Z m Z d  d l Z d  d l m Z m Z m	 Z	 m
 Z
 m Z d  d l m Z d „  Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z e d k r¾ e ƒ  n  d S(   i    (   t   divisiont   print_functiont   absolute_importN(   t   run_module_suitet   assert_almost_equalt   assert_equalt   assert_array_almost_equalt   assert_(   t	   logsumexpc          C` sœ  t  j d ƒ }  t  j t  j t  j |  ƒ ƒ ƒ } t t |  ƒ | ƒ d d g } d t  j d ƒ } t t | ƒ | ƒ d } t  j | ƒ d } d t  j | ƒ } t t | ƒ | ƒ t  j d g d ƒ } t  j | ƒ } t  j	 | | g ƒ } t  j	 | | g ƒ } t
 t  j t | ƒ ƒ | j ƒ  ƒ t
 t  j t | d	 d
 ƒƒ | j d	 d
 ƒ ƒ t
 t  j t | d	 d ƒƒ | j d	 d ƒ ƒ t t t  j ƒ t  j ƒ t t t  j ƒ t  j ƒ t t t  j ƒ t  j ƒ t t t  j t  j g ƒ t  j ƒ t
 t d d g d t  j g g d	 d ƒd d g ƒ t
 t d d g d t  j g g d	 d d t ƒd g d g g ƒ t
 t d d g d t  j g g d	 d ƒd ƒ d  S(   NiÈ   iè  g     @@g       @i'  g     ˆÃ@gœWw'&l¡7i@B t   axisi    i   g    _ Bg»½×Ùß|Û=g    _ Âiÿÿÿÿt   keepdimsiþÿÿÿ(   iÿÿÿÿiþÿÿÿ(   t   npt   aranget   logt   sumt   expR   R   t   onest   arrayt   vstackR   R   t   inft   nant   True(   t   at   desiredt   bt   nt   xt   logxt   Xt   logX(    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_logsumexp.pyt   test_logsumexp
   sB    !"..%c          C` s¿  t  j d ƒ }  t  j d d d ƒ } t  j t  j | t  j |  ƒ ƒ ƒ } t t |  d | ƒ| ƒ d d g }  d d g } d t  j d ƒ } t t |  d | ƒ| ƒ t  j d g d	 ƒ } t  j d
 d d	 ƒ } t  j | ƒ } t  j	 | | f ƒ } t  j	 | | f ƒ } t  j	 | | f ƒ } t
 t  j t | d | ƒƒ | | j ƒ  ƒ t
 t  j t | d | d d ƒƒ | | j d d ƒ ƒ t
 t  j t | d | d d
 ƒƒ | | j d d
 ƒ ƒ d  S(   NiÈ   i    iÿÿÿÿR   iè  g333333ó?i   gœWw'&l¡7i † i   R	   g333333@(   R   R   R   R   R   R   R   R   t   linspaceR   R   (   R   R   R   R   R   R   R   t   B(    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_logsumexp.pyt   test_logsumexp_b<   s&    %,!!c          C` sZ   d d d g }  d d d g } t  |  d | d t ƒ\ } } t | d ƒ t | d ƒ d  S(   Ni   iÿÿÿÿR   t   return_sign(   R   R   R   R   (   R   R   t   rt   s(    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_logsumexp.pyt   test_logsumexp_signU   s
    c          C` s   d d g }  d d g } t  |  d | d t ƒ\ } } t t j | ƒ ƒ t t j | ƒ ƒ t | d k  ƒ t | d ƒ d  S(   Ni   iÿÿÿÿR   R"   i    (   R   R   R   R   t   isfinitet   isnanR   (   R   R   R#   R$   (    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_logsumexp.pyt   test_logsumexp_sign_zero^   s    c          C` s°   t  j d ƒ }  t  j |  ƒ } t |  d d d | d t ƒ\ } } t | j | j ƒ t | j d	 ƒ t |  d d
 d | d t ƒ\ } } t | j | j ƒ t | j d ƒ d  S(   Ni   i   i   i   R	   R   R"   (   i   i   i   i   (   i   i   i   (   i   i   (   i   i   (   R   R   t	   ones_likeR   R   R   t   shape(   R   R   R#   R$   (    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_logsumexp.pyt   test_logsumexp_sign_shapei   s    $$c          C` sr   t  j d ƒ }  t  j |  ƒ } t |  d d d | ƒ} t | j d ƒ t |  d d	 d | ƒ} t | j d
 ƒ d  S(   Ni   i   i   i   R	   R   (   i   i   i   i   (   i   i   i   (   i   i   (   i   i   (   R   R   R)   R   R   R*   (   R   R   R#   (    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_logsumexp.pyt   test_logsumexp_shapex   s    c          C` s5   d d g }  d d g } t  t |  d | ƒd ƒ d  S(   Ni   i'  i    R   (   R   R   (   R   R   (    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_logsumexp.pyt   test_logsumexp_b_zeroƒ   s    c          C` s2   t  j d ƒ }  t  j d ƒ } t |  d | ƒd  S(	   Ni   i   i   i   i   R   (   i   i   i   i   (   i   i   i   (   R   t   zerosR   R   (   R   R   (    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_logsumexp.pyt   test_logsumexp_b_shapeŠ   s    t   __main__(   t
   __future__R    R   R   t   numpyR   t   numpy.testingR   R   R   R   R   t   scipy.specialR   R   R!   R%   R(   R+   R,   R-   R/   t   __name__(    (    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/special/tests/test_logsumexp.pyt   <module>   s   (	2								