§
    fŠtjÀ  ã                   ó¢  — d dl Z d dlZd dlZd dlZd dlmZmZmZ d dl	m
Z
 d dlmZmZ ej        j        Zd„ Zej                             dddg¦  «        ej                             d	g d
¢¦  «        ej                             dg d¢¦  «        ej                             dddg¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         Zd„ Zej                             dddg¦  «        d„ ¦   «         Z edd¬¦  «        ej                             deeg¦  «        d„ ¦   «         ¦   «         Zej                             dddg¦  «        d„ ¦   «         ZdS )é    N)ÚfhtÚifhtÚ	fhtoffset)Úpoch)Úxp_assert_closeÚxp_assert_lessc                 ó˜  — d„ }t          j        ddd¦  «        }t          j        |d         |d         z  ¦  «        }d}d}d}|                       |||¦  «        ¦  «        }t          |||||¬	¦  «        }g d
¢}	|                      |	| j        ¬¦  «        }	t          ||	¦  «         t          |||¬¦  «        }t          |||||¬	¦  «        }g d¢}	|                      |	| j        ¬¦  «        }	t          ||	¦  «         d}t          |||¬¦  «        }t          |¦  «        }t          |||||¬	¦  «        }g d¢}	|                      |	| j        ¬¦  «        }	t          ||	¦  «         d}t          |||¬¦  «        }t          |¦  «        }t          |||||¬	¦  «        }g d¢}	|                      |	| j        ¬¦  «        }	t          ||	¦  «         d S )Nc                 óJ   — | |dz   z  t          j        | dz   dz  ¦  «        z  S ©Né   é   )ÚnpÚexp)ÚrÚmus     úY/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/fft/tests/test_fftlog.pyÚfz&test_fht_agrees_with_fftlog.<locals>.f   s'   € Ø�2�a‘4‰y�œ  A¡  a¡™œÑ(Ð(ó    éüÿÿÿé   é   r   r   g333333Ó?ç        ©ÚoffsetÚbias)gÿÐ=lS¿gá–l¾1£Z?gp¢Rßð_¿gœ~]’
o?g€°0d±@?g–Åíº…œ?g0¨2†u¹?g7c4UoÝ?gUËû�/5Ô?gÀÞ 3²ßJ¿g QÊi©«I¿g!m¿ÞÃ9?g áä®1¿g?ˆàJÇb7?g »tj3B¿g šÂ	'K?©Údtype©r   )g  Dy‡Ó?g ò¾T Iã¾g Ýí9¥4?g°B ûÖúM?gÈQº89Êw?g�ÀÄ¥™š?gZøT3%Á?gz;_x˜ÛÞ?g9%PÔúÑ?gv@žÀ‹Ý†¿gA”AÊÙY]?gayiìég;¿gGÁI<!?g FÌÚ\m¿gÿH¬žÒ ?g @(ÙLGü¾gš™™™™™é?)gáÿ×Uê_Àg0E>y7äÅ?g4â¬ž	F»?gR^Ø¡*9ª¿g¤-ägÑÿš?gÁ“Ó!a‘?gRÃèÞ´ À?gÍmžMUUÞ?g¨ å ð.Ò?g'?£eH�¿gŸZ7ZòÇP?gâmÜ·`�%¿gCGÎïT?gçž2œTà¾gÒ…°ýêuÀ>gå/”&ô®¾gš™™™™™é¿)göGãË3Øâ>g`4]<]?g[8„²ÛÖ+?g,8GédŠP?g¢°¢
¦u?g›,×—$5™?g~„}ç£¿?grƒa,‹4Þ?gœV—�°„Ò?gh¸`>E‘¿gDgôyÙ–?g¸P2�ZSŽ¿gÍ†ŽË�©Å?gÜºJžíÒÓ?g[«U¶+@gð"äÚ%@)
r   ÚlogspaceÚmathÚlogÚasarrayr   Úfloat64r   r   Úfloat)
Úxpr   r   Údlnr   r   r   ÚaÚoursÚtheirss
             r   Útest_fht_agrees_with_fftlogr*      s+  € ð)ð )ð )õ 	Œ�B˜˜2ÑÔ€Aå
Œ(�1�Q”4˜˜!œ‘9Ñ
Ô
€CØ	€BØ€FØ€Dà
�
Š
�1�1�Q˜‘8”8ÑÔ€Aõ ˆq�#�r &¨tÐ4Ñ4Ô4€Dð@ð @ð @€Fð �ZŠZ˜ b¤jˆZÑ1Ô1€FÝ�D˜&Ñ!Ô!Ð!õ �s˜B TÐ*Ñ*Ô*€FÝˆq�#�r &¨tÐ4Ñ4Ô4€Dð@ð @ð @€Fð �ZŠZ˜ b¤jˆZÑ1Ô1€FÝ�D˜&Ñ!Ô!Ð!ð €DÝ�s˜B TÐ*Ñ*Ô*€Fõ �6‰]Œ]€Fåˆq�#�r &¨tÐ4Ñ4Ô4€Dð@ð @ð @€Fð �ZŠZ˜ b¤jˆZÑ1Ô1€FÝ�D˜&Ñ!Ô!Ð!ð €DÝ�s˜B TÐ*Ñ*Ô*€FÝ�6‰]Œ]€Fåˆq�#�r &¨tÐ4Ñ4Ô4€Dð@ð @ð @€Fð �ZŠZ˜ b¤jˆZÑ1Ô1€FÝ�D˜&Ñ!Ô!Ð!Ð!Ð!r   ÚoptimalTFr   )r   ç      ð?g      ð¿r   )r   gš™™™™™¹?gš™™™™™¹¿Úné@   é?   c                 ó¨  — t           j                             d¦  «        }|                     |                     | ¦  «        ¦  «        }|                     dd¦  «        }|                     dd¦  «        }|r"t          ||||¬¦  «        }t          |¦  «        }t          |||||¬¦  «        }	t          |	||||¬¦  «        }
t          |
|d¬	¦  «         d S )
Nì   ÍE3  éÿÿÿÿr   éþÿÿÿr   ©Úinitialr   r   gvƒôõ!„>)Úrtol)r   ÚrandomÚRandomStater"   Ústandard_normalÚuniformr   r$   r   r   r   )r-   r   r   r+   r%   Úrngr'   r&   r   ÚAÚa_s              r   Útest_fht_identityr>   a   sÔ   € õ
 Œ)×
Ò
 
Ñ
+Ô
+€Cà
�
Š
�3×&Ò& qÑ)Ô)Ñ*Ô*€AØ
�+Š+�b˜!Ñ
Ô
€CØ	�Š�R˜Ñ	Ô	€Bàð Ý˜3 ¨F¸Ð>Ñ>Ô>ˆõ �v‘”ˆåˆAˆs�B˜v¨DÐ1Ñ1Ô1€AÝ	ˆa��b ¨dÐ	3Ñ	3Ô	3€Bå�B˜ Ð'Ñ'Ô'Ð'Ð'Ð'r   c                 ób  — t           j                             d¦  «        }|                      |                     d¦  «        ¦  «        }|                     dd¦  «        }d\  }}t          j        d¬¦  «        5 }t          ||||¬¦  «         |r
J d	¦   «         ‚	 d d d ¦  «         n# 1 swxY w Y   d
\  }}t          j        d¬¦  «        5 }t          ||||¬¦  «         |r
J d	¦   «         ‚	 d d d ¦  «         n# 1 swxY w Y   d\  }}t          j
        t          ¦  «        5 }t          ||||¬¦  «         |s
J d¦   «         ‚	 d d d ¦  «         n# 1 swxY w Y   d
\  }}t          j
        t          ¦  «        5 }t          ||||¬¦  «         |s
J d¦   «         ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr1   r.   r2   r   )g      Àr,   T)Úrecordr   z)fht warned about a well-defined transform)g      Àç      à?)g      ÀrA   z+fht did not warn about a singular transformz,ifht did not warn about a singular transform)r   r7   r8   r"   r9   r:   ÚwarningsÚcatch_warningsr   ÚpytestÚwarnsÚWarningr   )r%   r;   r'   r&   r   r   r@   s          r   Útest_fht_special_casesrG   z   s  € Ý
Œ)×
Ò
 
Ñ
+Ô
+€Cà
�
Š
�3×&Ò& rÑ*Ô*Ñ+Ô+€AØ
�+Š+�b˜!Ñ
Ô
€Cð
 �H€BˆÝ	Ô	 ¨Ð	-Ñ	-Ô	-ð G°ÝˆAˆs�B˜TÐ"Ñ"Ô"Ð"ØÐFÐFÐFÑFÔFˆzÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð
 �H€BˆÝ	Ô	 ¨Ð	-Ñ	-Ô	-ð G°ÝˆAˆs�B˜TÐ"Ñ"Ô"Ð"ØÐFÐFÐFÑFÔFˆzÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð �H€BˆÝ	Œ•gÑ	Ô	ð E &ÝˆAˆs�B˜TÐ"Ñ"Ô"Ð"ØÐDÐDÐDÑDÔDˆvÐDðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eð �H€BˆÝ	Œ•gÑ	Ô	ð F &ÝˆQ��R˜dÐ#Ñ#Ô#Ð#ØÐEÐEÐEÑEÔEˆvÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð FsH   Á8 B%Â%B)Â,B)Ã
 C7Ã7C;Ã>C;Ä  EÅEÅEÅ6 F$Æ$F(Æ+F(c                 óz  — t           j                             d¦  «        }|                     dd¦  «        }|                     d|z
  d¦  «        }t          j        dd| ¦  «        }|                     ||z  ¦  «        }t          j        |d         |d         z  ¦  «        }t          ||d	|¬
¦  «        }t          |¦  «        }t          |||||¬¦  «        }	t          j        |¦  «        |d d d…         z  }
|                     d|
z  |z  t          |dz   |z
  dz  |¦  «        z  ¦  «        }t          |	|¦  «         d S )Nr1   r   é   r2   rA   r3   r   r   r   r4   r   )r   r7   r8   r:   r   r"   r    r!   r   r$   r   r   r   r   )r-   r%   r;   r   Úgammar   r'   r&   r   r<   ÚkÚAts               r   Útest_fht_exactrM   �   s+  € å
Œ)×
Ò
 
Ñ
+Ô
+€Cð
 
�Š�Q˜Ñ	Ô	€Bð �KŠK˜˜2™˜sÑ#Ô#€Eå
Œ�B˜˜1ÑÔ€AØ
�
Š
�1�e‘8ÑÔ€Aå
Œ(�1�Q”4˜˜!œ‘9Ñ
Ô
€Cå�s˜B¨°%Ð8Ñ8Ô8€Fõ �6‰]Œ]€FåˆAˆs�B˜v¨EÐ2Ñ2Ô2€Aå
Œˆv‰Œ�q˜˜˜2˜”wÑ€Að 
�Š�Q�q‘S˜5‘L¥4¨¨A©¨e©°Q©¸Ñ#>Ô#>Ñ>Ñ	?Ô	?€Bå�A�rÑÔÐÐÐr   z,array-likes only supported for NumPy backend)Únp_onlyÚreasonÚopc                 ó¦   — ddgddggddgddggddgddggg}t           ||dd¦  «         ||                      |¦  «        dd¦  «        ¦  «         d S )Nr,   g       @)r   r"   )r%   rP   Úxs      r   Útest_array_likerS   ¼   sw   € ð �ˆ*�s˜C�jÐ	!Ø�ˆ*�s˜C�jÐ	!Ø�ˆ*�s˜C�jÐ	!ð	#€Aõ �B�B�q˜#˜s‘O”O R R¨¯
ª
°1©¬°s¸CÑ%@Ô%@ÑAÔAÐAÐAÐAr   é€   é�   c                 ó”  ‡ — ‰                       d¦  «        }d}t          j        dd|¦  «        }t          j        |d         |d         z  ¦  «        }t          |dt          j        d¦  «        z  |¬¦  «        }‰                       ||j        ¬	¦  «        }t          j        |¦  «        ‰                      |d
¬¦  «        z  }ˆ fd„} |||¦  «        }	t          |	|||¬¦  «        }
 |||¦  «        }‰  
                    ‰                      |
|z
  |z  ¦  «        ¦  «        }t          |‰                       d¦  «        d         ¦  «         d S )Nr,   r   iùÿÿÿr   r   iúÿÿÿé
   )r5   r   r   r2   )Úaxisc                 óN   •— | |dz   z  ‰                      | dz   dz  ¦  «        z  S r   )r   )rR   r   r%   s     €r   r   ztest_gh_21661.<locals>.fÏ   s*   ø€ Ø�2˜‘6‰{˜2Ÿ6š6 1 a¡4 %¨¡'™?œ?Ñ*Ð*r   )r   r   g `ºm3*pC© )r"   r   r   r    r!   r   r   r   Úflipr   ÚmaxÚabsr   )r%   r-   Úoner   r   r&   r   rK   r   Úa_rÚfht_valÚa_kÚrel_errs   `            r   Útest_gh_21661rc   Å   s<  ø€ à
