a
     ¬<bÐP  ã                   @   sX  d Z ddlmZ ddlmZ ddlmZmZ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 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*m+Z+ ddl,m-Z-m.Z.m/Z/ ddl0m1Z1m2Z3m4Z4m5Z6m7Z7m8Z8 ddl9m:Z: ddl;m<Z< ddl=m>Z> ddl?m@Z@mAZA ddlBmCZC ddlDmEZEmFZF e G¡ ZHdd„ ZIdd„ ZJdd„ ZKdd„ ZLd d!„ ZMd"d#„ ZNd$d%„ ZOd&d'„ ZPd(d)„ ZQd*d+„ ZRd,d-„ ZSd.d/„ ZTd0d1„ ZUd2d3„ ZVd4d5„ ZWd6d7„ ZXeFd8d9„ ƒZYd:d;„ ZZd<d=„ Z[d>d?„ Z\d@dA„ Z]dBdC„ Z^eFdDdE„ ƒZ_dFdG„ Z`dHdI„ ZadJdK„ ZbdLdM„ ZcdNS )OzFTests for tools for solving inequalities and systems of inequalities. é    )ÚSum)ÚFunction)ÚIÚRationalÚooÚpi)ÚEqÚGeÚGtÚLeÚLtÚNe)ÚS)ÚDummyÚSymbol)ÚAbs)ÚexpÚlog)ÚrootÚsqrt)Ú	Piecewise)ÚcosÚsinÚtan)ÚIntegral)ÚAndÚOr)ÚPolyÚPurePoly)Ú	FiniteSetÚIntervalÚUnion)Úreduce_inequalitiesÚsolve_poly_inequalityÚreduce_rational_inequalitiesÚsolve_univariate_inequalityÚreduce_abs_inequalityÚ_solve_inequality)Úrootof)Úsolve)Úsolveset)ÚxÚy)ÚMod)ÚraisesÚXFAILc                   C   sd   t tdtƒdƒtjgksJ ‚t tdtƒdƒtjgks8J ‚t ttd tƒdƒtdtddƒgks`J ‚d S )Nr   z==é   ú>éÿÿÿÿTF)	Úpsolver   r+   r   ÚRealsÚEmptySetr   r    r   © r6   r6   úu/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/sympy/solvers/tests/test_inequalities.pyÚtest_solve_poly_inequality%   s    r8   c               	   C   sÞ  t ttd dƒggtddtdƒks(J ‚t ttd dƒggtddtdƒksPJ ‚t ttd dƒggtddtjksvJ ‚tjr t t	td dƒggtddtj
ks°ntt tƒs°J ‚t ttd dƒggtddtdƒ tj
¡ksàJ ‚t ttd dƒggtddtdƒ tj
¡ksJ ‚t ttd dƒggtddtddƒks>J ‚t ttd dƒggtddtddƒksjJ ‚t ttd dƒggtddtddddƒksšJ ‚t t	td dƒggtddttt dƒtdtƒƒksÔJ ‚t ttd dƒggtddtddƒ tj
¡ksJ ‚t ttd dƒggtddtddƒ tj
¡ks<J ‚t ttd dƒggtddtd	dƒ ¡ kslJ ‚t ttd dƒggtddtd	dƒks˜J ‚t ttd dƒggtddtd	dddƒksÈJ ‚t t	td dƒggtddttt d	ƒtdtƒƒksJ ‚t ttd dƒggtddttt d	dd
tdtddƒksDJ ‚t ttd dƒggtddtd	dƒ tj
¡ksxJ ‚tdƒ} t ttd d dƒttd d dƒggtddtjks¼J ‚t ttd d dƒt	td d dƒggtddtddƒksüJ ‚t ttd d dƒt	td d dƒggtddtt|  dddƒtd| ddƒƒksRJ ‚t ttd d dƒttd d dƒggtddtt|  dddƒtd| ddƒƒks¨J ‚t ttd d dƒt	td d dƒggtddtt|  dddƒtd| ddƒƒksþJ ‚t ttd d dƒttd d dƒggtddtt|  dddƒtd| ddƒƒksTJ ‚t ttd d dƒttd d dƒggtddtt|  dddƒtddddƒtd| ddƒƒks¶J ‚t ttd d	ƒggtƒtju sÚJ ‚d S )Né   r   F©Z
relationalr0   r2   Tç      ð?g      ð¿)Z
right_open)Z	left_open)r$   r   r+   r   r   r   r   r5   Zis_realr	   r4   r    r   r
   Z
