Ë
    7^(hì  ã                   óp  — d Z ddlmZmZ ddlmZmZ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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
„ Z" ejF                  e«      d„ «       Z$ ejF                  e«      d„ «       Z$ ejF                  e	«      d„ «       Z$ ejF                  e
«      d„ «       Z$ ejF                  e«      d„ «       Z$ ejJ                  eeee«      d„ «       Z$ ejF                  e«      d„ «       Z$ ejF                  e«      d„ «       Z$ ejF                  e«      d„ «       Z$ ejF                  e«      d„ «       Z$ ejF                  e«      d„ «       Z$d„ Z& e jF                  e«      d„ «       Z$ e jF                  e«      d„ «       Z$ e jF                  e	«      d„ «       Z$ e jF                  e«      d„ «       Z$ e jF                  e
«      d„ «       Z$ e jF                  e«      d„ «       Z$ e jJ                  eeee«      d„ «       Z$ e jF                  e«      d„ «       Z$ e jF                  e«      d„ «       Z$ e jF                  e«      d „ «       Z$ e jF                  e«      d!„ «       Z$ e jF                  e«      d"„ «       Z$ e!jF                  e«      d#„ «       Z$ e!jF                  e«      d$„ «       Z$y%)&zD
Handlers for keys related to number theory: prime, even, odd, etc.
é    )ÚQÚask)ÚAddÚBasicÚExprÚFloatÚMulÚPowÚS)ÚImaginaryUnitÚInfinityÚIntegerÚNaNÚNegativeInfinityÚNumberSymbolÚRationalÚ
int_valued)ÚAbsÚimÚre©Úisprime)ÚMDNotImplementedErroré   )ÚPrimePredicateÚCompositePredicateÚEvenPredicateÚOddPredicatec                 óÖ   — | j                  t        «       }	 t        | j                  «       «      }| |z
  j	                  d«      du rt
        ‚	 |rt        |«      S y # t
        $ r Y yw xY w)Nr   F)Úatomsr   ÚintÚroundÚequalsÚ	TypeErrorr   )ÚexprÚassumptionsÚexactÚis       ú`/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/assumptions/handlers/ntheory.pyÚ_PrimePredicate_numberr*      sq   € à—
‘
œ5Ó!Ð!€EðÜ�—
‘
“ÓˆØ�1‰H×Ñ˜QÓ 5Ñ(ÜˆOð )ñ Ü�q‹zÐð øô ò Ùðús   ˜5A Á	A(Á'A(c                 ó.   — | j                   }|€t        ‚|S ©N)Úis_primer   ©r%   r&   Úrets      r)   Ú_r0   "   s   € à
�-‰-€CØ
€{Ü#Ð#Ø€Jó    c                 ó4   — | j                   rt        | |«      S y r,   )Ú	is_numberr*   ©r%   r&   s     r)   r0   r0   )   s   € à‡~‚~Ü% d¨KÓ8Ð8ð r1   c                 óð   — | j                   rt        | |«      S | j                  D ]#  }t        t	        j
                  |«      |«      rŒ# y  | j                  D ]  }|j                   sŒ|j                  sŒ y y ©NF)r3   r*   Úargsr   r   ÚintegerÚis_composite)r%   r&   Úargs      r)   r0   r0   .   se   € à‡~‚~Ü% d¨KÓ8Ð8Ø�y‰yò ˆÜ”1—9‘9˜S“> ;Õ/Ùðð �y‰yò ˆØ�=‹=˜S×-Ó-Ùñr1   c                 óª  — | j                   rt        | |«      S t        t        j                  | j
                  «      |«      r’t        t        j                  | j                  «      |«      rht        t        j                  | j                  «      |«      }|du ryt        t        j                  | j
                  d«      |«      }|du ry|du r|du ryyyyy)z(
    Integer**Integer     -> !Prime
    Fé   TN)	r3   r*   r   r   r8   ÚexpÚbaseÚprimeÚeq)r%   r&   Ú
prime_baseÚ
is_exp_ones       r)   r0   r0   9   s´   € ð
 ‡~‚~Ü% d¨KÓ8Ð8Ü
Œ1�9‰9�T—X‘XÓ Ô,Ü”—	‘	˜$Ÿ)™)Ó$ kÔ2ÜœŸ™ §¡Ó+¨[Ó9ˆ
Ø˜ÑØÜœŸ™˜dŸh™h¨Ó*¨KÓ8ˆ
Ø˜ÑØØ˜Ñ *°Ñ"4Øð #5Ðð 3ð -r1   c                 ó   — t        | «      S r,   r   r4   s     r)   r0   r0   K   s   € ä�4‹=Ðr1   c                  ó   — yr6   © r4   s     r)   r0   r0   O   ó   € àr1   c                 ó   — t        | |«      S r,   ©r*   r4   s     r)   r0   r0   S   ó   € ä! $¨Ó4Ð4r1   c                 ó   — t        | |«      S r,   rH   r4   s     r)   r0   r0   W   rI   r1   c                  ó   — y r,   rE   r4   s     r)   r0   r0   [   ó   € àr1   c                 ó.   — | j                   }|€t        ‚|S r,   )r9   r   r.   s      r)   r0   r0   b   s   € à
×
Ñ
€CØ
€{Ü#Ð#Ø€Jr1   c                 ó$  — t        t        j                  | «      |«      }|rnt        t        j                  | «      |«      }|rKt        t        j                  | «      |«      }|€y t        t        j
                  | d«      |«      }|ry|€y | S |S |S )Nr<   F)r   r   Úpositiver8   r?   r@   )r%   r&   Ú	_positiveÚ_integerÚ_primeÚ_is_ones         r)   r0   r0   i   s†   € ä”A—J‘J˜tÓ$ kÓ2€IÙÜ”q—y‘y “¨Ó4ˆÙÜœŸ™ ›¨Ó4ˆFØˆ~Øô œ!Ÿ$™$˜t Q›-¨Ó5ˆGÙØØˆØØ�:ÐàˆOàÐr1   c                 óÔ   — t        | t        t        f«      rt        | «      ry y	 t	        | j                  «       «      }| |z
  j                  d«      sy|dz  dk(  S # t        $ r Y yw xY w)NFr   r   )Ú
isinstanceÚfloatr   r   r!   r"   r$   r#   )r%   r&   r(   s      r)   Ú_EvenPredicate_numberrW   ‚   sl   € ä�$œ¤˜Ô'Ü�dÔØØðÜ�—
‘
“Óˆð �1‰H×Ñ˜QÔØØˆq‰5�A‰:Ðøô	 ò Ùðús   ¥A Á	A'Á&A'c                 ó.   — | j                   }|€t        ‚|S r,   )Úis_evenr   r.   s      r)   r0   r0   �   s   € à
�,‰,€CØ
€{Ü#Ð#Ø€Jr1   c                 ó4   — | j                   rt        | |«      S y r,   )r3   rW   r4   s     r)   r0   r0   —   s   € à‡~‚~Ü$ T¨;Ó7Ð7ð r1   c                 ó  — | j                   rt        | |«      S d\  }}}}| j                  D ]¾  }t        t	        j
                  |«      |«      rst        t	        j                  |«      |«      rd}nyt        t	        j                  |«      |«      r|dz  }nT|sR|dk7  rMt        t	        j                  ||z   «      |«      r+d}n(t        t	        j                  |«      |«      r|r yd}n y|}ŒÀ |ry|ry|t        | j                  «      k(  ryy)zë
    Even * Integer    -> Even
    Even * Odd        -> Even
    Integer * Odd     -> ?
    Odd * Odd         -> Odd
    Even * Even       -> Even
    Integer * Integer -> Even if Integer + Integer = Odd
    otherwise         -> ?
    )Fr   Fr<   Tr<   FN)
r3   rW   r7   r   r   r8   ÚevenÚoddÚ
irrationalÚlen)r%   r&   r\   r]   r^   Úaccr:   s          r)   r0   r0   œ   sð   € ð ‡~‚~Ü$ T¨;Ó7Ð7Ø!3Ñ€Dˆ#ˆz˜3Ø�y‰yò ˆäŒq�y‰y˜‹~˜{Ô+Ü”1—6‘6˜#“; Ô,Ø‘Ü”Q—U‘U˜3“Z Ô-Ø�q‘‘Ù˜c QšhÜ”q—u‘u˜S 3™YÓ'¨Ô5Ø‘DÜ”—‘˜cÓ" KÔ0ñ ÙØ‰JáØ‰ð%ñ( ØÙØØ”#�d—i‘i“.Ò Øð !r1   c                 óä   — | j                   rt        | |«      S d}| j                  D ]F  }t        t	        j
                  |«      |«      rŒ#t        t	        j                  |«      |«      r| }ŒF y |S )zM
    Even + Odd  -> Odd
    Even + Even -> Even
    Odd  + Odd  -> Even

    TN)r3   rW   r7   r   r   r\   r]   )r%   r&   Ú_resultr:   s       r)   r0   r0   Å   sh   € ð ‡~‚~Ü$ T¨;Ó7Ð7Ø€GØ�y‰yò ˆÜŒq�v‰v�c‹{˜KÔ(ØÜ”—‘�s“˜[Ô)Ø!�k‰Gáðð ˆr1   c                 óü  — | j                   rt        | |«      S t        t        j                  | j
                  «      |«      r»t        t        j                  | j
                  «      |«      r)t        t        j                  | j                  «      |«      S t        t        j                  | j
                  «       t        j                  | j                  «      z  |«      ry| j                  t        j                  u ryy y r6   )r3   rW   r   r   r8   r=   rO   r\   r>   Únegativer]   r   ÚNegativeOner4   s     r)   r0   r0   Ú   sª   € à‡~‚~Ü$ T¨;Ó7Ð7Ü
Œ1�9‰9�T—X‘XÓ Ô,ÜŒq�z‰z˜$Ÿ(™(Ó# [Ô1Ü”q—v‘v˜dŸi™iÓ(¨+Ó6Ð6Ü”!—*‘*˜TŸX™XÓ&Ð&¬¯©¨t¯y©yÓ)9Ñ9¸;ÔGØØ�Y‰Yœ!Ÿ-™-Ñ'Øð (ð -r1   c                 ó4   — t        | j                  dz  «       S )Nr<   )ÚboolÚpr4   s     r)   r0   r0   æ   s   € ä�D—F‘F˜Q‘JÓÐÐr1   c                  ó   — yr6   rE   r4   s     r)   r0   r0   ê   rF   r1   c                 ó   — t        | |«      S r,   )rW   r4   s     r)   r0   r0   î   s   € ä   {Ó3Ð3r1   c                 ó´   — t        t        j                  | j                  d   «      |«      r,t        t        j                  | j                  d   «      |«      S y ©Nr   ©r   r   Úrealr7   r\   r4   s     r)   r0   r0   ò   ó@   € ä
Œ1�6‰6�$—)‘)˜A‘,Ó Ô-Ü”1—6‘6˜$Ÿ)™) A™,Ó'¨Ó5Ð5ð .r1   c                 ó´   — t        t        j                  | j                  d   «      |«      r,t        t        j                  | j                  d   «      |«      S y rl   rm   r4   s     r)   r0   r0   ÷   ro   r1   c                 ó^   — t        t        j                  | j                  d   «      |«      ryy )Nr   T)r   r   rn   r7   r4   s     r)   r0   r0   ü   s%   € ä
Œ1�6‰6�$—)‘)˜A‘,Ó Ô-Øð .r1   c                  ó   — y r,   rE   r4   s     r)   r0   r0     rL   r1   c                 ó.   — | j                   }|€t        ‚|S r,   )Úis_oddr   r.   s      r)   r0   r0     s   € à
�+‰+€CØ
€{Ü#Ð#Ø€Jr1   c                 ó’   — t        t        j                  | «      |«      }|r%t        t        j                  | «      |«      }|€y | S |S r,   )r   r   r8   r\   )r%   r&   rQ   Ú_evens       r)   r0   r0     sB   € ä”1—9‘9˜T“? KÓ0€HÙÜ”A—F‘F˜4“L +Ó.ˆØˆ=ØØˆyÐØ€Or1   N)'Ú__doc__Úsympy.assumptionsr   r   Ú
sympy.corer   r   r   r   r	   r
   r   Úsympy.core.numbersr   r   r   r   r   r   r   r   Úsympy.functionsr   r   r   Úsympy.ntheoryr   Úsympy.multipledispatchr   Úpredicates.ntheoryr   r   r   r   r*   Úregisterr0   Úregister_manyrW   rE   r1   r)   ú<module>r�      s“  ðñ÷ %ß ;× ;Ñ ;÷:÷ :ó :ç 'Ñ 'Ý !å 8÷!ó !ò
ð €×Ñ˜Óñó ðð €×Ñ˜Óñ9ó  ð9ð €×Ñ˜Óñó ðð €×Ñ˜Óñó ðð" €×Ñ˜Ó!ñó "ðð €×Ñ˜h¨Ð2BÀMÓRñó Sðð €×Ñ˜Óñ5ó  ð5ð €×Ñ˜Ó&ñ5ó 'ð5ð €×Ñ˜Óñó ðð Ð×Ñ˜TÓ"ñó #ðð Ð×Ñ˜UÓ#ñó $ðò0ð €×Ñ˜Óñó ðð €×Ñ˜Óñ8ó ð8ð €×Ñ˜Óñ&ó ð&ðP €×Ñ˜Óñó ðð( €×Ñ˜Óñ	ó ð	ð €×Ñ˜Ó ñ ó !ð ð €×Ñ˜X xÐ1AÀ=ÓQñó Rðð €×Ñ˜Ó%ñ4ó &ð4ð €×Ñ˜Óñ6ó ð6ð €×Ñ˜Óñ6ó ð6ð €×Ñ˜Óñó ðð €×Ñ˜Óñó ðð €×Ñ�tÓñó ðð €×Ñ�uÓñó ñr1   