+
    X°³jIb  ã                   ó>  € ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtH	t	H
t
Ht R t ! R R4      t ! R R4      t]P                  P!                  R	]P"                  ]P$                  ]P&                  ]P(                  .4      ]P                  P!                  R
RR.4      ]P                  P!                  R]P*                  P*                  ]P*                  P,                  ]P*                  P.                  ]P*                  P0                  ]P*                  P2                  ]P*                  P4                  .4      R 4       4       4       t]P                  P!                  R
RR.4      ]P                  P!                  R. RO4      R 4       4       t]P                  P;                  ]RR7       ! R R4      4       tR tR t ]P                  P!                  R]P*                  P*                  ]P*                  P0                  ]P*                  PB                  ]P*                  PD                  .4      ]P                  P!                  R]PF                  ! . RO4      ]PH                  ! ^
]PJ                  R7      ]PH                  ! ^]PL                  R7      .4      R 4       4       t'R# )é    N)Úrandom)ÚIS_WASMÚassert_allcloseÚassert_array_equalÚassert_raisesc                 óJ  € \        V 4      pR\        P                  ,          \        P                  ! V4      V,          ,          p\        P                  ! V4      P	                  R^4      V,          p\        P
                  ! V \        P                  ! V4      ,          ^R7      # )y               @©Úaxisy       €       Àéÿÿÿÿ)ÚlenÚnpÚpiÚarangeÚreshapeÚsumÚexp)ÚxÚLÚphases   &  Ú_/home/luca/screen-checking/.venv/lib/python3.14/site-packages/numpy/fft/tests/test_pocketfft.pyÚfft1r      sg   € ÜˆA‹€AØ”"—%‘%�Kœ2Ÿ9š9 Q›<¨!Õ+Õ,€EÜ�IŠI�a‹L× Ñ   QÓ'¨%Õ/€EÜ�6Š6�!”b—f’f˜U“mÕ#¨!Ô,Ð,ó    c                   ó&   a € ] tR t^t o R tRtV tR# )ÚTestFFTShiftc                ó^   € \        \        \        P                  P                  . RO^ 4       R# )é   N)r   é   é   )r   Ú
ValueErrorr   Úfft)Úselfs   &r   Ú
test_fft_nÚTestFFTShift.test_fft_n   s   € Ü”j¤"§&¡&§*¡*ªi¸Ö;r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r"   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s   ø‡ € ÷<ð <r   r   c            	       óh	  a € ] tR t^t o R t]P                  P                  R]P                  ]P                  ]P                  .4      R 4       t]P                  P                  R]P                  ]P                  ]P                  .4      R 4       tR t]P                  P                  RR-4      ]P                  P                  R]]34      ]P                  P                  RR.4      R 4       4       4       t]P                  P                  R^ ^.4      R	 4       tR
 t]P                  P                  RR/4      R 4       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 R t!R t"R t#R t$R t%]P                  P                  R]PL                  PN                  ]PL                  PP                  ]PL                  PR                  ]PL                  PT                  .4      R  4       t+]P                  P                  R]PL                  PN                  ]PL                  PP                  ]PL                  PX                  ]PL                  PZ                  .4      R! 4       t.]P                  P                  R]PL                  PN                  ]PL                  PP                  ]PL                  PR                  ]PL                  PT                  .4      R" 4       t/]P                  P                  R]PL                  PX                  ]PL                  PZ                  .4      R# 4       t0]P                  P                  R]PL                  PN                  ]PL                  PP                  ]PL                  PR                  ]PL                  PT                  ]PL                  PX                  ]PL                  PZ                  .4      R$ 4       t1R% t2]P                  P                  R&. R0O4      ]P                  P                  R]]34      ]P                  P                  RR.4      R' 4       4       4       t3]P                  P                  R(]PL                  PN                  ]PL                  PP                  ]PL                  PR                  .4      R) 4       t4]P                  P                  R*R1R2.4      R+ 4       t5R,t6V t7R# )3Ú	TestFFT1Dc           
     óÄ  € R p\        V4      R\        V4      ,          ,           p\        V4      p\        ^V4       F   p\        \        P                  P                  \        P                  P	                  V^ V 4      4      V^ V RR7       \        \        P                  P                  \        P                  P                  V^ V 4      V4      V^ V RR7       K¢  	  R# )i   ù              ð?gê-�™—q=©ÚatolN)r   Úranger   r   r    ÚifftÚirfftÚrfft)r!   Úmaxlenr   ÚxrÚis   &    r   Útest_identityÚTestFFT1D.test_identity   s¤   € ØˆÜ�6‹N˜R¤&¨£.Õ0Õ0ˆÜ�F‹^ˆÜ�q˜&Ö!ˆAÜœBŸF™FŸK™K¬¯©¯
©
°1°Q°q°6Ó(:Ó;¸Q¸qÀ¸VØ!&õ(äœBŸF™FŸL™L¬¯©¯©°R¸¸!°WÓ)=¸qÓAØ˜q ˜G¨%÷1ó "r   Údtypec                ó¨  € ^p^\         P                  ! \         P                  ! RVR7      4      ,          p\        V4      P	                  V4      R\        V4      P	                  V4      ,          ,           p\         P
                  ! V\         P                  ! V4      .4      p\        V4      P	                  V4      p\         P
                  ! V\         P                  ! V4      .4      p\        ^V^,          4       FÓ  p\         P                  P                  \         P                  P                  WHR7      VR7      p	V	P                  P                  V8X  g   Q h\        W•^ V V^ R7       \         P                  P                  \         P                  P                  WhR7      VR7      p
V
P                  V8X  g   Q h\        W§^ V V^ R7       KÕ  	  R# ©é   ç      ð?©r<   r0   ©Ún©r2   ÚrtolN)r   ÚspacingÚarrayr   ÚastypeÚconcatenateÚ
zeros_liker3   r    r4   Úrealr<   r   r5   r6   )r!   r<   r7   r2   r   Úxxr8   Úxxrr9   Úcheck_cÚcheck_rs   &&         r   Útest_identity_long_shortÚ"TestFFT1D.test_identity_long_short$   sM  € ð ˆØ”2—:’:œbŸhšh r°Ô7Ó8Õ8ˆÜ�6‹N×!Ñ! %Ó(¨2´°v³×0EÑ0EÀeÓ0LÕ+LÕLˆÜ�^Š^˜Q¤§¢¨aÓ 0Ð1Ó2ˆÜ�F‹^×"Ñ" 5Ó)ˆÜ�nŠn˜b¤"§-¢-°Ó"3Ð4Ó5ˆÜ�q˜& 1�*Ö%ˆAÜ—f‘f—k‘k¤"§&¡&§*¡*¨Q *Ó"4¸�kÓ:ˆGØ—<‘<×%Ñ%¨Ô.Ð.Ð.Ü˜G¨¨! W°4¸aÕ@Ü—f‘f—l‘l¤2§6¡6§;¡;¨r ;Ó#7¸1�lÓ=ˆGØ—=‘= EÔ)Ð)Ð)Ü˜G¨¨1 X°D¸q×Aó &r   c                ó2  € ^p^\         P                  ! \         P                  ! RVR7      4      ,          p\        V4      P	                  V4      R\        V4      P	                  V4      ,          ,           p\         P
                  ! V\         P                  ! V4      .4      p\        ^V^,          4       EF]  p\         P                  P                  \         P                  P                  WFR7      VR7      pVP                  VP                  8X  g   Q h\        Wu^ V V^ R7       VP                  4       pV^,          ^,           p	^ VP                  ^ &   V^,          ^ 8X  d   ^ VP                  V	^,
          R% \         P
                  ! V\         P                  ! V4      .4      p
