+
    KV-j
  ã                   ó~   € R t ^ RIt^ RIHtHt ^ RIHt  ! R R4      t ! R R4      t ! R R	4      t	 ! R
 R4      t
R# )zfTest functions for fftpack.helper module

Copied from fftpack.helper by Pearu Peterson, October 2005

N)ÚfftÚpi)Úassert_array_almost_equalc                   ó>   a € ] tR t^t o R tR tR tR tR tRt	V t
R# )ÚTestFFTShiftc                ó&  € . ROp. ROp\        \        P                  ! V4      V4       \        \        P                  ! V4      V4       . ROp. ROp\        \        P                  ! V4      V4       \        \        P                  ! V4      V4       R# )é    N©	r   é   é   é   é   éüÿÿÿéýÿÿÿéþÿÿÿéÿÿÿÿ)	r   r   r   r   r   r
   r   r   r   ©
r   r
   r   r   r   éûÿÿÿr   r   r   r   )
r   r   r   r   r   r   r
   r   r   r   ©r   r   ÚfftshiftÚ	ifftshift)ÚselfÚxÚys   &  Úl/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/numpy/fft/tests/test_helper.pyÚtest_definitionÚTestFFTShift.test_definition   s`   € Ú+ˆÚ+ˆÜ!¤#§,¢,¨q£/°1Ô5Ü!¤#§-¢-°Ó"2°AÔ6Ú/ˆÚ/ˆÜ!¤#§,¢,¨q£/°1Ô5Ü!¤#§-¢-°Ó"2°AÖ6ó    c                óÀ   € R FW  p\         P                  P                  V34      p\        \        P                  ! \        P
                  ! V4      4      V4       KY  	  R# )r
   N)r
   r   é	   éd   éÓ   )ÚnpÚrandomr   r   r   r   )r   Únr   s   &  r   Útest_inverseÚTestFFTShift.test_inverse   s=   € Û$ˆAÜ—	‘	× Ñ  ! Ó&ˆAÜ%¤c§m¢m´C·L²LÀ³OÓ&DÀaÖHó %r   c                ó  € . RO. RO. RO.p. RO. RO. RO.p\        \        P                  ! VR	R7      V4       \        \        P                  ! V^ R7      \        P                  ! VR
R7      4       \        \        P                  ! VR	R7      V4       \        \        P                  ! V^ R7      \        P                  ! VR
R7      4       \        \        P                  ! V4      V4       \        \        P                  ! V4      V4       R# )r   ©ÚaxesN)r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r
   )r   r   r   ©r   r
   ©r   r   )r   ÚfreqsÚshifteds   &  r   Útest_axes_keywordÚTestFFTShift.test_axes_keyword   s´   € ÚšJªÐ5ˆÚ¢ªJÐ7ˆÜ!¤#§,¢,¨u¸6Ô"BÀGÔLÜ!¤#§,¢,¨u¸1Ô"=Ü"%§,¢,¨u¸4Ô"@ô	Bä!¤#§-¢-°¸fÔ"EÀuÔMÜ!¤#§-¢-°¸aÔ"@Ü"%§-¢-°¸dÔ"Cô	Eô 	"¤#§,¢,¨uÓ"5°wÔ?Ü!¤#§-¢-°Ó"8¸%Ö@r   c                ó  € ^ ^.^^.^^..p^^.^ ^.^^..p\        \        P                  ! V^ R7      V4       \        \        P                  ! V^ R7      V4       \        \        P                  ! VRR7      V4       \        \        P                  ! V^ .R7      V4       ^^ .^^.^^..p\        \        P                  ! V^R7      V4       \        \        P                  ! V^R7      V4       ^^.^^ .^^..p\        \        P                  ! VRR7      V4       \        \        P                  ! VRR7      V4       \        \        P                  ! V^ ^.R7      V4       \        \        P                  ! V^ ^.R7      V4       \        \        P                  ! VRR7      V4       \        \        P                  ! VRR7      V4       \        \        P                  ! V4      V4       \        \        P                  ! V4      V4       R# )z0Test 2D input, which has uneven dimension sizes r(   Nr+   r*   r   )r   r,   Ú
shift_dim0Ú
shift_dim1Úshift_dim_boths   &    r   Útest_uneven_dimsÚTestFFTShift.test_uneven_dims)   s®  € ð �ˆFØ�ˆFØ�ˆFð
ˆð �ˆFØ�ˆFØ�ˆFð
ˆ
ô
 	"¤#§,¢,¨u¸1Ô"=¸zÔJÜ!¤#§-¢-°
ÀÔ"CÀUÔKÜ!¤#§,¢,¨u¸4Ô"@À*ÔMÜ!¤#§-¢-°
À!ÀÔ"EÀuÔMð �ˆFØ�ˆFØ�ˆFð
ˆ
ô
 	"¤#§,¢,¨u¸1Ô"=¸zÔJÜ!¤#§-¢-°
ÀÔ"CÀUÔKð �ˆFØ�ˆFØ�ˆFð
ˆô
 	"¤#§,¢,¨u¸6Ô"BÀNÔSÜ!¤#§-¢-°ÀVÔ"LÈeÔTÜ!¤#§,¢,¨u¸A¸q¸6Ô"BÀNÔSÜ!¤#§-¢-°ÀaÈÀVÔ"LÈeÔTô 	"¤#§,¢,¨u¸4Ô"@À.ÔQÜ!¤#§-¢-°ÀTÔ"JÈEÔRÜ!¤#§,¢,¨uÓ"5°~ÔFÜ!¤#§-¢-°Ó"?ÀÖGr   c           
     ó‚  aaa	a
€ ^ RI HoHoHo	Ho
 RVVV	V
3R llpRVVV	V
3R llp\        ^4       F‰  p\        ^4       Fw  pR Fn  p\        P                  P                  W44      p\        \        P                  ! We4      V! We4      4       \        \        P                  ! We4      V! We4      4       Kp  	  Ky  	  K‹  	  R# )zFTest the new (>=v1.15) and old implementations are equal (see #10073) )ÚarangeÚasarrayÚconcatenateÚtakeNc                ó.  <€ S
! V 4      pVP                   pVf   \        \        V4      4      pM\        V\        4      '       d   V3pTpV FE  pVP
                  V,          pV^,           ^,          pS! S	! Wv4      S	! V4      34      pS! WHV4      pKG  	  V# )z%How fftshift was implemented in v1.14©ÚndimÚlistÚrangeÚ
isinstanceÚintÚshape©r   r)   Útmpr=   r   Úkr$   Úp2Úmylistr7   r8   r9   r:   s   &&       €€€€r   Úoriginal_fftshiftÚ>TestFFTShift.test_equal_to_original.<locals>.original_fftshiftZ   s�   ø€ á˜!“*ˆCØ—8‘8ˆDØŠ|ÜœE $›KÓ(‘Ü˜D¤#×&Ò&Ø�w�ØˆAÛ�Ø—I‘I˜a•L�Ø˜!•e •\�Ù$¡f¨R£m±V¸B³ZÐ%@ÓA�Ù˜ AÓ&’ñ	 ð
 ˆHr   c                ó:  <€ S
! V 4      pVP                   pVf   \        \        V4      4      pM\        V\        4      '       d   V3pTpV FK  pVP
                  V,          pWf^,           ^,          ,
          pS! S	! Wv4      S	! V4      34      pS! WHV4      pKM  	  V# )z'How ifftshift was implemented in v1.14 r<   rC   s   &&       €€€€r   Úoriginal_ifftshiftÚ?TestFFTShift.test_equal_to_original.<locals>.original_ifftshiftj   s’   ø€ á˜!“*ˆCØ—8‘8ˆDØŠ|ÜœE $›KÓ(‘Ü˜D¤#×&Ò&Ø�w�ØˆAÛ�Ø—I‘I˜a•L�Ø˜a�% A�Õ%�Ù$¡f¨R£m±V¸B³ZÐ%@ÓA�Ù˜ AÓ&’ñ	 ð
 ˆHr   )N)r   r
   Nr+   r*   )Únumpy._corer7   r8   r9   r:   r?   r"   r#   Úrandr   r   r   r   )r   rH   rK   ÚiÚjÚaxes_keywordÚinpr7   r8   r9   r:   s   &      @@@@r   Útest_equal_to_originalÚ#TestFFTShift.test_equal_to_originalV   s‘   û€ çBÓB÷	ò 	÷ 	ò 	ô$ �r–ˆAÜ˜2–Y�Û$>�LÜŸ)™)Ÿ.™.¨Ó.�Cä-¬c¯lªl¸3Ó.MÙ.?ÀÓ.RôTô .¬c¯mªm¸CÓ.NÙ.@ÀÓ.SöUó %?ó ó r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r%   r.   r4   rS   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s)   ø‡ € ò7òIò
Aò+H÷Z/Uð /Ur   r   c                   ó&   a € ] tR t^ˆt o R tRtV tR# )ÚTestFFTFreqc                óŽ  € . ROp\        ^	\        P                  ! ^	4      ,          V4       \        ^	\        ,          \        P                  ! ^	\        4      ,          V4       . ROp\        ^
\        P                  ! ^
4      ,          V4       \        ^
\        ,          \        P                  ! ^
\        4      ,          V4       R# )r   Nr	   r   )r   r   Úfftfreqr   ©r   r   s   & r   r   ÚTestFFTFreq.test_definitionŠ   sv   € Ú+ˆÜ! !¤c§k¢k°!£nÕ"4°aÔ8Ü! !¤b¥&¬3¯;ª;°q¼"Ó+=Õ"=¸qÔAÚ/ˆÜ! "¤s§{¢{°2£Õ"6¸Ô:Ü! "¤r¥'¬C¯KªK¸¼BÓ,?Õ"?ÀÖCr   rU   N©rV   rW   rX   rY   r   rZ   r[   r\   s   @r   r_   r_   ˆ   s   ø‡ € ÷Dð Dr   r_   c                   ó&   a € ] tR t^“t o R tRtV tR# )ÚTestRFFTFreqc                óŽ  € . ROp\        ^	\        P                  ! ^	4      ,          V4       \        ^	\        ,          \        P                  ! ^	\        4      ,          V4       . ROp\        ^
\        P                  ! ^
4      ,          V4       \        ^
\        ,          \        P                  ! ^
\        4      ,          V4       R# )r   N)r   r
   r   r   r   )r   r
   r   r   r   é   )r   r   Úrfftfreqr   rb   s   & r   r   ÚTestRFFTFreq.test_definition•   sw   € ÚˆÜ! !¤c§l¢l°1£oÕ"5°qÔ9Ü! !¤b¥&¬3¯<ª<¸¼2Ó+>Õ">ÀÔBÚˆÜ! "¤s§|¢|°BÓ'7Õ"7¸Ô;Ü! "¤r¥'¬C¯LªL¸¼RÓ,@Õ"@À!ÖDr   rU   Nrd   r\   s   @r   rf   rf   “   s   ø‡ € ÷Eð Er   rf   c                   ó&   a € ] tR t^žt o R tRtV tR# )Ú
TestIRFFTNc                óš   € \         P                  P                  R4      w  rVRV,          ,           pRp\        P                  ! W4R7       R# )r   y              ð?r(   N)r   é   é   é    )r   )r"   r#   r   Úirfftn)r   ÚarÚaiÚar)   s   &    r   Útest_not_last_axis_successÚ%TestIRFFTN.test_not_last_axis_success    s8   € Ü—‘×!Ñ! .Ó1‰ˆØ��b•�Lˆàˆô 	�
Š
�1× r   rU   N)rV   rW   rX   rY   ru   rZ   r[   r\   s   @r   rl   rl   ž   s   ø‡ € ÷!ð !r   rl   )Ú__doc__Únumpyr"   r   r   Únumpy.testingr   r   r_   rf   rl   rU   r   r   Ú<module>rz      sF   ðñó
 ß Ý 3÷zUñ zU÷zDñ D÷Eñ E÷	!ó 	!r   