ó
ØÆ÷Xc           @` s  d  Z  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 m Z d d l m Z d d l m Z d e f d	 „  ƒ  YZ d
 e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ e d k rþ e	 ƒ  n  d S(   sf   Test functions for fftpack.helper module

Copied from fftpack.helper by Pearu Peterson, October 2005

i    (   t   divisiont   absolute_importt   print_functionN(   t   TestCaset   run_module_suitet   assert_array_almost_equal(   t   fft(   t   pi(   t	   _FFTCachet   TestFFTShiftc           B` s#   e  Z d  „  Z d „  Z d „  Z RS(   c      
   C` sæ   d d d d d d d d d	 g	 } d d d d	 d d d d d g	 } t  t j | ƒ | ƒ t  t j | ƒ | ƒ d d d d d d
 d d d d	 g
 } d
 d d d d	 d d d d d g
 } t  t j | ƒ | ƒ t  t j | ƒ | ƒ d  S(   Ni    i   i   i   i   iüÿÿÿiýÿÿÿiþÿÿÿiÿÿÿÿiûÿÿÿ(   R   R   t   fftshiftt	   ifftshift(   t   selft   xt   y(    (    s:   /tmp/pip-build-X4mzal/numpy/numpy/fft/tests/test_helper.pyt   test_definition   s    !!$$c         C` sX   xQ d d d d d g D]: } t  j j | f ƒ } t t j t j | ƒ ƒ | ƒ q Wd  S(   Ni   i   i	   id   iÓ   (   t   npt   randomR   R   R   R
   (   R   t   nR   (    (    s:   /tmp/pip-build-X4mzal/numpy/numpy/fft/tests/test_helper.pyt   test_inverse   s    c         C` sæ   d d d g d d d g d d d	 g g } d	 d d g d d d g d d d g g } t  t j | d
 d ƒ| ƒ t  t j | d
 d ƒt j | d
 d ƒƒ t  t j | d
 d ƒ| ƒ t  t j | d
 d ƒt j | d
 d ƒƒ d  S(   Ni    i   i   i   i   iüÿÿÿiýÿÿÿiþÿÿÿiÿÿÿÿt   axes(   i    i   (   i    (   i    i   (   i    (   R   R   R
   R   (   R   t   freqst   shifted(    (    s:   /tmp/pip-build-X4mzal/numpy/numpy/fft/tests/test_helper.pyt   test_axes_keyword!   s    **(   t   __name__t
   __module__R   R   R   (    (    (    s:   /tmp/pip-build-X4mzal/numpy/numpy/fft/tests/test_helper.pyR	      s   	
	t   TestFFTFreqc           B` s   e  Z d  „  Z RS(   c      
   C` s¿   d d d d d d d d d	 g	 } t  d
 t j d
 ƒ | ƒ t  d
 t t j d
 t ƒ | ƒ d d d d d d d d d d	 g
 } t  d t j d ƒ | ƒ t  d t t j d t ƒ | ƒ d  S(   Ni    i   i   i   i   iüÿÿÿiýÿÿÿiþÿÿÿiÿÿÿÿi	   iûÿÿÿi
   (   R   R   t   fftfreqR   (   R   R   (    (    s:   /tmp/pip-build-X4mzal/numpy/numpy/fft/tests/test_helper.pyR   .   s    !!$(   R   R   R   (    (    (    s:   /tmp/pip-build-X4mzal/numpy/numpy/fft/tests/test_helper.pyR   ,   s   t   TestRFFTFreqc           B` s   e  Z d  „  Z RS(   c         C` s§   d d d d d g } t  d t j d ƒ | ƒ t  d t t j d t ƒ | ƒ d d d d d d g } t  d t j d ƒ | ƒ t  d t t j d t ƒ | ƒ d  S(	   Ni    i   i   i   i   i	   i   i
   (   R   R   t   rfftfreqR   (   R   R   (    (    s:   /tmp/pip-build-X4mzal/numpy/numpy/fft/tests/test_helper.pyR   9   s    !(   R   R   R   (    (    (    s:   /tmp/pip-build-X4mzal/numpy/numpy/fft/tests/test_helper.pyR   7   s   t
   TestIRFFTNc           B` s   e  Z d  „  Z RS(   c         C` sC   t  j j d ƒ \ } } | d | } d	 } t j | d | ƒd  S(
   Ni   i   i   i    y              ð?iþÿÿÿR   (   i   i   i   i    (   iþÿÿÿ(   R   R   R   t   irfftn(   R   t   art   ait   aR   (    (    s:   /tmp/pip-build-X4mzal/numpy/numpy/fft/tests/test_helper.pyt   test_not_last_axis_successD   s    (   R   R   R#   (    (    (    s:   /tmp/pip-build-X4mzal/numpy/numpy/fft/tests/test_helper.pyR   B   s   t   TestFFTCachec           B` s   e  Z d  „  Z d „  Z RS(   c         C` sŠ  t  d d d d ƒ } | j d t j d d t j ƒƒ | j d t j d d t j ƒƒ t | j d ƒ t j d d t j ƒƒ t | j d ƒ t j d d t j ƒƒ |  j t	 | j
 ƒ d ƒ xX t d ƒ D]J } | j d t j d d t j ƒƒ | j d t j d d t j ƒƒ qÏ Wt | j d ƒ t j d d t j ƒƒ t | j d ƒ t j d d t j ƒƒ |  j t	 | j
 ƒ d ƒ d  S(   Nt   max_size_in_mbi   t   max_item_counti   i   t   dtypei    (   R   t   put_twiddle_factorsR   t   onest   float32t   zerosR   t   pop_twiddle_factorst   assertEqualt   lent   _dictt   range(   R   t   ct   _(    (    s:   /tmp/pip-build-X4mzal/numpy/numpy/fft/tests/test_helper.pyt   test_basic_behaviourP   s     """&c         C` s*  t  d d d d ƒ } | j d t j d d t j ƒƒ | j d t j d d t j ƒƒ |  j t | j j ƒ  ƒ d d g ƒ | j d	 t j d
 d t j ƒƒ |  j t | j j ƒ  ƒ d d d	 g ƒ | j d t j d
 d t j ƒƒ |  j t | j j ƒ  ƒ d g ƒ t  d d d d ƒ } | j d t j	 d ƒ ƒ | j d t j	 d ƒ ƒ |  j t | j j ƒ  ƒ d d g ƒ | j d	 t j	 d ƒ ƒ |  j t | j j ƒ  ƒ d d	 g ƒ t  d d d d ƒ } | j d t j d
 d t j ƒƒ | j d t j d d t j ƒƒ | j d	 t j d d t j ƒƒ | j d t j d d t j ƒƒ |  j t | j j ƒ  ƒ d d d	 d g ƒ x6 t
 d ƒ D]( } | j d t j d d t j ƒƒ q‹W|  j t | j j ƒ  ƒ d d	 d d g ƒ | j d t j d d t j ƒƒ |  j t | j j ƒ  ƒ d g ƒ d  S(   NR%   g{®Gáz„?R&   i   i   iÈ   R'   i   i   i¸  i   i   iô  i   (   R   R(   R   R)   R*   R-   t   listR/   t   keyst   emptyR0   (   R   R1   R2   (    (    s:   /tmp/pip-build-X4mzal/numpy/numpy/fft/tests/test_helper.pyt   test_automatic_pruningk   s2    ""%"(""%%""""+&+"(   R   R   R3   R7   (    (    (    s:   /tmp/pip-build-X4mzal/numpy/numpy/fft/tests/test_helper.pyR$   N   s   	t   __main__(   t   __doc__t
   __future__R    R   R   t   numpyR   t   numpy.testingR   R   R   R   R   t   numpy.fft.helperR   R	   R   R   R   R$   R   (    (    (    s:   /tmp/pip-build-X4mzal/numpy/numpy/fft/tests/test_helper.pyt   <module>   s   N