Ë
    7^(h˜  ã                   ó  — d dl mZmZmZmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZmZ 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mZmZmZm Z m!Z! d d
l"m#Z#m$Z$m%Z%m&Z& d dl'm(Z( d dl)m*Z*m+Z+ d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2y)é    )ÚIÚRationalÚpiÚoo)ÚS)ÚSymbolÚDummy)ÚLambda)ÚexpÚlog)ÚsecÚcsc)ÚcothÚsechÚatanhÚasechÚacothÚacsch)Úsqrt)ÚsingularitiesÚis_increasingÚis_strictly_increasingÚis_decreasingÚis_strictly_decreasingÚis_monotonic)ÚIntervalÚ	FiniteSetÚUnionÚImageSet)Úraises)ÚxÚyc                  ó€	  ‡— t        d«      Št        ‰dz  ‰«      t        j                  k(  sJ ‚t        ‰‰dz  d‰z  z   dz   z  ‰«      t	        dd«      k(  sJ ‚t        d‰dz  dz   z  ‰«      t	        t
        t
         «      k(  sJ ‚t        ‰‰dz  dz   z  ‰«      t	        ddt        d«      t
        z  z
  dz  dt        d«      t
        z  z   dz  «      k(  sJ ‚t        dt        dz  dt
        z  t        z  z   dz   z  t        «      t	        t
         t        d«      t
        z  z   t
         t        d«      t
        z  z
  «      k(  sJ ‚t        d«      } t        t        ‰«      ‰«      j                  t        t        t        | d| z  t
        z  t        z  t
        t        z  dz  z   «      t        j                  «      t        t        | d| z  t
        z  t        z  dt
        z  t        z  dz  z   «      t        j                  «      «      «      sJ ‚t        t!        ‰«      ‰«      j                  t        t        t        | d| z  t
        z  t        z  t
        t        z  z   «      t        j                  «      t        t        | d| z  t
        z  t        z  «      t        j                  «      «      «      sJ ‚t        t#        ‰«      ‰«      t	        dd«      k(  sJ ‚t        t%        ‰«      ‰«      t	        dd«      k(  sJ ‚t        t'        ‰«      ‰«      t	        d«      k(  sJ ‚t        t)        ‰«      ‰«      t	        d«      k(  sJ ‚t        dd	¬
«      Št        d‰dz  dz   z  ‰«      t        j                  k(  sJ ‚t        t+        d‰z  «      ‰t        j,                  «      t	        d«      k(  sJ ‚t        t+        d‰z  «      ‰t/        dd«      «      t        j                  k(  sJ ‚t        t1        ‰dz
  dz  «      ‰t/        dd«      «      t	        d«      k(  sJ ‚t3        t4        ˆfd„«       t        t7        ‰«      ‰t/        ddt        z  «      «      t	        t        dz  dt        z  dz  dt        z  dz  «      k(  sJ ‚t        t9        ‰«      ‰t/        ddt        z  «      «      t	        dt        dt        z  dt        z  «      k(  sJ ‚y )Nr!   é   é   éþÿÿÿéÿÿÿÿé   Únr   T)Úrealc                  ó,   •— t        ‰ t         z  ‰ «      S )N)r   r   )r!   s   €úe/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/calculus/tests/test_singularities.pyú<lambda>z$test_singularities.<locals>.<lambda>1   s   ø€ ¬°a¼"¸±f¸aÓ(@€ ó    é   )r   r   r   ÚEmptySetr   r   r   r"   r	   r   Údummy_eqr   r   r
   r   ÚIntegersr   r   r   r   r   r   ÚRealsr   r   r    ÚNotImplementedErrorr   r   )Ú_nr!   s    @r,   Útest_singularitiesr6      s  ø€ Üˆs‹€AÜ˜˜A™˜qÓ!¤Q§Z¡ZÒ/Ð/Ð/Ü˜˜A˜q™D 1 Q¡3™J¨™NÑ+¨QÓ/´9¸RÀÓ3DÒDÐDÐDÜ˜˜A˜q™D 1™H™ qÓ)¬Y´q¼1¸"Ó-=Ò=Ð=Ð=Ü˜˜A˜q™D 1™H™ qÓ)Ü�"�qœ4 ›7¤Q™;‘¨!Ñ+¨a´$°q³'¼A±+©oÀÑ-BÓCòDð Dð Dä˜œA˜q™D 1¤Q¡3¤q¡5™L¨1Ñ,Ñ-¬qÓ1Ü”1�"”t˜A“wœq‘y‘.¤1 "¤t¨A£w¬q¡y¡.Ó1ò2ð 2ð 2ä	ˆs‹€BÜœ˜a› !Ó$×-Ñ-¬eÜ”˜˜A˜b™D¤™F¤2™I¬¬"©¨Q©Ñ.Ó/´·±Ó<Ü”˜˜A˜b™D¤™F¤2™I¨¬!©¬B©¨q©Ñ0Ó1´1·:±:Ó>ó/@ô Að Að Aô œ˜a› !Ó$×-Ñ-¬eÜ”˜˜A˜b™D¤™F¤2™I¬¬"©Ñ,Ó-¬q¯z©zÓ:Ü”˜˜A˜b™D¤™F¤2™IÓ&¬¯
©
Ó3ó/5ô 6ð 6ð 6ô œ˜q› 1Ó%¬°2°qÓ)9Ò9Ð9Ð9Üœ˜q› 1Ó%¬°2°qÓ)9Ò9Ð9Ð9Üœ˜q› 1Ó%¬°1«Ò5Ð5Ð5Üœ˜q› 1Ó%¬°1«Ò5Ð5Ð5äˆs˜Ô€AÜ˜˜A˜q™D 1™H™ qÓ)¬Q¯Z©ZÒ7Ð7Ð7Üœ˜Q˜q™S› 1¤a§g¡gÓ.´)¸A³,Ò>Ð>Ð>Üœ˜Q˜q™S› 1¤h¨q°!£nÓ5¼¿¹ÒCÐCÐCÜœ˜a !™e a™Z›¨!¬X°a¸«^Ó<Ä	È!ÃÒLÐLÐLÜ
ÔÓ @ÔAÜœ˜Q› ¤H¨Q°´"±Ó$5Ó6¼)Ü
ˆ1‰ˆa”‰d�1‰f�aœ‘d˜1‘fó;ò ð ð äœ˜Q› ¤H¨Q°´"±Ó$5Ó6¼)Ø	Œ2ˆq”‰t�Q”r‘Tó;ò ð ñ r.   c                  óè  — t        dd¬«      } t        t        dz  dt        dz  z  z
  dt        z  z   t        j                  «      sJ ‚t        t        dz   t        t         d«      «      sJ ‚t        t        dz   t        dt        «      «      rJ ‚t        dt        dz  z  dt        dz  z  z
  d	t        z  z
  d