\         P                  P                  \         P                  P                  WFR7      VR7      pVP                  VP                  8X  g   Q h\        Wº^ V	 V^ R7       EK`  	  R# r>   )r   rF   rG   r   rH   rI   rJ   r3   r    r4   r<   r   ÚcopyÚimagr6   r5   )r!   r<   r7   r2   r   rL   r9   Úcheck_via_cÚyrC   ÚyyÚcheck_via_rs   &&          r   Ú!test_identity_long_short_reversedÚ+TestFFT1D.test_identity_long_short_reversed6   s‡  € ð ˆØ”2—:’:œbŸhšh r°Ô7Ó8Õ8ˆÜ�6‹N×!Ñ! %Ó(¨2´°v³×0EÑ0EÀeÓ0LÕ+LÕLˆÜ�^Š^˜Q¤§¢¨aÓ 0Ð1Ó2ˆÜ�q˜& 1�*×%ˆAÜŸ&™&Ÿ*™*¤R§V¡V§[¡[° [Ó%8¸A˜*Ó>ˆKØ×$Ñ$¨¯©Ô/Ð/Ð/Ü˜K¨A¨a¨°tÀ!ÕDð —‘“ˆAØ�Q•˜•
ˆAØˆA�F‰F�1‰IØ�1�u˜ŒzØ!"�—‘�q˜1•u�v�Ü—’ ¤B§M¢M°!Ó$4Ð 5Ó6ˆBÜŸ&™&Ÿ+™+¤b§f¡f§l¡l°1 lÓ&:¸a˜+Ó@ˆKØ×$Ñ$¨¯©Ô/Ð/Ð/Ü˜K¨A¨a¨°tÀ!×DÐDó &r   c                ó:  € \        ^4      R\        ^4      ,          ,           p\        \        V4      \        P                  P	                  V4      RR7       \        \        V4      \        P                  P	                  VRR7      RR7       \        \        V4      \        P
                  ! ^4      ,          \        P                  P	                  VRR7      RR7       \        \        V4      R,          \        P                  P	                  VRR7      RR7       R	# )
é   r0   ç�íµ ÷Æ°>r1   Úbackward©ÚnormÚorthoç      >@ÚforwardN)r   r   r   r   r    Úsqrt©r!   r   s   & r   Útest_fftÚTestFFT1D.test_fftN   s°   € Ü�2‹J˜œf R›j�Õ(ˆÜœ˜Q›¤§¡§¡¨A£°TÕ:Üœ˜Q›¤§¡§¡¨A°J Ó!?ÀdÕKÜœ˜Q›¤"§'¢'¨"£+Õ-ÜŸ™Ÿ
™
 1¨7˜
Ó3¸$õ	@äœ˜Q› #�ÜŸ™Ÿ
™
 1¨9˜
Ó5¸D÷	Br   r
   Ú	transposec                ó  a€ V3R  lpV\         J dW   \        R4      R\        R4      ,          ,           p\        P                  P                  \        P                  P                  rvM>\        R4      p\        P                  P
                  \        P                  P                  rvV! WSR7      pV! V4      p	V! WYVR7      p
W©J g   Q h\        W¨4       V! WƒR7      pV\         J d   T	MV! V4      pV! WœVR7      pWÜJ g   Q h\        WÛ4       R# )c                 ó”   <€ S'       d+   \         P                  ! V P                  4      P                  # \         P                  ! V 4      # ©N©r   rJ   ÚT©r   rh   s   &€r   rJ   Ú3TestFFT1D.test_fft_out_argument.<locals>.zeros_like[   ó.   ø€ ßÜ—}’} Q§S¡SÓ)×+Ñ+Ð+ä—}’} QÓ'Ð'r   r0   r	   )Úoutr
   N)é
   é   )Úcomplexr   r   r    r4   r6   r5   r   )r!   r<   rh   r
   rJ   rV   r    r4   Úexpectedrq   ÚresultÚ	expected2Úout2Úresult2s   &&f&          r   Útest_fft_out_argumentÚTestFFT1D.test_fft_out_argumentW   sÐ   ø€ õ	(ð ”GÓÜ�xÓ  2¬¨xÓ(8Õ#8Õ8ˆAÜŸ™Ÿ
™
¤B§F¡F§K¡K‘ä�xÓ ˆAÜŸ™Ÿ™¤R§V¡V§\¡\�á�qÔ$ˆÙ˜Ó"ˆÙ�Q dÔ+ˆØ‹}Ðˆ}Ü˜6Ô,á˜Ô-ˆ	ØœwÓ&‰s©J°yÓ,AˆÙ�s¨4Ô0ˆØ‹ÐˆÜ˜7Ö.r   c                ó¶  € \        R4      R\        R4      ,          ,           pVP                  4       p\        P                  P                  W1R7      p\        P                  P                  W1VR7      pWSJ g   Q h\	        WT4       VP                  4       pV^ 8X  d
   VR,          MVR,          p\        P                  P                  V^
VR7      p\        P                  P                  V^
WR7      p	W—J g   Q h\	        W˜4       V^ 8X  d   \	        VR,          VR,          4       M\	        VR,          VR,          4       VP                  4       p
V^ 8X  d
   V
R	,          MV
R,          pV^ 8X  d
   V
R
,          MV
R,          p\        P                  P                  V^
VR7      p\        P                  P                  V^
WR7      pWìJ g   Q h\	        Wí4       V^ 8X  d6   \	        V
R,          VR,          4       \	        V
R,          VR,          4       M4\	        V
R,          VR,          4       \	        V
R,          VR,          4       VP                  4       pV^ 8X  d
   VR,          MVR,          pV^ 8X  d
   VR,          MVR,          p\        P                  P                  V^VR7      p\        P                  P                  V^VVR7      pVVJ g   Q h\	        VV4       V^ 8X  d   \	        VR,          VR,          4       M\	        VR,          VR,          4       VP                  4       pVP
                  p\        P                  P                  VVVR7      pVVJ g   Q h\	        VV4       VP                  4       pV^ 8X  d   VRRR1,          MVRRRR13,          p\        P                  P                  VVVR7      pVVJ g   Q h\	        VV4       R# )rs   r0   r	   )r
   rq   ºNrr   NºNNN)rC   r
   )rC   r
   rq   ºrr   NNºé   NNºr�   é   NºNr�   Nºrƒ   NNºNrƒ   NN)rs   rs   )r~   r}   )r~   r   )r~   r€   )r~   r‚   )r~   r„   )r~   r…   )r~   r†   r   )r   rS   r   r    r   rm   )r!   r
   rV   Úy1Ú	expected1Úresult1Úy2rx   rw   ry   Úy3Úy3_selÚout3Ú	expected3Úresult3Úy4Úy4_selÚout4Ú	expected4Úresult4Úy5Úout5Úresult5Úy6Úout6Úresult6s   &&                        r   Útest_fft_inplace_outÚTestFFT1D.test_fft_inplace_outu   sû  € ô �8Ó˜r¤F¨8Ó$4Õ4Õ4ˆà�V‰V‹XˆÜ—F‘F—J‘J˜r�JÓ-ˆ	Ü—&‘&—*‘*˜R°�*Ó3ˆØ‹}Ðˆ}Ü˜7Ô.à�V‰V‹XˆØ !œ)ˆr�#Žw¨¨F­ˆÜ—F‘F—J‘J˜r R¨d�JÓ3ˆ	Ü—&‘&—*‘*˜R 2¨D�*Ó;ˆØ‹ÐˆÜ˜7Ô.Ø�1Œ9Ü˜r #�w¨¨#­Õ/ä˜r &�z¨1¨V­9Ô5à�V‰V‹XˆØ 1œ9��B–¨"¨U­)ˆØ 1œ9ˆr�$Žx¨"¨W­+ˆÜ—F‘F—J‘J˜v¨°$�JÓ7ˆ	Ü—&‘&—*‘*˜V r°�*Ó?ˆØ‹ÐˆÜ˜7Ô.Ø�1Œ9Ü˜r "�v q¨¥uÔ-Ü˜r #�w¨¨#­Õ/ä˜r %�y¨!¨E­(Ô3Ü˜r &�z¨1¨V­9Ô5à�V‰V‹XˆØ  AœI��C–¨2¨f­:ˆØ !œ)ˆr�#Žw¨¨F­ˆÜ—F‘F—J‘J˜v¨°$�JÓ7ˆ	Ü—&‘&—*‘*˜V r°¸$�*Ó?ˆØ˜$‹ÐˆÜ˜7 IÔ.Ø�1Œ9Ü˜r #�w¨¨#­Õ/ä˜r &�z¨1¨V­9Ô5à�V‰V‹XˆØ�t‰tˆÜ—&‘&—*‘*˜R d°�*Ó5ˆØ˜$‹ÐˆÜ˜7 IÔ.à�V‰V‹XˆØ 1œ9ˆr‘$�B�$Žx¨"¨Q±°"°¨W­+ˆÜ—&‘&—*‘*˜R d°�*Ó5ˆØ˜$‹ÐˆÜ˜7 IÖ.r   c           
     óö  € \         P                  ! R 4      p\        P                  ! \        RR7      ;_uu_ 4        \         P
                  P                  VRR7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \         P
                  P                  V\         P                  ! V4      P                  ^R	4      R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \         P
                  P                  V\         P                  ! V\        R7      R7       RRR4       R#   + '       g   i     Lì; i  + '       g   i     L�; i  + '       g   i     R# ; i)
rb   zmust be of ArrayType©ÚmatchÚ ©rq   Núhas wrong shapezCannot castrA   r   )
r   r   ÚpytestÚraisesÚ	TypeErrorr    r   rJ   r   Úfloatre   s   & r   Útest_fft_bad_outÚTestFFT1D.test_fft_bad_out±   sÐ   € Ü�IŠI�c‹NˆÜ�]Š]œ9Ð,B×CÖCÜ�F‰F�J‰J�q˜bˆJÔ!÷ Dä�]Š]œ:Ð->×?Ö?Ü�F‰F�J‰J�qœbŸmšm¨AÓ.×6Ñ6°q¸"Ó=ˆJÔ>÷ @ä�]Š]œ9¨M×:Ö:Ü�F‰F�J‰J�qœbŸmšm¨A´UÔ;ˆJÔ<÷ ;Ñ:÷	 D×Cúç?×?úç:×:Ð:ús$   »"EÂ	AEÃ;<E'ÅE	ÅE$	Å'E8	r`   Nc           
     ó¤  € \        ^4      R\        ^4      ,          ,           p\        V\        P                  P	                  \        P                  P                  W!R7      VR7      RR7       \
        P                  ! \        RR7      ;_uu_ 4        \        P                  P	                  . VR7       RRR4       R#   + '       g   i     R# ; i)r\   r0   r_   r]   r1   z!Invalid number of FFT data pointsrž   N)r   r   r   r    r4   r£   r¤   r   )r!   r`   r   s   && r   Ú	test_ifftÚTestFFT1D.test_ifftº   s�   € ä�2‹J˜œf R›j�Õ(ˆÜØŒr�v‰v�{‰{œ2Ÿ6™6Ÿ:™: a˜:Ó3¸$ˆ{Ó?Øõ	ô �]Š]œ:Ø!D÷Fö Fä�F‰F�K‰K˜ ˆKÔ&÷F÷ F÷ Fò Fús   Â"B>Â>C	c           	     ó  € \        R