complementr   r!   ÚevalfÚinfr   Úfalse)Úsr6   r6   r7   Ú+test_reduce_poly_inequalities_real_interval+   s$   ÿÿÿÿÿÿþÿþ
þÿþÿþ
ÿÿ
ÿÿ
ÿÿ
ÿþ
ÿþ
ÿþ
ÿÿÿ
ÿÿ
ÿÿÿ
ÿþ
ÿÿþ
ÿÿþ
ÿÿÿÿ
ÿÿÿ
(ÿþ
(ÿþ
(ÿþ
(ÿþ
(ÿÿþ
r@   c               
   C   s&  t ttd dƒggtddttdƒks*J ‚t ttd dƒggtddttdƒksTJ ‚t ttd dƒggtdddksxJ ‚t ttd dƒggtddttt tƒtttƒƒks°J ‚t ttd dƒggtddtttt ƒtttƒt	tdƒƒksðJ ‚t t	td dƒggtddtttt ƒtttƒt	tdƒƒks2J ‚t
jt
dƒfD ]Þ} | t }t ttd | ƒggtddttt|  ƒtt| ƒƒksˆJ ‚t ttd | ƒggtddttt|  tƒtt| ƒƒƒksÆJ ‚t ttd | ƒggtddttt|  tƒtt| ƒƒƒksJ ‚t ttd | ƒggtddtttt| tƒtt|ƒƒttt|  ƒt| tƒƒƒƒks\J ‚t ttd | ƒggtddtttt| tƒtt|  ƒƒtt| tƒtt|ƒƒƒƒks´J ‚t t	td | ƒggtddttt| tƒtt|  ƒƒtt|  tƒtt| ƒƒtt| tƒtt|ƒƒƒks@J ‚q@d S )Nr9   r   Tr:   Fr;   )r$   r   r+   r   r   r	   r   r   r
   r   r   ÚOner   )Zoner=   r6   r6   r7   Ú0test_reduce_poly_inequalities_complex_relationalv   s‚    ÿÿÿÿÿÿÿÿÿþÿþ
ÿþ
ÿþ
ÿþ
ÿ4þ
ÿ4þ
ÿþþrB   c                   C   s\  t g tƒdksJ ‚t td dt  d td d  dkggtddtt t d¡tdd	ƒt d
t¡ƒkslJ ‚t dt d dt  td d td d   dk ggtddtt dd¡t dd¡ƒksÈJ ‚t td td  dkggtddt d	d¡ksúJ ‚t td d
t  d td  dkggtddtt dd	¡t dt¡ƒksHJ ‚t td d td d  dk ggtddtt dd¡t dd
¡ƒks’J ‚t dt d td
  dkggtddtt t d¡t tddƒt¡ƒksàJ ‚t td t dt kggtddtt t d¡t dd
¡ƒks$J ‚t ttk tdkt tk ggtddtdtƒksXJ ‚d S )NFr9   é   é   r   r:   éüÿÿÿéþÿÿÿr2   é   é
   é   éûÿÿÿr0   éýÿÿÿé   )	r$   r+   r!   r    Úopenr   ÚRopenr   ÚLopenr6   r6   r6   r7   Ú1test_reduce_rational_inequalities_real_relationalž   sT    *ÿ"þ4þýÿ
