ó 2ÄÈ[c@`sÜdZddlmZmZmZddlZddlmZm Z ddlm Z m Z ddl m Z defd„ƒYZd efd „ƒYZd efd „ƒYZd efd„ƒYZdefd„ƒYZdS(sfTest functions for fftpack.helper module Copied from fftpack.helper by Pearu Peterson, October 2005 i(tdivisiontabsolute_importtprint_functionN(tassert_array_almost_equalt assert_equal(tffttpi(t _FFTCachet TestFFTShiftcB`s5eZd„Zd„Zd„Zd„Zd„ZRS(c C`sæddddddddd g }dddd dddddg }ttj|ƒ|ƒttj|ƒ|ƒdddddd dddd g }d dddd dddddg }ttj|ƒ|ƒttj|ƒ|ƒdS( Niiiiiiüÿÿÿiýÿÿÿiþÿÿÿiÿÿÿÿiûÿÿÿ(RRtfftshiftt ifftshift(tselftxty((s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyttest_definitions!!$$cC`sXxQdddddgD]:}tjj|fƒ}ttjtj|ƒƒ|ƒqWdS(Niii idiÓ(tnptrandomRRR R (R tnR ((s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyt test_inversescC`sdddgdddgddd gg}d ddgdddgdddgg}ttj|d d ƒ|ƒttj|d dƒtj|d d ƒƒttj|d d ƒ|ƒttj|d dƒtj|d dƒƒttj|ƒ|ƒttj|ƒ|ƒdS(Niiiiiiüÿÿÿiýÿÿÿiþÿÿÿiÿÿÿÿtaxes(ii(i(ii(i(RRR R (R tfreqstshifted((s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyttest_axes_keywords**cC`sddgddgddgg}ddgddgddgg}ttj|ddƒ|ƒttj|ddƒ|ƒttj|dd ƒ|ƒttj|ddgƒ|ƒddgddgddgg}ttj|ddƒ|ƒttj|ddƒ|ƒddgddgddgg}ttj|dd ƒ|ƒttj|dd ƒ|ƒttj|dddgƒ|ƒttj|dddgƒ|ƒttj|ddƒ|ƒttj|ddƒ|ƒttj|ƒ|ƒttj|ƒ|ƒdS( s1 Test 2D input, which has uneven dimension sizes iiiiiiRN(i(ii(ii(RRR R tNone(R Rt shift_dim0t shift_dim1tshift_dim_both((s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyttest_uneven_dims+s4        ""c`sddlm‰ddlm‰m‰m‰m‰d‡‡‡‡‡fd†}d‡‡‡‡‡fd†}x¤tdƒD]–}xtdƒD]}xvdddd d gD]_}t j j ||ƒ}t t j||ƒ|||ƒƒt t j||ƒ|||ƒƒqªWqŽWq{WdS( s\ Test that the new (>=v1.15) implementation (see #10073) is equal to the original (<=v1.14) i(t integer_types(tasarrayt concatenatetarangettakec `sºˆ|ƒ}|j}|dkr6tt|ƒƒ}nt|ˆƒrQ|f}n|}x\|D]T}|j|}|dd}ˆˆ||ƒˆ|ƒfƒ}ˆ|||ƒ}q^W|S(s& How fftshift was implemented in v1.14iiN(tndimRtlisttranget isinstancetshape( R RttmpR!R tkRtp2tmylist(RRRRR (s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pytoriginal_fftshift]s      !c `s¾ˆ|ƒ}|j}|dkr6tt|ƒƒ}nt|ˆƒrQ|f}n|}x`|D]X}|j|}||dd}ˆˆ||ƒˆ|ƒfƒ}ˆ|||ƒ}q^W|S(s( How ifftshift was implemented in v1.14 iiN(R!RR"R#R$R%( R RR&R!R R'RR(R)(RRRRR (s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pytoriginal_ifftshiftms      !iiN(i(ii(t numpy.compatRt numpy.coreRRRR RR#RRtrandRRR R (R R*R+titjt axes_keywordtinp((RRRRR s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyttest_equal_to_originalXs"(t__name__t __module__RRRRR3(((s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyR s   -t TestFFTFreqcB`seZd„ZRS(c C`s¿ddddddddd g }td tjd ƒ|ƒtd ttjd tƒ|ƒdddddd dddd g }td tjd ƒ|ƒtd ttjd tƒ|ƒdS( Niiiiiiüÿÿÿiýÿÿÿiþÿÿÿiÿÿÿÿi iûÿÿÿi (RRtfftfreqR(R R ((s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyRs !!$(R4R5R(((s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyR6‹st TestRFFTFreqcB`seZd„ZRS(cC`s§dddddg}tdtjdƒ|ƒtdttjdtƒ|ƒddddddg}tdtjdƒ|ƒtdttjdtƒ|ƒdS( Niiiiii ii (RRtrfftfreqR(R R ((s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyR˜s !(R4R5R(((s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyR8–st TestIRFFTNcB`seZd„ZRS(cC`sCtjjdƒ\}}|d|}d }tj|d|ƒdS( Niiii yð?iþÿÿÿR(iiii (iþÿÿÿ(RRRtirfftn(R tartaitaR((s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyttest_not_last_axis_success£s(R4R5R?(((s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyR:¡st TestFFTCachecB`seZd„Zd„ZRS(cC`s„tddddƒ}|jdtjddtjƒƒ|jdtjddtjƒƒt|jdƒtjddtjƒƒt|jdƒtjddtjƒƒtt |j ƒdƒxXt dƒD]J}|jdtjddtjƒƒ|jdtjddtjƒƒqÌWt|jdƒtjddtjƒƒt|jdƒtjddtjƒƒtt |j ƒdƒdS(Ntmax_size_in_mbitmax_item_countiitdtypei( Rtput_twiddle_factorsRtonestfloat32tzerosRtpop_twiddle_factorsRtlent_dictR#(R tct_((s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyttest_basic_behaviour¯s """&cC`stddddƒ}|jdtjddtjƒƒ|jdtjddtjƒƒtt|jjƒƒddgƒ|jd tjd dtjƒƒtt|jjƒƒddd gƒ|jdtjd dtjƒƒtt|jjƒƒdgƒtddddƒ}|jdtj dƒƒ|jdtj dƒƒtt|jjƒƒddgƒ|jd tj dƒƒtt|jjƒƒdd gƒtdddd ƒ}|jdtjd dtjƒƒ|jdtjddtjƒƒ|jd tjddtjƒƒ|jdtjddtjƒƒtt|jjƒƒddd dgƒx6t d ƒD](}|jd tjd dtjƒƒqyWtt|jjƒƒdd dd gƒ|jd tjddtjƒƒtt|jjƒƒd gƒdS(NRAg{®Gáz„?RBiiiÈRCiii¸ iiiôi ( RRDRRERFRR"RJtkeystemptyR#(R RKRL((s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyttest_automatic_pruningÊs2""""%"""""""(&("(R4R5RMRP(((s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyR@­s (t__doc__t __future__RRRtnumpyRt numpy.testingRRRRtnumpy.fft.helperRtobjectRR6R8R:R@(((s:/tmp/pip-build-fiC0ax/numpy/numpy/fft/tests/test_helper.pyts ~