4      R\        R
4      ,          ,           p\        \        P                  P                  \        P                  P                  V^R7      ^ R7      \        P                  P	                  V4      RR7       \        \        P                  P	                  V4      \        P                  P	                  VRR7      RR7       \        \        P                  P	                  V4      \        P
                  ! R4      ,          \        P                  P	                  VRR7      RR7       \        \        P                  P	                  V4      R,          \        P                  P	                  VRR7      RR7       R	# ©r\   r0   r	   r]   r1   r^   r_   ra   rc   N©r\   rs   éX  ç     À‚@)r   r   r   r    Úfft2rd   re   s   & r   Ú	test_fft2ÚTestFFT1D.test_fft2Å   sò   € Ü�8Ó˜r¤F¨8Ó$4Õ4Õ4ˆÜœŸ™Ÿ
™
¤2§6¡6§:¡:¨a°a :Ó#8¸q˜
ÓAÜŸ™Ÿ™ A›¨Tõ	3äœŸ™Ÿ™ A›ÜŸ™Ÿ™ A¨J˜Ó7¸dõ	DäœŸ™Ÿ™ A›¬¯ª°Ó)9Õ9ÜŸ™Ÿ™ A¨G˜Ó4¸4õ	AäœŸ™Ÿ™ A›¨)Õ4ÜŸ™Ÿ™ A¨I˜Ó6¸T÷	Cr   c           	     ó  € \        R
4      R\        R
4      ,          ,           p\        \        P                  P	                  \        P                  P	                  V^R7      ^ R7      \        P                  P                  V4      RR7       \        \        P                  P                  V4      \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      \        P                  ! R4      ,          \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      R,          \        P                  P                  VRR7      RR7       R	# r­   )r   r   r   r    r4   Úifft2rd   re   s   & r   Ú
test_ifft2ÚTestFFT1D.test_ifft2Ð   sò   € Ü�8Ó˜r¤F¨8Ó$4Õ4Õ4ˆÜœŸ™Ÿ™¤B§F¡F§K¡K°¸ KÓ$:À˜ÓCÜŸ™Ÿ™ Q›¨dõ	4äœŸ™Ÿ™ Q›ÜŸ™Ÿ™ Q¨Z˜Ó8¸tõ	EäœŸ™Ÿ™ Q›¬"¯'ª'°'Ó*:Õ:ÜŸ™Ÿ™ Q¨W˜Ó5¸Dõ	BäœŸ™Ÿ™ Q›¨9Õ5ÜŸ™Ÿ™ Q¨Y˜Ó7¸d÷	Dr   c                ó¸   € \         P                  ! RR.RR..4      p\         P                  ! V4      p\         P                  P	                  WR7      pW2J g   Q hR# )r   r¡   Nù      ð?       @y      @      Ày      à?       Ày      @      ð?)r   rG   rJ   r    rµ   ©r!   Úzrq   rv   s   &   r   Útest_ifft2_outÚTestFFT1D.test_ifft2_outÛ   sK   € Ü�HŠH�v˜vÐ&¨°6Ð(:Ð;Ó<ˆÜ�mŠm˜AÓˆÜ—‘—‘˜a�Ó)ˆØ‹}ÐŠ}r   c                óZ  € \        R
4      R\        R
4      ,          ,           p\        \        P                  P                  \        P                  P                  \        P                  P                  V^R7      ^R7      ^ R7      \        P                  P	                  V4      RR7       \        \        P                  P	                  V4      \        P                  P	                  VRR7      RR7       \        \        P                  P	                  V4      \        P
                  ! R4      ,          \        P                  P	                  VRR7      RR7       \        \        P                  P	                  V4      R,          \        P                  P	                  VRR7      RR7       R	# ©r\   r0   r	   r]   r1   r^   r_   ra   rc   N©r\   rs   rr   ép  ç     p·@)r   r   r   r    Úfftnrd   re   s   & r   Ú	test_fftnÚTestFFT1D.test_fftná   s  € Ü�<Ó  2¬¨|Ó(<Õ#<Õ<ˆÜÜ�F‰F�J‰J”r—v‘v—z‘z¤"§&¡&§*¡*¨Q°Q *Ó"7¸a�zÓ@ÀqˆJÓIÜ�F‰F�K‰K˜‹N õ	'ô 	œŸ™Ÿ™ A›ÜŸ™Ÿ™ A¨J˜Ó7¸dõ	DäœŸ™Ÿ™ A›¬¯ª°Ó)>Õ>ÜŸ™Ÿ™ A¨G˜Ó4¸4õ	AäœŸ™Ÿ™ A›¨/Õ:ÜŸ™Ÿ™ A¨I˜Ó6¸T÷	Cr   c                óZ  € \        R
