Ë
    0Ò^jI$  ã                   ó‚  — d dl Zd dlmZmZ d dlZd dlZd dlmZm	Z	m
Z
mZmZmZmZmZ d dlmZ d dlmZ d dlmZmZmZmZ d dlmc mZ ej8                  j:                  Z ej<                  d«      Z eee	ee«      ej8                  jA                  dee	feefg«      ej8                  jA                  dg d	¢«      ej8                  jA                  d
g d¢«      ej8                  jA                  dd dg«      ej8                  jA                  dg d¢«      ej8                  jA                  dddg«      d„ «       «       «       «       «       «       «       Z!ej8                  jA                  dee	geegg«      ej8                  jA                  dg d	¢«      ej8                  jA                  dejD                  ejF                  ejH                  ejJ                  ejL                  g«      ej8                  jA                  dd dg«      ej8                  jA                  dg d¢«      ej8                  jA                  dddg«      d„ «       «       «       «       «       «       Z' ee
eee«      ej8                  jA                  de
efeefg«      ej8                  jA                  dg d	¢«      ej8                  jA                  dg d¢«      ej8                  jA                  dg d¢«      ej8                  jA                  dddg«      d„ «       «       «       «       «       «       Z(ej8                  jA                  de
egeegg«      ej8                  jA                  dg d	¢«      ej8                  jA                  dg d¢«      ej8                  jA                  dejD                  ejF                  ejH                  ejJ                  ejL                  g«      ej8                  jA                  dg d¢«      ej8                  jA                  dddg«      d„ «       «       «       «       «       «       Z)ej8                  jA                  d ee«       ee«       ee
«       ee«      g«      ej8                  jA                  dg d	¢«      ej8                  jA                  dg d¢«      d„ «       «       «       Z*ej8                  jA                  d ee«       ee«       ee
«       ee«      g«      ej8                  jA                  dg d	¢«      d„ «       «       Z+ej8                  jA                  dg d¢«      ej8                  jA                  d  eed!«       eed«       eed!«      g«      d"„ «       «       Z, ee«      ej8                  jA                  dg d¢«      d#„ «       «       Z-ej8                  jA                  dg d¢«      ej8                  jA                  d ee«       ee«      g«      d$„ «       «       Z.ej8                  jA                  dg d¢«      ej8                  jA                  d ee«       ee«      g«      d%„ «       «       Z/ej8                  jA                  dee	e
eeeeeg«      d&„ «       Z0y)'é    N)Úassert_allcloseÚassert_array_equal)ÚdctÚidctÚdctnÚidctnÚdstÚidstÚdstnÚidstn)Úfftpack)Úxp_copyÚxp_assert_closeÚmake_xp_test_caseÚmake_xp_pytest_paramé   zforward, backwardÚtype)é   r   é   é   Ún)r   r   r   é   é
   é   Úaxisr   Únorm)NÚbackwardÚorthoÚforwardÚorthogonalizeFTc                 ól  — |j                  t        j                  j                  ||«      «      } | |||||¬«      }	 ||	||||¬«      }
t	        |
|«       dgdz  }d||<   |j                  t        j
                  t        j                   |	«      |d¬«      «      } |||||||¬«      }t	        ||«       y )N)r   r   r    ©r   r   r   ©r   r   Úedge©Úmode©r    )ÚasarrayÚnpÚrandomÚrandr   Úpad)r   r   r   r   r   r   r    ÚxpÚxÚyÚzr,   Úy2Úz2s                 úo/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/fft/tests/test_real_transforms.pyÚtest_identity_1dr4      s¤   € ð 	�
