+
    LV-jKK  ã                   ó:  € R t ^ RIHtHtHt ^ RIHt ^ RIHt	 ^ RIt^ RI
t^ RIt^ RIHtHt ^ RIHt ]P$                  P&                  t. ROtR tR t ! R	 R
4      t ! R R4      t]! RR7       ! R R4      4       t ! R R4      t ! R R4      t ! R R4      tR# )zŒIncludes test functions for fftpack.helper module

Copied from fftpack.helper by Pearu Peterson, October 2005
Modified for Array API, 2023

)Únext_fast_lenÚprev_fast_lenÚ_init_nd_shape_and_axes)Úassert_equal)ÚraisesN)Úxp_assert_closeÚ	xp_device)Úfftc                  óJ   € \          F  p \        \        V 4      V 4       K  	  R # )N)Ú_5_smooth_numbersr   r   )Úns    Úl/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/fft/tests/test_helper.pyÚtest_next_fast_lenr      s   € ßˆÜ”] 1Ó% qÖ)ó ó    c                 óè   € T pV^8  d   Q h \        V ^4      w  r4V^ 8w  d   MTp K  \        ^V^,           ^4       F  p \        W4      w  r4V^ 8w  d   K  Tp K  	  V ^8X  g   Q RV RV RV  24       hR# )é   zx=z is not z-smooth, remainder=N)ÚdivmodÚrange)Úxr   Úx_origÚqÚrÚds   &&    r   Ú_assert_n_smoothr      s’   € Ø€FØˆ1„uØˆuà
Ü�a˜‹|‰ˆØ�Œ6ØØŠä�1�a˜•c˜1ÖˆØÜ˜!“<‰DˆAØ�AŒvÙØŠAñ ð �Œ6ð :Ø�ˆx�x ˜sÐ"5°a°SÐ9ó:Š6r   c                   óœ   a € ] tR t^5t o R tR tR t]P                  P                  ]
P                  R8  R]RR7      R 4       tR tR	tV tR
# )ÚTestNextFastLenc                óê   € \         P                  P                  R 4       R pV! 4        FE  p\        V4      p\	        V^4       V\        VR4      8X  g   Q h\        VR4      p\	        V^4       KG  	  R# )éÒ  c               3   óB   "  € \        ^R4       Rj  x€L
  Rx € R#  L
