§
    OŠtjT  ã                   ó€   — d dl mZ d dlmZ d dl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 ej        Zd„ Zd„ Zd	S )
é    )Úsymbols)Ú	FiniteSet)Ú
PolyhedronÚtetrahedronÚcubeÚ
octahedronÚdodecahedronÚicosahedronÚ
cube_faces©ÚPermutation)ÚPermutationGroup)Úraisesc                  óî  ‡	— t          t          d„ ¦  «         t          g d¢g d¢g¦  «        t          g d¢g d¢g¦  «        t          g d¢g d¢g¦  «        t          g d¢g d	¢d
gdgg¦  «        t          g d¢g d¢dgdgg¦  «        t          g d¢g d¢dgdgg¦  «        t          g d¢g d¢dgdgg¦  «        t          dd
gddgddgddgg¦  «        t          ddgddgd
dgddgg¦  «        t          d
dgddgddgddgg¦  «        t          ddgddgddgdd
gg¦  «        t          ddgddgdd
gddgg¦  «        t          dd
gddgddgddgg¦  «        t          g d¢¦  «        g} t          t	          d¦  «        ¦  «        }t
          }t          ||| ¦  «        Š	‰	j        t          dŽ k    sJ ‚t          d¦  «        D ]%}‰	 
                    ‰	j        |         d
z  ¦  «         Œ&‰	j        |k    sJ ‚t          dd¦  «        D ]%}‰	 
                    ‰	j        |         d
z  ¦  «         Œ&‰	j        |k    sJ ‚‰	 
                    d¦  «         t          t          ˆ	fd„¦  «         ‰	j        |k    sJ ‚‰	j        g d¢k    sJ ‚‰	j        g d¢g d¢gk    sJ ‚‰	                     ¦   «          ‰	j        |k    sJ ‚d„ }t!          t"          t$          t&          t(          t*          fdd d!¦  «        D ]\  }}}} |||||¦  «         Œd S )"Nc                  ó\   — t          t          d¦  «        t          dg¦  «        g¬¦  «        S )NÚabr   )Úpgroup)r   Úlistr   © ó    úg/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/combinatorics/tests/test_polyhedron.pyú<lambda>z!test_polyhedron.<locals>.<lambda>   s-   € �z­$¨t©*¬*Ý˜Q˜CÑ Ô Ð!ð #ñ  #ô  #€ 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   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   zA:H))r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   c                  óL   •— ‰                       t          ddg¦  «        ¦  «        S )Nr   r   )Úrotater   )r   s   €r   r   z!test_polyhedron.<locals>.<lambda>0   s   ø€ ˜tŸ{š{­;¸¸1°vÑ+>Ô+>Ñ?Ô?€ r   )r   r   r   r   r   r   r   r   )r   r   r   r   c                 ó  ‡
— t          | j        ¦  «        t          | j        ¦  «        z   t          | j        ¦  «        z
  dk    sJ ‚| j        |k    sJ ‚t          ¦   «         }| j        D ]î}|                      ¦   «         }|j        }t          |¦  «        D ]$}| 
                    |¦  «         |j        |k    r nŒ%t          d|j        ¦  «         t          |¦  «        D ]x}| 
                    |¦  «         |                     t          |j        ¦  «        ¦  «         |j        Š
