zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
U
P±d«ã@sddZddlZddlmZddlmZmZGdd„dƒZGdd„dƒZGd    d
„d
ƒZ    Gd d „d ƒZ
dS) zfTest functions for fftpack.helper module
 
Copied from fftpack.helper by Pearu Peterson, October 2005
 
éN)Úassert_array_almost_equal)ÚfftÚpic@s4eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd S) Ú TestFFTShiftc
Cs ddddddddd    g    }dddd    dddddg    }tt |¡|ƒtt |¡|ƒdddddd
dddd    g
}d
dddd    dddddg
}tt |¡|ƒtt |¡|ƒdS) Nréééééüÿÿÿéýÿÿÿéþÿÿÿéÿÿÿÿéûÿÿÿ©rrÚfftshiftÚ    ifftshift)ÚselfÚxÚy©rúRd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/fft/tests/test_helper.pyÚtest_definition szTestFFTShift.test_definitioncCs2dD](}tj |f¡}tt t |¡¡|ƒqdS)N)rr    é    édéÓ)ÚnpÚrandomrrrr)rÚnrrrrÚ test_inverseszTestFFTShift.test_inversecCsÀdddgdddgddd    gg}d    ddgdddgdddgg}ttj|d
d |ƒttj|dd tj|d d ƒttj|d
d |ƒttj|dd tj|d d ƒtt |¡|ƒtt |¡|ƒdS) Nrrrrr    r
r r r ©rr©Úaxes©rr)rÚfreqsZshiftedrrrÚtest_axes_keywords ÿ ÿzTestFFTShift.test_axes_keywordcCsvddgddgddgg}ddgddgddgg}ttj|dd|ƒttj|dd|ƒttj|dd|ƒttj|dgd|ƒddgddgddgg}ttj|dd|ƒttj|dd|ƒddgddgddgg}ttj|d    d|ƒttj|d    d|ƒttj|ddgd|ƒttj|ddgd|ƒttj|d
d|ƒttj|d
d|ƒtt |¡|ƒtt |¡|ƒd
S) z1 Test 2D input, which has uneven dimension sizes rrrrr    ér r"rNr)rr#Z
shift_dim0Z
shift_dim1Zshift_dim_bothrrrÚtest_uneven_dims)s<ýýýýzTestFFTShift.test_uneven_dimscs¨ddlm‰m‰m‰m‰d
‡‡‡‡fdd„    }d ‡‡‡‡fdd„    }tdƒD]Z}tdƒD]L}d    D]B}tj ||¡}t    t
  ||¡|||ƒƒt    t
  ||¡|||ƒƒq\qTqHdS) z\ Test that the new (>=v1.15) implementation (see #10073) is equal to the original (<=v1.14) r)ÚasarrayÚ concatenateÚarangeÚtakeNc    s~ˆ|ƒ}|j}|dkr$tt|ƒƒ}nt|tƒr4|f}|}|D]<}|j|}|dd}ˆˆ||ƒˆ|ƒfƒ}ˆ|||ƒ}q<|S)z& How fftshift was implemented in v1.14Nrr©ÚndimÚlistÚrangeÚ
isinstanceÚintÚshape©    rr!Útmpr,rÚkrÚp2Zmylist©r)r'r(r*rrÚoriginal_fftshiftZs
 
 z>TestFFTShift.test_equal_to_original.<locals>.original_fftshiftc    s‚ˆ|ƒ}|j}|dkr$tt|ƒƒ}nt|tƒr4|f}|}|D]@}|j|}||dd}ˆˆ||ƒˆ|ƒfƒ}ˆ|||ƒ}q<|S)z( How ifftshift was implemented in v1.14 Nrrr+r2r6rrÚoriginal_ifftshiftjs
 
z?TestFFTShift.test_equal_to_original.<locals>.original_ifftshifté)rrNr"r)N)N) Z
numpy.corer'r(r)r*r.rrZrandrrrr)rr7r8ÚiÚjZ axes_keywordÚinprr6rÚtest_equal_to_originalVs   ÿ ÿz#TestFFTShift.test_equal_to_originalN)Ú__name__Ú
__module__Ú __qualname__rrr$r&r=rrrrr s
 
 -rc@seZdZdd„ZdS)Ú TestFFTFreqc
CsŽddddddddd    g    }td
t d
¡|ƒtd
tt d
t¡|ƒdddddd dddd    g
}td t d ¡|ƒtd tt d t¡|ƒdS) Nrrrrr    r
r r r rré
)rrZfftfreqr©rrrrrrŠs zTestFFTFreq.test_definitionN©r>r?r@rrrrrrAˆsrAc@seZdZdd„ZdS)Ú TestRFFTFreqcCs~dddddg}tdt d¡|ƒtdtt dt¡|ƒddddddg}tdt d¡|ƒtdtt dt¡|ƒdS)    Nrrrrr    rr%rB)rrZrfftfreqrrCrrrr•s zTestRFFTFreq.test_definitionNrDrrrrrE“srEc@seZdZdd„ZdS)Ú
TestIRFFTNcCs2tj d¡\}}|d|}d}tj||ddS)N)rr9éé yð?)r r )rrrZirfftn)rÚarZaiÚar!rrrÚtest_not_last_axis_success s z%TestIRFFTN.test_not_last_axis_successN)r>r?r@rKrrrrrFžsrF) Ú__doc__ÚnumpyrZ numpy.testingrrrrrArErFrrrrÚ<module>s }