§
    OŠtj  ã                   ó|   — d dl mZmZ d dl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 d„ Zd„ Zd„ Zd	„ Zd
„ ZdS )é    )ÚorderedÚdefault_sort_key)Ú	PartitionÚIntegerPartitionÚRGS_enumÚ
RGS_unrankÚRGS_rankÚrandom_integer_partition)Úraises)Ú
partitions)ÚSetÚ	FiniteSetc                  ó¦  — t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          g d¢ddg¦  «        t          ddgg d¢¦  «        k    sJ ‚t          h d£ddh¦  «        t          g d¢ddg¦  «        k    sJ ‚t          d	d
d¦  «        } t          dd¦  «        }t          | |¦  «        t          g d¢ddg¦  «        k    sJ ‚t          | |h¦  «        t          t          | |¦  «        ¦  «        k    sJ ‚t          | |h¦  «        t          | |¦  «        k    sJ ‚d S )Nc                  ó$   — t          g d¢¦  «        S )N)é   r   é   ©r   © ó    úg/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/combinatorics/tests/test_partitions.pyú<lambda>z,test_partition_constructor.<locals>.<lambda>   s   € �y¨¨¨Ñ3Ô3€ r   c                  ó*   — t          g d¢g d¢¦  «        S )N©r   r   é   )r   r   é   r   r   r   r   r   z,test_partition_constructor.<locals>.<lambda>   s   € �y¨¨¨°I°I°IÑ>Ô>€ r   c                  ó$   — t          ddd¦  «        S )Nr   r   r   r   r   r   r   r   z,test_partition_constructor.<locals>.<lambda>   s   € �y¨¨A¨qÑ1Ô1€ r   c                  óH   — t          t          t          d¦  «        ¦  «        Ž S ©Nr   )r   ÚlistÚranger   r   r   r   z,test_partition_constructor.<locals>.<lambda>   s   € �y­$­u°Q©x¬x©.¬.Ð9€ r   r   r   é   >   r   r   r   r   r   r   )r   Ú
ValueErrorr   r   ©ÚaÚbs     r   Útest_partition_constructorr&   
   s]  € Ý
�:Ð3Ð3Ñ4Ô4Ð4Ý
�:Ð>Ð>Ñ?Ô?Ð?Ý
�:Ð1Ð1Ñ2Ô2Ð2Ý
�:Ð9Ð9Ñ:Ô:Ð:å�Y�Y�Y  A Ñ'Ô'­9°a¸°V¸Y¸Y¸YÑ+GÔ+GÒGÐGÐGÐGÝ�Y�Y�Y  A Ñ'Ô'­9°Y°Y°YÀÀAÀÑ+GÔ+GÒGÐGÐGÐGå�!�Q˜ÑÔ€AÝ�!�Q‰Œ€AÝ�Q˜‰?Œ?�i¨	¨	¨	°A°q°6Ñ:Ô:Ò:Ð:Ð:Ð:Ý�a˜�VÑÔ¥	­)°A°q©/¬/Ñ :Ô :Ò:Ð:Ð:Ð:Ý�a˜�VÑÔ¥	¨!¨Q¡¤Ò/Ð/Ð/Ð/Ð/Ð/r   c                  ó®  — ddl m}  t          g d¢dg¦  «        }t          ddgddg¦  «        }t          | g¦  «        }|||g}|                     t          ¬¦  «         ||||gk    sJ ‚|                     d	„ ¬¦  «         ||||gk    sJ ‚||k    d
u sJ ‚||k    sJ ‚||k    d
u sJ ‚||k    sJ ‚||k     sJ ‚|dz   j        ddgddggk    sJ ‚|dz
  j        g d¢dggk    sJ ‚|dz
  j        g d¢gk    sJ ‚|dz   j        g d¢dggk    sJ ‚|dz   j        ddgdgdggk    sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚d S )Nr   )Úxr   r   r   r   r   )Úkeyc                 ó$   — t          | d¬¦  «        S )Nzrev-lex)Úorder)r   )Úws    r   r   z test_partition.<locals>.<lambda>"   s   € Õ)¨!°9Ð=Ñ=Ô=€ r   F)r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )Ú	sympy.abcr(   r   Úsortr   Ú	partitionÚrankÚRGS)r(   r$   r%   ÚcÚls        r   Útest_partitionr4      sö  € ØÐÐÐÐÐå�)�)�)˜a˜SÑ!Ô!€AÝ�1�a�&˜1˜a˜&Ñ!Ô!€AÝ�1�#‰Œ€AØ	