þ&ÿþ
"ÿþ
ÿ þ
ÿþ
ÿÿrP   c               	      s¨  t td ƒdk } ttdtƒttdƒƒ}t| ƒ|ks6J ‚t| tƒ|ksHJ ‚tt td ƒƒttdƒksfJ ‚tt dt d ƒdkƒttttddƒtƒttt	ƒƒttttddƒƒtt	 tƒƒƒks¾J ‚tt td ƒt dt d ƒ dk ƒttt
jtƒttdƒƒksþJ ‚tt td ƒt dt tƒ d ƒ dk ƒttt
dƒtk td	k ƒtt
jtk tdk ƒƒksXJ ‚td
dd‰ tt‡ fdd„ƒ ttdk tˆ gdtt	 tk tdk ƒks¤J ‚d S )NrI   rC   r9   rL   iõÿÿÿrG   é   rF   r2   ÚnrF)Zextended_realc                      s   t tˆ d ƒdk ƒS )NrI   rC   )r"   Úabsr6   ©rR   r6   r7   Ú<lambda>Ñ   ó    z.test_reduce_abs_inequalities.<locals>.<lambda>©Úsymbols)rS   r+   r   r   r"   r   r   r   r   r   r   ÚHalfr   r.   Ú	TypeError)ÚeÚansr6   rT   r7   Útest_reduce_abs_inequalitiesÂ   s2    ÿÿÿ
ÿÿÿ&*ÿ
r]   c                   C   s`   t ttdƒt dƒƒttdƒd tkttk ƒks4J ‚t td dkƒttjtk ttk ƒks\J ‚d S )Nr9   r0   r   )r"   r	   r   r+   r   r   r   ÚNegativeOner6   r6   r6   r7   Ú test_reduce_inequalities_generalÕ   s    4r_   c                   C   s`   t ttd dƒdgƒttdƒks$J ‚t ttd dƒdgƒdksBJ ‚t td dkƒtju s\J ‚d S )Nr9   r   TF)r"   r   r+   r   Útruer6   r6   r6   r7   Ú test_reduce_inequalities_booleanÚ   s    ÿÿra   c                
   C   sŽ   t ttd dƒttd dƒgƒtttttjtƒt	tt
ƒƒtttdƒt	t
 tƒƒƒttttjtƒt	tt
ƒƒtttdƒt	t
 tƒƒƒƒksŠJ ‚d S )Nr9   r0   r2   )r"   r	   r+   r,   r   r   r   r   rA   r   r   r6   r6   r6   r7   Ú%test_reduce_inequalities_multivariateá   s     00þrb   c                   C   s    t tdd„ ƒ t tdd„ ƒ d S )Nc                   S   s   t tttƒt dƒƒS )Nr0   )r"   r	   r   r+   r6   r6   r6   r7   rU   è   rV   z1test_reduce_inequalities_errors.<locals>.<lambda>c                   S   s   t ttd t t dƒƒS ©Nr9   r0   )r"   r	   r+   r,   r6   r6   r6   r7   rU   é   rV   )r.   ÚNotImplementedErrorr6   r6   r6   r7   Útest_reduce_inequalities_errorsç   s    re   c                   C   s¦   t tt dk tgdtdt k ks&J ‚t tt dktgdttk tt d k@ ksVJ ‚t tdtt ƒtgdtttƒks|J ‚t tdtt ƒtgdtttƒks¢J ‚d S )Nr0   rW   r   )r"   r+   r,   r   r   r   r6   r6   r6   r7   Útest__solve_inequalitiesì   s    &0&rf   c                  C   st   dt d  d t tddƒ  tddƒ dk} t| ƒtt tddƒtdƒd  k tdƒ d td	dƒ t k ƒkspJ ‚d S )