5i©é   éè  Ni€y ©r   © r   r   ÚnumsÚ0TestNextFastLen.test_next_fast_len.<locals>.nums:   ó   é € Ü˜Q “~×%Ð%Ø(Ô(ñ &ùó   ‚’“FTN)ÚnpÚrandomÚseedr   r   ©Úselfr$   r   Úms   &   r   r   Ú"TestNextFastLen.test_next_fast_len7   ód   € Ü
�	‰	�‰�tÔò	)ñ –ˆAÜ˜aÓ ˆAÜ˜Q Ô#Øœ a¨Ó/Ô/Ð/Ð/ä˜a Ó&ˆAÜ˜Q Ö"ó r   c           	     ó2  € \         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  .pV F4  pV! R 4      p\        V4      p\        V\        \        V4      4      4       K6  	  R# )é90  N)
r(   Úint16Úint32Úint64Úuint16Úuint32Úuint64r   r   Úint©r,   ÚITYPESÚitypr   ÚtestNs   &    r   Útest_np_integersÚ TestNextFastLen.test_np_integersF   s\   € Ü—(‘(œBŸH™H¤b§h¡h´·	±	¼2¿9¹9ÄbÇiÁiÐPˆÛˆDÙ�U“ˆAÜ! !Ó$ˆEÜ˜¤¬c°!«fÓ 5Ö6ó r   c                ó¤   € ^^^^^^^^^^^^^^^^^^^^^^^^RRRRRR/pVP                  4        F  w  r#\        \        VR4      V4       K  	  R# )r    éý  i   é   é @TN©Úitemsr   r   ©r,   Úhamsr   Úys   &   r   Útestnext_fast_len_smallÚ'TestNextFastLen.testnext_fast_len_smallM   sl   € àˆq�!�Q˜˜1˜a  A q¨!¨Q°°1°a¸¸BÀÀBÈØ��B˜˜D $¨¨d°H¸hð
ˆð —J‘J–L‰DˆAÜœ q¨$Ó/°Ö3ó !r   ú$Hamming Numbers too large for 32-bitT©Úreasonr   Ústrictc                óþ   € / R R bRRbRRbRRbRRbRRbRRbRRbRRbR	R	bRR
bRRbRRbRRbRRbRRbR RbRRR!RRRR"RRRR#RRRR$RR%RRRR&R/CpVP                  4        F  w  r#\        \        VR4      V4       K  	  R# )'éÀÇhi €„éÀ=ué+‰ë2i  B3ì     €· l   €sö'· ì    >å9ùl         ì      fØn l    >Uk±o ì     øq…. l   ØxQ+t0 ì      ¢!Í l    dopL?Í ì   í…hRì   ‰2 f;Ùì          ì     `71Y!l   à …("ì           ì    ËóX l         	 TNéÁÇhé,‰ë2ì    €· ì   ¡>å9ùì     fØn ì    øq…. ì     ¢!Í ì   ì…hRì   ˆ2 f;Ùì   ÿÿÿÿì    `71Y!ì          ì   ËóX ì   !ËóX rC   rE   s   &   r   Útestnext_fast_len_bigÚ%TestNextFastLen.testnext_fast_len_bigU   sA  € ð
Ø�yð
Ø"/°ð
à�yð
ð �yð
ð #0°ð
ð ˜,ð	
ð )9¸,ð	
ð
 ˜=ð
ð
 +<¸]ð
ð ˜_ð
ð   ð
ð ˜_ð
ð   ð
ð Ð.ð
ð !Ð"2ð
ð Ð0ð
ð "Ð#4ð
ð  Ð0Ø!Ð#4àÐ0Ø!Ð#4àÐ0Ø!Ð#4ØÐ 2Ø"Ð$6Ø"Ð$6ØÐ 2Ø"Ð$6ñ9
ˆð< —J‘J–L‰DˆAÜœ q¨$Ó/°Ö3ó !r   c                óV   € \        ^RR7      ^8X  g   Q h\        ^RR7      ^8X  g   Q hR# ©é   T©ÚrealF)Útargetrq   N)r   )r,   Úxps   &&r   Útest_keyword_argsÚ!TestNextFastLen.test_keyword_argsz   ó,   € Ü˜R dÔ+¨rÔ1Ð1Ð1Ü A¨EÔ2°aÔ7Ð7Ò7r   r#   Nì        )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r=   rH   ÚpytestÚmarkÚxfailÚsysÚmaxsizeÚ
ValueErrorrk   rt   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r   5   sZ   ø‡ € ò#ò7ò4ð ‡[�[×Ñ�s—{‘{ UÑ*ØDØ(°ð ó 7ñ 4ó7ð 4÷D8ð 8r   r   c                   óœ   a € ] tR t^t o R tR tR t]P                  P                  ]
P                  R8  R]RR7      R 4       tR tR	tV tR
# )ÚTestPrevFastLenc                óê   € \         P                  P                  R 4       R pV! 4        FE  p\        V4      p\	        V^4       V\        VR4      8X  g   Q h\        VR4      p\	        V^4       KG  	  R# )r   c               3   óB   "  € \        ^R4       Rj  x€L
  Rx € R#  L
5ir   r"   r#   r   r   r$   Ú0TestPrevFastLen.test_prev_fast_len.<locals>.nums„   r&   r'   FTN)r(   r)   r*   r   r   r+   s   &   r   Útest_prev_fast_lenÚ"TestPrevFastLen.test_prev_fast_len�   r/   r   c           	     óŒ  € \         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  .pV Fa  pV! R 4      p\        V4      p\        V\        \        V4      4      4       \        VRR7      p\        V\        \        V4      RR7      4       Kc  	  R# )r1   Trp   N)
r(   r2   r3   r4   r5   r6   r7   r   r   r8   r9   s   &    r   r=   Ú TestPrevFastLen.test_np_integers�   s€   € Ü—(‘(œBŸH™H¤b§h¡h´·	±	¼2¿9¹9Ü—I‘IðˆãˆDÙ�U“ˆAÜ! !Ó$ˆEÜ˜¤¬c°!«fÓ 5Ô6ä! !¨$Ô/ˆEÜ˜¤¬c°!«f¸4Ô @ÖAó r   c                óœ  € ^^^^^^^^^^^^^^^^^^^^^^^^RRRRRR/pVP                  4        F  w  r#\        \        VR4      V4       K  	  / ^^b^^b^^b^^b^^b^^b^^b^^b^	^	b^
^
b^^b^^b^^b^^b^^b^^b^^b^^^^^^^^^^^x^x^y^y^z^yRRRRRR/CpVP                  4        F  w  r#\        \        VR4      V4       K  	  R# )	r    r@   r!   rA   rB   Tið  FN©rD   r   r   rE   s   &   r   Útestprev_fast_len_smallÚ'TestPrevFastLen.testprev_fast_len_small›   sv  € àˆq�!�Q˜˜1˜a  A q¨!¨Q°°1°a¸¸BÀÀBÈØ��B˜˜D $¨¨d°H¸hð
ˆð —J‘J–L‰DˆAÜœ q¨$Ó/°Ö3ñ !ð
Øˆqð
Ø�Qð
Ø˜1ð
Ø ð
Ø$% qð
Ø*+¨Qð
Ø01°1ð
Ø67¸ð
Ø<=¸qð
ØBDÀbð
à�ð
à˜ð
à ð
à$&¨ð
à,.°ð
à46¸ð
à<>Àð
àDFÈØ��B˜˜B  B¨¨C°°c¸3ÀÀSØ�$˜˜d H¨hñ	
ˆð —J‘J–L‰DˆAÜœ q¨%Ó0°!Ö4ó !r   rJ   TrK   c                ó\  € / R R bRR bRRbRR bRR bRR bRRbR RbR!RbRRbR"RbR#RbRRbR$RbR%RbR	R	bR&R	b/ R'R
bRRbR(RbR)RbRRbR*RbR+RbRRbR,RbR-RbRRbR.RbR/RbRRbR0RbR1RbRRbCR2RR3RRRR4RR5RRRR6RR7R/CpVP                  4        F  w  r#\        \        VR4      V4       K  	  R# )8rO   i  `rP   rQ   i@¢®2rR   l     W:¶ rS   l    8ÝÓrT   l        n rU   l       ˜, rV   l        Í rW   l    @Õ�!RrX   l   € �aØØrY   l     ê+žKÿrZ   l    h»\ar[   l      >å9ùr\   TNr]   i¿ÇhiÁ=ui¿=ur^   i*‰ë2r_   l   ÿ· r`   l   Ÿ>å9ùra   l   ÿÿeØn rb   l   ÿ÷q…. rc   l   ÿÿ¢!Í l   î…hRrd   l   Š2 f;Ùre   l         rf   rg   l   ÿ_71Y!rh   l   ÿÿÿÿrj   ri   r�   rE   s   &   r   Útestprev_fast_len_bigÚ%TestPrevFastLen.testprev_fast_len_big¬   s!  € ð9
à�yð9
ð ˜9ð9
ð ˜9ð	9
ð �yð9
ð ˜9ð9
ð ˜9ð9
ð �yð9
ð ˜9ð9
ð ˜9ð9
ð ˜,ð9
ð ˜lð9
ð  ˜lð!9
ð$ ˜=ð%9
ð& ˜}ð'9
ð( ˜}ð)9
ð, ˜_ð-9
ð.   ñ/9
ð0   ð19
ð4 ˜_ð59
ð6   ð79
ð8   ð99
ð< Ð.ð=9
ð> !Ð"2ð?9
ð@ !Ð"2ðA9
ðD Ð0ðE9
ðF "Ð#4ðG9
ðH "Ð#4ðI9
ðL Ð0ðM9
ðN "Ð#4ðO9
ðP "Ð#4ðQ9
ðT Ð0ðU9
ðV "Ð#4ðW9
ðX "Ð#4ðY9
ð\ Ð0ñ]9
ð^ "Ð#4Ø!Ð#4àÐ 2Ø"Ð$6Ø"Ð$6àÐ 2Ø"Ð$6Ø"Ð$6ñq9
ˆðt —J‘J–L‰DˆAÜœ q¨$Ó/°Ö3ó !r   c                óV   € \        ^RR7      ^
8X  g   Q h\        ^RR7      ^8X  g   Q hR# rn   )r   )r,   s   &r   rt   Ú!TestPrevFastLen.test_keyword_argsí   rv   r   r#   Nrw   )rx   ry   rz   r{   r‹   r=   r‘   r|   r}   r~   r   r€   r�   r”   rt   r‚   rƒ   r„   s   @r   r‡   r‡      s[   ø‡ € ò#ò	Bò5ð" ‡[�[×Ñ�s—{‘{ UÑ*ØDØ(°ð ó 7ñ<4ó7ð<4÷|8ð 8r   r‡   T)Úcpu_onlyc                   óh   a € ] tR t^òt o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tRtV tR# )ÚTest_init_nd_shape_and_axesc                ót   € VP                  ^4      pRpRpRp. p\        W#V4      w  rxWu8X  g   Q hW†8X  g   Q hR# )é   Nr#   ©Úasarrayr   ©	r,   rs   r   ÚshapeÚaxesÚshape_expectedÚaxes_expectedÚ	shape_resÚaxes_ress	   &&       r   Útest_py_0d_defaultsÚ/Test_init_nd_shape_and_axes.test_py_0d_defaultsõ   sJ   € Ø�J‰J�q‹MˆØˆØˆàˆØˆä5°aÀÓEÑˆ	àÔ*Ð*Ð*ØÔ(Ð(Ò(r   c                ót   € VP                  R 4      pRpRpRp. p\        W#V4      w  rxWu8X  g   Q hW†8X  g   Q hR# )g      @Nr#   r�   rŸ   s	   &&       r   Útest_xp_0d_defaultsÚ/Test_init_nd_shape_and_axes.test_xp_0d_defaults  sJ   € Ø�J‰J�r‹NˆØˆØˆàˆØˆä5°aÀÓEÑˆ	àÔ*Ð*Ð*ØÔ(Ð(Ò(r   c                óz   € VP                  . RO4      pRpRpRp^ .p\        W#V4      w  rxWu8X  g   Q hW†8X  g   Q hR# )r    N©r    r   é   )r­   r�   rŸ   s	   &&       r   Útest_py_1d_defaultsÚ/Test_init_nd_shape_and_axes.test_py_1d_defaults  sM   € Ø�J‰J’yÓ!ˆØˆØˆàˆØ˜ˆä5°aÀÓEÑˆ	àÔ*Ð*Ð*ØÔ(Ð(Ò(r   c                óz   € VP                  ^ ^R4      pRpRpRp^ .p\        W#V4      w  rxWu8X  g   Q hW†8X  g   Q hR# )é    çš™™™™™¹?N)é
   )Úaranger   rŸ   s	   &&       r   Útest_xp_1d_defaultsÚ/Test_init_nd_shape_and_axes.test_xp_1d_defaults  sQ   € Ø�I‰I�a˜˜BÓˆØˆØˆàˆØ˜ˆä5°aÀÓEÑˆ	àÔ*Ð*Ð*ØÔ(Ð(Ò(r   c                ó„   € VP                  . RO. RO.4      pRpRpRp^ ^.p\        W#V4      w  rxWu8X  g   Q hW†8X  g   Q hR# )r    N)r    r   r­   rœ   )é   é   é   é   )r   rœ   r�   rŸ   s	   &&       r   Útest_py_2d_defaultsÚ/Test_init_nd_shape_and_axes.test_py_2d_defaults)  sY   € Ø�J‰JšÚ$ð&ó 'ˆàˆØˆàˆØ˜A˜ˆä5°aÀÓEÑˆ	àÔ*Ð*Ð*ØÔ(Ð(Ò(r   c                ó    € VP                  ^ ^R4      pVP                  VR4      pRpRpRp^ ^.p\        W#V4      w  rxWu8X  g   Q hW†8X  g   Q hR# )r±   r²   N)r¸   r   )r´   Úreshaper   rŸ   s	   &&       r   Útest_xp_2d_defaultsÚ/Test_init_nd_shape_and_axes.test_xp_2d_defaults7  sc   € Ø�I‰I�a˜˜BÓˆØ�J‰J�q˜&Ó!ˆØˆØˆàˆØ˜A˜ˆä5°aÀÓEÑˆ	àÔ*Ð*Ð*ØÔ(Ð(Ò(r   c                ó|   € VP                  . RO4      pRpRpRp. ROp\        W#V4      w  rxWu8X  g   Q hW†8X  g   Q hR# )r¹   N©r¹   r   r¸   r­   rœ   ©r±   r    r   r­   rœ   ©Úzerosr   rŸ   s	   &&       r   Útest_xp_5d_defaultsÚ/Test_init_nd_shape_and_axes.test_xp_5d_defaultsE  sK   € Ø�H‰H’_Ó%ˆØˆØˆà(ˆÚ'ˆä5°aÀÓEÑˆ	àÔ*Ð*Ð*ØÔ(Ð(Ò(r   c                ó€   € VP                  . RO4      p. ROpRpRp. ROp\        W#V4      w  rxWu8X  g   Q hW†8X  g   Q hR# )r¹   NrÃ   )r³   éÿÿÿÿrÊ   r    rœ   )r³   r   r¸   r    rœ   rÄ   rÅ   rŸ   s	   &&       r   Útest_xp_5d_set_shapeÚ0Test_init_nd_shape_and_axes.test_xp_5d_set_shapeR  sK   € Ø�H‰H’_Ó%ˆÚ"ˆØˆà)ˆÚ'ˆä5°aÀÓEÑˆ	àÔ*Ð*Ð*ØÔ(Ð(Ò(r   c                ó€   € VP                  . RO4      pRp. ROpRp. ROp\        W#V4      w  rxWu8X  g   Q hW†8X  g   Q hR# )r¹   NrÃ   )rœ   r    r   )rœ   r   r¸   rÅ   rŸ   s	   &&       r   Útest_xp_5d_set_axesÚ/Test_init_nd_shape_and_axes.test_xp_5d_set_axes_  sK   € Ø�H‰H’_Ó%ˆØˆÚˆà"ˆÚ!ˆä5°aÀÓEÑˆ	àÔ*Ð*Ð*ØÔ(Ð(Ò(r   c                ó„   € VP                  . RO4      p. ROp. ROpRp. ROp\        W#V4      w  rxWu8X  g   Q hW†8X  g   Q hR# )r¹   NrÃ   )r³   rÊ   r   )r    r±   r­   )r³   r¹   r   rÅ   rŸ   s	   &&       r   Útest_xp_5d_set_shape_axesÚ5Test_init_nd_shape_and_axes.test_xp_5d_set_shape_axesl  sK   € Ø�H‰H’_Ó%ˆÚˆÚˆà#ˆÚ!ˆä5°aÀÓEÑˆ	àÔ*Ð*Ð*ØÔ(Ð(Ò(r   c                óp   € VP                  R4      p\        VRRR7      w  r4VR8X  g   Q hV. RO8X  g   Q hR# )r   N©r    r¡   )r   r­   rœ   r¸   )r¸   r¸   r¸   r¬   rÅ   )r,   rs   r   r    r¡   s   &&   r   Útest_shape_axes_subsetÚ2Test_init_nd_shape_and_axes.test_shape_axes_subsety  s<   € Ø�H‰H�\Ó"ˆÜ-¨a°yÀtÔL‰ˆà˜	Ô!Ð!Ð!Ø’yÔ Ð Ò r   c           	     óÈ  € VP                  ^4      p\        \        RR7      ;_uu_ 4        \        VR^^.^^..R7       RRR4       \        \        RR7      ;_uu_ 4        \        VR. ROR7       RRR4       \        \        RR7      ;_uu_ 4        \        VR^.R7       RRR4       \        \        RR7      ;_uu_ 4        \        VRR.R7       RRR4       \        \        RR7      ;_uu_ 4        \        VR^ ^ .R7       RRR4       \        \        RR7      ;_uu_ 4        \        V^^.^^..RR7       RRR4       \        \        RR7      ;_uu_ 4        \        V. RORR7       RRR4       \        \        RR7      ;_uu_ 4        \        VP                  . RO4      . RO^.R7       RRR4       \        \        R	R7      ;_uu_ 4        \        V^ .RR7       RRR4       \        \        R
R7      ;_uu_ 4        \        VRRR7       RRR4       R#   + '       g   i     ELæ; i  + '       g   i     ELÈ; i  + '       g   i     EL«; i  + '       g   i     ELŽ; i  + '       g   i     ELp; i  + '       g   i     ELN; i  + '       g   i     EL0; i  + '       g   i     EL ; i  + '       g   i     Lâ; i  + '       g   i     R# ; i)r    z-axes must be a scalar or iterable of integers)ÚmatchNrÔ   z$axes exceeds dimensionality of inputzall axes must be uniquez.shape must be a scalar or iterable of integerszBwhen given, axes and shape arguments have to be of the same lengthz1invalid number of data points \(\[0\]\) specifiedz2invalid number of data points \(\[-2\]\) specified)g      ð?g       @g      @g      @éþÿÿÿ)r    r    r    r    r¬   )rÆ   Úassert_raisesr�   r   )r,   rs   r   s   && r   Útest_errorsÚ'Test_init_nd_shape_and_axes.test_errors€  st  € Ø�H‰H�Q‹KˆÜœ:ð .2÷ 3ö 3ä# A¨T¸!¸Q¸À!ÀQÀÐ8HÕI÷3ô œ:ð .2÷ 3ö 3ä# A¨TÒ8HÕI÷3ô œ:Ø!G÷Iö Iä# A¨T¸¸Õ<÷Iô œ:Ø!G÷Iö Iä# A¨T¸¸Õ=÷Iô œ:Ø!:÷<ö <ä# A¨T¸¸A¸Õ?÷<ô œ:ð .2÷ 3ö 3ä# A¨q°!¨f°q¸!°fÐ-=ÀDÕI÷3ô œ:ð .2÷ 3ö 3ä# AÒ-=ÀDÕI÷3ô œ:ð"<÷=ö =ô $ B§H¡Hª\Ó$:Ú*3¸1¸#õ?÷=ô œ:ð"3÷4ö 4ô $ A¨a¨S°tÕ<÷4ô
 œ:ð"4÷5ö 5ô $ A¨R°dÕ;÷5ñ 5÷O3÷ 3ð 3ú÷3÷ 3ð 3ú÷I÷ Ið Iú÷I÷ Ið Iú÷<÷ <ð <ú÷3÷ 3ð 3ú÷3÷ 3ð 3ú÷=÷ =ð =ú÷4÷ 4ú÷
5÷ 5ð 5úsw   «HÁ!H1ÂIÃIÃ5I-Ä'JÅJÆ#J)ÇJ=ÈKÈH.	È1I	ÉI	ÉI*	É-I>	ÊJ	ÊJ&	Ê)J:	Ê=K	ËK!	r#   N)rx   ry   rz   r{   r¦   r©   r®   rµ   r¼   rÀ   rÇ   rË   rÎ   rÑ   rÕ   rÛ   r‚   rƒ   r„   s   @r   rš   rš   ò   sF   ø‡ € ò)ò)ò)ò)ò)ò)ò)ò)ò)ò)ò!÷,<ð ,<r   rš   c                   ó8   a € ] tR tRt o R tR tR tR tRtV t	R# )ÚTestFFTShifti¯  c                óž  € VP                  . RO4      pVP                  . RO4      p\        \        P                  ! V4      V4       \        \        P                  ! V4      V4       VP                  . RO4      pVP                  . RO4      p\        \        P                  ! V4      V4       \        \        P                  ! V4      V4       R# )ç        N)	rà   r    r   r­   rœ   éüÿÿÿéýÿÿÿrÙ   rÊ   )	g      Àrâ   rÙ   rÊ   r±   r    r   r­   rœ   )
rà   r    r   r­   rœ   éûÿÿÿrá   râ   rÙ   rÊ   )
g      Àrá   râ   rÙ   rÊ   r±   r    r   r­   rœ   ©rž   r   r	   ÚfftshiftÚ	ifftshift)r,   rs   r   rG   s   &&  r   Útest_definitionÚTestFFTShift.test_definition±  sˆ   € Ø�J‰JÒ7Ó8ˆØ�J‰JÒ7Ó8ˆÜœŸš Q›¨Ô+ÜœŸš aÓ(¨!Ô,Ø�J‰JÒ;Ó<ˆØ�J‰JÒ;Ó<ˆÜœŸš Q›¨Ô+ÜœŸš aÓ(¨!Ö,r   c                óÞ   € R Ff  pVP                  \        P                  P                  V34      4      p\        \        P
                  ! \        P                  ! V4      4      V4       Kh  	  R# )r    N)r    rœ   é	   éd   éÓ   )rž   r(   r)   r   r	   ræ   rå   )r,   rs   r   r   s   &&  r   Útest_inverseÚTestFFTShift.test_inverse»  sF   € Û$ˆAØ—
‘
œ2Ÿ9™9×+Ñ+¨Q¨DÓ1Ó2ˆAÜœCŸMšM¬#¯,ª,°q«/Ó:¸AÖ>ó %r   c                óV  € VP                  . RO. RO. RO.4      pVP                  . RO. RO. RO.4      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à   ©r¡   N)rà   r    r   )r­   rœ   rá   )râ   rÙ   rÊ   )g      ð¿râ   rÙ   )r   r±   r    )rá   r­   rœ   ©r±   r    ©r±   rä   )r,   rs   ÚfreqsÚshifteds   &&  r   Útest_axes_keywordÚTestFFTShift.test_axes_keywordÀ  s¿   € Ø—
‘
šJª
²LÐAÓBˆØ—*‘*šmªYº
ÐCÓDˆÜœŸš U°Ô8¸'ÔBÜœŸš U°Ô3´S·\²\À%ÈdÔ5SÔTÜœŸš g°FÔ;¸UÔCÜœŸš g°AÔ6ÜŸš g°DÔ9ô	;äœŸš UÓ+¨WÔ5ÜœŸš gÓ.°Ö6r   c                óð  € VP                  ^ ^.^^.^^..VP                  R7      pVP                  ^^.^ ^.^^..VP                  R7      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       VP                  ^^ .^^.^^..VP                  R7      p\        \        P                  ! V^R7      V4       \        \        P
                  ! V^R7      V4       VP                  ^^.^^ .^^..VP                  R7      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 ©Údtyperð   Nrò   rñ   )rž   Úfloat64r   r	   rå   ræ   )r,   rs   ró   Ú
shift_dim0Ú
shift_dim1Úshift_dim_boths   &&    r   Útest_uneven_dimsÚTestFFTShift.test_uneven_dimsË  s  € à—
‘
Ø�ˆFØ�ˆFØ�ˆFð
ð —‘ð	 ó ˆð —Z‘ZØ�ˆFØ�ˆFØ�ˆFð!
ð —‘ð	  ó ˆ
ô
 	œŸš U°Ô3°ZÔ@ÜœŸš j°qÔ9¸5ÔAÜœŸš U°Ô6¸
ÔCÜœŸš j¸°sÔ;¸UÔCð —Z‘ZØ�ˆFØ�ˆFØ�ˆFð!
ð —‘ð	  ó ˆ
ô
 	œŸš U°Ô3°ZÔ@ÜœŸš j°qÔ9¸5ÔAð Ÿ™Ø�ˆFØ�ˆFØ�ˆFð%
ð —‘ð	 $ó ˆô
 	œŸš U°Ô8¸.ÔIÜœŸš n¸6ÔBÀEÔJÜœŸš U°!°Q°Ô8¸.ÔIÜœŸš n¸A¸q¸6ÔBÀEÔJô 	œŸš U°Ô6¸ÔGÜœŸš n¸4Ô@À%ÔHÜœŸš UÓ+¨^Ô<ÜœŸš nÓ5°uÖ=r   r#   N)
rx   ry   rz   r{   rç   rí   rõ   rþ   r‚   rƒ   r„   s   @r   rÞ   rÞ   ¯  s   ø‡ € ò-ò?ò
	7÷+>ð +>r   rÞ   c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚTestFFTFreqiù  c                óT  € VP                  . ROVP                  R7      pVP                  . R	OVP                  R7      p^	\        P                  ! ^	VR7      ,          p\	        WBRRR7       ^	VP
                  ,          \        P                  ! ^	VP
                  VR7      ,          p\	        WBRR7       ^
\        P                  ! ^
VR7      ,          p\	        WCRR7       ^
VP
                  ,          \        P                  ! ^
VP
                  VR7      ,          p\	        WCRR7       R# )
r±   rø   ©rs   FT©Úcheck_dtypeÚcheck_namespace©r  N)	r±   r    r   r­   rœ   rá   râ   rÙ   rÊ   )
r±   r    r   r­   rœ   rã   rá   râ   rÙ   rÊ   )rž   rú   r	   Úfftfreqr   Úpi©r,   rs   r   Úx2rG   s   &&   r   rç   ÚTestFFTFreq.test_definitionú  sÌ   € Ø�J‰JÒ6¸b¿j¹jˆJÓIˆØ�Z‰ZÒ;À2Ç:Á:ˆZÓNˆð ”—’˜A "Ô%Õ%ˆÜ˜¨%ÀÕFà�—‘�IœŸš A r§u¡u°Ô4Õ4ˆÜ˜¨%Õ0à”—’˜R BÔ'Õ'ˆÜ˜¨5Õ1à�—‘�JœŸš R¨¯©°2Ô6Õ6ˆÜ˜¨5×1r   c                ó¤   € V FI  p\         P                  ! ^	WR7      pVP                  ^ VR7      p\        V4      \        V4      8X  d   KI  Q h	  R# ©rê   )rs   Údevice)r  N)r	   r  Úemptyr   ©r,   rs   Údevicesr   rG   r   s   &&&   r   Útest_deviceÚTestFFTFreq.test_device  sD   € ÛˆAÜ—’˜A "Ô/ˆAØ—‘˜ 1�Ó%ˆAÜ˜Q“<¤9¨Q£<Ö/Ð/Ð/ó r   r#   N©rx   ry   rz   r{   rç   r  r‚   rƒ   r„   s   @r   r  r  ù  s   ø‡ € ò2÷$0ð 0r   r  c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚTestRFFTFreqi  c                óT  € VP                  . ROVP                  R7      pVP                  . R	OVP                  R7      p^	\        P                  ! ^	VR7      ,          p\	        WBRRR7       ^	VP
                  ,          \        P                  ! ^	VP
                  VR7      ,          p\	        WBRR7       ^
\        P                  ! ^
VR7      ,          p\	        WCRR7       ^
VP
                  ,          \        P                  ! ^
VP
                  VR7      ,          p\	        WCRR7       R# )
r±   rø   r  FTr  r  NrÄ   )r±   r    r   r­   rœ   r¸   )rž   rú   r	   Úrfftfreqr   r	  r
  s   &&   r   rç   ÚTestRFFTFreq.test_definition  sË   € Ø�J‰J’¨b¯j©jˆJÓ9ˆØ�Z‰ZÒ*°"·*±*ˆZÓ=ˆð ”—’˜Q 2Ô&Õ&ˆÜ˜¨%ÀÕFà�—‘�IœŸš Q¨¯©°"Ô5Õ5ˆÜ˜¨%Õ0à”—’˜b RÔ(Õ(ˆÜ˜¨5Õ1à�—‘�JœŸš b¨"¯%©%°BÔ7Õ7ˆÜ˜¨5×1r   c                ó¤   € V FI  p\         P                  ! ^	WR7      pVP                  ^ VR7      p\        V4      \        V4      8X  d   KI  Q h	  R# r  )r	   r  r  r   r  s   &&&   r   r  ÚTestRFFTFreq.test_device'  sD   € ÛˆAÜ—’˜Q 2Ô0ˆAØ—‘˜ 1�Ó%ˆAÜ˜Q“<¤9¨Q£<Ö/Ð/Ð/ó r   r#   Nr  r„   s   @r   r  r    s   ø‡ € ò2÷$0ð 0r   r  )r   r­   rœ   r¸   r¹   r»   rê   r³   é   i˜  i  )Ú__doc__Úscipy.fft._helperr   r   r   Únumpy.testingr   r|   r   rÚ   Únumpyr(   r   Úscipy._lib._array_apir   r   Úscipyr	   r}   Úskip_xp_backendsr   r   r   r   r‡   rš   rÞ   r  r  r#   r   r   Ú<module>r%     s§   ðñ÷ TÑ SÝ &Ý *Û Û Û 
ß <Ý à—;‘;×/Ñ/Ð òÐ ò*ò
:÷,G8ñ G8÷Tp8ñ p8ñf ˜4Ô ÷y<ð y<ó !ðy<÷xG>ñ G>÷T0ñ 0÷40ó 0r   