�*Š*�S‰/Œ/€CØ	€BÝ
Œ�B˜˜1ÑÔ€AÝ
Œ(�1�Q”4˜!˜Aœ$‘;Ñ
Ô
€CÝ�s B­¬°©¬¡O¸Ð;Ñ;Ô;€FØ
�
Š
�1˜CœIˆ
Ñ&Ô&€AÝŒ�ÑÔ˜2Ÿ7š7 1¨2˜7Ñ.Ô.Ñ.€Að+ð +ð +ð +ð +ð ˆ!ˆAˆr‰(Œ(€CÝ�#�s˜r¨&Ð1Ñ1Ô1€GØ
ˆ!ˆAˆr‰(Œ(€CØ�fŠf�R—V’V˜W s™]¨cÑ1Ñ2Ô2Ñ3Ô3€GÝ�7˜BŸJšJ xÑ0Ô0°Ô4Ñ5Ô5Ð5Ð5Ð5r   )rB   r    Únumpyr   rD   Úscipy.fft._fftlogr   r   r   Úscipy.specialr   Úscipy._lib._array_apir   r   ÚmarkÚskip_xp_backendsr*   Úparametrizer>   rG   rM   rS   rc   rZ   r   r   ú<module>rk      s	  ðØ €€€Ø €€€à Ð Ð Ð Ø €€€à 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø Ð Ð Ð Ð Ð à AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aà”;Ô/Ð ðO"ð O"ð O"ðd „×Ò˜ T¨5 MÑ2Ô2Ø„×Ò˜Ð#3Ð#3Ð#3Ñ4Ô4Ø„×Ò˜   Ñ0Ô0Ø„×Ò˜˜r 2˜hÑ'Ô'ð(ð (ñ (Ô'ñ 1Ô0ñ 5Ô4ñ 3Ô2ð(ð* Fð  Fð  FðF „×Ò˜˜r 2˜hÑ'Ô'ðð ñ (Ô'ðð< Ð˜$ØGðIñ Iô Ià„×Ò˜  T˜{Ñ+Ô+ðBð Bñ ,Ô+ñIô IðBð „×Ò˜˜s C˜jÑ)Ô)ð6ð 6ñ *Ô)ð6ð 6ð 6r   