
&]\c           @` s   d  d l  m Z m Z m Z d Z d  d l m Z d  d l m	 Z	 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 d  d l 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 d S(   i    (   t   divisiont   print_functiont   absolute_imports   
Build fftpack:
  python setup_fftpack.py build
Run tests if scipy is installed:
  python -c 'import scipy;scipy.fftpack.test(<level>)'
Run tests if fftpack is not installed:
  python tests/test_helper.py [<level>]
(   t   raises(   t   assert_array_almost_equalt   assert_equalt   assert_(   t   fftshiftt	   ifftshiftt   fftfreqt   rfftfreq(   t   next_fast_lent   _init_nd_shape_and_axest   _init_nd_shape_and_axes_sorted(   t   pit   randomNt   TestFFTShiftc           B` s   e  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 |  |  t  t |  |  d d d d d d
 d d d d	 g
 } d
 d d d d	 d d d d d g
 } t  t |  |  t  t |  |  d  S(   Ni    i   i   i   i   iiiii(   R   R   R   (   t   selft   xt   y(    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_definition   s    !!$$c         C` sO   xH d d d d d g D]1 } t  j  | f  } t t t |   |  q Wd  S(   Ni   i   i	   id   i   (   R   R   R   R   (   R   t   nR   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_inverse$   s    (   t   __name__t
   __module__R   R   (    (    (    s>   lib/python2.7/site-packages/scipy/fftpack/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 d
  |  t  d
 t t d
 t  |  d d d d d d d d d d	 g
 } t  d t d  |  t  d t t d t  |  d  S(   Ni    i   i   i   i   iiiii	   ii
   (   R   R	   R   (   R   R   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyR   ,   s    !$(   R   R   R   (    (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyR   *   s   t   TestRFFTFreqc           B` s   e  Z d    Z RS(   c      
   C` s   d d d d d d d d d g	 } t  d t d  |  t  d t t d t  |  d d d d d d d d d d g
 } t  d t d  |  t  d t t d t  |  d  S(	   Ni    i   i   i   i   i	   i   i
   (   R   R
   R   (   R   R   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyR   7   s    !$(   R   R   R   (    (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyR   5   s   t   TestNextOptLenc           B` s#   e  Z d    Z d   Z d   Z RS(   c   	      C` s   t  j d  d   } x |   D] } t |  } d | | f } t | | k |  | } xO d d d g D]> } x5 t r t | |  \ } } | d k r | } qt Pqt Wqk Wt | d d	 | q  Wd  S(
   Ni  c          s` s4   x t  d d  D] }  |  Vq Wd d d	 d Vd  S(
   Ni   i  i   i   i   i   i    i   i   (   t   range(   t   j(    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   numsE   s    	s
   n=%d, m=%di   i   i   i    i   t   err_msg(   R   t   seedR   R   t   Truet   divmodR   (	   R   R   R   t   mt   msgt   kt   dt   at   b(    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_next_opt_lenB   s    				c         C` sp   t  j t  j t  j t  j t  j t  j g } x? | D]7 } | d  } t |  } t | t t	 |    q1 Wd  S(   Ni90  (
   t   npt   int16t   int32t   int64t   uint16t   uint32t   uint64R   R   t   int(   R   t   ITYPESt   itypR   t   testN(    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_np_integers[   s
    *c         C` s  i: d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d	 d
 6d	 d	 6d d 6d d 6d d 6d d 6d d 6d d 6d d2 6d d 6d d 6d d3 6d d 6d d4 6d d 6d d5 6d d 6d d6 6d d 6d d7 6d d 6d  d8 6d! d! 6d! d9 6d" d" 6d" d: 6d# d# 6d# d; 6d$ d$ 6d% d< 6d& d& 6d' d= 6d' d> 6d' d' 6d( d? 6d) d@ 6d) d) 6d* dA 6d* d* 6d+ dB 6d+ d+ 6d, dC 6d, d, 6d- dD 6d. dE 6d. d. 6d/ dF 6d0 dG 6d0 d0 6d1 dH 6} x- | j    D] \ } } t t |  |  qWd  S(I   Ni   i   i   i   i   i   i   i   i   i   i   i   i   i   i  i   i @ihi i=ui+2i  B3I  -   Is-   I\  I       I   3  I u  I  x I I   h I 78ӯ IZ* I2?; I      @ I  [L6D IJD I       I e<V I     (l	   b>e%s/l
                      l	   AJ)-w_W"9-dl	               /# l	        `U,, l       -9RT0*/MBl               u1xCl       4.Wa(\!e,uN@0idl     F&`A:u)lIZa=&ysdihi,2I -   I\  I  3  I x I  h IZ* I2?; I? I [L6D I      Ie<V I!e<V l	   b>e%s/l	   l	   AJ)-w_W"9-dl	   /# l	              /# l   -9RT0*/MBl      -9RT0*/MBl   4.Wa(\!e,uN@0idl      4.Wa(\!e,uN@0id(   t   itemsR   R   (   R   t   hamsR   R   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_next_opt_len_strictb   sX    F#
(   R   R   R)   R5   R8   (    (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyR   @   s   		t   Test_init_nd_shape_and_axesc           B` s}   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z RS(   c         C` s   d } d  } d  } t j g   } t j g   } t | | |  \ } } t | |  t | |  t | | |  \ } } t | |  t | |  d  S(   Ni   (   t   NoneR*   t   arrayR   R   R   (   R   R   t   shapet   axest   shape_expectedt   axes_expectedt	   shape_rest   axes_res(    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_py_0d_defaults   s    c         C` s   t  j d  } d  } d  } t  j g   } t  j g   } t | | |  \ } } t | |  t | |  t | | |  \ } } t | |  t | |  d  S(   Ng      @(   R*   R;   R:   R   R   R   (   R   R   R<   R=   R>   R?   R@   RA   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_np_0d_defaults   s    c         C` s   d d d g } d  } d  } t j d g  } t j d g  } t | | |  \ } } t | |  t | |  t | | |  \ } } t | |  t | |  d  S(   Ni   i   i   i    (   R:   R*   R;   R   R   R   (   R   R   R<   R=   R>   R?   R@   RA   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_py_1d_defaults   s    c         C` s   t  j d d d  } d  } d  } t  j d g  } t  j d g  } t | | |  \ } } t | |  t | |  t | | |  \ } } t | |  t | |  d  S(   Ni    i   g?i
   (   R*   t   arangeR:   R;   R   R   R   (   R   R   R<   R=   R>   R?   R@   RA   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_np_1d_defaults   s    c         C` s   d d d d g d d d d g g } d  } d  } t j d d g  } t j d	 d g  } t | | |  \ } } t | |  t | |  t | | |  \ } } t | |  t | |  d  S(
   Ni   i   i   i   i   i   i   i   i    (   R:   R*   R;   R   R   R   (   R   R   R<   R=   R>   R?   R@   RA   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_py_2d_defaults   s    c         C` s   t  j d d d  j d d  } d  } d  } t  j d d g  } t  j d d g  } t | | |  \ } } t | |  t | |  t | | |  \ } } t | |  t | |  d  S(   Ni    i   g?i   i   (   R*   RE   t   reshapeR:   R;   R   R   R   (   R   R   R<   R=   R>   R?   R@   RA   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_np_2d_defaults	  s    !c         C` s   t  j d d d d d g  } d  } d  } t  j d d d d d g  } t  j d d d d d g  } t | | |  \ } } t | |  t | |  t | | |  \ } } t | |  t | |  d  S(   Ni   i   i   i   i   i    i   (   R*   t   zerosR:   R;   R   R   R   (   R   R   R<   R=   R>   R?   R@   RA   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_np_5d_defaults  s    c         C` s   t  j d d d d d g  } d d d d d g } d  } t  j d d d d d g  } t  j d	 d d d d g  } t | | |  \ } } t | |  t | |  t | | |  \ } } t | |  t | |  d  S(
   Ni   i   i   i   i   i
   ii   i    (   R*   RJ   R:   R;   R   R   R   (   R   R   R<   R=   R>   R?   R@   RA   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_np_5d_set_shape-  s    c         C` s   t  j d d d d d g  } d  } d d d g } t  j d d d g  } t  j d d d g  } t | | |  \ } } t | |  t | |  d  S(   Ni   i   i   i   i   i   (   R*   RJ   R:   R;   R   R   (   R   R   R<   R=   R>   R?   R@   RA   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_np_5d_set_axes?  s    c         C` s   t  j d d d d d g  } d  } d d d g } t  j d d d g  } t  j d d d g  } t | | |  \ } } t | |  t | |  d  S(   Ni   i   i   i   i   i   (   R*   RJ   R:   R;   R   R   (   R   R   R<   R=   R>   R?   R@   RA   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_np_5d_set_axes_sortedL  s    c         C` s   t  j d d d d d g  } d d d g } d d	 d g } t  j d d d g  } t  j d d	 d g  } t | | |  \ } } t | |  t | |  d  S(
   Ni   i   i   i   i   i
   ii   i    (   R*   RJ   R;   R   R   (   R   R   R<   R=   R>   R?   R@   RA   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_np_5d_set_shape_axesY  s    c         C` s   t  j d d d d d g  } d d d g } d d	 d g } t  j d d d g  } t  j d	 d d g  } t | | |  \ } } t | |  t | |  d  S(
   Ni   i   i   i   i   i
   ii   i    (   R*   RJ   R;   R   R   (   R   R   R<   R=   R>   R?   R@   RA   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt    test_np_5d_set_shape_axes_sortedf  s    c         C` sa  t  t d d 0 t d g d d  d d d g d d	 g g Wd  QXt  t d d
 * t d g d d  d d d d d g Wd  QXt  t d d ! t d g d d  d d g Wd  QXt  t d d ! t d g d d  d d g Wd  QXt  t d d $ t d g d d  d d d g Wd  QXt  t d d 0 t d g d d d g d d	 g g d d  Wd  QXt  t d d * t d g d d d d d g d d  Wd  QXt  t d d < t t j d d d d g  d d d d g d d g Wd  QXt  t d d ! t d g d d g d d  Wd  QXt  t d d  t d g d d d d  Wd  QXd  S(   Nt   matchs2   when given, axes values must be a scalar or vectori    R<   R=   i   i   i   i   s(   when given, axes values must be integersg      ?g       @g      @g      @s$   axes exceeds dimensionality of inputis   all axes must be uniques3   when given, shape values must be a scalar or vectors)   when given, shape values must be integerssB   when given, axes and shape arguments have to be of the same lengths1   invalid number of data points \(\[0\]\) specifieds2   invalid number of data points \(\[-2\]\) specified(   t   assert_raisest
   ValueErrorR   R:   R*   RJ   (   R   (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   test_errorss  s>    	
1	
+	
"	
"	
%	
1	
+	
	
"	
(   R   R   RB   RC   RD   RF   RG   RI   RK   RL   RM   RN   RO   RP   RT   (    (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyR9      s   												(   t
   __future__R    R   R   t	   __usage__t   pytestR   RR   t   numpy.testingR   R   R   t   scipy.fftpackR   R   R	   R
   t   scipy.fftpack.helperR   R   R   t   numpyR   R   R*   t   objectR   R   R   R   R9   (    (    (    s>   lib/python2.7/site-packages/scipy/fftpack/tests/test_helper.pyt   <module>   s   	"l