ˆAˆqˆ	€AØ‡F‚FÕ€FÑ Ô Ð Ø��A�q�	Š>ˆ>ˆ>ˆ>Ø‡F‚FÐ=Ð=€FÑ>Ô>Ð>Ø��A�q�	Š>ˆ>ˆ>ˆ>à�ŠF�uÐÐÐÐØ�Š6ˆ6ˆ6ˆ6Ø�ŠE�eÐÐÐÐØ�Š6ˆ6ˆ6ˆ6ØˆqŠ5ˆ5ˆ5ˆ5à�‰EÔ ! Q ¨!¨Q¨Ð 0Ò0Ð0Ð0Ð0Ø�‰EÔ   ¨Q¨CÐ 0Ò0Ð0Ð0Ð0à�‰EÔ    Ò.Ð.Ð.Ð.Ø�‰EÔ   ¨Q¨CÐ 0Ò0Ð0Ð0Ð0Ø�‰EÔ ! Q ¨!¨¨q¨cÐ 2Ò2Ð2Ð2Ð2àŒ6�QŠ;ˆ;ˆ;ˆ;ØŒ6�QŠ;ˆ;ˆ;ˆ;àŒ5�LÒ Ð Ð Ð ØŒ5�LÒ Ð Ð Ð Ð Ð r   c                  óx  — t          t          d„ ¦  «         t          t          d„ ¦  «         t          dg d¢¦  «        } |                      ¦   «         }t          g d¢¦  «        }t          dddddœ¦  «        }| |k    sJ ‚| j        |j        k    sJ ‚| j        g d¢k    sJ ‚| |k    d	u sJ ‚| |k    sJ ‚| |k    d	u sJ ‚| |k    sJ ‚t          dd
¦  «        D �]}t          ¦   «         }t          ¦   «         }t          |g¦  «        } d„ t          |¦  «        D ¦   «         }t          |¦  «        }t          |¦  «        D ]@}	| 
                    | ¦  «         |                      ¦   «         } t          || j        ¦  «         ŒAt          |¦  «        D ]@}	| 
                    | ¦  «         |                      ¦   «         } t          || j        ¦  «         ŒA||k    sJ ‚||k    sJ ‚�Œ	t          g d¢¦  «                             ¦   «         dk    sJ ‚t          g d¢¦  «                             d¦  «        dk    sJ ‚t          t          g d¢¦  «        ¦  «        dk    sJ ‚t          g d¢¦  «        j        g d¢k    sJ ‚t          t          d„ ¦  «         t          d¦  «        dgk    sJ ‚t          dg d¢¬¦  «        g d¢k    sJ ‚d S )Nc                  óT   — t          t          t          d¦  «        ¦  «        ¦  «        S r   ©r   r   r    r   r   r   r   z(test_integer_partition.<locals>.<lambda>;   s   € Õ/µµU¸1±X´X±´Ñ?Ô?€ r   c            	      óX   — t          dt          t          dd¦  «        ¦  «        ¦  «        S )Néd   r   r   r7   r   r   r   r   z(test_integer_partition.<locals>.<lambda>=   s!   € Õ/°µT½%ÀÀ1¹+¼+Ñ5FÔ5FÑGÔG€ r   é   )r   r   r   r   r   )r   r   r   )r   r   r   r   Fé   c                 ó,   — h | ]}t          |¦  «        ’ŒS r   )r   )Ú.0Úps     r   ú	<setcomp>z)test_integer_partition.<locals>.<setcomp>N   s!   € Ð:Ð:Ð: qÕ Ñ"Ô"Ð:Ð:Ð:r   r   z###