‰
”2—9‘9—>‘> ! QÓ'Ó(€Aá��4˜d¨¸]ÔK€AÙ��D˜t¨$¸mÔL€AÜ�A�qÔàˆ(�Q‰,€CØ€Cˆ�Ià	�‰”B—F‘Fœ2Ÿ:™: a›=¨#°FÔ;Ó	<€BÙ	�"�d˜A˜t T¸Ô	G€BÜ�B˜Õó    ÚdtypeÚoverwrite_xc                 óH  — t         j                  j                  dd«      j                  |«      }|j	                  «       } | |||||¬«      }	|	j	                  «       }
 ||	||||¬«      }|s(t        ||dd¬«       t        ||«       t        |	|
«       y t        ||dd¬«       y )Né   é   )r   r   r7   ç�íµ ÷Æ°>©ÚrtolÚatol)r)   r*   r+   ÚastypeÚcopyr   r   )r   r   r   r6   r   r   r7   r.   Úx_origr/   Úy_origr0   s               r3   Útest_identity_1d_overwriterC   -   s�   € ô 	�	‰	�‰�q˜!Ó×#Ñ# EÓ*€AØ�V‰V‹X€Fá��4˜d¨¸;ÔG€AØ�V‰V‹X€FÙ��D˜t¨$¸KÔH€AÙÜ˜˜1 4¨dÕ3Ü˜1˜fÔ%Ü˜1˜fÕ%ä˜˜6¨°4Ö8r5   zshape, axes)	)©r   r   r   )rD   r   )rD   N)rD   ©r   r   )©r   é   N)rF   rE   )©r   r   é   N)rH   r   )rH   )r   r   c                 ó.  — |j                  t        j                  j                  |«      «      }|�t        j                  ||«      } | |||||¬«      }	 ||	||||¬«      }
t	        |
|«       |€dg|j
                  z  }nBt        |t        «      rdg|j
                  z  }d||<   ndg|j
                  z  }|D ]  }d||<   Œ	 |j                  t        j                  t        j                   |	«      |d¬«      «      } |||||||¬«      }t	        ||«       y )N)Úaxesr   r    r#   r"   r$   r%   r'   )	r(   r)   r*   Útaker   ÚndimÚ
isinstanceÚintr,   )r   r   r   ÚshaperK   r   r    r-   r.   r/   r0   r,   Úar1   r2   s                  r3   Útest_identity_ndrR   E   s  € ð* 	�
‰
”2—9‘9×#Ñ# EÓ*Ó+€AàÐÜ—‘˜˜tÓ$ˆá��4˜d¨¸]ÔK€AÙ��D˜t¨$¸mÔL€AÜ�A�qÔà€|Øˆh˜Ÿ™Ñ‰Ü	�Dœ#Ô	Øˆh˜Ÿ™ÑˆØˆˆDŠ	àˆh˜Ÿ™Ñˆàò 	ˆAØˆC�ŠFð	ð 
�‰”B—F‘Fœ2Ÿ:™: a›=¨#°FÔ;Ó	<€BÙ	�"�d˜E 4¨¸]Ô	K€BÜ�B˜Õr5   ))©r   r   r   )rS   r   )rS   Nc                 ór  — t         j                  j                  |«      j                  |«      }|j                  «       }	|�t        j                  ||«      } | ||||¬«      }
|
j                  «       } ||
|||¬«      }|rt        ||	dd¬«       y t        ||dd¬«       t        ||	«       t        |
|«       y )N)rK   r   r;   r<   )r)   r*   r?   r@   rL   r   r   )r   r   r   rP   rK   r6   r   r7   r.   rA   r/   rB   r0   s                r3   Útest_identity_nd_overwriterU   t   s¢   € ô  	�	‰	×Ñ˜Ó×&Ñ& uÓ-€AØ�V‰V‹X€FàÐÜ—‘˜˜tÓ$ˆá��4˜d¨Ô.€AØ�V‰V‹X€FÙ��D˜t¨$Ô/€AÙÜ˜˜6¨°4Ö8ä˜˜1 4¨dÕ3Ü˜1˜fÔ%Ü˜1˜fÕ%r5   Úfuncc                 ó(  — t         j                  j                  dd«      }|j                   t	        t
        | j                  «      |||¬«      «      }|j                  |«      } t	        t        | j                  «      |||¬«      }t        ||«       y )Nr:   r   )r   )	r)   r*   r+   r(   Úgetattrr   Ú__name__Úfftr   )rV   r   r   r-   r.   Úfftpack_resÚfft_ress          r3   Útest_fftpack_equivaliencer]   •   so   € ô 	�	‰	�‰�q˜"Ó€AØ—*‘*Ð<œW¤W¨d¯m©mÓ<¸QÀÈ4ÔPÓQ€KØ