z   t        dd«      «      rJ ‚t        t        dz  t        z   t        dt        «      t        «      sJ ‚t        t        dz   | z  t        dt        «      t        «      sJ ‚t        d«      sJ ‚t        dt        dz  z  dt        dz  z  z
  d	t        z  z
  d
z   t        dd«      «      du sJ ‚y)z1Test whether is_increasing returns correct value.ÚaT)Únegativer%   r$   é   r   é   éH   é   r&   r(   FN)r   r   r!   r   r3   r   r   r"   )r8   s    r,   Útest_is_increasingr>   8   s;  € äˆs˜TÔ"€Aäœ˜A™ ¤! Q¡$¡™¨¬1©Ñ,¬a¯g©gÔ6Ð6Ð6Üœ!˜Q™$˜¤¬"¨¨aÓ 0Ô1Ð1Ð1Üœa ™d˜U¤H¨Q´£OÔ4Ð4Ð4Ü˜Qœq !™t™V a¬¨1©¡f™_¨r´!©tÑ3°bÑ8¼(À2Àq»/ÔJÐJÐJÜœ˜A™¤™¤8¨A¬r£?´AÔ6Ð6Ð6Üœ!˜Q™$˜˜q™¤(¨1¬b£/´1Ô5Ð5Ð5Ü˜ÔÐÐä˜œ1˜a™4™ !¤A q¡D¡&™¨2¬a©4Ñ/°"Ñ4´h¸rÀ1³oÓFÈ%ÑOÐOÑOr.   c                  ó¬  — t        dt        dz  z  dt        dz  z  z
  dt        z  z
  dz   t        j                  t         d«      «      sJ ‚t        dt        dz  z  dt        dz  z  z
  dt        z  z
  dz   t        j
                  dt        «      «      sJ ‚t        dt        dz  z  dt        dz  z  z
  dt        z  z
  dz   t        j                  dd«      «      rJ ‚t        t        dz   t        dt        «      «      rJ ‚t        d	«      rJ ‚t        dt        dz  z  dt        dz  z  z
  dt        z  z
  dz   t        j                  dd«      «      d
