L iwddlmZmZmZmZmZddlZddlmZddl m Z m Z m Z m Z mZmZmZddlmZmZmZmZmZmZmZmZmZmZddlZddlZddlmZgdZ gdZ!d gZ"d gZ#d Z$d Z%d Z&dZ'dZ(dZ)dZ*dZ+GddZ,Gdde,Z-Gdde,Z.GddZ/GddZ0Gdde0Z1Gdd e0Z2Gd!d"Z3Gd#d$e3Z4Gd%d&e3Z5Gd'd(Z6Gd)d*e6Z7Gd+d,e6Z8Gd-d.Z9Gd/d0Z:Gd1d2Z;Gd3d4Z<Gd5d6Z=Gd7d8Z>Gd9d:Z?ejjd;e e egd<ZBy)=)assert_ assert_equalassert_array_almost_equalassert_array_almost_equal_nulpassert_array_lessN)raises)ifftfftfftnifftnrfftirfftfft2) arangearrayasarrayzerosdotexppiswapaxesdoublecdoublerand)i i`i)$icd|d|}ttjj||z |tjj|z|y)Nzsize: z rdt: )rnplinalgnorm)xyrtolsizerdterr_msgs d/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/fftpack/tests/test_basic.py_assert_close_in_normr+#sCtfGC5)GbiinnQU+T"))..2C-CWMct|SNr)r's r*randomr/)s ;r,ct|}t|}t|t}t | dt z|z z}t |D]}tt||z|||<|SNdtype@ rlenrrrrrangerrr$nr%wis r* direct_dftr<-sh A AA awA  BrE!GA 1X 3qs8Q! Hr,ct|}t|}t|t}t |dt z|z z}t |D] }tt||z||z ||<"|Sr1r5r8s r* direct_idftr>7sk A AA awAq 2b57A 1X"3qs8Q!!" Hr,c|t|}tt|jD]}t ||}|SN)axis)rr7r6shaper r$rAs r* direct_dftnrDAs8 Ac!''l#   Hr,c|t|}tt|jD]}t ||}|Sr@)rr7r6rBr rCs r* direct_idftnrFHs8 Ac!''l#   Hr,cft|}t|}t| dtz|z z}t |t }t |dzdzD]\}tt||z|}|r1|j|d|zdz <d|z|ks;|j|d|z<N|j|d<^|S)Nr4r2rr) rr6rrrrr7rrrealimag)r$r9r:rr;r%s r* direct_rdftrLOs A AA  BrE!GA avA 1a46] AaC!  vvAac!eHsQw!A#66AaD Hr,cXt|}t|}t|t}t |dzdzD][}|rOd|z|kr8|d|zdz d|d|zzz||<|d|zdz d|d|zzz |||z <E|d|zdz ||<T|d|d<]t |j S)Nr2rrH?r)rr6rrr7r>rI)r$r9x1r;s r* direct_irdftrP_s A AA q B 1a46] sQw!A#a%2a!f9,1AaCE(R!A#Y.1Q3!A#a%1aDBqE r?  r,c*eZdZdZdZdZdZdZy) _TestFFTBasec^d|_d|_tjj dyN)cdtr(r!r/seedselfs r* setup_methodz_TestFFTBase.setup_methodps  tr,cPtjgd|j}t|}t |j |jt |}t||tjgd|j}tt|t |y)NrHr@?rHrr]y@@r2rHrr]y@)r!rrVr rr3r<rrYr$r%y1s r*test_definitionz_TestFFTBase.test_definitionusk HH,DHH = FQWWdhh' ]!!B' HH^488 4!#a&A7r,cztjgd|j}tjgd|j}t||gd}t |j |j t |jdt|dt|t|dt|yNrHrr]r2rgr9rrgrrH) r!rr(r rr3rVrBrr<rYrOx2r%s r*test_n_argument_realz!_TestFFTBase.test_n_argument_real~s~ XXitxx 0 XXitxx 0 B! QWWdhh'QWWU#!!A$z"~6!!A$z"~6r,cztjgd|j}tjgd|j}t||gd}t |j |jt |j dt|dt|t|dt|y)N)rHrr]r^r2rgrhrirrH) r!rrVr rr3rBrr<rjs r*_test_n_argument_complexz%_TestFFTBase._test_n_argument_complexs~ XXl$(( 3 XXl$(( 3 B! QWWdhh'QWWU#!!A$z"~6!!A$z"~6r,cftttgtttddgddggdyNrHr) assert_raises ValueErrorr rXs r*test_invalid_sizesz_TestFFTBase.test_invalid_sizess(j#r*j#1qe}b9r,N)__name__ __module__ __qualname__rZrcrlrnrtr,r*rRrRos 877:r,rRceZdZdZy) TestDoubleFFTcXtj|_tj|_yr.r! complex128rVfloat64r(rXs r*rZzTestDoubleFFT.setup_method==::r,NrurvrwrZrxr,r*rzrzr,rzc\eZdZdZdZej jdedZy) TestSingleFFTcXtj|_tj|_yr.r! complex64rVfloat32r(rXs r*rZzTestSingleFFT.setup_method<<::r,zusingle-precision FFT implementation is partially disabled, until accuracy issues with large prime powers are resolvedF)runreasoncyr.rxrXs r* test_noticezTestSingleFFT.test_notices r,N) rurvrwrZrpytestmarkxfailrrxr,r*rrs7KF [[50 1 r,rceZdZdZdZy)TestFloat16FFTcDtjgdtj}t|d}t |j tj t |jdt|t|jtjy)Nrfr2rgrh)rg r!rfloat16r rr3rrBrr<astyper)rYrOr%s r*test_1_argument_realz#TestFloat16FFT.test_1_argument_reals] XXl"** 5 aLQWWbll+QWWe$!!Z "**0E%FGr,ctjgdtj}tjgdtj}t||gd}t |j tj t |jdt|dt|jtjt|dt|jtjyrerrjs r*rlz#TestFloat16FFT.test_n_argument_reals XXl"** 5 XXl"** 5 RA QWWbll+QWWf%!!A$ 299RZZ3H(IJ!!A$ 299RZZ3H(IJr,N)rurvrwrrlrxr,r*rrsHKr,rc6eZdZdZdZdZdZdZdZdZ y) _TestIFFTBasecBtjjdyrTr!r/rWrXs r*rZz_TestIFFTBase.setup_method tr,cLtjgd|j}t|}t |}t |j |jt||tjgd|j}tt|t |y)Nr\r_)r!rrVr r>rr3rras r*rcz_TestIFFTBase.test_definitionsk HH,dhh 7 G ^QWWdhh'!!B' HH^TXX .!$q'+a.9r,ctjgd|j}t|}t |j |j t|}t||tjgd|j}t |j |j tt|t|y)NrHrr]rgrHrr]rgrHrr]rgr`r2) r!rr(r rr3rVr>rras r*test_definition_realz"_TestIFFTBase.test_definition_reals} HH& 1 GQWWdhh' ^!!B' HH[ 1QWWdhh'!$q'+a.9r,cdD]}t|gj|j}t|gj|jd|zz}tt |}t t|}t |j |jt |j |jt||t||y)N rH3od@irN)r/rrVr r rr3rrYr'r$rby2s r*test_random_complexz!_TestIFFTBase.test_random_complexs6 -Dv%%dhh/Av%%dhh/"Q$6Ac!fBT!WB 488 , 488 , %b! , %b! , -r,c\dD]}t|gj|j}tt |}t t|}t |j |jt |j |jt||t||y)Nr) r/rr(r r rr3rVrrs r*test_random_realz_TestIFFTBase.test_random_reals}6 -Dv%%dhh/Ac!fBT!WB 488 , 488 , %b! , %b! , -r,c<|jtjk(rd}n|jtjk(rd}tt zD]L}tj jdtj j|j|j}tt|}t||||jtt|}t|||||j|dtj j|zzj|j}tt|}t|||||jtt|}t|||||jOy)Nh㈵>绽|=rUrN)r(r!rr~LARGE_COMPOSITE_SIZESLARGE_PRIME_SIZESr/rWrrr r r+rVrYr&r'r$r%s r*test_size_accuracyz _TestIFFTBase.test_size_accuracys! 88rzz !D XX #D),== >D IINN4  t$++DHH5ASV A !!QdDHH =DG A !!QdDHH =R t,,,44TXX>ASV A !!QdDHH =DG A !!QdDHH = >r,cftttgtttddgddggdyrp)rrrsr rXs r*rtz _TestIFFTBase.test_invalid_sizes(j$+j$!A!u r:r,N) rurvrwrZrcrrrrrtrxr,r*rrs%: : -->*;r,rceZdZdZy)TestDoubleIFFTcXtj|_tj|_yr.r|rXs r*rZzTestDoubleIFFT.setup_methodrr,Nrrxr,r*rrrr,rceZdZdZy)TestSingleIFFTcXtj|_tj|_yr.rrXs r*rZzTestSingleIFFT.setup_method rr,Nrrxr,r*rr rr,rc>eZdZdZdZdZGddZdZdZy) _TestRFFTBasecBtjjdyrTrrXs r*rZz_TestRFFTBase.setup_methodrr,cgdgdfD]e}tj||j}t|}t |}t ||t |j|jgy)Nr rHrr]rgrHrr]rgr`r2)r!rr(r rLrrr3)rYtr$r%rbs r*rcz_TestRFFTBase.test_definitionsY*,GH ,A$((+AQAQB %a + $(( +  ,r,cftttgtttddgddggdyrp)rrrsr rXs r*rtz _TestRFFTBase.test_invalid_sizesrr,ceZdZdZdZy)_TestRFFTBase.MockSeriesc8tj||_yr.)r!rdatarYrs r*__init__z!_TestRFFTBase.MockSeries.__init__!s 4(DIr,cr t|j|S#t$r}td|d|d}~wwxYw)Nz&'MockSeries' object has no attribute '')getattrrAttributeError)rYitemes r* __getattr__z$_TestRFFTBase.MockSeries.__getattr__$sO Ktyy$//! K$&;;?&&CDIJK Ks 616N)rurvrwrrrxr,r* MockSeriesr s  ) Kr,rctjgd}tj|}gd}t |t ||t |j |y)N)g?g@g@g@g@r)r!rrrr rr)rYr$xsexpecteds r*test_non_ndarray_with_dtypez)_TestRFFTBase.test_non_ndarray_with_dtype+sG HH) *  % %a (" R Q!RWWh'r,ctttttjdtj yNrgr2)rr TypeErrorr r!rrrXs r*test_complex_inputz _TestRFFTBase.test_complex_input6siryy",,'GHr,N) rurvrwrZrcrtrrrrxr,r*rrs(,; K K (Ir,rceZdZdZy)TestRFFTDoublecXtj|_tj|_yr.r|rXs r*rZzTestRFFTDouble.setup_method;rr,Nrrxr,r*rr:rr,rceZdZdZy)TestRFFTSinglecXtj|_tj|_yr.rrXs r*rZzTestRFFTSingle.setup_methodArr,Nrrxr,r*rr@rr,rc0eZdZdZdZdZdZdZdZy)_TestIRFFTBasecBtjjdyrTrrXs r*rZz_TestIRFFTBase.setup_methodGrr,cTgd}gd}gd}gd}fd}||||||y)Nr)rH@@r^rrg@@rr) rHrr^ry@@y@rrrc"ttj|j}t |}t |j jt||jt|t|jy)Nr2)decimal) rr!rr(rPrr3rndecr )r$xrr%rbrYs r*_testz-_TestIRFFTBase.test_definition.._testPs[bhhq12AaB $(( + %aDII > %aR$)) Dr,rx)rYrOx1_1rkx2_1rs` r*rcz_TestIRFFTBase.test_definitionJs1 2 : E b$ b$r,cdD]}t|gj|j}tt |}t t|}t |j |jt |j |jt|||jd|t|||jd|y)Nrzsize=)rr)) r/rr(rr rr3rrrs r*rz_TestIRFFTBase.test_random_realZs6 XDv%%dhh/AtAwBeAhB 488 , 488 , %b!TYY%PTv W %b!TYY%PTv W Xr,c|jtjk(rd}n|jtjk(rd}tt zD]}tj jdtj j|j|j}tt|}t||||jtt|}t|||||jy)NrrrU) r(r!rr~rrr/rWrrrr r+rs r*rz!_TestIRFFTBase.test_size_accuracyds 88rzz !D XX #D),== >D IINN4  t$++DHH5Ad1gA !!QdDHH =U1XA !!QdDHH =  >r,cftttgtttddgddggdyrp)rrrsrrXs r*rtz!_TestIRFFTBase.test_invalid_sizesss(j%,j%1Q%1;r,ctttttjdtj yr)rrrrr!rrrXs r*rz!_TestIRFFTBase.test_complex_inputwsi !2<<(HIr,N) rurvrwrZrcrrrtrrxr,r*rrFs" X ><Jr,rceZdZdZy)TestIRFFTDoublecftj|_tj|_d|_y)N)r!r}rVr~r(rrXs r*rZzTestIRFFTDouble.setup_methods==:: r,Nrrxr,r*rr~sr,rceZdZdZy)TestIRFFTSinglecftj|_tj|_d|_y)Nr`)r!rrVrr(rrXs r*rZzTestIRFFTSingle.setup_methods<<:: r,Nrrxr,r*rrsr,rceZdZdZdZdZy)Testfft2cBtjjdyrTrrXs r*rZzTestfft2.setup_methodrr,ctjd}t|dd}tjj |dd}t ||y)z-FFT returns wrong result with axes parameter.rgrgrrrBaxes)srN)numpyonesrr r rrYr$r%y_rs r*test_regression_244zTestfft2.test_regression_244sB JJy ! &x 0iinnQ&xn8!!S)r,chtttggtttddgddggdy)NrHrrgr)rrrsrrXs r*rtzTestfft2.test_invalid_sizess+j$-j$!Q!Q(8'Br,N)rurvrwrZr rtrxr,r*rrs*Cr,rcFeZdZdZdZej jdee zdZ ej jde e zdZ dZej jdee zdZej jde e zdZy ) TestFftnSinglecBtjjdyrTrrXs r*rZzTestFftnSingle.setup_methodrr,c6gdgdgdg}ttj|tj}t |j tj k(dtjt|tj }t||y)NrHrr]rgr`r z-double precision output with single precision)msg)r r!rrrr3rrr s r*rczTestFftnSingle.test_definitionsl     !RZZ( )2<<'C EhhtAw -&q#.r,r'ctjjd}|j||fd|j||fzz}t|jj tj }t|jj tjj tj}t|jtjt||dy)NrUrN r!r/ default_rngr rIrrr~rrr3rrYr'rngr$rbrs r*test_size_accuracy_smallz'TestFftnSingle.test_size_accuracy_smallsii##D) JJd| $r#**dD\*B'B B !&&-- + , !&&-- + , 3 3BLL ARXXr||,&r2t4r,ctjjd}|j|dfd|j|dfzz}t|jj tj }t|jj tjj tj}t|jtjt||dy)NrUr]rNrr)rYr'rr$rbrs r*test_size_accuracy_largez'TestFftnSingle.test_size_accuracy_largesyy$$T* DKKq "R  T1I(>%> > !&&-- + , !&&-- + , 3 3BLL ARXXr||,&r2t4r,c.gdgdgdg}ttj|tj}t |j tj tjt|tj }t||y)Nrrr)r r!rrrr3rrr s r*test_definition_float16z&TestFftnSingle.test_definition_float16sa     !RZZ( )QWWbll+hhtAw -&q#.r,ctjjd}|j||fd|j||fzz}t|jj tj }t|jj tjj tj}t|jtjt||dy)NrUrNgA r!r/rr rIrrr~rrr3rrs r*test_float16_input_smallz'TestFftnSingle.test_float16_input_smallsii##D) JJd| $rCJJd|,D'D D !&&-- + , !&&-- + , 3 3BLL ARXXr||,&r2s3r,ctjjd}|j|dfd|j|dfzz}t|jj tj }t|jj tjj tj}t|jtjt||dy)NrUr]rNg>Ar&rs r*test_float16_input_largez'TestFftnSingle.test_float16_input_largesii##D) JJay !Bszz4)'<$< < !&&-- + , !&&-- + , 3 3BLL ARXXr||,&r2s3r,N)rurvrwrZrcrr parametrizeSMALL_COMPOSITE_SIZESSMALL_PRIME_SIZESr rrr"r$r'r)rxr,r*rrs / [[V%:=N%NO5P5 [[V%:=N%NO5P5/ [[V%:=N%NO4P4 [[V%:=N%NO4P4r,rc<eZdZdZdZdZdZdZdZdZ dZ y ) TestFftncBtjjdyrTrrXs r*rZzTestFftn.setup_methodrr,cgdgdgdg}t|}t|t|td}tt|t|td}tt|t|y)Nrrrr`rgr]r2)r rrDr/rYr$r%s r*rczTestFftn.test_definitionsc     G!![^4 8 !$q';q>: = !!$q';q>:r,c : gdgdgdg}gdgdgdg}gdgdgd g}gdgdgdg}gdgdgdg}gdgdgd g}gd gd gd g}gd gdgdg}gdgdgdg} gdgdgdg} gdgdgdg} gdgdgdg} gdgdgdg} gdgdgdg}gdgdgdg}gd gd gdg}gd gdgdg}gd gdgdg}||| g}| | | g}|||g}|||g}| ||g}t|||g}tt|t|dtt|t|dtt|dt|d t|d!}tt|d"d#t|t|d$}ttt|d"d#d"d%t|t|d&}ttt|d"d#d#d%t|t|d'}tt|d%d#t|t|d(}tt|d%d"t|t|d)}tt||d*tt||d+tt||d,t|d-}tt||d*tt||d+tt||d,t|d.}tt|ddddd*f|ddddd*ftt|ddddd+f|ddddd+ftt|ddddd,f|ddddd,ft|d/}tt|ddd*ddf|ddd*ddftt|ddd+ddf|ddd+ddftt|ddd,ddf|ddd,ddft|d0}tt| t|d*d%d"tt|t|d+d%d"tt|t|d,d%d"t|d1}tt|t|ddd*ddfd"d%tt|t|ddd+ddfd"d%tt|t|ddd,ddfd"d%t|d2}tt|t|ddddd*fd"d%tt|t|ddddd+fd"d%tt| t|ddddd,fd"d%t|d3}t d4D]7}t d4D]'}tt |||ddf|||ddf)9t|d5}t d4D]7}t d4D]'}tt ||dd|f||dd|f)9t|d6}t d4D]7}t d4D]'}tt |dd||f|dd||f)9t|d7}t||y)8Nrrr) ) r))r2))r3)rHr7r?)rgr:rA)rr<rD)rr8r2)r`rrB)rr=r3)r]r9r@)rr;rC)rr>rE)rHrgr)r7r:r<)r?rArD)rr`r)r8rr=)r2rBr3)r]rr)r9r;r>)r@rCrE)rrrrrHr)rr)rrF)rrHrrFr)rrrHr)rHrr)rHrr)rrrHrrFrrHrrHrr)rrFrFr)rFr)rrrFr]rrrx)rrr rr7r )rYplane1plane2plane3 ki_plane1 ki_plane2 ki_plane3 jk_plane1 jk_plane2 jk_plane3 kj_plane1 kj_plane2 kj_plane3 ij_plane1 ij_plane2 ij_plane3 ik_plane1 ik_plane2 ik_plane3 ijk_space ikj_space jik_space jki_space kij_spacer$r%r;js r*test_axes_argumentzTestFftn.test_axes_arguments  !!# !!# !!# !  " !  " !  " !<1 !<1 !<1  "!!# "!!# !  " !  " !  "  95  95  95  95  95 666* +!$q'"&q|"< >!$q'4 +BC!$qv"6QW8MN  #!(1b""5tIG  #!(8Ar2+>B"G"&y/ 3  #!(8Ar2+>B"G"&y/ 3  #!(1b""5tIG  #!(1b""5tIG  "!$v,!5!$v,!5!$v,!5  !$v,!5!$v,!5!$v,!5  "!$qAqz"2AaAgJ?!$qAqz"2AaAgJ?!$qAqz"2AaAgJ?  "!$qAqz"2AaAgJ?!$qAqz"2AaAgJ?!$qAqz"2AaAgJ?  "!$y/8AaD"b3IJ!$y/8AaD"b3IJ!$y/8AaD"b3IJ  "!$y/"*1Q1W:r2"> @!$y/"*1Q1W:r2"> @!$y/"*1Q1W:r2"> @  "!$y/"*1Q1W:r2"> @!$y/"*1Q1W:r2"> @!$y/"*1Q1W:r2"> @  q GA1X G)#a1aj/1Q1W:F G G  q GA1X G)#a1aj/1Q1W:F G G  q GA1X G)#a1aj/1Q1W:F G G  !!Q'r,cgdgdg}gdgdgdgdg}t|d}t|t|t|d}t|t|dd y) NrrrHrr]rrgr`rrrrrrrgrgrB)r]rgrF)r rrYsmall_xlarge_x1r%s r*test_shape_argumentzTestFftn.test_shape_argumentvs_    "  '!!T(^4  '!!T(3B-%89r,c gdgdgdg}tgdgdgdgdg}t|dd }t|t|t|dd }t|ttt|d d d d y)Nrrrrirj)rrrrrkrlrIrrKrFr)rr rrrns r*test_shape_axes_argumentz!TestFftn.test_shape_axes_arguments,&&&() X 6!!T(^4 X 6!!X (B+ ,b"&6 7r,ctjjd}t|dd}t|t |ddtjjd}t|dd}t|t |d dtjjd }t|d d }t|tjj|d d y)N)r7r`r]rrL)r)rrBrFr)rAr9rMrrrr)rr)rr/r rr r5s r*test_shape_axes_argument2z"TestFftn.test_shape_axes_argument2s LL   . d +!!Sq%9: LL   . d +!!Sq%9: LL   *  0!!"'))..V."L Nr,ctd}ttd5t|ddddy#1swYyxYw)NrzBwhen given, axes and shape arguments have to be of the same lengthmatch)rrrrHrm)rrrrsr )rYr$s r*test_shape_argument_morez!TestFftn.test_shape_argument_mores< )  :"<= ( , ' ( ( (s4=cttd5tggdddttd5tddgddggddddy#1swY6xYw#1swYyxYwNz4invalid number of data points \(\[1, 0\]\) specifiedrwz5invalid number of data points \(\[4, -3\]\) specifiedrHrr)rrrsr rXs r*rtzTestFftn.test_invalid_sizessu :"67  "J  :"78 , 1a&1a&!7 + , ,     , , AA A A)N) rurvrwrZrcrgrqrsruryrtrxr,r*r.r.s- ;D(L : 7N"( ,r,r.cNeZdZdZdZdZejjde je jdfe je jdfgdZejjdddgejjdgd d Zd Zy) TestIfftnNcBtjjdyrTrrXs r*rZzTestIfftn.setup_methodrr,zdtype,cdtype,maxnlpri ctjjd}tjgdgdgdg|}t |}t |j |t|t|||jd}tt |t|||jd}tt |t||y)NrUrrrr2r1r4) r!r/rrr rr3rrF)rYr3cdtypemaxnlprr$r%s r*rczTestIfftn.test_definitionsii##D) HHi!(- / !HQWWf%&q,q/6B JJx &uQxa&I JJ} %&uQxa&Ir,rr')rHrr r\ctjjd}|j||gd|j||gzz}tt t |||tt t |||y)NrUrN)r!r/rrr r )rYrr'rr$s r*rzTestIfftn.test_random_complexsiii##D) JJd| $rCJJd|,D'D D&uT!W~q&A&tE!H~q&Ar,cttd5tggdddttd5tddgddggddddy#1swY6xYw#1swYyxYwr{)rrrsr rXs r*rtzTestIfftn.test_invalid_sizessu :"67  2$K  :"78 - Aq6Aq6"G , - -     - -r|)rurvrwr3rrZrrr*r!r~r}rrrcrrtrxr,r*r~r~s E F [[2!zz2==$?!zz2<<>@A JA J [[Xd|4 [[V%;<B=5B -r,r~ceZdZdZy) FakeArrayc4||_|j|_yr.)_data__array_interface__rs r*rzFakeArray.__init__s #'#;#; r,N)rurvrwrrxr,r*rrsz&TestOverwrite._check..sqr, overwrite_x(z, z, axis=z, overwrite_x=)zspurious overwrite in )r))rrrrur3rBr) rYr$routinefftsizerArrkfakesigs r*_checkzTestOverwrite._checks VVX )Z8 LD DHgt E&&'q !''BwkJ(.qBCR.DSE,JK  Lr,ctjjdtj|tjr=tjj |dtjj |zz}ntjj |}|j |}|j|||||y)NrUrNr)r!r/rW issubdtypecomplexfloatingrandnrr) rYrr3rBrAoverwritable_dtypesrrrs r* _check_1dzTestOverwrite._check_1ds t == 2 2 399??E*R 0G-GGD99??E*D{{5! D'7D +  -r,r3rrTFz shape,axes))r<rF)r<rr)rr<rHc tjtjf}|jt|||||||jt ||||||yr.)r!r}rrr r rYr3rrrBr overwritables r* test_fft_ifftzTestOverwrite.test_fft_ifftsL r||4  sE5$   - tUE4  -r,c |j}|jt|||||||jt||||||yr.) real_dtypesrrr rs r*test_rfft_irfftzTestOverwrite.test_rfft_irfftsE''  ueUD,  - tUE4  -r,cX tjjdtj|tjr=tjj |dtjj |zz}ntjj |}|j |} fd ||}nttj||} |D]H} |j||| |||jdkDs)|j|j|| ||Jy)NrUrNc3Kt|dkrdy|ddz|d|ddzfD]}|ddD] }|f|z yw)NrrxrrH)r6)shprfrest fftshape_iters r*rz2TestOverwrite._check_nd_one..fftshape_iter2sg3x1}a&!)SVSVAX6*A -c!"g 6* dTk)**sAA rrH) r!r/rWrrrrtupletakerndimT) rYrr3rBrrrr part_shapefftshapers @r* _check_nd_onezTestOverwrite._check_nd_one)s t == 2 2 399??E*R 0G-GGD99??E*D{{5! * <Jrwwud34J%j1 5H KKgx$/  1yy1} DFFGXt(35  5r,) )rN)rrN)rrN)rrH)rr<N)rrrH)rr<rr)rrJ)rrN)rr)r)r)rN)rrHctjtjf}|jt||||||jt |||||yr.)r!r}rrr r )rYr3rrBrrs r*test_fftn_ifftnzTestOverwrite.test_fftn_ifftnFsL  r||4  4t\& ( 5%l& (r,N)rurvrw__doc__r!rr~rrr}dtypesfftsizesrrrrr*rrrrrxr,r*rrs>::rzz*K BLL"--8 8FHL - [[Wf- [[Y1 [[]T5M: [[\,:;-;;2. - [[Wk2 [[Y1 [[]T5M: [[\,:;-;;23 -5: [[Wf- [[]T5M: [[\ ,E F( F;.(r,rfuncctjjdd}||d}||tjddg}t ||||d}||tjdg}t ||||dd }||tjd d gtjd dg }t ||y)Nr7)r`r`rmr`rLrGrF)rgr)rHrrrgrrHr)r!r/rrr)raexpectactuals r*test_shape_axes_ndarrayr]s r2A !6 "F !288QF+ ,F !% F !"((B5/ *F !6 /F !288QF+"((Aq62B CF r,)C numpy.testingrrrrrrrrr scipy.fftpackr r r r r rrrrrrrrrrrrrr! numpy.fft numpy.randomrrr+rr,r+r/r<r>rDrFrLrPrRrzrrrrrrrrrrrrrr.r~rrrrr*rrxr,r*rsNN *CCC...   N        #:#:LL  L  KK&E;E;P] ] (I(IV] ] 2J2JpnnCC$>4>4BU,U,p*-*-Z<< h(h(V$t!45!6!r,