�
‰
�1‹€AØ)Œg”c˜4Ÿ=™=Ó)¨!¨T¸Ô=€Gä�G˜[Õ)r5   c                 óº   — |j                  t        j                  j                  d«      «      }dD ](  \  }} | ||||¬«      } | |||¬«      }t	        ||«       Œ* y )Néd   ))r   F)r   F)r   T©r   r   r    )r   r   ©r(   r)   r*   r+   r   )rV   r   r-   r.   r   r   rQ   Úbs           r3   Útest_orthogonalize_defaultrc   ¤   s^   € ð 	�
‰
”2—9‘9—>‘> #Ó&Ó'€Aðò ‰ˆˆeñ
 �˜ D¸Ô>ˆÙ�˜ DÔ)ˆÜ˜˜1Õñr5   )r   r   r   z
func, typer   c                 ó¨   — |j                  t        j                  j                  d«      «      } | |||d¬«      } | |||d¬«      }t	        ||«       y )Nr_   Tr`   Fra   )rV   r   r   r-   r.   Úy1r1   s          r3   Útest_orthogonalize_nooprf   ·   sI   € ð 	�
‰
”2—9‘9—>‘> #Ó&Ó'€AÙ	ˆa�d °TÔ	:€BÙ	ˆa�d °UÔ	;€BÜ�B˜Õr5   c                 ó  — |j                  t        j                  j                  d«      «      }t	        ||¬«      }t        j                  |d«      j                  t        «       t        j                  |d«      j                  t        «       t        |d| d¬«      }t        |d| d¬«      }t        j                  |d«      j                  t        «       t        j                  |d«      j                  t        «       t        ||«       y )	Nr_   ©r-   r   éÿÿÿÿr   Tr`   F)r(   r)   r*   r+   r   ÚxpxÚatÚmultiplyÚSQRT_2r   Údivider   )r   r-   r.   Úx2re   r1   s         r3   Útest_orthogonalize_dct1rp   Ã   sµ   € ð 	�
‰
”2—9‘9—>‘> #Ó&Ó'€Aä	��rÔ	€BÜ‡F�Fˆ2ˆqƒM×Ñœ6Ô"Ü‡F�Fˆ2ˆrƒN×ÑœFÔ#ä	ˆQ�Q˜T°Ô	6€BÜ	ˆR�a˜d°%Ô	8€Bä‡F�Fˆ2ˆqƒM×ÑœÔ Ü‡F�Fˆ2ˆrƒN×Ñœ&Ô!Ü�B˜Õr5   c                 ó  — |j                  t        j                  j                  d«      «      } | |d|d¬«      } | |d|d¬«      }t	        j
                  || j                  dk(  rdnd«      j                  t        «       t        ||«       y )	Nr_   r   Tr`   Fr   r   ri   )
r(   r)   r*   r+   rj   rk   rY   rn   rm   r   )rV   r   r-   r.   re   r1   s         r3   Útest_orthogonalize_dcst2rr   Õ   so   € ð 	�
‰
”2—9‘9—>‘> #Ó&Ó'€AÙ	ˆa�a˜d°$Ô	7€BÙ	ˆa�a˜d°%Ô	8€Bä‡F�Fˆ2�D—M‘M UÒ*‰q°Ó3×:Ñ:¼6ÔBÜ�B˜Õr5   c                 ó6  — |j                  t        j                  j                  d«      «      }t	        ||¬«      }t        j                  || j                  dk(  rdnd«      j                  t        «        | |d|d¬«      } | |d|d	¬«      }t        ||«       y )
Nr_   rh   r   r   ri   r   Tr`   F)r(   r)   r*   r+   r   rj   rk   rY   rl   rm   r   )rV   r   r-   r.   ro   re   r1   s          r3   Útest_orthogonalize_dcst3rt   á   s{   € ð 	�
‰
”2—9‘9—>‘> #Ó&Ó'€AÜ	��rÔ	€BÜ‡F�Fˆ2�D—M‘M UÒ*‰q°Ó3×<Ñ<¼VÔDá	ˆa�a˜d°$Ô	7€BÙ	ˆb�q˜t°5Ô	9€BÜ�B˜Õr5   c                 óˆ   — ddgddggddgddggddgddggg}t         | |«       | t        j                  |«      «      «       y )Ng      ð?)r   r)   r(   )rV   r.   s     r3   Útest_array_likerv   î   sV   € à�ˆ*�s˜C�jÐ	!Ø�ˆ*�s˜C�jÐ	!Ø�ˆ*�s˜C�jÐ	!ð	#€Aô ‘D˜“G™T¤"§*¡*¨Q£-Ó0Õ1r5   )1Únumpyr)   Únumpy.testingr   r   ÚpytestÚmathÚ	scipy.fftr   r   r   r   r	   r
   r   r   rZ   Úscipyr   Úscipy._lib._array_apir   r   r   r   Úscipy._external.array_api_extraÚ	_externalÚarray_api_extrarj   ÚmarkÚskip_xp_backendsÚsqrtrm   Úparametrizer4   Úfloat16Úfloat32Úfloat64Ú	complex64Ú
complex128rC   rR   rU   r]   rc   rf   rp   rr   rt   rv   © r5   r3   ú<module>r‹      sý  ðÛ ß =Û Û ç D× DÓ DÝ Ý ÷9ó 9ç -Ð -à—;‘;×/Ñ/Ð à	ˆ�‰�1‹€ñ �3˜˜c 4Ó(Ø‡�×ÑÐ,°°T¨{¸SÀ$¸KÐ.HÓIØ‡�×Ñ˜¢Ó.Ø‡�×Ñ˜Ò2Ó3Ø‡�×Ñ˜ ! Q Ó(Ø‡�×Ñ˜Ò!GÓHØ‡�×Ñ˜¨5°$¨-Ó8ñó 9ó Ió )ó 4ó /ó Jó )ðð  ‡�×ÑÐ,°°T¨{¸SÀ$¸KÐ.HÓIØ‡�×Ñ˜¢Ó.Ø‡�×Ñ˜ 2§:¡:¨r¯z©z¸2¿:¹:Ø#%§<¡<°·±ð#@ó Aà‡�×Ñ˜ ! Q Ó(Ø‡�×Ñ˜Ò!GÓHØ‡�×Ñ˜¨¨u¨Ó6ñ9ó 7ó Ió )óAó /ó Jð9ñ" �4˜  eÓ,Ø‡�×ÑÐ,°°e¨}¸tÀU¸mÐ.LÓMØ‡�×Ñ˜¢Ó.Ø‡�×Ñ˜ò
óð ‡�×Ñ˜Ò!GÓHØ‡�×Ñ˜¨5°$¨-Ó8ñó 9ó Ióó /ó Nó -ð"ð< ‡�×ÑÐ,°°e¨}¸tÀU¸mÐ.LÓMØ‡�×Ñ˜¢Ó.Ø‡�×Ñ˜òóð ‡�×Ñ˜ 2§:¡:¨r¯z©z¸2¿:¹:Ø#%§<¡<°·±ð#@ó Aà‡�×Ñ˜Ò!GÓHØ‡�×Ñ˜¨°¨Ó6ñ&ó 7ó IóAóó /ó Nð&ð* ‡�×Ñ˜Ñ"6°sÓ";Ù"6°sÓ";Ù"6°tÓ"<Ù"6°tÓ"<ð">ó ?ð ‡�×Ñ˜¢Ó.Ø‡�×Ñ˜Ò!GÓHñ*ó Ió /ó	?ð*ð ‡�×Ñ˜Ñ"6°sÓ";Ù"6°sÓ";Ù"6°tÓ"<Ù"6°tÓ"<ð">ó ?ð ‡�×Ñ˜¢Ó.ñó /ó	?ð
ð ‡�×Ñ˜Ò!AÓBØ‡�×Ñ˜Ñ(<¸SÀ!Ó(DÙ(<¸SÀ!Ó(DÙ(<¸SÀ!Ó(Dð(Fó GñóGó Cðñ �3ÓØ‡�×Ñ˜Ò!AÓBñó Có ðð  ‡�×Ñ˜Ò!AÓBØ‡�×Ñ˜Ñ"6°sÓ";Ù"6°sÓ";ð"=ó >ñó>ó Cðð ‡�×Ñ˜Ò!AÓBØ‡�×Ñ˜Ñ"6°sÓ";Ù"6°sÓ";ð"=ó >ñó>ó Cðð ‡�×Ñ˜ # t¨T°5¸#¸tÀTÈ5Ð!QÓRñ2ó Sñ2r5   