
    g"                        d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	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 ddlmZmZmZ ddlmZ ddlmZmZ ddlmZ  ed          Z  ed          Z! ed          Z" ed          Z# ed          Z$ ed          Z% ed          Z& ed          Z' ed          Z(d Z)d Z*d Z+d Z,d Z-d Z.d Z/d Z0d  Z1ed!             Z2d" Z3d#S )$zp
If the arbitrary constant class from issue 4435 is ever implemented, this
should serve as a set of test cases.
    )Function)I)Pow)Eq)S)Symbol)explog)coshsinh)sqrt)acoscossin)Integral)constantsimpconstant_renumber)XFAILxyzu2_aC1C2C3fc                  \   t          t          t          t          z  t          g                    t          t          z  k    sJ t          t          t          t          z  t          g                    t          t          z  k    sJ t          t          t          t          z  t          g                    t          t          z  k    sJ t          t          t          t          z  t          g                    t          t          z  k    sJ t          t          dt          z  t          g                    t          k    sJ t          t          t          dz  t          g                    t          k    sJ t          t          t          t          z  t          z  t          t          g                    t          t          z  k    sJ t          t          t          t          z  t          z  t          t          g                    t          t          z  k    sJ t          t          t          t          z  t          z  t          t          g                    t          t          z  k    sJ t          t          t          t          z  t          z  t          t          g                    t          t          z  k    sJ t          t          t          t          z  t          z  t          t          g                    t          t          z  k    sJ t          t          t          t          z  t          dz   z  t          g                    t          t          z  t          dz   z  k    sJ t          t          t          t          z  t          dz   z  t          g                    t          t          z  t          dz   z  k    sJ t          t          t          t          t          z  z  t          g                    t          t          z  t          z  k    sJ t          t          t          t          t          z  z  t          g                    t          t          z  t          z  k    sJ t          t          t          t          t          z  z  t          t          g                    t          t          z  k    sJ t          t          t          t          z  t          z  t          t          g                    t          t          z  k    sJ t          t          t          t          z  t          z  t          t          g                    t          t          z  k    sJ t          t          t          t          dz   z  t          z  t          t          g                    t          k    sJ t          t          t          t          z  t          z  t          t          g                    t          t          z  k    sJ t          t          t          t          t          z  z  t          t          g                    t          t          z  k    sJ t          t          t          t          z  t          z  t          t          g                    t          t          z  k    sJ t          t          t          t          z  t          z  t          z  t          z  dz  t          t          g                    t          t          dz  z  k    sJ t          t          t          t          z  t          z  t
          z  t          t          t
          g                    t          t          z  k    sJ t          t          t          t          z  t          dz  z  t          t
                    z  t          t          t
          g                    t          t          z  k    sJ t          t          t          t          z  t          g                    t          k    sJ t          t          t          t          z  t          t          g                    t          k    sJ t          t          t          t          z  t          t          g                    t          k    sJ t          t          t          t          z  t          z  t          t          g                    t          k    sJ t          t          t          t          z  dt          z  z  t          g                    t          t          z  dt          z  z  k    sJ d S )N      )r   r   r   r   r   r   r   r        a/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/solvers/tests/test_constantsimp.pytest_constant_mulr$       s   \!B$5566"Q$>>>>\"Q$5566"Q$>>>>\!B$5566!B$>>>>\"Q$5566!B$>>>>\!B$5566"<<<<\"Q$5566"<<<<\!B$q&2q'::;;r!tCCCC\!A#b&2q'::;;qtCCCC\!A#b&2q'::;;qtCCCC\"Q$q&2q'::;;r!tCCCC\!B$q&2q'::;;qtCCCC\"Q$A,==>>"Q$!*LLLL\!B$A,==>>"Q$!*LLLL\!QrT(RD99::ac"fDDDD\!RT(RD99::ac"fDDDD\"ac(RG<<==AEEEE\1Q3(RG<<==2EEEE\1Q3(RG<<==2EEEE\!QU)B,Q@@AARGGGG\2a4(RG<<==AEEEE\!QrT(RG<<==2EEEE\1R4(RG<<==2EEEE\"Q$q&(1*Q,Q@@AAR1WLLLL\"Q$q&(RAJ??@@BqDHHHH\"Q$q!t)CFF*:RAJGGHHBqDPPPP\"R%"66772====\"R%"b::;;rAAAA\"R%"b::;;rAAAA\"R%(RH==>>"DDDD\"Q$q!t)bT::;;r!tAqDyHHHHHHr"   c                  h   t          t          t          t          z   t          g                    t          k    sJ t          t          t          dz   t          g                    t          k    sJ t          t          dt          z   t          g                    t          k    sJ t          t          t          t          z   t          t          g                    t          k    sJ t          t          t          t          z   t          g                    t          t          z   k    sJ t          t          t          t          z   t          g                    t          k    sJ t          t          t          t
          z   t          t
          g                    t          k    sJ t          t          t
          t          z   t          t
          g                    t          k    sJ t          t          t          t
          z   t          z   t          t
          g                    t          k    sJ d S Nr   )r   r   r   r   r   r   r!   r"   r#   test_constant_addr'   A   s   \"r'B48899R????\"q&2$7788B>>>>\!b&2$7788B>>>>\"q&2q'::;;rAAAA\"q&2$7788BFBBBB\"r'B48899R????\"r'B8<<==CCCC\"r'B8<<==CCCC\"r'B,RAABBbHHHHHHr"   c                     t          t          t          t          z  t          g                    t          k    sJ t          t          t          t          t                    t          g                    t          k    sJ t          t          t          t          z  t          g                    t          k    sJ t          t          t          t          z  t          t          g                    t          k    sJ t          t          t          t          z  t          t          g                    t          k    sJ t          t          t          t          z  t          t          g                    t          k    sJ t          t          t          t
          z  t          t
          g                    t          k    sJ t          t          t          t          z  t          g                    t          t          z  k    sJ t          t          t          dz  t          g                    t          k    sJ t          t          t          t          t
          z  z  t          g                    t          t          t
          z  z  k    sJ d S r&   )r   r   r   r   r   r   r   r!   r"   r#   test_constant_power_as_baser)   M   s   \"b&2$7788B>>>>\#b"++t<<==CCCC\"b&2$7788B>>>>\"b&2r(;;<<BBBB\"b&2r(;;<<BBBB\"b&2r(;;<<BBBB\"a%"a99::b@@@@\"a%"66772q5@@@@\"a%"66772====R!A#Y%%' '*,qs)4 4 4 4 4 4r"   c                     t          t          t          t          z  t          g                    t          t          z  k    sJ t          t          t          t          z  t          t          g                    t          k    sJ t          t          t          t          t          z  z  t          t          g                    t          t          z  k    sJ t          t          t          t          z  t          z  t          g                    t          t          z  t          z  k    sJ t          t          t          t          t          z  z  t          t          g                    t          t          z  k    sJ t          t          t          t          t          z  z  t          t          g                    t          t          z  k    sJ t          t          t          t          t          z  z  t          t          g                    t          t          z  k    sJ t          t          t          t          z  t          z  t          g                    t          t          z  t          z  k    sJ t          t          dt          z  t          g                    t          k    sJ t          t          t          d          t          z  t          g                    t          k    sJ t          t          t          t                    t          g                    t          k    sJ t          t          t          t          t          z             t          g                    t          t          t                    z  k    sJ t          t          t          dt                    t          g                    t          k    sJ d S r&   )r   r   r   r   r   r   r	   r   r!   r"   r#   test_constant_power_as_expr+   [   s   \!R%"66771b5@@@@\!R%"a99::b@@@@\!QU(RG<<==BFFFFadRZ"&&( (,-qD2:6 6 6 6QBZ"a))+ +./e4 4 4 4\!RU(RG<<==BFFFFQQZ"a))+ +./e4 4 4 4aeaZ"&&( (,-rEA:6 6 6 6\!R%"66772====\!A$$(RD99::b@@@@\#b''B48899R????Sa[[2$'') ),.s1vvI6 6 6 6\#a**rd;;<<BBBBBBr"   c            	         t          t          t          t                    t          g                    t          k    sJ t          t          t	          t                    t          g                    t          k    sJ t          t          t	          t          t                    t          g                    t          k    sJ t          t          t	          t          t
                    t          t
          g                    t          k    sJ t          t          t	          t
          t                    t          t
          g                    t          k    sJ t          t          t	          t
          t
                    t          t
          g                    t          k    sJ t          t          t	          t          t                    t          g                    t	          t          t                    k    sJ t          t          t	          t          t                    t          t          g                    t          k    sJ t          t          t	          t          t                    t          t          g                    t          k    sJ t          t          t	          t          t          t
                    t          t
          t          g                    t          k    sJ d S N)r   r   r   r   r   r   r   r   r!   r"   r#   test_constant_functionr.   p   s   \#b''B48899R????\!B%%"66772====\!B))bT::;;rAAAA\!B))b"X>>??2EEEE\!B))b"X>>??2EEEE\!B))b"X>>??2EEEEQr1XXt$$& &)*2q2 2 2 2\!B((RG<<==CCCC\!Ar((RG<<==CCCC\!B2,,RDDEEKKKKKKr"   c            	          t          t          t          t          t          t                    t          g                    t          t          t          t                    k    sJ d S r-   )r   r   r   r   r   r!   r"   r#   test_constant_function_multipler0   ~   sU     Qr2q\\B4((* *-.r2q\\: : : : : :r"   c                     t          t          t          dz  dz   t          g                    t          k    sJ t          t          t          dz  t          z  t          g                    t          t          z  k    sJ t          t          t          dz  dz  dz   t          g                    t          k    sJ t          t          t	          dt          z            t          z   t          d          z   t          g                    t          t          z   k    sJ t          t          dt          z  t          z   t          t          g                    t          k    sJ d S r&   )r   r   r   r   r   r   r   r!   r"   r#   test_constant_multipler2      s   \"Q$(RD99::b@@@@\!A#b&2$7788BqD@@@@\"a%'A+t<<==CCCCS2YY]T!WW,rd335 58:Q? ? ? ?\!B$)b"X>>??2EEEEEEr"   c                      t           t           t          z  z   t          t           t           t          z  z             k    sJ d S r-   )r   r   r   r!   r"   r#   test_constant_repeatedr4      s2    19)21955555555r"   c                     t          t          t          t          dt          z            z  t          t                    t
          t          z   z  z   t          t
          t          g                    t          t          t          t                    z  t
          t          dt          z            z  z             k    sJ t          t          t          t          t                    t          t          z  t          t          dz            z  t
          t          t          dz            z  z             t          t
          g                    t          t          t          t                    t          t          t          dz            z  t
          t          t          dz            z  z                       k    sJ t          t          t          t          t                    t          t           t          t                    z                      t          g                    t          t          t                    t          t          t          t                    z                      k    sJ t          t          t          t          t          t                    t          z            dt          t          t          t                    z            z  z   d          t          g                    t          t          t          t          t                    z            dt          t          t          t                    z            z  z   d          k    sJ t          t          t          t          t          t          d          z  t          dt          z            z  t          t          t                              z  t          z            t          dz  dt          t                    dz  z  z  z   d          t          g                    t          t          t          t          t                    z  t          t          t                              z            t          dz  dt          t                    dz  z  z  z   d          k    sJ t          t          t          t          t          t                     t          z             t!          t          t                    t          z            z  dz  t          t          t          z            z   t          t          t                    t          z            t          t          t                     t          z            z  dz  z
  d          t          g                    t          t          t          t                     t          z             t!          t          t                    t          z            z  dz  t          t          t          z            z   t          t          t                    t          z            t          t          t                     t          z            z  dz  z
  d          k    sJ t          t          t          t#          dt          dt$          dz  z
            t$          z  z  t$          t&          t          t          t                    z  f           t          t          t                    t          z            z   d          t          g                    t          t#          dt$          t          dt$          dz  z
            z  z  t$          t&          t          t          t                    z  f           t          t          t          t                    z            z   d          k    sJ d t          t          t                    t          t           t          z  t          dz  z                       t          t          t                    t          t           t          z  t          dz  z                        fD             t          t          t                    t          t          t          t          z   z                      t          t          t                    t          t          t          t          z   z                       gk    sJ d S )Nr      r   r    c                 :    g | ]}t          |t          g          S r!   )r   r   ).0is     r#   