4      R\        R
4      ,          ,           p\        \        P                  P	                  \        P                  P	                  \        P                  P	                  V^R7      ^R7      ^ R7      \        P                  P                  V4      RR7       \        \        P                  P                  V4      \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      \        P                  ! R4      ,          \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      R,          \        P                  P                  VRR7      RR7       R	# r¿   )r   r   r   r    r4   Úifftnrd   re   s   & r   Ú
test_ifftnÚTestFFT1D.test_ifftní   s  € Ü�<Ó  2¬¨|Ó(<Õ#<Õ<ˆÜÜ�F‰F�K‰KœŸ™Ÿ™¤B§F¡F§K¡K°¸ KÓ$:À˜ÓCÈ!ˆKÓLÜ�F‰F�L‰L˜‹O $õ	(ô 	œŸ™Ÿ™ Q›ÜŸ™Ÿ™ Q¨Z˜Ó8¸tõ	EäœŸ™Ÿ™ Q›¬"¯'ª'°,Ó*?Õ?ÜŸ™Ÿ™ Q¨W˜Ó5¸Dõ	BäœŸ™Ÿ™ Q›¨?Õ;ÜŸ™Ÿ™ Q¨Y˜Ó7¸d÷	Dr   c                ó>  € \        ^4      pVP                  ^VP                  ,          3 EFm  pR	 F`  p\        \        P                  P	                  WVR7      RV^,          ^,            \        P                  P                  WVR7      RR7       Kb  	  \        \        P                  P                  WR7      \        P                  P                  WRR7      RR7       \        \        P                  P                  WR7      \        P                  ! V4      ,          \        P                  P                  WRR7      RR7       \        \        P                  P                  WR7      V,          \        P                  P                  WRR7      RR7       EKp  	  R# )
r\   Nr^   ra   rc   ©rC   r`   r]   r1   rB   ©Nr^   ra   rc   )r   Úsizer   r   r    r6   rd   )r!   r   rC   r`   s   &   r   Ú	test_rfftÚTestFFT1D.test_rfftù   s!  € Ü�2‹JˆØ—&‘&˜!˜aŸf™f�*Ô%ˆAÛ>�ÜÜ—F‘F—J‘J˜q¨D�JÓ1°-°A¸µF¸QµJÐ@Ü—F‘F—K‘K ¨T�KÓ2¸÷?ñ ?ô Ü—‘—‘˜A�Ó#Ü—‘—‘˜A¨�Ó4¸4õAô Ü—‘—‘˜A�Ó#¤b§g¢g¨a£jÕ0Ü—‘—‘˜A¨�Ó1¸õ>ô Ü—‘—‘˜A�Ó# aÕ'Ü—‘—‘˜A¨�Ó3¸$÷@ð @ó &r   c                óò   € \         P                  ! ^4      p^p\         P                  P                  W4      p\	        V\         P                  P                  VRV 4      RV^,          ^,            RR7       R# )é   Nç›+¡†›„=©rE   )r   r   r    r6   r   )r!   r   rC   rV   s   &   r   Útest_rfft_evenÚTestFFT1D.test_rfft_even
  sT   € Ü�IŠI�a‹LˆØˆÜ�F‰F�K‰K˜ÓˆÜ˜œ2Ÿ6™6Ÿ:™: a¨¨ eÓ,¨[¨a°1­f°q­jÐ9À×Fr   c                óØ   € \         P                  ! . RO4      p\         P                  P                  V4      p\	        V\         P                  P                  V4      R,          RR7       R# )r   :Nr   NrÒ   rÓ   N)r   r   r   r   éýÿÿÿ)r   rG   r    r6   r   )r!   r   rV   s   &  r   Útest_rfft_oddÚTestFFT1D.test_rfft_odd  s?   € Ü�HŠHÒ%Ó&ˆÜ�F‰F�K‰K˜‹NˆÜ˜œ2Ÿ6™6Ÿ:™: a›=¨Õ,°5×9r   c           
     ót  € \        ^4      p\        V\        P                  P	                  \        P                  P                  V4      4      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       R# )r\   r]   r1   r^   r_   ra   rc   N)r   r   r   r    r5   r6   re   s   & r   Ú
test_irfftÚTestFFT1D.test_irfft  sÕ   € Ü�2‹JˆÜ˜œ2Ÿ6™6Ÿ<™<¬¯©¯©°A«Ó7¸dÕCÜ˜œ2Ÿ6™6Ÿ<™<¬¯©¯©°A¸J¨Ó(GØ'ð (ó )Ø/3õ	5ä˜œ2Ÿ6™6Ÿ<™<¬¯©¯©°A¸G¨Ó(DØ$ð (ó &Ø,0õ	2ä˜œ2Ÿ6™6Ÿ<™<¬¯©¯©°A¸I¨Ó(FØ&ð (ó (Ø.2÷	4r   c                óº  € \        R4      p\        \        P                  P	                  V4      R	,          \        P                  P                  V4      RR7       \        \        P                  P                  V4      \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      \        P                  ! R
4      ,          \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      R,          \        P                  P                  VRR7      RR7       R# )r\   r]   r1   r^   r_   ra   rc   Nr®   )r~   :Né   Nr¯   r°   )r   r   r   r    r±   Úrfft2rd   re   s   & r   Ú
test_rfft2ÚTestFFT1D.test_rfft2  sÏ   € Ü�8ÓˆÜœŸ™Ÿ™ A› vÕ.´·±·±¸Q³ÀdÕKÜœŸ™Ÿ™ Q›ÜŸ™Ÿ™ Q¨Z˜Ó8¸tõ	EäœŸ™Ÿ™ Q›¬"¯'ª'°'Ó*:Õ:ÜŸ™Ÿ™ Q¨W˜Ó5¸Dõ	BäœŸ™Ÿ™ Q›¨9Õ5ÜŸ™Ÿ™ Q¨Y˜Ó7¸d÷	Dr   c           
     ót  € \        R4      p\        V\        P                  P	                  \        P                  P                  V4      4      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       R# )	r\   r]   r1   r^   r_   ra   rc   Nr®   )r   r   r   r    Úirfft2rß   re   s   & r   Útest_irfft2ÚTestFFT1D.test_irfft2)  sÖ   € Ü�8ÓˆÜ˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a«Ó9ÀÕEÜ˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a¸j¨Ó)IØ'ð )ó )Ø/3õ	5ä˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a¸g¨Ó)FØ$ð )ó &Ø,0õ	2ä˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a¸i¨Ó)HØ&ð )ó (Ø.2÷	4r   c                óä   € \         P                  ! . RO. RO. RO. RO.4      p\         P                  ! R\         P                  R7      p\         P                  P                  WR7      pW2J g   Q hR# )	é   rA   r¡   N)rç   y      ð?      @éûÿÿÿ)y       @      ð¿y       À      ð¿y       À      ð?)r×   r¹   r�   )y       @      ð?y      @      ð¿y       À      ð¿)é   ré   )r   rG   ÚzerosÚfloat64r    rã   rº   s   &   r   Útest_irfft2_outÚTestFFT1D.test_irfft2_out3  sT   € Ü�HŠH’oÒ'AÚ%Ò'@ðBó Cˆä�hŠh�v¤R§Z¡ZÔ0ˆÜ—‘—‘˜q�Ó*ˆØ‹}ÐŠ}r   c           
     óT  € \        R
4      p\        \        P                  P	                  V4      R,          \        P                  P                  V4      RR7       \        \        P                  P                  V4      \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      \        P                  ! R4      ,          \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      R,          \        P                  P                  VRR7      RR7       \        P                  ! R4      p\        P                  P                  VRRR7      pVP                  R8X  g   Q h\        P                  P                  \        P                  P                  \        P                  P                  V^^(R7      ^ ^R7      ^ ^
R7      pVP                  R8X  g   Q h\        W#RR7       R	# )r\   r]   r1   r^   r_   ra   rc   )ÚaxesÚs)r
   rC   NrÀ   )r~   r~   :Né   NrÁ   rÂ   )r   r   )r   r   r   )rr   rs   é(   )rr   é   )
