o
    jg"  ã                   @   s\  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d„ Z)dd„ Z*dd„ Z+dd„ Z,d d!„ Z-d"d#„ Z.d$d%„ Z/d&d'„ Z0d(d)„ Z1ed*d+„ ƒZ2d,d-„ 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                   C   s”  t ttt tgƒƒtt ksJ ‚t ttt tgƒƒtt ks J ‚t ttt tgƒƒtt ks0J ‚t ttt tgƒƒtt ks@J ‚t tdt tgƒƒtksNJ ‚t ttd tgƒƒtks\J ‚t ttt t ttgƒƒtt ksoJ ‚t ttt t ttgƒƒtt ks‚J ‚t ttt t ttgƒƒtt ks•J ‚t ttt t ttgƒƒtt ks¨J ‚t ttt t ttgƒƒtt ks»J ‚t ttt td  tgƒƒtt td  ksÓJ ‚t ttt td  tgƒƒtt td  ksëJ ‚t tttt  tgƒƒtt 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t ks(J ‚t ttt t ttgƒƒtt ks<J ‚t ttt t ttgƒƒtt ksPJ ‚t tttd  t ttgƒƒtksdJ ‚t ttt t ttgƒƒtt ksxJ ‚t tttt  ttgƒƒtt ksŒJ ‚t ttt t ttgƒƒtt ks J ‚t ttt t t t d ttgƒƒttd  ks¼J ‚t ttt t t tttgƒƒtt ksÓJ ‚t ttt td  ttƒ tttgƒƒt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gƒƒtksJ ‚t ttt t ttgƒƒtks/J ‚t ttt dt  tgƒƒtt dt  ksHJ ‚d S )Né   é   )r   r   r   r   r   r   r   r   © r   r   ú]/var/www/html/zoom/venv/lib/python3.10/site-packages/sympy/solvers/tests/test_constantsimp.pyÚtest_constant_mul    s<       &&&&&00(*(((((((8.6  $6r!   c                   C   s  t ttt tgƒƒtksJ ‚t ttd tgƒƒtksJ ‚t tdt tgƒƒtks*J ‚t ttt ttgƒƒtks9J ‚t ttt tgƒƒtt ksIJ ‚t ttt tgƒƒtksWJ ‚t ttt ttgƒƒtksfJ ‚t ttt ttgƒƒtksuJ ‚t ttt t ttgƒƒtks†J ‚d S ©Nr   )r   r   r   r   r   r   r   r   r   r    Útest_constant_addA   s    &r#   c                   C   s6  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gƒƒtks+J ‚t ttt ttgƒƒtks:J ‚t ttt ttgƒƒtksIJ ‚t ttt ttgƒƒtksXJ ‚t ttt ttgƒƒtksgJ ‚t ttt tgƒƒtt kswJ ‚t ttd tgƒƒtks…J ‚t tttt  tgƒƒttt  ks™J ‚d S r"   )r   r   r   r   r   r   r   r   r   r   r    Útest_constant_power_as_baseM   s    ÿ
ÿr$   c                   C   sÈ  t ttt tgƒƒtt ksJ ‚t ttt ttgƒƒtksJ ‚t tttt  ttgƒƒtt ks2J ‚t ttt t tgƒƒtt t ksFJ ‚t tttt  ttgƒƒtt ksYJ ‚t tttt  ttgƒƒtt kslJ ‚t tttt  ttgƒƒtt ksJ ‚t ttt t tgƒƒtt t ks“J ‚t tdt tgƒƒtks¡J ‚t ttdƒ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ttƒ 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   r    Útest_constant_power_as_exp[   sB    &ÿ
ÿÿÿ&ÿÿÿ
ÿ ÿ
ÿ"r%   c                   C   sB  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sKJ ‚t ttttƒttgƒƒtks[J ‚t ttttƒtgƒƒtttƒksmJ ‚t ttttƒttgƒƒtks}J ‚t ttttƒttgƒƒtksJ ‚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   r    Útest_constant_functionp   s      ÿÿ  (r'   c                   C   s,   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   r    Útest_constant_function_multiple~   s
   ÿ
ÿr(   c                   C   s¾   t ttd d tgƒƒtksJ ‚t ttd t tgƒƒtt ks"J ‚t ttd d d tgƒƒtks4J ‚t ttdt ƒt tdƒ tgƒƒtt ksLJ ‚t tdt t ttgƒƒtks]J ‚d S r"   )r   r   r   r   r   r   r   r   r   r   r    Útest_constant_multiple…   s    $$ÿÿ&r)   c                   C   s$   t t t  tt t t  ƒksJ ‚d S r&   )r   r   r   r   r   r   r    Útest_constant_repeated   s   $r*   c                
   C   sú  t tttdt ƒ ttƒtt   tttgƒƒt tttƒ ttdt ƒ  ƒks*J ‚t ttttƒt	t t
td ƒ tttd ƒ  ƒttgƒƒt tttƒtt
td ƒ tttd ƒ  ƒƒksaJ ‚t ttttƒtt ttƒ ƒƒtgƒƒtttƒttttƒ ƒƒks„J ‚t tttttƒt ƒdttttƒ ƒ  dƒtgƒƒtttttƒ ƒdttttƒ ƒ  dƒks¶J ‚t tttttdƒ tdt ƒ tttƒƒ t ƒtd dttƒd    dƒtgƒƒtttttƒ tttƒƒ ƒtd dttƒd    dƒksJ ‚t tttttƒ t ƒ tttƒt ƒ d ttt ƒ tttƒt ƒtttƒ t ƒ d  dƒtgƒƒttttƒ t ƒ tttƒt ƒ d ttt ƒ tttƒt ƒtttƒ t ƒ d  dƒksjJ ‚t tttdtdtd  ƒt  tttttƒ fƒ tttƒt ƒ dƒtgƒƒttdttdtd  ƒ  tttttƒ fƒ ttttƒ ƒ dƒks·J ‚dd„ tttƒtt t td  ƒƒtttƒtt t td  ƒ ƒfD ƒtttƒtttt  ƒƒtttƒtttt  ƒ ƒgksûJ ‚d S )Nr   é   r   r   éÿÿÿÿc                 S   s   g | ]}t |tgƒ‘qS r   )r   r   )Ú.0Úir   r   r    Ú
<listcomp>§   s    z&test_ode_solutions.<locals>.<listcomp>)r   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_solutions   sx   .ÿ6ÿ,þ&ÿ0ÿ(þ*ÿÿÿÿ8
þ8$ÿÿÿBÿÿÿ
þÿÿÿÿ.ÿÿ
þJ4ÿr0   c                   C   s.   t tt tt  ttgƒttt  ksJ ‚d S r&   )r   r   r   r   r   r   r   r    Útest_nonlocal_simplification«   s   .r1   c                   C   sl   t ttdttƒt  ƒtgƒttttƒ tƒksJ ‚t ttdttƒ t ƒtgƒtttƒt tƒks4J ‚d S )Nr+   )r   r   r   r   r   r   r   r   r    Útest_constant_Eq°   s   48r2   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'   r(   r)   r*   r0   r1   r2   r   r   r   r    Ú<module>   sF    !