<listcomp>z&test_ode_solutions.<locals>.<listcomp>   s$    iiiaLRD!!iiir"   )r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r
   r   r   r   r   r   r!   r"   r#   test_ode_solutionsr<      s7   \"S1XX+AR8H*H2rSU,WWXX"SVV)bQqSk1223 3 3 3R!ad4!99nr$qs))|;<<r2hGG
 
r!A$$4!99r$qs))|(CDDEEF F F F \"QqTT4"c!ff3E3E*F*FMMNN
1Q44bQi!!" " " "RAaDDGqQqttV}4a882$??
 
BqttGqQqttV},a001 1 1 1 \"S4774!991DT!A$$ZZ1O	2 . .!tQqttQwY. !"+$ +$&(T+ + , ,
3r$q''z$qtt**$%%1a!ai(88!<<= = = = \"c1Q44%'ll]3qttAv;;-Fq-H3qQSt99-TAaDDFC1aLL ".#$%+' +')+. . / /
C1aLL=QqTT!V$Q&RT2S1a[[!uQw<<66 	 	    \"hr4BE	??2;M7N	R1Q44/ / .!RLL.)*++- +-/1d4 4 5 5
HRDRUOO+,r2q1v.>???BqttG	 	    jiBqttT2#a%!Q$,5G5G,H,H"QqTTTXZ\Y\]^Y^abdeaeYeTfTfSfJgJg+hiii	AaDD$q"q&z""	#	#R!tArAvJ/?/?.?%@%@AB B B B B Br"   c                      t          t          t          z   t          t          z  z   t          t          g          t          t          t          z  z   k    sJ d S r-   )r   r   r   r   r!   r"   r#   test_nonlocal_simplificationr>      s;    R"r2h//219<<<<<<r"   c            	         t          t          t          dt          t                    t          z  z             t          g          t          t          t          t                    z  t                    k    sJ t          t          t          dt          t                    z  t          z            t          g          t          t          t                    t          z  t                    k    sJ d S )Nr6   )r   r   r   r   r   r!   r"   r#   test_constant_Eqr@      s    2q1Q446z**RD11R!A$$^^CCCC2q1Q44xz**RD11R!Q^^CCCCCCr"   N)4__doc__sympy.core.functionr   sympy.core.numbersr   sympy.core.powerr   sympy.core.relationalr   sympy.core.singletonr   sympy.core.symbolr   &sympy.functions.elementary.exponentialr	   r
   %sympy.functions.elementary.hyperbolicr   r   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   r   r   sympy.integrals.integralsr   sympy.solvers.ode.oder   r   sympy.testing.pytestr   r   r   r   r   r   r   r   r   r   r$   r'   r)   r+   r.   r0   r2   r4   r<   r>   r@   r!   r"   r#   <module>rO      sc   
 ) ( ( ( ( (                         $ $ $ $ $ $ " " " " " " $ $ $ $ $ $ = = = = = = = = > > > > > > > > 9 9 9 9 9 9 E E E E E E E E E E . . . . . . A A A A A A A A & & & & & & F3KK
F3KK
F3KKVD\\VD\\VD\\VD\\VD\\HSMMI I IB	I 	I 	I4 4 4C C C*L L L: : :F F F6 6 6B B B6 = = =D D D D Dr"   