§
    OŠtjª  ã                   óz   — d dl mZ d dlmZmZmZmZm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„ Zd„ Zd„ Zd„ Zd	S )
é    )Úsqrt)ÚSÚSymbolÚsymbolsÚIÚRational)ÚfftÚifftÚnttÚinttÚfwhtÚifwhtÚmobius_transformÚinverse_mobius_transform)Úraisesc                  ó  ‡— t          d„ t          t          fD ¦   «         ¦  «        sJ ‚t          t	          d¦  «        ¦  «        } ddt          d¦  «        z  dz  dz
  t          d¦  «        t          z  dz  z
  dt          z  z   ddt          z  z   dd	t          d¦  «        z  dz  z   dt          z  z
  t          d¦  «        t          z  dz  z
  d
dd	t          d¦  «        z  dz  z   t          d¦  «        t          z  dz  z   dt          z  z   ddt          z  z
  dt          d¦  «        z  dz  dz
  dt          z  z
  t          d¦  «        t          z  dz  z   g}t          | ¦  «        |k    sJ ‚t          |¦  «        | t          j        gdz  z   k    sJ ‚ddt          z  z   ddt          z  z   ddt          z  z   g} t          dd¦  «        dt          z  z   t          t          dd¦  «        z  t          dd¦  «        t          z   dt          dz  z
  g}t          | ¦  «        |k    sJ ‚t          |¦  «        | t          j        gz   k    sJ ‚t          dd¬¦  «        Št          t          ˆfd„¦  «         t          t          ˆfd„¦  «         d S )Nc              3   ó`   K  — | ])}g t          d d¦  «        gfD ]} ||¦  «        |k    V — ŒŒ*dS )é   é   N©r   ©Ú.0ÚtfÚlss      úb/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/discrete/tests/test_transforms.pyú	<genexpr>z test_fft_ifft.<locals>.<genexpr>	   sf   è è € ð >ð > Ø')­H°Q¸©N¬NÐ+;Ð&<ð>ð >Ø "ð ˆr�"‰vŒv˜Š|ð >ð >ð >ð >ð >ð >ð >ó    é   é   iùÿÿÿé   é   r   éüÿÿÿé   éýÿÿÿé   r   é	   éþÿÿÿÚxT)Úrealc                  ó"   •— t          ‰ ¦  «        S ©N)r	   ©r(   s   €r   ú<lambda>ztest_fft_ifft.<locals>.<lambda>   s   ø€ �c !™fœf€ r   c                  óH   •— t          ‰ d‰ z  d‰ dz  z  d‰ dz  z  g¦  «        S ©Nr    r   r!   )r
   r,   s   €r   r-   ztest_fft_ifft.<locals>.<lambda>   s,   ø€ �t Q¨¨!©¨Q¨q°!©t©V°Q°q¸!±t±VÐ$<Ñ=Ô=€ r   )Úallr	   r
   ÚlistÚranger   r   r   ÚZeror   r   r   Ú	TypeErrorÚ
ValueError)r   ÚflsÚiflsr(   s      @r   Útest_fft_ifftr8      sT  ø€ Ýð >ð >¥s­D kð >ñ >ô >ñ >ô >ð >ð >ð >õ 
�e�A‰hŒh‰Œ€BØˆr•$�q‘'”'‰z˜!‰|˜aÑ¥$ q¡'¤'­!¡)¨A¡+Ñ-°µ!±Ñ3°Q¸½1¹±WØ�!•D˜‘G”G‘)˜A‘+Ñ ¥!¡Ñ#¥d¨1¡g¤g­a¡i°¡kÑ1°2Ø�!•D˜‘G”G‘)˜A‘+Ñ¥ Q¡¤­¡	¨!¡Ñ+¨aµ©cÑ1Ø�!•A‘#‰g�r�$˜q™'œ'‘z !‘| aÑ'¨!­A©#Ñ-µ°Q±´½±	¸!±Ñ;ð=€Cõ
 ˆr‰7Œ7�cŠ>ˆ>ˆ>ˆ>Ý�‰9Œ9˜�aœf˜X a™Z™Ò'Ð'Ð'Ð'à
ˆa•‰c‰'�1�q�‘s‘7˜A ¥!¡™GÐ	$€BÝ�Q˜‰NŒN˜Q�q™SÑ ¥!¥H¨R°¡O¤OÑ"3µX¸aÀ±^´^ÅaÑ5GÈÍaÐPQÉcÉÐR€Då�‰8Œ8�tÒÐÐÐÝˆt‰9Œ9˜�aœf˜X™Ò%Ð%Ð%Ð%åˆs˜ÐÑÔ€AÝ
�9�n�n�n�nÑ%Ô%Ð%Ý
�:Ð=Ð=Ð=Ð=Ñ>Ô>Ð>Ð>Ð>r   c                  óØ  ‡‡‡‡‡— dŠdŠdŠt          ˆfd„t          t          fD ¦   «         ¦  «        sJ ‚t          t	          d¦  «        ¦  «        Šg d¢} t          ‰‰¦  «        | k    sJ ‚t          | ‰¦  «        ‰dgdz  z   k    sJ ‚d	dt
          z  z   d
dt
          z  z   ddt
          z  z   gŠt          dd¬¦  «        Št          t          ˆˆfd„¦  «         t          t          ˆˆfd„¦  «         t          t          ˆˆfd„¦  «         t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         d S )Ni €;iÊš;éÒ   c              3   óH   •K  — | ]}g d gfD ]} ||‰¦  «        |k    V — ŒŒdS )r   N© )r   r   r   Úps      €r   r   z test_ntt_intt.<locals>.<genexpr>'   s_   øè è € ð 5ð 5 2Ø+-°¨s¨)ð5ð 5Ø$&ð ˆr�"�a‰yŒy˜BŠð 5ð 5ð 5ð 5ð 5ð 5ð 5r   r   )r   i"TÀ/iƒ,iÿéiþÿ;i@›2iô|{i‹§º r   r    r%   r   r!   r   r(   T)Úintegerc                  ó$   •— t          ‰‰ ¦  «        S r+   ©r   ©r=   r(   s   €€r   r-   ztest_ntt_intt.<locals>.<lambda>4   s   ø€ �c ! Q™iœi€ r   c                  óJ   •— t          ‰d‰z  d‰dz  z  d‰dz  z  g‰ ¦  «        S r/   ©r   rA   s   €€r   r-   ztest_ntt_intt.<locals>.<lambda>5   s.   ø€ �t Q¨¨!©¨Q¨q°!©t©V°Q°q¸!±t±VÐ$<¸aÑ@Ô@€ r   c                  ó$   •— t          ‰ ‰¦  «        S r+   rC   )r   r=   s   €€r   r-   ztest_ntt_intt.<locals>.<lambda>6   s   ø€ �t B¨™{œ{€ r   c                  ó(   •— t          g d¢‰ ¦  «        S )N)g333333ó?gÍÌÌÌÌÌ @g      @r@   ©r=   s   €r   r-   ztest_ntt_intt.<locals>.<lambda>7   ó   ø€ �s ? ? ?°AÑ6Ô6€ r   c                  ó(   •— t          g d¢‰ ¦  «        S )N)r   r   r   r@   )Úqs   €r   r-   ztest_ntt_intt.<locals>.<lambda>8   ó   ø€ �s 9 9 9¨aÑ0Ô0€ r   c                  ó(   •— t          g d¢‰ ¦  «        S )N)r!   r   r#   r@   )Úrs   €r   r-   ztest_ntt_intt.<locals>.<lambda>9   rJ   r   c                  ó(   •— t          g d¢‰ ¦  «        S )N)g      ð?g       @g      @r@   rF   s   €r   r-   ztest_ntt_intt.<locals>.<lambda>:   rG   r   )
r0   r   r   r1   r2   r   r   r   r4   r5   )Únlsr   r=   rI   rL   r(   s    @@@@@r   Útest_ntt_inttrO       sº  øøøøø€ ð 	€AØ€AØ€Aåð 5ð 5ð 5ð 5­#­t¨ð 5ñ 5ô 5ñ 5ô 5ð 5ð 5ð 5õ 
�e�A‰hŒh‰Œ€Bð!ð !ð !€Cõ ˆr�1‰:Œ:˜ÒÐÐÐÝ��Q‰<Œ<˜2   A¡™:Ò%Ð%Ð%Ð%à
ˆa•‰c‰'�1�q�‘s‘7˜A ¥!¡™GÐ	$€BÝˆs˜DÐ!Ñ!Ô!€Aå
�9Ð'Ð'Ð'Ð'Ð'Ñ(Ô(Ð(Ý
�:Ð@Ð@Ð@Ð@Ð@ÑAÔAÐAÝ
�:Ð*Ð*Ð*Ð*Ð*Ñ+Ô+Ð+Ý
�:Ð6Ð6Ð6Ð6Ñ7Ô7Ð7Ý
�:Ð0Ð0Ð0Ð0Ñ1Ô1Ð1Ý
�:Ð0Ð0Ð0Ð0Ñ1Ô1Ð1Ý
�:Ð6Ð6Ð6Ð6Ñ7Ô7Ð7Ð7Ð7r   c                  óò  ‡— t          d„ t          t          fD ¦   «         ¦  «        sJ ‚g d¢} g d¢}t          | ¦  «        |k    sJ ‚t          |¦  «        | t          j        gdz  z   k    sJ ‚t          j        dt          z  z   t          dd¦  «        dt          z  z   t          dd	¦  «        d	t          z  z   t          dd¦  «        t          d
d¦  «        g} t          dd¦  «        t          dz  dz  z   t          dd¦  «        t          dz  z   t          dd¦  «        t          dd¦  «        t          z
  t          dd¦  «        t          dz  dz  z   t          dd¦  «        t          dz  z   t          dd¦  «        t          dd¦  «        t          z
  g}t          | ¦  «        |k    sJ ‚t          |¦  «        | t          j        gdz  z   k    sJ ‚t          d¦  «        \  Š}t          t          ˆfd„¦  «         ‰d‰z  d‰dz  z  d‰dz  z  g} ‰dz  d‰dz  z  dz  z   ‰t          dd¦  «        z  z   ‰dz   d‰dz  z  dz  z   ‰dz  z
  ‰dz   d‰dz  z  dz  z
  ‰t          dd¦  «        z  z   ‰dz  d‰dz  z  dz  z
  ‰dz  z
  g}t          | ¦  «        |k    sJ ‚t          |¦  «        | k    sJ ‚‰|‰dz  |dz  ‰|z  g} ‰dz  ‰|z  z   ‰z   |dz  z   |z   ‰dz  ‰|z  z   ‰z   |dz  z
  |z
  ‰dz   ‰|z  z   ‰z   |dz  z
  |z   ‰dz   ‰|z  z   ‰z   |dz  z   |z
  ‰dz  ‰|z  z
  ‰z   |dz  z   |z   ‰dz  ‰|z  z
  ‰z   |dz  z
  |z
  ‰dz   ‰|z  z
  ‰z   |dz  z
  |z   ‰dz   ‰|z  z
  ‰z   |dz  z   |z
  g}t          | ¦  «        |k    sJ ‚t          |¦  «        | t          j        gdz  z   k    sJ ‚t          t          d	¦  «        ¦  «        } t          | ¦  «        d„ t          | ¦  «        D ¦   «         k    sJ ‚d S )Nc              3   ó`   K  — | ])}g t          d d¦  «        gfD ]} ||¦  «        |k    V — ŒŒ*dS )r#   r!   Nr   r   s      r   r   z"test_fwht_ifwht.<locals>.<genexpr>>   sf   è è € ð :ð : Ø#%­°°A©¬Ð'7Ð"8ð:ð :Øð ˆr�"‰vŒv˜Š|ð :ð :ð :ð :ð :ð :ð :r   )éÕ   iA  iã¨  iÍ  i8  é5   )i3Á  i­”  iÓEÿÿi�lÿÿiY¾  i§’  iùBÿÿi{jÿÿr    r   r#   r!   r   r   r&   i  i   é   éà   r%   ék   é›   i™ÿÿÿi‡þÿÿiíÿÿÿzx yc                  ó"   •— t          ‰ ¦  «        S r+   )r   r,   s   €r   r-   z!test_fwht_ifwht.<locals>.<lambda>P   s   ø€ �d 1™gœg€ r   c                 ó   — g | ]}|d z  ‘ŒS )é   r<   )r   r(   s     r   ú
