K i |dZddlZddlmZmZddlmZGddZGddZGd d Z Gd d Z y) zfTest functions for fftpack.helper module Copied from fftpack.helper by Pearu Peterson, October 2005 N)fftpi)assert_array_almost_equalc*eZdZdZdZdZdZdZy) TestFFTShiftcgd}gd}ttj||ttj||gd}gd}ttj||ttj||y)N r) rrrrrr r r r rr r r r rrrr) rrrrrrr r r r rrfftshift ifftshift)selfxys a/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/numpy/fft/tests/test_helper.pytest_definitionzTestFFTShift.test_definition s` + +!#,,q/15!#--"2A6 / /!#,,q/15!#--"2A6cdD]T}tjj|f}ttjtj ||Vy)N)r r d)nprandomrrrr)rnrs r test_inversezTestFFTShift.test_inversesD$ IA   !&A %cmmCLLO&Da H Ircgdgdgdg}gdgdgdg}ttj|d|ttj|d tj|d ttj|d|ttj|d tj|d ttj||ttj||y) N)rr r )r r r)rrr)rrr)r rr )rr r rr axesrrr)rfreqsshifteds rtest_axes_keywordzTestFFTShift.test_axes_keywordsJ 5J7!#,,u6"BGL!#,,u1"="%,,u4"@ B!#--f"EuM!#--a"@"%--d"C E "#,,u"5w?!#--"8%@rcddgddgddgg}ddgddgddgg}ttj|d|ttj|d|ttj|d|ttj|dg|ddgddgddgg}ttj|d|ttj|d|ddgddgddgg}ttj|d |ttj|d |ttj|ddg|ttj|ddg|ttj|d |ttj|d |ttj||ttj||y ) z1 Test 2D input, which has uneven dimension sizes rr r r r r'r)r&Nr)rr* shift_dim0 shift_dim1shift_dim_boths rtest_uneven_dimszTestFFTShift.test_uneven_dims)sF F F F F F "#,,u1"=zJ!#-- "CUK!#,,u4"@*M!#-- !"EuMF F F "#,,u1"=zJ!#-- "CUKF F F  "#,,u6"BNS!#--V"LeT!#,,uAq6"BNS!#--aV"LeT "#,,u4"@.Q!#--T"JER!#,,u"5~F!#--"?Grc r ddlmmm m d fd }d fd }t dD]}t dD]w}dD]p}t jj||}ttj|||||ttj|||||ryy) zG Test the new (>=v1.15) and old implementations are equal (see #10073) r)arangeasarray concatenatetakeNc |}|j}|tt|}nt|tr|f}|}|D]:}|j |}|dzdz}  || |f} |||}<|S)z& How fftshift was implemented in v1.14r r ndimlistrange isinstanceintshape rr(tmpr:rkr#p2mylistr4r5r6r7s roriginal_fftshiftz>TestFFTShift.test_equal_to_original..original_fftshiftZs!*C88D|E$K(D#&wA 'IIaL!e\$fRmVBZ%@AFA&  ' Hrc  |}|j}|tt|}nt|tr|f}|}|D]=}|j |}||dzdzz }  || |f} |||}?|S)z( How ifftshift was implemented in v1.14 r r r9r@s roriginal_ifftshiftz?TestFFTShift.test_equal_to_original..original_ifftshiftjs!*C88D|E$K(D#&wA 'IIaL!a%A%$fRmVBZ%@AFA&  ' Hr)rr Nr)r&)N) numpy._corer4r5r6r7r<r!r"randrrrr) rrErGij axes_keywordinpr4r5r6r7s @@@@rtest_equal_to_originalz#TestFFTShift.test_equal_to_originalVsBB     $r UA2Y U$>UL))..A.C-cll3 .M.?\.RT.cmmC.N.@l.SU U U UrN)__name__ __module__ __qualname__rr$r,r2rOrrrr s 7I A+HZ/UrrceZdZdZy) TestFFTFreqcTgd}tdtjdz|tdtztjdtz|gd}tdtjdz|tdtztjdtz|y)Nr rr )rrfftfreqrrrs rrzTestFFTFreq.test_definitionsv +!!ckk!n"4a8!!b&3;;q"+="=qA /!"s{{2"6:!"r'CKKB,?"?CrNrPrQrRrrSrrrUrUsDrrUceZdZdZy) TestRFFTFreqcTgd}tdtjdz|tdtztjdtz|gd}tdtjdz|tdtztjdtz|y)N)rr r r r r)rr r r r r.rW)rrrfftfreqrrYs rrzTestRFFTFreq.test_definitionsw !!cll1o"5q9!!b&3<<2+>">B !"s||B'7"7;!"r'CLLR,@"@!DrNrZrSrrr\r\sErr\ceZdZdZy) TestIRFFTNctjjd\}}|d|zz}d}tj||y)N)r rH y?)rr')r!r"rirfftn)raraiar(s rtest_not_last_axis_successz%TestIRFFTN.test_not_last_axis_successs<!!.1B bL 14 rN)rPrQrRrhrSrrr`r`s!rr`) __doc__numpyr!rr numpy.testingrrrUr\r`rSrrrlsF 3zUzUzDDEE ! !r