##
#)r   r   r   Úozooo
o
oz	[3, 1, 1])r   r   r   c                  ó    — t          d¦  «        S )Néÿÿÿÿ)r
   r   r   r   r   z(test_integer_partition.<locals>.<lambda>`   s   € Õ7¸Ñ;Ô;€ r   é
   )r   r   r   r   r!   r   )Úseed)r!   r   r   r   r   )r   r"   r   Únext_lexÚintegerÚ	conjugater    Úsetr   ÚlenÚaddr/   Úprev_lexÚ
as_ferrersÚstrr
   )
r$   r%   r2   ÚdÚiÚnextÚprevÚansÚnÚjs
             r   Útest_integer_partitionrU   9   s  € å
�:Ð?Ð?Ñ@Ô@Ð@å
�:ÐGÐGÑHÔHÐHÝ˜˜I˜I˜IÑ&Ô&€AØ	�
Š
‰Œ€AÝ˜˜˜Ñ#Ô#€AÝ˜  a¨AÐ.Ð.Ñ/Ô/€AØ�Š6ˆ6ˆ6ˆ6ØŒ9˜œ	Ò!Ð!Ð!Ð!ØŒ;˜,˜,˜,Ò&Ð&Ð&Ð&Ø�ŠF�uÐÐÐÐØ�Š6ˆ6ˆ6ˆ6Ø�ŠE�eÐÐÐÐØ�Š6ˆ6ˆ6ˆ6å�1�b‰\Œ\ð ñ ˆÝ‰uŒuˆÝ‰uŒuˆÝ˜a˜SÑ!Ô!ˆØ:Ð:­J°q©M¬MÐ:Ñ:Ô:ˆÝ�‰HŒHˆÝ�q‘”ð 	-ð 	-ˆAØ�HŠH�Q‰KŒKˆKØ—
’
‘”ˆAÝ˜Q ¤Ñ,Ô,Ð,Ð,Ý�q‘”ð 	-ð 	-ˆAØ�HŠH�Q‰KŒKˆKØ—
’
‘”ˆAÝ˜Q ¤Ñ,Ô,Ð,Ð,Ø�sŠ{ˆ{ˆ{ˆ{Ø�sŠ{ˆ{ˆ{ˆ{‰{å˜I˜I˜IÑ&Ô&×1Ò1Ñ3Ô3°|ÒCÐCÐCÐCÝ˜I˜I˜IÑ&Ô&×1Ò1°#Ñ6Ô6¸+ÒEÐEÐEÐEÝÕ 	 	 	Ñ*Ô*Ñ+Ô+¨{Ò:Ð:Ð:Ð:Ý˜I˜I˜IÑ&Ô&Ô0°I°I°IÒ=Ð=Ð=Ð=å
�:Ð;Ð;Ñ<Ô<Ð<Ý# AÑ&Ô&¨1¨#Ò-Ð-Ð-Ð-Ý# BÐ-?Ð-?Ð-?ð ñ ô Ø ��ò!ð !ð !ð !ð !ð !r   c                  óÜ  — t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          d¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          d	d
¦  «        g d¢k    sJ ‚t          dd¦  «        g d¢k    sJ ‚t	          t          dd¦  «        ¦  «        dk    sJ ‚d S )Nc                  ó"   — t          dd¦  «        S )NrB   r   ©r   r   r   r   r   ztest_rgs.<locals>.<lambda>g   ó   € �z¨"¨aÑ0Ô0€ r   c                  ó"   — t          dd¦  «        S )Nr   r   rX   r   r   r   r   ztest_rgs.<locals>.<lambda>h   s   € �z¨!¨QÑ/Ô/€ r   c                  ó"   — t          dd¦  «        S )NrC   r   rX   r   r   r   r   ztest_rgs.<locals>.<lambda>i   rY   r   c                  ó”   — t          j        t          t          d¦  «        ¦  «        t          t          d¦  «        ¦  «        ¦  «        S )Nr   r   ©r   Úfrom_rgsr   r    r   r   r   r   ztest_rgs.<locals>.<lambda>k   s+   € �yÔ1µ$µu¸Q±x´x±.´.Å$ÅuÈQÁxÄxÁ.Ä.ÑQÔQ€ r   c                  ó–   — t          j        t          t          dd¦  «        ¦  «        t          t          d¦  «        ¦  «        ¦  «        S )Nr   r   r   r]   r   r   r   r   ztest_rgs.<locals>.<lambda>l   s0   € �yÔ1µ$µu¸QÀ±{´{Ñ2CÔ2CÅTÍ%ÐPQÉ(Ì(Á^Ä^ÑTÔT€ r   rB   r   r   é   r!   )r   r   r   r   r   é   é   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   é(   r9   )r   r"   r   r   r	   r   r   r   Útest_rgsrd   f   sþ   € Ý
�:Ð0Ð0Ñ1Ô1Ð1Ý
�:Ð/Ð/Ñ0Ô0Ð0Ý
�:Ð0Ð0Ñ1Ô1Ð1å
�:ÐQÐQÑRÔRÐRÝ
�:ÐTÐTÑUÔUÐUÝ�B‰<Œ<˜1ÒÐÐÐÝ�A‰;Œ;˜!ÒÐÐÐÝ�a˜ÑÔ˜˜˜Ò.Ð.Ð.Ð.Ý�b˜"ÑÔÐ!KÐ!KÐ!KÒKÐKÐKÐKÝ•J˜r 3Ñ'Ô'Ñ(Ô(¨BÒ.Ð.Ð.Ð.Ð.Ð.r   c                  óª   — t          g d¢dg¦  «        } t          ddgddg¦  «        }t          t          | |gt          j        ¦  «        ¦  «        sJ ‚d S )Nr   r   r   r   r   )r   r   r   r   Ú_infimum_keyr#   s     r   Útest_ordered_partition_9608rg   s   sY   € Ý�)�)�)˜a˜SÑ!Ô!€AÝ�1�a�&˜1˜a˜&Ñ!Ô!€AÝ•˜˜1˜�sÔ/Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1Ð1Ð1r   N)Úsympy.core.sortingr   r   Úsympy.combinatorics.partitionsr   r   r   r   r	   r
   Úsympy.testing.pytestr   Úsympy.utilities.iterablesr   Úsympy.sets.setsr   r   r&   r4   rU   rd   rg   r   r   r   ú<module>rm      s  ðØ 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8ðFð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð (Ð 'Ð 'Ð 'Ð 'Ð 'Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *ð0ð 0ð 0ð!ð !ð !ð@*!ð *!ð *!ðZ/ð /ð /ð2ð 2ð 2ð 2ð 2r   