
    g                        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   \/var/www/openai/venv/lib/python3.12/site-packages/sympy/calculus/tests/test_singularities.py<lambda>z$test_singularities.<locals>.<lambda>1   s    a"fa(@       )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!QZZ///AqD1Q3JN+Q/9R3DDDDAqD1Hq)Yq1"-====AqD1Hq)"q47Q;!+a$q'A+o-BCD D DAqD1Q3q5L1,-q11"tAwqy.1"tAwqy.12 2 2	sBa!$--eAbDF2I"Q./<AbDF2I!Bq011::>/@ A A A a!$--eAbDF2I",-qzz:AbDF2I&

3/5 6 6 6 q1%2q)9999q1%2q)9999q1%1555q1%1555sAAqD1Hq)QZZ777QqS1agg.)A,>>>QqS1hq!n5CCCa!eaZ!Xa^<	!LLL
 @AQHQ"$56)
1ad1fad1f;   QHQ"$56)	2qtQrT;   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;   sT"AA!Q$1,agg666!Q$"a 0111adUHQO444Qq!tVa1f_r!t3b8(2q/JJJA8Ar?A666!Q$q(1b/15551a4!AqD&2a4/"4hr1o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$1a4"Q$#X^^RC%<> > >!	!Q$1a4"Q$#X^^Ar%:< < <%	!Q$1a4"Q$#X]]2q%9; ; ;%q!teXa_===%a(((!!AqD&1QT6/BqD"82"=x}}RQR?STX]]]]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   sT"AAqD1Q3Jx!}a)HIIIAqD1Q3JsA)>???AqD1Q3J2)>???Q1qs
^X^^RC!Q-PQQQadUHbS!$4555adU1WhsA&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TAaCZ.(..B2GHHH%	1a4!A#:sHQN;= = =%q!teXrc1-=>>>%a(((!!QTAaCZ.(--1q2QRRR!!QTAaCZ.(--Q2G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TAX\(Br.   N)r   r!   r   rB   r   rA   r   r   r3   r"   r    r4   rC   r.   r,   test_is_monotonicrN   l   s    1a4!A#:hqmQ(GHHH1a4!A#:c1(=>>>1a4!A#:q"(=>>>1qAv!+QWW555QTE177+++1q1hq!na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(   gMbPr$   g?)r   r   r   )r!   exprs     r,   test_issue_23401rQ   w   sG    sAEGAqDL3q5(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.   