r   r   r   r    rÃ   Úrfftnrd   ÚonesÚshaper6   )r!   r   rv   ru   s   &   r   Ú
test_rfftnÚTestFFT1D.test_rfftn:  sn  € Ü�<Ó ˆÜœŸ™Ÿ™ A› xÕ0´"·&±&·,±,¸q³/ÈÕMÜœŸ™Ÿ™ Q›ÜŸ™Ÿ™ Q¨Z˜Ó8¸tõ	EäœŸ™Ÿ™ Q›¬"¯'ª'°,Ó*?Õ?ÜŸ™Ÿ™ Q¨W˜Ó5¸Dõ	BäœŸ™Ÿ™ Q›¨?Õ;ÜŸ™Ÿ™ Q¨Y˜Ó7¸dõ	Dô �GŠG�F‹OˆÜ—‘—‘˜a i°<�Ó@ˆØ�|‰|˜xÔ'Ð'Ð'Ü—6‘6—:‘:œbŸf™fŸj™j¬¯©¯©°Q¸QÀ"¨Ó)EØ!" bð )ó *Ø01°Rð ó 9ˆà�~‰~ Ô)Ð)Ð)Ü˜¨t×4r   c           
     ót  € \        R4      p\        V\        P                  P	                  \        P                  P                  V4      4      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       R# )	r\   r]   r1   r^   r_   ra   rc   NrÀ   )r   r   r   r    Úirfftnrô   re   s   & r   Útest_irfftnÚTestFFT1D.test_irfftnL  sÖ   € Ü�<Ó ˆÜ˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a«Ó9ÀÕEÜ˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a¸j¨Ó)IØ'ð )ó )Ø/3õ	5ä˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a¸g¨Ó)FØ$ð )ó &Ø,0õ	2ä˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a¸i¨Ó)HØ&ð )ó (Ø.2÷	4r   c                óŽ  € \        ^4      R\        ^4      ,          ,           p\        P                  ! \        ^4      V\        ^4      34      p\        P                  ! W!RRR
1,          P                  4       34      p\	        \        P
                  P                  V4      \        P
                  P                  V4      RR7       \	        \        P
                  P                  V4      \        P
                  P                  VRR7      RR7       \	        \        P
                  P                  V4      \        P                  ! ^4      ,          \        P
                  P                  VRR7      RR7       \	        \        P
                  P                  V4      R,          \        P
                  P                  VR	R7      RR7       R# )é   r0   Nr]   r1   r^   r_   ra   rb   rc   r   )r   r   rI   Úconjr   r    Úhfftrd   ©r!   r   Úx_herms   &  r   Ú	test_hfftÚTestFFT1D.test_hfftV  s  € Ü�2‹J˜œf R›j�Õ(ˆÜ—’¤¨£¨A¬v°a«yÐ 9Ó:ˆÜ�NŠN˜F¡d¨ d¥G§L¡L£NÐ3Ó4ˆÜœŸ™Ÿ
™
 1›¤r§v¡v§{¡{°6Ó':ÀÕFÜœŸ™Ÿ™ FÓ+ÜŸ™Ÿ™ F°˜Ó<À4õ	IäœŸ™Ÿ™ FÓ+¬b¯gªg°b«kÕ9ÜŸ™Ÿ™ F°˜Ó9Àõ	FäœŸ™Ÿ™ FÓ+¨cÕ1ÜŸ™Ÿ™ F°˜Ó;À$÷	Hr   c                ó  € \         P                  ! . RO\        R7      p\        V4      ^,
          ^,          p\         P                  ! V\         P
                  R7      p\         P                  P                  WVR7      pWCJ g   Q hR# )r   rA   )rC   rq   N)r   r   r   ré   r   r   )r   rG   rt   r   rê   rë   r    r   )r!   ÚarC   rq   rv   s   &    r   Útest_hfft_outÚTestFFT1D.test_hfft_outb  sY   € Ü�HŠHÒ'¬wÔ7ˆÜ�‹V�a�Z˜1ÕˆÜ�hŠh�q¤§
¡
Ô+ˆÜ—‘—‘˜Q¨�Ó-ˆØ‹}ÐŠ}r   c           
     óV  € \        ^4      R\        ^4      ,          ,           p\        P                  ! \        ^4      V\        ^4      34      p\        P                  ! W!RRR	1,          P                  4       34      p\	        V\        P
                  P                  \        P
                  P                  V4      4      RR7       \	        V\        P
                  P                  \        P
                  P                  VRR7      RR7      RR7       \	        V\        P
                  P                  \        P
                  P                  VRR7      RR7      RR7       \	        V\        P
                  P                  \        P
                  P                  VRR7      RR7      RR7       R# )