<listcomp>z#test_fwht_ifwht.<locals>.<listcomp>j   s   € Ð/Ð/Ð/ ˜˜!™Ð/Ð/Ð/r   )r0   r   r   r   r3   ÚHalfr   r   r   r   r4   r1   r2   )r   r6   r7   Úyr(   s       @r   Útest_fwht_ifwhtr^   =   s†  ø€ Ýð :ð :¥t­U mð :ñ :ô :ñ :ô :ð :ð :ð :ð 
*Ð	)Ð	)€BØ
FÐ
FÐ
F€Cå�‰8Œ8�sŠ?ˆ?ˆ?ˆ?Ý�‰:Œ:˜�qœv˜h q™j™Ò(Ð(Ð(Ð(å
Œ&�1•Q‘3‰,�  A™œ¨­1©Ñ,­h°q¸!©n¬n¸qÅ¹sÑ.BÅHÈQÐPQÁNÄNÕT\Ð]^Ð`aÑTbÔTbÐ	c€BÝ�S˜#ÑÔ¥ 1¡ Q¡Ñ&­°°SÑ(9Ô(9½A¸a¹CÑ(?ÅÈ!ÈSÑAQÔAQÕS[Ð\_ÐadÑSeÔSeÕhiÑSiÝ��cÑÔ�Q˜q™S ™UÑ"¥H¨T°3Ñ$7Ô$7½!¸A¹#Ñ$=½xÈÈcÑ?RÔ?RÕT\Ð]`ÐbeÑTfÔTfÕijÑTjðl€Dõ �‰9Œ9˜ÒÐÐÐÝ�‰:Œ:˜�qœv˜h q™j™Ò(Ð(Ð(Ð(å�5‰>Œ>�D€A€qå
�9�o�o�o�oÑ&Ô&Ð&à
ˆQˆq‰S�!�A�q‘D‘&˜!˜A˜q™D™&Ð	!€BØˆq‰D�1�Q˜‘T‘6˜!‘8‰O˜a¥¨¨A¡¤Ñ.Ñ.Ø	
ˆA‰ˆ��!�Q‘$‘�q‘Ñ˜1˜Q™3ÑØ	
ˆA‰ˆ��!�Q‘$‘�q‘Ñ˜1�X a¨™^œ^Ñ+Ñ+Ø	ˆ1‰ˆq��A‘‰v�a‰x‰˜!˜A™#Ñð€Dõ
 �‰9Œ9˜ÒÐÐÐÝ�‰:Œ:˜ÒÐÐÐà
ˆQ��1‘�a˜‘d˜A˜a™CÐ	 €BØˆa‰4�!�A‘#‰:˜‰>˜A˜q™DÑ  1Ñ$Ø	ˆ1‰ˆq�‰s‰
�Q‰˜˜A™Ñ Ñ!Ø	
ˆA‰ˆ��!‘‰�a‰˜!˜Q™$Ñ Ñ"Ø	
ˆA‰ˆ��!‘‰�a‰˜!˜Q™$Ñ Ñ"Ø	ˆ1‰ˆq�‰s‰
�Q‰˜˜A™Ñ Ñ!Ø	ˆ1‰ˆq�‰s‰
�Q‰˜˜A™Ñ Ñ!Ø	
ˆA‰ˆ��!‘‰�a‰˜!˜Q™$Ñ Ñ"Ø	
ˆA‰ˆ��!‘‰�a‰˜!˜Q™$Ñ Ñ"ð$€Cõ �‰8Œ8�sŠ?ˆ?ˆ?ˆ?Ý�‰:Œ:˜�qœv˜h q™j™Ò(Ð(Ð(Ð(å	�e�A‰hŒh‰Œ€Bå�‰8Œ8Ð/Ð/¥U¨2¡Y¤YÐ/Ñ/Ô/Ò/Ð/Ð/Ð/Ð/Ð/r   c                  ó^  ‡‡— t          d„ g t          dd¦  «        gfD ¦   «         ¦  «        sJ ‚t          d¦  «        \  } ŠŠ}t          ‰‰g¦  «        ‰‰‰z   gk    sJ ‚t	          ‰‰‰z   g¦  «        ‰‰gk    sJ ‚t          ‰‰gd¬¦  «        ‰‰z   ‰gk    sJ ‚t	          ‰‰z   ‰gd¬¦  «        ‰‰gk    sJ ‚t          | ‰‰|g¦  «        | | ‰z   | ‰z   | ‰z   ‰z   |z   gk    sJ ‚t	          | | ‰z   | ‰z   | ‰z   ‰z   |z   g¦  «        | ‰‰|gk    sJ ‚t          | ‰‰|gd¬¦  «        | ‰z   ‰z   |z   ‰|z   ‰|z   |gk    sJ ‚t	          | ‰z   ‰z   |z   ‰|z   ‰|z   |gd¬¦  «        | ‰‰|gk    sJ ‚t          dd¦  «        t          d	d¦  «        t          d
d¦  «        dt          d
d¦  «        dt
          z  z   g}t          dd¦  «        t          dd¦  «        t          dd¦  «        t          dd¦  «        t          dd¦  «        dt
          z  z   t          dd¦  «        dt
          z  z   t          dd¦  «        dt
          z  z   t          dd¦  «        dt
          z  z   g}t          |¦  «        |k    sJ ‚t	          |¦  «        |t          j        gdz  z   k    sJ ‚t          dd¦  «        dt
          z  z   t          dd¦  «        t          dd¦  «        dt          d
d¦  «        dt
          z  z   dddg}t          |d¬¦  «        |k    sJ ‚t	          |d¬¦  «        |t          j        gdz  z   k    sJ ‚|d d…         }t          dd¦  «        t          dd¦  «        t          dd¦  «        t          dd¦  «        g}t          |¦  «        |k    sJ ‚t	          |¦  «        |k    sJ ‚t          dd¦  «        t          dd¦  «        t          dd¦  «        dg}t          |d¬¦  «        |k    sJ ‚t	          |d¬¦  «        |k    sJ ‚t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         d S )Nc              3   ód   K  — | ]+}d D ]&}t           t          fD ]} |||¬¦  «        |k    V — ŒŒ'Œ,dS ))TF©ÚsubsetN)r   r   )r   r   rb   r   s       r   r   z(test_mobius_transform.<locals>.<genexpr>n   s‡   è è € ð Hð HØ¸}ðHð HØ5;Ý+Õ-EÐFðHð Hàð ˆr�"˜VÐ$Ñ$Ô$¨Ò*ð Hð Hð Hð Hð Hð Hð Hð Hr   r#   r!   zw x y zFra   r    r   r   r   rZ   r&   é    é   é   é   iQ  é¨   éC   éG   ii  éE   éM   r   éÿÿÿÿc                  ó&   •— t          ‰ d¬¦  «        S )NTra   )r   r,   s   €r   r-   z'test_mobius_transform.<locals>.<lambda>™   s   ø€ Õ.¨q¸Ð>Ñ>Ô>€ r   c                  ó&   •— t          ‰ d¬¦  «        S )NFra   )r   )r]   s   €r   r-   z'test_mobius_transform.<locals>.<lambda>š   s   ø€ Õ6°qÀÐGÑGÔG€ r   )