ˆ
fd„|j        D ¦   «         }	| j        t          ‰
|	¦  «        j        k    sJ ‚ŒyŒït          |¦  «        |k    sJ ‚t!          d„ |D ¦   «         ¦  «        j        sJ ‚d S )Nr   zerror in permutationc                 ó,   •— g | ]}ˆfd „|D ¦   «         ‘ŒS )c                 ó    •— g | ]
}‰|         ‘ŒS r   r   )Ú.0ÚiÚcs     €r   ú
<listcomp>z=test_polyhedron.<locals>.check.<locals>.<listcomp>.<listcomp>K   s   ø€ Ð&Ð&Ð&˜q�a˜”dÐ&Ð&Ð&r   r   )r%   Úfr'   s     €r   r(   z2test_polyhedron.<locals>.check.<locals>.<listcomp>K   s.   ø€ Ð8Ð8Ð8¨1Ð&Ð&Ð&Ð& AÐ&Ñ&Ô&Ð8Ð8Ð8r   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r   r   )r%   Úgs     r   r(   z2test_polyhedron.<locals>.check.<locals>.<listcomp>N   s   € Ð =Ð =Ð =°A¥¨Q¡¤Ð =Ð =Ð =r   )ÚlenÚfacesÚverticesÚedgesÚsizeÚsetr   ÚcopyÚcornersÚranger!   ÚprintÚ
array_formÚaddÚtupler   r   Úis_group)Úhr0   ÚrptÚtargetÚgotÚpÚPÚhitr&   r)   r'   s             @r   Úcheckztest_polyhedron.<locals>.check7   s’  ø€ å�1”7‰|Œ|�c !¤*™oœoÑ-µ°A´G±´Ñ<ÀÒAÐAÐAÐAØŒv˜Š~ˆ~ˆ~ˆ~å‰eŒeˆØ”ð 	9ð 	9ˆAà—’‘”ˆAØ”)ˆCÝ˜3‘Z”Zð <ð <�Ø—’˜‘”�Ø”9 Ò#Ð#Ø�Eð $õ Ð,¨a¬lÑ;Ô;Ð;Ý˜3‘Z”Zð 9ð 9�Ø—’˜‘”�Ø—’�˜aœiÑ(Ô(Ñ)Ô)Ð)Ø”I�Ø8Ð8Ð8Ð8°´Ð8Ñ8Ô8�Ø”w¥*¨Q°Ñ"2Ô"2Ô"8Ò8Ð8Ð8Ð8Ð8ð9õ �3‰xŒx˜6Ò!Ð!Ð!Ð!ÝÐ =Ð =¸Ð =Ñ =Ô =Ñ>Ô>ÔGÐGÐGÐGÐGÐGr   )r   é   r   é   é   )r   r   r   r   r   )rD   é   rE   é<   rF   )r   Ú
ValueErrorr   r8   r   r   r   r/   r   r4   r!   r   r3   r6   Úcyclic_formÚresetÚzipr   Úsquarer   r	   r
   )
r   r3   r-   r&   rA   r:   r0   r;   r<   r   s
            @r   Útest_polyhedronrL      sÇ  ø€ Ý