rþ   r0   Nr]   r1   r^   r_   ra   rc   r   )r   r   rI   rÿ   r   r    Úihfftr   r  s   &  r   Ú
test_ihfftÚTestFFT1D.test_ihffti  s4  € Ü�2‹J˜œf R›j�Õ(ˆÜ—’¤¨£¨A¬v°a«yÐ 9Ó:ˆÜ�NŠN˜F¡d¨ d¥G§L¡L£NÐ3Ó4ˆÜ˜¤§¡§¡¬R¯V©V¯[©[¸Ó-@Ó AÈÕMÜ˜¤§¡§¡¬R¯V©V¯[©[¸Ø'ð .9ó .)Ø/9ð !-ó !;ØAEõ	Gä˜¤§¡§¡¬R¯V©V¯[©[¸Ø$ð .9ó .&Ø,3ð !-ó !5Ø;?õ	Aä˜¤§¡§¡¬R¯V©V¯[©[¸Ø&ð .9ó .(Ø.7ð !-ó !9Ø?C÷	Er   Úopc                óÄ   € \        R4      p. ROpV FJ  pV! \        P                  ! W$4      4      p\        P                  ! V! W$R7      V4      p\        WVRR7       KL  	  R# )r\   ©rï   r]   r1   NrÀ   )©r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   rh   r   )r!   r  r   rï   r  Úop_trÚtr_ops   &&     r   Ú	test_axesÚTestFFT1D.test_axesu  sN   € ô �<Ó ˆÚQˆÛˆAÙ”r—|’| AÓ)Ó*ˆEÜ—L’L¡ A¤°Ó2ˆEÜ˜E¨t×4ó r   c                óŠ   € \         P                  ! ^d4      P                  ^
^
4      pV! VRRR7      P                  R8X  g   Q hR# )éd   ©rð   rï   N©r   r�   ©r   r   )rr   r�   )r   r   r   rö   ©r!   r  r   s   && r   Útest_s_negative_1ÚTestFFT1D.test_s_negative_1  s;   € ô �IŠI�c‹N×"Ñ" 2 rÓ*ˆá�!�w VÔ,×2Ñ2°gÔ=Ð=Ò=r   c                óÞ   € \         P                  ! ^d4      P                  ^
^
4      p\        P                  ! RR7      ;_uu_ 4        V! VRR7       RRR4       R#   + '       g   i     R# ; i)r  ú"`axes` should not be `None` if `s`rž   )rð   Nr  ©r   r   r   r£   Úwarnsr  s   && r   Útest_s_axes_noneÚTestFFT1D.test_s_axes_none†  sH   € ô �IŠI�c‹N×"Ñ" 2 rÓ*ˆÜ�\Š\Ð D×EÖEÙˆq�GÕ÷ F×E×EÒEús   ÁAÁA,	c                óà   € \         P                  ! ^d4      P                  ^
^
4      p\        P                  ! RR7      ;_uu_ 4        V! VRRR7       RRR4       R#   + '       g   i     R# ; i)r  r  rž   Nr  r  r  r  s   && r   Útest_s_axes_none_2DÚTestFFT1D.test_s_axes_none_2D�  sH   € ä�IŠI�c‹N×"Ñ" 2 rÓ*ˆÜ�\Š\Ð D×EÖEÙˆq�G $Õ'÷ F×E×EÒEús   ÁAÁA-	c                óª   € \        R4      p\        P                  ! RR7      ;_uu_ 4        V! VRRR7       RRR4       R#   + '       g   i     R# ; i)r\   z%array containing `None` values to `s`rž   Nr  rÀ   )rr   Nrr   r  )r   r£   r   r  s   && r   Útest_s_contains_noneÚTestFFT1D.test_s_contains_none“  s:   € ô �<Ó ˆÜ�\Š\Ð G×HÖHÙˆq�N¨Õ3÷ I×H×HÒHús   «AÁA	c           	     ó¨  € \        ^4      p\        P                  P                  V4      pVP                  ^,          p\        P
                  P
                  \        P
                  P                  3\        P
                  P                  \        P
                  P                  3\        P
                  P                  \        P
                  P                  3.pV Fs  w  rVVP                  ^VP                  ,          3 FK  pR FB  pV! WVR7      pV! WƒVR7      p\        V\        P                  P                  V4      RR7       KD  	  KM  	  Ku  	  R# )r\   NrË   r]   r1   rÌ   )r   r   Úlinalgr`   rÍ   r    r4   r6   r5   r
  r   r   )	r!   r   Úx_normrC   Ú
func_pairsÚforwÚbackr`   Útmps	   &        r   Útest_all_1d_norm_preservingÚ%TestFFT1D.test_all_1d_norm_preserving›  sä   € ä�2‹JˆÜ—‘—‘ Ó"ˆØ�F‰F�Q�JˆÜ—v‘v—z‘z¤2§6¡6§;¡;Ð/Ü—v‘v—{‘{¤B§F¡F§L¡LÐ1ô —v‘v—|‘|¤R§V¡V§[¡[Ð1ð	ˆ
ó %‰JˆDØ—f‘f˜a !§&¡&�jÓ)�ÛB�DÙ˜q¨DÔ1�CÙ˜s¨dÔ3�CÜ# FÜ$&§I¡I§N¡N°3Ó$7¸d÷Dó Có *ó %r   rï   c                ó  a€ V3R  lpV\         J dW   \        R4      R\        R4      ,          ,           p\        P                  P                  \        P                  P
                  rvM>\        R4      p\        P                  P                  \        P                  P                  rvV! WSR7      pV! V4      p	V! WYVR7      p
W©J g   Q h\        W¨4       V! WƒR7      pV\         J d   T	MV! V4      pV! WœVR7      pWÜJ g   Q h\        WÛ4       R# )c                 ó”   <€ S'       d+   \         P                  ! V P                  4      P                  # \         P                  ! V 4      # rk   rl   rn   s   &€r   rJ   Ú4TestFFT1D.test_fftn_out_argument.<locals>.zeros_like²  rp   r   r0   r  )rq   rï   N©rr   r�   rñ   )	rt   r   r   r    rÃ   rÇ   rô   rú   r   )r!   r<   rh   rï   rJ   r   r    r4   ru   rq   rv   rw   rx   ry   s   &&f&          r   Útest_fftn_out_argumentÚ TestFFT1D.test_fftn_out_argument®  sÐ   ø€ õ	(ð ”GÓÜ�zÓ" R¬&°Ó*<Õ%<Õ<ˆAÜŸ™Ÿ™¤R§V¡V§\¡\‘ä�zÓ"ˆAÜŸ™Ÿ™¤b§f¡f§m¡m�á�qÔ$ˆÙ˜Ó"ˆÙ�Q dÔ+ˆØ‹}Ðˆ}Ü˜6Ô,á˜Ô-ˆ	ØœwÓ&‰s©J°yÓ,AˆÙ�s¨4Ô0ˆØ‹ÐˆÜ˜7Ö.r   r    c           	     óÜ  € V\         P                  P                  J d   \        R4      pM"\        R4      R\        R4      ,          ,           p\        P
                  ! \        RR7      ;_uu_ 4        V! V\         P                  ! V4      R	R
R7       RRR4       RpV! W#R
R7      p\         P                  ! V4      pV! W#R
VR7      pWeJ g   Q h\        Wd4       R#   + '       g   i     LQ; i)rr   r0   r¢   rž   )rq   rð   rï   Nr  ©rð   rï   rq   r5  ©r   r   r   r  )rr   r�   r�   )	r   r    rô   r   r£   r¤   r   rJ   r   )r!   r    r   rð   ru   rq   rv   s   &&     r   Útest_fftn_out_and_s_interactionÚ)TestFFT1D.test_fftn_out_and_s_interactionÌ  s±   € ð ”"—&‘&—,‘,ÓÜ�zÓ"‰Aä�zÓ" R¬&°Ó*<Õ%<Õ<ˆAÜ�]Š]œ:Ð->×?Ö?Ù�”r—}’} QÓ'¨9¸9ÕE÷ @ð ˆÙ�q IÔ.ˆÜ�mŠm˜HÓ%ˆÙ�Q )°Ô5ˆØ‹}Ðˆ}Ü˜6Ö,÷ @×?ús   Á1!CÃC+	rð   c                ó   € \        R4      R\        R4      ,          ,           p\        P                  P                  W!RR7      p\        P                  ! V4      p\        P                  P                  W!RVR7      pWTJ g   Q h\        WS4       R# )é	   r0   r  r9  N)r>  r�   rñ   r   r  )r   r   r    rú   rJ   r   )r!   rð   r   ru   rq   rv   s   &&    r   Ú!test_irfftn_out_and_s_interactionÚ+TestFFT1D.test_irfftn_out_and_s_interactionÝ  sk   € ô �<Ó  2¬¨|Ó(<Õ#<Õ<ˆÜ—6‘6—=‘= ¨i�=Ó8ˆÜ�mŠm˜HÓ%ˆÜ—‘—‘˜q¨I¸3�Ó?ˆØ‹}Ðˆ}Ü˜6Ö,r   r$   r  )TFrÌ   )r  ©r   r   N)r>  r�   r�   r:  )8r%   r&   r'   r(   r:   r£   ÚmarkÚparametrizer   ÚsingleÚdoubleÚ
longdoublerP   rY   rf   rt   r¦   rz   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$  r'  r0  r6  r;  r?  r)   r*   r+   s   @r   r.   r.      s  ø‡ € ò1ð ‡[�[×Ñ˜W r§y¡y°"·)±)¸R¿]¹]Ð&KÓLñBó MðBð" ‡[�[×Ñ˜W r§y¡y°"·)±)¸R¿]¹]Ð&KÓLñEó MðEò.Bð ‡[�[×Ñ˜V VÓ,Ø‡[�[×Ñ˜W w°Ð&6Ó7Ø‡[�[×Ñ˜[¨-Ó8ñ/ó 9ó 8ó -ð/ð6 ‡[�[×Ñ˜V a¨ VÓ,ñ9/ó -ð9/òv=ð ‡[�[×Ñ˜VÐ%KÓLñ'ó Mð'ò	Cò	Dòò
Cò
Dò@ò"Gò:ò
4òDò4òò5ò$4ò
Hòò
Eð ‡[�[×Ñ˜T B§F¡F§K¡K°·±·±Ø$&§F¡F§L¡L°"·&±&·-±-ð$Aó Bñ5óBð5ð ‡[�[×Ñ˜T B§F¡F§K¡K°·±·±Ø$&§F¡F§K¡K°·±·±ð$?ó @ñ>ó@ð>ð
 ‡[�[×Ñ˜T B§F¡F§K¡K°·±·±Ø$&§F¡F§L¡L°"·&±&·-±-ð$Aó BñóBðð
 ‡[�[×Ñ˜T B§F¡F§K¡K°·±·±Ð#>Ó?ñ(ó @ð(ð
 ‡[�[×Ñ˜T B§F¡F§K¡K°·±·±Ø$&§F¡F§L¡L°"·&±&·-±-Ø$&§F¡F§K¡K°·±·±ð$?ó @ñ4ó@ð4ò
Dð& ‡[�[×Ñ˜VÒ%;Ó<Ø‡[�[×Ñ˜W w°Ð&6Ó7Ø‡[�[×Ñ˜[¨-Ó8ñ/ó 9ó 8ó =ð/ð6 ‡[�[×Ñ˜U R§V¡V§[¡[°"·&±&·,±,ÀÇÁÇÁÐ$MÓNñ-ó Oð-ð  ‡[�[×Ñ˜S 9¨iÐ"8Ó9ñ-ó :ö-r   r.   r<   ÚorderÚFznon-contiguousr    c                 óª  € \         P                  P                  ^*4      pVP                  ^^^4      P	                  V RR7      pR\         P
                  ! \         P                  ! VP                  4      4      ,          \         P                  ! VP                  4      P                  ,          pVR8X  d   \         P                  ! V4      pM,VRRR1,          p\         P                  ! VRRR1,          4      pVP                  P                  R4      '       d4   \        ^4       F"  pV! WGR7      pV! WgR7      p	\!        W‰WUR7       K$  	  R# VP                  P                  R4      '       dc   . ROp
VP                  P                  R	4      '       d   V
P#                  . RO4       V
 F"  pV! WKR
7      pV! WkR
7      p	\!        W‰WUR7       K$  	  R# \$        h)é*   F)rS   g       @rH  Nr    r	   rD   rÃ   r  r   )r±   rÃ   )r  )r   r   rA  ))r   )r   )r   N)r   r   ÚRandomStateÚrandrH   rd   Úlog2rÍ   Úfinfor<   ÚepsÚasfortranarrayÚascontiguousarrayr%   Úendswithr3   r   Úextendr   )r<   rG  r    ÚrngÚXÚ_tolÚYr
   ÚX_resÚY_resrï   Úaxs   &&&         r   Útest_fft_with_orderr[  é  s]  € ô �)‰)×
Ñ
 Ó
#€CØ�‰��A�rÓ×!Ñ! %¨eÐ!Ó4€Aà”—’œŸš §¡›Ó)Õ)¬B¯HªH°Q·W±WÓ,=×,AÑ,AÕA€DØ�„|Ü×Ò˜aÓ ‰ð ‰d�ˆd�GˆÜ× Ò  ¡4 R 4¥Ó)ˆà
‡|�|×Ñ˜U×#Ò#Ü˜!–HˆDÙ˜Ô%ˆEÙ˜Ô%ˆEÜ˜E¨t×?ó ð 
�‰×	Ñ	Ð/×	0Ò	0Ú'ˆØ�<‰<× Ñ  ×(Ò(Ø�K‰KÒ0Ô1ÛˆBÙ˜”OˆEÙ˜”OˆEÜ˜E¨t×?ó ô
 Ðr   ÚCrC   c                 ó¸  € \         P                  P                  ^*4      pVP                  ^
4      p\         P                  ! V\         P
                  V R7      p\         P                  P                  W1R7      pVP                  P                  VP                  P                  8X  g   Q hVP                  P                  VP                  P                  8X  g   Q hR# )rJ  )r<   rG  rB   N)
r   r   rK  rL  ÚasarrayÚ	complex64r    ÚflagsÚc_contiguousÚf_contiguous)rG  rC   rT  r   Úress   &&   r   Útest_fft_output_orderrd    s“   € ô �)‰)×
Ñ
 Ó
#€CØ�‰�‹€AÜ
�
Š
�1œBŸL™L°Ô6€AÜ
�&‰&�*‰*�Qˆ*Ó
€CØ�9‰9×!Ñ! Q§W¡W×%9Ñ%9Ô9Ð9Ð9Ø�9‰9×!Ñ! Q§W¡W×%9Ñ%9Ô9Ð9Ò9r   zCannot start thread)Úreasonc                   óF   a € ] tR tRt o ^tR	tR tR tR tR t	R t
RtV tR# )
ÚTestFFTThreadSafei  c                óÈ  a€ V3R  lp\         P                  ! 4       pS! V!  p\        V P                  4       Uu. uF  p\        P
                  ! W2V3R7      NK  	  ppV Uu. uF  qˆP                  4       NK  	   pV Uu. uF  qˆP                  4       NK  	   p\        V P                  4       F   p\        VP                  ^R7      VR4       K"  	  R# u upi u upi u upi )c                 ó2   <€ VP                  S! V !  4       R # rk   )Úput)ÚargsÚqÚfuncs   &&€r   ÚworkerÚ.TestFFTThreadSafe._test_mtsame.<locals>.worker   s   ø€ Ø�E‰E‘$˜‘+Ör   )Útargetrk  )Útimeoutz6Function returned wrong value in multithreaded contextN)
ÚqueueÚQueuer3   ÚthreadsÚ	threadingÚThreadÚstartÚjoinr   Úget)	r!   rm  rk  rn  rl  ru   r9   Útr   s	   &f*      r   Ú_test_mtsameÚTestFFTThreadSafe._test_mtsame  s½   ø€ õ	ô �KŠK‹MˆÙ˜‘;ˆô ˜DŸL™LÔ)ó+Ù)�ô ×Ò V¸°)×<Ù)ð 	
ð +áÓ™A�q�‰Ž™AÑáÓ™1�a�‰Ž™1Ñä�t—|‘|Ö$ˆAÜ˜qŸu™u¨Q˜uÓ/°ØHöJó %ùò+ùâùâs   º"CÁ"CÂ Cc                ó¶   € \         P                  ! V P                  4      ^,          R,           pV P                  \         P                  P                  V4       R# ©r   y                N)r   rõ   Úinput_shaper{  r    ©r!   r  s   & r   rf   ÚTestFFTThreadSafe.test_fft1  s8   € Ü�GŠG�D×$Ñ$Ó%¨Õ)¨BÕ.ˆØ×Ñœ"Ÿ&™&Ÿ*™* aÖ(r   c                ó¶   € \         P                  ! V P                  4      ^,          R,           pV P                  \         P                  P
                  V4       R# r~  )r   rõ   r  r{  r    r4   r€  s   & r   rª   ÚTestFFTThreadSafe.test_ifft5  s8   € Ü�GŠG�D×$Ñ$Ó%¨Õ)¨BÕ.ˆØ×Ñœ"Ÿ&™&Ÿ+™+ qÖ)r   c                óš   € \         P                  ! V P                  4      pV P                  \         P                  P
                  V4       R # rk   )r   rõ   r  r{  r    r6   r€  s   & r   rÎ   ÚTestFFTThreadSafe.test_rfft9  s.   € Ü�GŠG�D×$Ñ$Ó%ˆØ×Ñœ"Ÿ&™&Ÿ+™+ qÖ)r   c                ó¶   € \         P                  ! V P                  4      ^,          R,           pV P                  \         P                  P
                  V4       R# r~  )r   rõ   r  r{  r    r5   r€  s   & r   rÛ   ÚTestFFTThreadSafe.test_irfft=  s8   € Ü�GŠG�D×$Ñ$Ó%¨Õ)¨BÕ.ˆØ×Ñœ"Ÿ&™&Ÿ,™,¨Ö*r   r$   N)i   éÈ   )r%   r&   r'   r(   rt  r  r{  rf   rª   rÎ   rÛ   r)   r*   r+   s   @r   rg  rg    s.   ø‡ € à€GØ€KòJò$)ò*ò*÷+ð +r   rg  c                  ó,  € \         P                  ! ^
4      p \         P                  P                  V ^R7       \         P                  P	                  V ^R7       \         P                  P                  \         P
                  ! ^ .\        4      ^
R7       R# )rr   rB   N)r   r   r    r5   r   rG   rt   )r   s    r   Útest_irfft_with_n_1_regressionrŠ  B  sX   € ä
�	Š	�"‹€AÜ‡F�F‡L�L��a€LÔÜ‡F�F‡K�K��Q€KÔÜ‡F�F‡L�L”—’˜1˜#œwÓ'¨2€LÖ.r   c                  óÈ   € \         P                  ! ^4      R,          p \         P                  P                  V ^
R7      p\         P                  ! . RO4      p\        W4       R# )r�   rB   Ny      ð?      ð?)
g      4@gk‹ á"Õ#@g�´§‰Ã'Àg$ pn]k@gÝìr¾–Àg      @gG&ƒÒ ÀgdèÆ�Ä¿gt =Mþ?gö@L>MÜ4À)r   r   r    r   rG   r   )r   rv   ru   s      r   Ú"test_irfft_with_n_large_regressionrŒ  J  sG   € ä
�	Š	�!‹˜Õ€AÜ�V‰V�[‰[˜˜bˆ[Ó!€FÜ�xŠxò 2ó 3€Hô �FÖ%r   ÚdatarA   c                 óˆ   € V! V 4      pV P                  \        P                  ! V R 4      4      pV! V4      p\        W$4       R# )r@   N)rH   r   Úresult_typer   )r�  r    rv   Ú
float_dataru   s   &&   r   Ú#test_fft_with_integer_or_bool_inputr‘  T  s7   € ñ �‹Y€FØ—‘œRŸ^š^¨D°"Ó5Ó6€JÙ�:‹€HÜ�vÖ(r   )Nrç   é   )FTF)(rr  ru  r£   Únumpyr   Únumpy.randomr   Únumpy.testingr   r   r   r   r   r   r.   rB  rC  Úfloat32rë   r_  Ú
complex128r    r±   rÃ   r4   rµ   rÇ   r[  rd  Úskipifrg  rŠ  rŒ  r6   r5   rG   r   Úuint8Úint16r‘  r$   r   r   Ú<module>r›     s  ðÛ Û ã ã Ý ß UÓ Uò-÷<ñ <÷N-ñ N-ðb ‡�×ÑØØ	�‰�R—Z‘Z §¡¨r¯}©}Ð=ó?ð ‡�×Ñ˜ 3Ð(8Ð"9Ó:Ø‡�×ÑØØ	�‰�‰�R—V‘V—[‘[ "§&¡&§+¡+Ø	�‰�‰�b—f‘f—l‘l B§F¡F§L¡Lð	2ó3ñó	3ó ;ó?ðð> ‡�×Ñ˜ 3¨ *Ó-Ø‡�×Ñ˜šmÓ,ñ:ó -ó .ð:ð ‡�×Ñ�GÐ$9ÐÓ:÷$+ð $+ó ;ð$+òN/ò&ð ‡�×Ñ˜Ø‡F�F‡J�J�—‘—‘˜RŸV™VŸ[™[¨"¯&©&¯,©,ð!ó ð ‡�×Ñ˜Ø‡H‚HÒ!Ó"Ø‡I‚Iˆb˜Ÿ™Ô!Ø‡I‚Iˆa�r—x‘xÔ ð"ó ñ
)óóò)r   