NrK   r9   é-   rG   é!   r   iñÿÿÿi‘  é   )r+   r   r"   r   r   )Úeqr6   r6   r7   Útest_issue_6343ó   s    ,6ÿrk   c                  C   sr  t td d dk ƒttjtk tdk ƒks,J ‚t td d dkƒttjtktdkƒksXJ ‚t td d dkƒttt tk tdk ƒtttk tjtk ƒƒksšJ ‚t td d dkƒttt tk tdkƒttjtkttk ƒƒksÜJ ‚td t d } t| dkƒ}ttt	| dƒtkttk ƒtt tk tt	| dƒkƒƒ}||ks:J ‚tt
t d d ƒdk ƒttjtk tdk ƒksnJ ‚d S )Nr9   r0   r   r2   rL   é	   )r"   r+   r   r   r^   r   r   rA   r)   r(   r   ÚZero)rj   ZsolZtrur6   r6   r7   Útest_issue_8235ù   s"    ÿÿ(ÿ(ÿ4rn   c                  C   s¬   t dtttd tddfƒ d ktgƒtttd tddfƒ d kksJJ ‚tdƒ} t| tƒtddfƒ}t dt| td  ktgƒttd  t| tƒtddfƒ kks¨J ‚d S )Nr   r9   r0   rC   Úf)r"   r+   r   r,   r   r   )ro   r[   r6   r6   r7   Útest_issue_5526  s    ÿÿþ ÿrp   c                     s  t td dktddttt dƒtdtƒƒks2J ‚t td dktƒtttdtƒtttƒƒtttdƒtt tƒƒƒksxJ ‚t td td  td  dktddttddƒtdtƒƒks¸J ‚t td td  td  dktƒtttdtƒttdƒƒttdtƒtttƒƒƒksJ ‚t td td  td  dk tt	ddƒd	tt
tdƒt
tdƒƒksVJ ‚t td dt  d dktddttd
tdƒ d tj ddƒttjtdƒd  tddƒƒksºJ ‚t td td  t d dktddtdtdƒksòJ ‚t tt tdt   dk tƒt
tdƒks J ‚t td td  t td td  dt   dk tƒtt
tdƒt
tdƒƒksrJ ‚t td td  t td td  dt   td  dktƒt
tdƒksÀJ ‚ttdd„ ƒ t td t d dktƒtttd t d dƒtk ttk ƒksJ ‚t dtd  dktƒttdƒtk ttk ƒksDJ ‚td td   ¡ } t td |  dktƒtt ktdk @ ttdƒ@ ksJ ‚tdƒ‰tt‡fdd„ƒ tddd‰ tt‡ ‡fdd„ƒ tddd‰t ˆˆ  dkˆ ƒˆ d ˆ k ksüJ ‚t ˆˆ  dk ˆ ƒdksJ ‚t ˆˆ  dkˆ ƒdks4J ‚tdƒd tdƒd  d ‰tt‡fdd„ƒ tt‡fdd„ƒ ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ td t ttd   ‰t ˆdk tddtju sÔJ ‚t ˆdktddtju sòJ ‚ttdd„ ƒ d S )Nr9   rG   Fr:   rF   r0   rC   r   ©Údomainr2   rI   Tc                   S   s&   t td dt t  d t dk tƒS )Nr9   rC   r   ©Úisolver+   r   r6   r6   r6   r7   rU   ,  rV   z2test_solve_univariate_inequality.<locals>.<lambda>rQ   Únc                      s   t ttƒˆ ktddS )NFr:   )rt   r   r+   r6   ©ru   r6   r7   rU   ;  rV   Úc1©Zpositivec                      s   t ˆˆ  dk ˆ ƒS ©Nr   )rt   r6   )rw   ru   r6   r7   rU   =  rV   )Únegativec                      s   t td ˆ k tƒS ©Nr9   )rt   r+   r6   ©Úzeror6   r7   rU   D  rV   c                      s   t td ˆ t k tƒS r{   rs   r6   r|   r6   r7   rU   E  s   ÿc                   S   s   t dtt  dk tƒS )Nr0   r9   ©rt   r+   r,   r6   r6   r6   r7   rU   G  rV   c                   S   s   t dtt  dk tƒS )Nr0   r   r~   r6   r6   r6   r7   rU   H  rV   c                   S   s   t tt dk tƒS ry   rs   r6   r6   r6   r7   rU   I  rV   c                   S   s$   t tttƒd ttƒd  dƒtƒS rc   )rt   r   r   r+   r   r6   r6   r6   r7   rU   P  s   ÿ)rt   r+   r!   r    r   r   r   r   r   r   r   r   r   rY   r   r.   Ú
ValueErrorr(   Úexpandr   r   rd   r   r   rZ   r5   r4   )Zdenr6   )rw   ru   r}   r7   Ú test_solve_univariate_inequality  sj     ÿ
0
ÿ$ÿ ,ÿ
*ÿ
 ÿÿ