r0   r   r   r   r   r   r   r3   r   r4   )ÚwÚzr   Úmlsr(   r]   s       @@r   Útest_mobius_transformrr   m   sÙ  øø€ Ýð Hð HØ¥¨¨A¡¤Ð/Ð0ðHñ Hô Hñ Hô Hð Hð Hð Hõ ˜Ñ#Ô#�J€A€qˆ!ˆQå˜Q ˜FÑ#Ô#¨¨1¨q©5 zÒ1Ð1Ð1Ð1Ý# Q¨¨A© JÑ/Ô/°A°q°6Ò9Ð9Ð9Ð9Ý˜Q ˜F¨5Ð1Ñ1Ô1°a¸!±e¸Q°ZÒ?Ð?Ð?Ð?Ý# Q¨¡U¨A J°uÐ=Ñ=Ô=À!ÀQÀÒGÐGÐGÐGå˜Q  1 a˜LÑ)Ô)¨a°°Q±¸¸A¹¸qÀ1¹uÀq¹yÈ1¹}Ð-MÒMÐMÐMÐMÝ# Q¨¨A©¨q°1©u°a¸!±e¸a±iÀ!±mÐ$DÑEÔEØ��1�aˆLòð ð ð å˜Q  1 a˜L°Ð7Ñ7Ô7Ø�‰U�Q‰Y˜‰]˜A ™E 1 q¡5¨!Ð,ò-ð -ð -ð -å# Q¨¡U¨Q¡Y°¡]°A¸±E¸1¸q¹5À!Ð$DÈUÐSÑSÔSØ��1�aˆLòð ð ð õ �1�a‰.Œ.�( 1 a™.œ.­(°1°a©.¬.¸!½XÀaÈ¹^¼^ÈaÕPQÉcÑ=QÐ	R€BÝ�A�q‰>Œ>�8 B¨Ñ+Ô+­X°b¸"Ñ-=Ô-=½xÈÈcÑ?RÔ?RÝ�Q˜‰NŒN˜Q�q™SÑ ¥(¨2¨rÑ"2Ô"2°Qµq±SÑ"8½(À2ÀrÑ:JÔ:JÈQÍqÉSÑ:PÝ�T˜3ÑÔ !¥A¡#Ñ%ð'€Cõ ˜BÑÔ 3Ò&Ð&Ð&Ð&Ý# CÑ(Ô(¨Bµ!´&°¸!±©OÒ;Ð;Ð;Ð;å�D˜#ÑÔ ¥1¡Ñ$¥h¨r°1¡o¤oµxÀÀA±´ÈÍ8ÐTUÐWXÉ>Ì>Ð\]Õ^_Ñ\_ÑK_ÐabÐdeÐghÐ
i€Cå˜B uÐ-Ñ-Ô-°Ò4Ð4Ð4Ð4Ý# C°Ð6Ñ6Ô6¸"ÅÄ¸xÈ¹z¹/ÒIÐIÐIÐIà	ˆCˆRˆCŒ€BÝ�A�q‰>Œ>�8 B¨Ñ+Ô+­X°b¸"Ñ-=Ô-=½xÈÈcÑ?RÔ?RÐ
S€Cå˜BÑÔ 3Ò&Ð&Ð&Ð&Ý# CÑ(Ô(¨BÒ.Ð.Ð.Ð.å�D˜#ÑÔ¥¨¨Q¡¤µ¸"¸a±´À!Ð
D€Cå˜B uÐ-Ñ-Ô-°Ò4Ð4Ð4Ð4Ý# C°Ð6Ñ6Ô6¸"Ò<Ð<Ð<Ð<å
�9Ð>Ð>Ð>Ð>Ñ?Ô?Ð?Ý
�9ÐGÐGÐGÐGÑHÔHÐHÐHÐHr   N)Ú(sympy.functions.elementary.miscellaneousr   Ú
sympy.corer   r   r   r   r   Úsympy.discreter	   r
   r   r   r   r   r   r   Úsympy.testing.pytestr   r8   rO   r^   rr   r<   r   r   ú<module>rw      s  ðØ 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ð0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0à 'Ð 'Ð 'Ð 'Ð 'Ð 'ð?ð ?ð ?ð08ð 8ð 8ð:-0ð -0ð -0ð`-Ið -Ið -Ið -Ið -Ir   