�:ð #ð #ñ $ô $ð $å˜<˜<˜<¨¨¨Ð6Ñ7Ô7Ý˜<˜<˜<¨¨¨Ð6Ñ7Ô7Ý˜<˜<˜<¨¨¨Ð6Ñ7Ô7Ý˜9˜9˜9 i i i°!°°q°cÐ:Ñ;Ô;Ý˜9˜9˜9 i i i°!°°q°cÐ:Ñ;Ô;Ý˜9˜9˜9 i i i°!°°q°cÐ:Ñ;Ô;Ý˜9˜9˜9 i i i°!°°q°cÐ:Ñ;Ô;Ý˜A˜q˜6 A q 6¨A¨q¨6°A°q°6Ð:Ñ;Ô;Ý˜A˜q˜6 A q 6¨A¨q¨6°A°q°6Ð:Ñ;Ô;Ý˜A˜q˜6 A q 6¨A¨q¨6°A°q°6Ð:Ñ;Ô;Ý˜A˜q˜6 A q 6¨A¨q¨6°A°q°6Ð:Ñ;Ô;Ý˜A˜q˜6 A q 6¨A¨q¨6°A°q°6Ð:Ñ;Ô;Ý˜A˜q˜6 A q 6¨A¨q¨6°A°q°6Ð:Ñ;Ô;ÝÐ2Ð2Ð2Ñ3Ô3ð5€Fõ •G˜E‘N”NÑ#Ô#€GÝ€EÝ�g˜u fÑ-Ô-€DàŒ:�ð %8ð 9ò 9ð 9ð 9ð 9õ �1‰XŒXð 'ð 'ˆØ�Š�D”K ”N AÑ%Ñ&Ô&Ð&Ð&àŒ<˜7Ò"Ð"Ð"Ð"å�1�a‰[Œ[ð 'ð 'ˆØ�Š�D”K ”N AÑ%Ñ&Ô&Ð&Ð&àŒ<˜7Ò"Ð"Ð"Ð"Ø‡K‚K��N„N€NÝ
�:Ð?Ð?Ð?Ð?Ñ@Ô@Ð@ØŒ<˜7Ò"Ð"Ð"Ð"ØŒ?Ð6Ð6Ð6Ò6Ð6Ð6Ð6ØÔ   ¨l¨l¨lÐ;Ò;Ð;Ð;Ð;Ø‡J‚J�L„L€LØŒ<˜7Ò"Ð"Ð"Ð"ðHð Hð Hõ2 !$Ý	•f�j­,½ÐDØØØ ñ	!"ô !"ð $ð $Ñˆˆ4��fð
 	ˆˆa��s˜FÑ#Ô#Ð#Ð#ð$ð $r   c            
      óz  — ddl m} m}m}m}m} ddl m}  |¦   «         \
  }}}}	}
}}}}}t          |k    sJ ‚| |k    sJ ‚t          |k    sJ ‚t          |	k    sJ ‚t          |
k    sJ ‚t          t          t          |¦  «        ¦  «        t          t          t          |¦  «        ¦  «        k    sJ ‚t          t          ¦  «        t          |¦  «        k    sJ ‚t          |¦  «        t          |¦  «        k    sJ ‚t          |¦  «        t          |¦  «        k    sJ ‚t          |¦  «        t          |¦  «        k    sJ ‚d S )Nr   )r   Útetrahedron_facesÚoctahedron_facesÚdodecahedron_facesÚicosahedron_faces)Ú_pgroup_calcs)Úsympy.combinatorics.polyhedronr   rN   rO   rP   rQ   rR   r   r   r	   r
   ÚsortedÚmapr   )r   rN   rO   rP   rQ   rR   Útetrahedron2Úcube2Úoctahedron2Údodecahedron2Úicosahedron2Útetrahedron_faces2Úcube_faces2Úoctahedron_faces2Údodecahedron_faces2Úicosahedron_faces2s                   r   Útest_pgroupsr`   X   s¨  € ðEð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eà<Ð<Ð<Ð<Ð<Ð<ð 1>°±´ñ.€\�5˜+ }°lØ˜Ð&7ØÐ,å˜,Ò&Ð&Ð&Ð&Ø�5Š=ˆ=ˆ=ˆ=Ý˜Ò$Ð$Ð$Ð$Ý˜=Ò(Ð(Ð(Ð(Ý˜,Ò&Ð&Ð&Ð&Ý•#•fÐ/Ñ0Ô0Ñ1Ô1µV½CÅÐHZÑ<[Ô<[Ñ5\Ô5\Ò\Ð\Ð\Ð\Ý•*ÑÔ¥¨Ñ!4Ô!4Ò4Ð4Ð4Ð4ÝÐ"Ñ#Ô#¥vÐ.?Ñ'@Ô'@Ò@Ð@Ð@Ð@ÝÐ$Ñ%Ô%­Ð0CÑ)DÔ)DÒDÐDÐDÐDÝÐ#Ñ$Ô$­Ð/AÑ(BÔ(BÒBÐBÐBÐBÐBÐBr   N)Úsympy.core.symbolr   Úsympy.sets.setsr   rS   r   r   r   rK   r   r	   r
   r   Ú sympy.combinatorics.permutationsr   Úsympy.combinatorics.perm_groupsr   Úsympy.testing.pytestr   ÚrmulrL   r`   r   r   r   ú<module>rg      sô   ðØ %Ð %Ð %Ð %Ð %Ð %Ø %Ð %Ð %Ð %Ð %Ð %ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 9Ð 8Ð 8Ð 8Ð 8Ð 8Ø <Ð <Ð <Ð <Ð <Ð <Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'àÔ€ðH$ð H$ð H$ðVCð Cð Cð Cð Cr   