$
ÿ
.RN"ÿ
2ÿ
&r   c                	   C   s  t ttƒtjk tddttdtd ddƒt tt	ddƒ dt ¡ƒksJJ ‚t ttƒtjktddttd tt	ddƒ ddƒks‚J ‚t t
tƒtjk tddttd tt	ddƒ ddƒksºJ ‚t t
tƒtjktddttdtd ƒt tt	ddƒ dt ¡ƒksJ ‚t ttƒtjk tddtt dtd	 ¡t td t¡ƒksBJ ‚t ttƒtjktddtttjƒt tdt ¡ƒks|J ‚t ttƒtjktddtjks J ‚t t
tƒtd
ƒk tddtjksÆJ ‚t ttƒtjktddtjksêJ ‚t t
tƒtjktddtjksJ ‚d S )NFr:   r   é   TrI   r9   rC   rG   rF   )rt   r   r+   r   rY   r!   r    r   rM   r   r   rm   rN   r   rA   r   r4   r5   r^   r6   r6   r6   r7   Útest_trig_inequalitiesT  s,    ,ÿÿÿ(ÿ
 ÿ
ÿ
$&$rƒ   c                   C   s   t td dktddtjks J ‚t td dktddtj t¡ksFJ ‚t td dk tddtjksfJ ‚t td dk tddtj t¡ksŒJ ‚d S )Nr9   r   Fr:   T)rt   r+   r   r4   Zas_relationalr5   r6   r6   r6   r7   Útest_issue_9954k  s     & r„   c                  C   sn   t td td  d dƒ} tttƒdttdƒ  dkƒttdtk t| d k ƒt| d tk ttk ƒƒksjJ ‚d S )NrI   r9   r0   r   rC   r‚   )r(   r+   r)   r   r   r   r   r   )Úrr6   r6   r7   Útest_slow_general_univariater  s    ,ÿr†   c                  C   sn   dt  tdt  ƒ } ttdt ƒtt tƒƒ}t| dt ƒ|ks>J ‚dt  tdt  d ƒ } t| dk ƒ|ksjJ ‚d S )Nr0   ú<r9   r   )r+   rS   r   r   r   r&   r   r"   )rj   r\   r6   r6   r7   Útest_issue_8545y  s
    rˆ   c                   C   sR   t t tk tƒtt tk ttk ƒks(J ‚t ttktƒtt tk ttk ƒksNJ ‚d S )N)rt   r   r+   r   r6   r6   r6   r7   Útest_issue_8974  s    (r‰   c                	   C   sì   t ddtdt d ƒ  dk ƒtt kttdƒd k @ ttdƒ@ ksHJ ‚t tdttƒ ƒd tƒttdƒkspJ ‚tddtddt  ƒ  dtƒt	t
t tk tdk ƒt
tjtk ttddƒk ƒt
tddƒtk ttk ƒƒksÚJ ‚ttd	d
„ ƒ d S )Nr2   r0   r   r9   rK   r‡   rC   rG   c                   S   s$   t ddtddttƒ  ƒ  dtƒS )NrK   r0   r‡   )r&   rS   r   r+   r6   r6   r6   r7   rU   Ž  s   ÿÿz"test_issue_10198.<locals>.<lambda>)r"   rS   r+   r   r   r   r   r   r&   r   r   rm   r   r.   r   r6   r6   r6   r7   Útest_issue_10198†  s    ÿ"ÿ(.ÿÿrŠ   c                   C   s<   t ttƒdk ƒdksJ ‚tttƒdk tjdtjks8J ‚d S )Nr9   Trq   )r)   r   r+   r*   r   r4   r6   r6   r6   r7   Útest_issue_10047’  s    r‹   c                   C   s0   t ttƒdk ƒttjtk ttdƒk ƒks,J ‚d S )Niè  )r)   r   r+   r   r   rm   r   r6   r6   r6   r7   Útest_issue_10268  s    rŒ   c                  C   sF   t dƒ} tttƒ| ktddttj| dk ft|  | ƒdfƒksBJ ‚d S )Nru   Fr:   r   T)r   rt   r   r+   r   r   r5   r    rv   r6   r6   r7   Útest_isolve_Sets¡  s    ÿr   c                  C   sŠ  t ddƒ} tddd}t|d |d  |d  dk || d	t|dƒksJJ ‚tdƒ}t|d dk |tjd	|d
k|t k@ tt|dƒdƒ@ ksJ ‚td| d dk|tjd	|dk|tk @ tt|dƒdƒ@ ksÐJ ‚t|d d|  d dk |tjd	|d
k|dk@ tt|dƒdƒ@ ksJ ‚t|d d|  d dk|tjd	|dk|tk @ tt|dƒdƒ@ |dk|t k@ tt|dƒdƒ@ B ks†J ‚d S )Nr   rC   r+   Fr|   r0   r9   rG   rq   rK   r2   rE   )r   r   rt   r   r   ZIntegersr   r-   )Údomr+   r6   r6   r7   Ú%test_integer_domain_relational_isolve¨  s$    
4 ÿÿ"ÿ
" ÿÿr   c                  C   s‚   t ttƒttdtƒƒtdtƒks$J ‚tddƒ} t dt  t¡dk t| ƒ| ksPJ ‚t ttd ƒt dktt	j
ƒt dd¡ks~J ‚d S )Nr   r0   rH   r‚   rQ   )r*   r   r,   r    r   r   r+   Údiffr   r   r4   rO   )Úir6   r6   r7   Útest_issue_10671_12466º  s    $
"
ÿr’   c                  C   s†  t tttttfD ]:} t| tdƒtƒjtks.J ‚t| t	j
tƒtƒjtksJ ‚qttdt d tƒtƒttdƒksrJ ‚tt	j
tƒ}t|tƒ|ksJ ‚td ttƒttƒttƒ tdt  fD ]@}dD ]6}d| | dk}t|tdd||t	dƒ kksÀJ ‚qÀq¸tdtd  dt  d dk tddttd  t	jk ks8J ‚tttt dƒtƒttt dƒks`J ‚tddd}ttt| dƒtƒttd| ƒks”J ‚tt| dk tƒt| dk ks¸J ‚td	dd
}t|t dktƒt	jtk t|k @ ksîJ ‚t|t dktdddt d| kksJ ‚tdt tdt d  ƒ}t|tƒttdƒksNJ ‚tttdt d  k tƒtt	jk ttdƒ@ ks‚J ‚d S )Nr0   r9   )r   r0   r   T)ZlinearÚnz)ZnonzeroÚarx   )r
   r   r   r	   r   r   r'   r+   Úlhsr   rA   r,   r   r   r   rY   r   rm   )ÚopZieZfxÚcr[   r“   r”   r6   r6   r7   Útest__solve_inequalityÂ  s2    &,ÿ$ÿ
(($*,r˜   c                      sf  ddl m‰  ˆ t tƒdks J ‚ˆ tjtdƒƒdks8J ‚ˆ tjtƒˆ ttjƒ  kr\dksbn J ‚ˆ tjt ƒˆ t tjƒ  krŒtjks’n J ‚ˆ tjtƒˆ ttjƒ  kr¼tddƒksÂn J ‚ˆ tjt ƒˆ t tjƒ  krêdksðn J ‚ˆ ttƒˆ ttƒ  krtd ksn J ‚ˆ tt ƒˆ t tƒ  krJtd ksPn J ‚t	t
‡ fdd	„ƒ d S )
Nr   ©Ú_ptrC   r9   r2   rF   r0   c                      s   ˆ t dddtjƒS )Nr‘   T)Zinfinite)r   r   rA   r6   r™   r6   r7   rU   è  rV   ztest__pt.<locals>.<lambda>)Úsympy.solvers.inequalitiesrš   r   r   rA   rY   r^   r   r+   r.   r   r6   r6   r™   r7   Útest__ptÞ  s    *00..2rœ   N)dÚ__doc__Zsympy.concrete.summationsr   Zsympy.core.functionr   Zsympy.core.numbersr   r   r   r   Zsympy.core.relationalr   r	   r
   r   r   r   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Z$sympy.functions.elementary.complexesr   Z&sympy.functions.elementary.exponentialr   r   Z(sympy.functions.elementary.miscellaneousr   r   Z$sympy.functions.elementary.piecewiser   Z(sympy.functions.elementary.trigonometricr   r   r   Zsympy.integrals.integralsr   Zsympy.logic.boolalgr   r   Zsympy.polys.polytoolsr   r   Zsympy.sets.setsr   r    r!   r›   r"   r#   r3   r$   r%   rt   r&   r'   Zsympy.polys.rootoftoolsr(   Zsympy.solvers.solversr)   Zsympy.solvers.solvesetr*   Z	sympy.abcr+   r,   Zsympy.core.modr-   Zsympy.testing.pytestr.   r/   r<   r=   r8   r@   rB   rP   r]   r_   ra   rb   re   rf   rk   rn   rp   r   rƒ   r„   r†   rˆ   r‰   rŠ   r‹   rŒ   r   r   r’   r˜   rœ   r6   r6   r6   r7   Ú<module>   sh     K($
>