u sJ ‚y)z:Test whether is_strictly_increasing returns correct value.r:   r%   r;   r$   r<   r=   r&   r   r(   FN)r   r!   r   ÚRopenr   ÚLopenÚopenr   © r.   r,   Útest_is_strictly_increasingrD   G   s>  € ä!Ø	Œ!ˆQ‰$‰�”1�a‘4‘‰˜"œQ™$Ñ Ñ#¤X§^¡^´R°C¸Ó%<ô>ð >ð >ä!Ø	Œ!ˆQ‰$‰�”1�a‘4‘‰˜"œQ™$Ñ Ñ#¤X§^¡^°A´rÓ%:ô<ð <ð <ä%Ø	Œ!ˆQ‰$‰�”1�a‘4‘‰˜"œQ™$Ñ Ñ#¤X§]¡]°2°qÓ%9ô;ð ;ð ;ä%¤q¨!¡t e¬X°a¼«_Ô=Ð=Ð=Ü% aÔ(Ð(Ð(ä! !¤A q¡D¡&¨1¬Q°©T©6¡/°B´q±DÑ"8¸2Ñ"=¼x¿}¹}ÈRÐQRÓ?SÓTÐX]Ñ]Ð]Ñ]r.   c            
      ó¬  — t        dd¬«      } t        dt        dz  dt        z  z
  z  t        j                  t        dd«      d«      «      sJ ‚t        dt        dz  dt        z  z
  z  t        j                  dd«      «      sJ ‚t        dt        dz  dt        z  z
  z  t        j                  dt        «      «      sJ ‚t        dt        dz  dt        z  z
  z  t        j                  t         t        dd«      «      «      rJ ‚t        t        dz   t        t         d«      «      rJ ‚t        t        dz   | z  t        t         d«      t        «      rJ ‚y	)
z1Test whether is_decreasing returns correct value.ÚbT)Úpositiver(   r$   r%   ç      ø?r   N)	r   r   r!   r   rB   r   rA   r   r@   )rF   s    r,   Útest_is_decreasingrI   U   s  € äˆs˜TÔ"€Aä˜œA˜q™D 1¤Q¡3™J™¬¯©´xÀÀ!³}ÀaÓ)HÔIÐIÐIÜ˜œA˜q™D 1¤Q¡3™J™¬¯©°s¸AÓ)>Ô?Ð?Ð?Ü˜œA˜q™D 1¤Q¡3™J™¬¯©¸¼2Ó)>Ô?Ð?Ð?Ü˜Q¤ 1¡ q¬¡s¡
™^¬X¯^©^¼R¸CÄÈ!ÈQÃÓ-PÔQÐQÐQÜœa ™d˜U¤H¬b¨S°!Ó$4Ô5Ð5Ð5Üœa ™d˜U 1™W¤h´¨s°AÓ&6¼Ô:Ð:Ð:Ð:r.   c            
      óR  — t        dt        dz  dt        z  z
  z  t        j                  dt        «      «      sJ ‚t        dt        dz  dt        z  z
  z  t        j
                  t         t        dd«      «      «      rJ ‚t        t        dz   t        t         d«      «      rJ ‚t        d«      rJ ‚t        dt        dz  dt        z  z
  z  t        j                  t        dd«      d«      «      sJ ‚t        dt        dz  dt        z  z
  z  t        j                  dd«      «      sJ ‚y)z:Test whether is_strictly_decreasing returns correct value.r(   r$   r%   r   rH   N)r   r!   r   rA   r   r@   r   rB   rC   r.   r,   Útest_is_strictly_decreasingrK   a   sð   € ä! !¤Q¨¡T¨A¬a©C¡Z¡.´(·.±.ÀÄBÓ2GÔHÐHÐHÜ%Ø	Œ1ˆa‰4�!”A‘#‰:‰œŸ™¬ s¬H°Q¸«NÓ;ô=ð =ð =ä%¤q¨!¡t e¬X´r°c¸1Ó-=Ô>Ð>Ð>Ü% aÔ(Ð(Ð(Ü! !¤Q¨¡T¨A¬a©C¡Z¡.´(·-±-ÄÈÈ1ÃÈqÓ2QÔRÐRÐRÜ! !¤Q¨¡T¨A¬a©C¡Z¡.´(·-±-ÀÀQÓ2GÔHÐHÑHr.   c            	      óž  — t        dt        dz  dt        z  z
  z  t        j                  t	        dd«      d«      «      sJ ‚t        dt        dz  dt        z  z
  z  t        j                  dd«      «      sJ ‚t        dt        dz  dt        z  z
  z  t        j
                  dt        «      «      sJ ‚t        t        dz  dt        dz  z  z
  dt        z  z   t        j                  «      sJ ‚t        t        dz   t        j                  «      rJ ‚t        t        dz  t        z   dz   t        dd«      t        «      sJ ‚t        t        d„ «       y)z0Test whether is_monotonic returns correct value.r(   r$   r%   rH   r:   c                  ó:   — t        t        dz  t        z   dz   «      S )Nr$   r(   )r   r!   r"   rC   r.   r,   r-   z#test_is_monotonic.<locals>.<lambda>t   s   € ¬´Q¸±T¼A±XÀ±\Ó(B€ r.   N)r   r!   r   rB   r   rA   r   r   r3   r"   r    r4   rC   r.   r,   Útest_is_monotonicrN   l   s   € ä˜œ1˜a™4 !¤A¡#™:™¬¯©´h¸qÀ³mÀQÓ(GÔHÐHÐHÜ˜œ1˜a™4 !¤A¡#™:™¬¯©°c¸1Ó(=Ô>Ð>Ð>Ü˜œ1˜a™4 !¤A¡#™:™¬¯©°q¼"Ó(=Ô>Ð>Ð>Üœ˜1™˜q¤ A¡™v™¨¬!©Ñ+¬Q¯W©WÔ5Ð5Ð5ÜœQ ™T˜E¤1§7¡7Ô+Ð+Ð+Üœ˜1™œq™ 1™¤h¨q°!£n´aÔ8Ð8Ð8Ü
ÔÑ BÕCr.   c                  óz   — t        d«      } | dz   d| dz  z  d| z  z   dz   z  }t        |t        dd«      | «      sJ ‚y )Nr!   r(   gü©ñÒMbP¿r$   gš™™™™™¹?)r   r   r   )r!   Úexprs     r,   Útest_issue_23401rQ   w   sG   € Üˆs‹€AØ�‰E�G˜A˜q™D‘L 3 q¡5Ñ(¨3Ñ.Ñ/€DÜ˜œx¨¨!›}¨aÔ0Ð0Ñ0r.   N)3Úsympy.core.numbersr   r   r   r   Úsympy.core.singletonr   Úsympy.core.symbolr   r	   Úsympy.core.functionr
   Ú&sympy.functions.elementary.exponentialr   r   Ú(sympy.functions.elementary.trigonometricr   r   Ú%sympy.functions.elementary.hyperbolicr   r   r   r   r   r   Ú(sympy.functions.elementary.miscellaneousr   Úsympy.calculus.singularitiesr   r   r   r   r   r   Ú
sympy.setsr   r   r   r   Úsympy.testing.pytestr    Ú	sympy.abcr!   r"   r6   r>   rD   rI   rK   rN   rQ   rC   r.   r,   ú<module>r^      si   ðß 4Ó 4Ý "ß +Ý &ß =ß =÷O÷ Oå 9÷÷ ÷ <Ó ;Ý 'ß òòBPò^ò	;òIòDó1r.   