o
    3Ih0\                     @   sN  d dl Z d dlZd dlZd dlmZ d dlmZ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mZ d dlmZmZmZmZmZmZmZmZmZmZ d dlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z% d d	l&m'Z' d d
l(m)Z) d dl*m+Z+ d dl,m-Z-m.Z.m/Z/m0Z0m1Z1 d dl2m3Z3 d dl4m5Z5 d dl6m7Z8 d dl9m:Z: d dlm;Z; d dlm<Z< d dl=m>Z> e>dZ?ddhZ@ddhZAdhZBg ddfddZCdd ZDd d! ZEd"d# ZFd$d% ZGd&d' ZHd(d) ZId*d+ ZJd,d- ZKd.d/ ZLd0d1 ZMd2d3 ZNd4d5 ZOd6d7 ZPd8d9 ZQd:d; ZRd d<lSmTZT d=d> ZUd d?lVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d@dA Zd dBlmZ d dClmZ d dDlmZmZ d dElmZmZmZmZ d dFlmZmZmZ dGdH Zd dIlmZ dJdK Zd dLlmZ dMdN Zd dOlmZmZ dPdQ Zd dRlmZ dSdT Zd dUlmZ d dVlmZ dWdX ZedYdZ Zed[d\ Zd d]lmZ d d^lmZ d d_lmZ d d`lmZ dadb Zdcdd Zededf Zdgdh Zdidj Zdkdl Zdmdn Zdodp Zdqdr Zdsdt Zd dulmZ d dvlmZmZ d dwlmZ d dxlmZmZ d dylmZ d dzlmZ d{d| Zed}d~ Zedd Zedd Zd dlmZ d dlmZ dd Zd dlmZ d dlmZ dd Zdd Zdd Zdd ZdS )    N)meter)XFAILraisesignore_warnings)AtomBasic)SingletonRegistry)StrDummySymbolWild)
EIpioozoonanIntegerRationalFloatAlgebraicNumber)EqualityGreaterThanLessThan
RelationalStrictGreaterThanStrictLessThan
Unequality)Add)Mul)Pow)
DerivativeFunctionFunctionClassLambdaWildFunction)Interval)	vectorize)gmpy)SymPyDeprecationWarning)S)symbols)import_modulecloudpickle_assumptions_mhashis_EmptySetexpr_free_symbols_sage_T c           	         s   t  trdD ]tt fdd qdtjtjddg}tr%|tg |D ]U|v r.q'tr=t  t	r8q' }nt
rK }n	tt }t }t|}t|t|ksfJ |siq'fdd}| || || | q'd	S )
z2 Check that pickling and copying round-trips.
    )r      c                      s   t  S N)pickledumpsr3   )aprotocolr3   c/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/sympy/utilities/tests/test_pickling.py<lambda>8   s    zcheck.<locals>.<lambda>         c              	      s   |D ]q}|t v r	q|tv rt| |rt||sJ |q|tv s$| v rGtt t| |t||ks7J |W d    n1 sAw   Y  qt| |sMqt| |}t|dsst||s`J |t|||kssJ dt|||f qd S )N__call__z%s != %s, protocol: %s)dont_check_attrsnot_equal_attrshasattrdeprecated_attrsr   r)   getattr)r8   bdiattr)
deprecatedr9   r3   r:   cS   s(   




&zcheck.<locals>.cN)
isinstancer   r   NotImplementedErrorcopydeepcopyr-   extendcallabletypeinspectismoduleloadsr7   r6   dirset)	r8   exclude
check_attrrI   	protocolsrE   d1d2rJ   r3   )r8   rI   r9   r:   check2   s2   



r\   c                  C   s&   t t  tt ttfD ]} t|  q
d S r5   )r   r   r   r*   r\   rJ   r3   r3   r:   test_core_basicm   s   
r^   c                   C   s   t td d S Nx)r\   r	   r3   r3   r3   r:   test_core_Strq   s   ra   c                  C   s6   t t dddttdddttdfD ]} t|  qd S )Nr`   F)commutative_issue_3130)r
   r   r   r\   r]   r3   r3   r:   test_core_symbolt   s
   
rd   c                  C   sL   t dtddtdfD ]} t|  qtttdfD ]} t| dd qd S )Nr<   r=   z1.2FrX   )r   r   r   r\   r   sqrtr]   r3   r3   r:   test_core_numbers}   s
   
rg   c                  C   s   t dd } t|  d S )Nr`   g      ?)r   r\   )yr3   r3   r:   test_core_float_copy   s   ri   c                  C   sl   t d} t d}tt| |tt| |tt| |tt| |tt| |tt| |tt| |fD ]}t| q-d S )Nr`   rh   )	r   r   r   r   r   r   r   r   r\   )r`   rh   rJ   r3   r3   r:   test_core_relational   s   
rj   c                  C   (   t d} tt| dfD ]}t| qd S Nr`   r>   )r   r   r\   r`   rJ   r3   r3   r:   test_core_add      
rn   c                  C   rk   rl   )r   r   r\   rm   r3   r3   r:   test_core_mul   ro   rp   c                  C   rk   rl   )r   r    r\   rm   r3   r3   r:   test_core_power   ro   rq   c                  C   s.   t d} tt| ttttfD ]}t| qd S r_   )r   r!   r"   r#   r$   r%   r\   r`   fr3   r3   r:   test_core_function   s   
rt   c                  C   s   t d} t|  d S )Nrs   )r"   r\   )rs   r3   r3   r:   test_core_undefinedfunctions   s   ru   c                  C   s    t d} td}t||  d S )N_long_unique_name_1_long_unique_name_2)r   r"   r\   rr   r3   r3   r:   test_core_appliedundef   s   rx   c                  C   s    t t ddfD ]} t|  qd S )Nr   r<   )r&   r\   r]   r3   r3   r:   test_core_interval   s   
ry   c                  C      t t dfD ]} t|  qd S )Nr   )r'   r\   r]   r3   r3   r:   test_core_multidimensional      
r{   c                  C   s   g d} t j t jg}|dd | D 7 }tr|dd g7 }tdtdtdtdd	ttttt t	t
tjtjtjtjtjtjfD ]}|D ]
}|||u sMJ qCq?d S )
N)r   r4   r<   r=   r>   c                    s   g | ]  fd dqS )c                    s   t t |  S r5   )r6   rT   r7   r`   protor3   r:   r;      s    z,test_Singletons.<locals>.<listcomp>.<lambda>r3   ).0r3   r~   r:   
<listcomp>   s    z#test_Singletons.<locals>.<listcomp>c                 S   s   t t | S r5   )r-   rT   r7   r}   r3   r3   r:   r;      s    z!test_Singletons.<locals>.<lambda>r   r4   r<   )rM   rN   r-   r   r   r   r   r   r   r   r   r*   GoldenRatioTribonacciConstant
EulerGammaCatalanEmptySetIdentityFunction)rY   copiersobjfuncr3   r3   r:   test_Singletons   s    r   )	FreeGroupc                   C   s   t tddd d S )Nzx, y, zFre   )r\   r   r3   r3   r3   r:   test_free_group   s   r   );	Piecewise
lowergammaacosh
chebyshevu
chebyshevtlnchebyshevt_rootlegendre	Heaviside	bernoullicothtanhassoc_legendresignargasin
DiracDeltarerfAbs
uppergammabinomialsinhcoscotacosacotgammabellhermiteharmonicLambertWzetalog	factorialasinhacothcoshdirichlet_etaEijkloggammaerfceilingim	fibonacci
tribonacci	conjugatetanchebyshevu_rootflooratanhrf   sinatanfflucasatan2	polygammaexpc                  C   sp  g t ttttttttt	t
ttttttttttttttttttttttt t!t"t#t$t%t&t't(t)R } t*t+t,t-t.t/t0t1t2t3t4f}t5d\}}}t6t7t8|||t9d|dk f|d |dkf|d dft:f}| D ]}t;| ||}t;| q|D ]}t;| |||}t;| q|D ]}t;| qd S )Nx,y,zr   r   r<   r4   r=   T)<r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r+   r   r   r   r   r   r\   )one_vartwo_varr`   rh   zothersclsrJ   r3   r3   r:   test_functions   s   
&



r   )GeometryEntity)Point)CircleEllipse)LineLinearEntityRaySegment)PolygonRegularPolygonTrianglec                  C   s   t dd} t dd}t dd}t dd}tt t | tt| dtt| ddtt| |tt| |tt| |tt| |tt| |||t	t	| ddt
t
| ||fD ]}t|dd qMd S )	Nr4   r<   r=   r   r>      Fre   )r   r   r   r   r   r   r   r   r   r   r   r\   )p1p2p3p4rJ   r3   r3   r:   test_geometry   s   



r   )Integralc                  C   s&   t d} tt| fD ]}t| q
d S r_   )r   r   r\   rm   r3   r3   r:   test_integrals  s   
r   )Logicc                  C   rz   Nr4   )r   r\   r]   r3   r3   r:   
test_logic  r|   r   )MatrixSparseMatrixc                  C   s>   t t g dttddgddggfD ]
} t| ddgd qd S )	Nr4   r<   r=   r4   r<   r=   r>   _smat_matrI   )r   r   r\   r]   r3   r3   r:   test_matrices"  s   (r   )Sievec                  C   s   t t  fD ]} t|  qd S r5   )r   r\   r]   r3   r3   r:   test_ntheory*  s   
r   )Pauli)Unitc                  C   s"   t tttdfD ]} t|  qd S r   )r   r   r   r\   r]   r3   r3   r:   test_physics3  s   
r   c                  C   s  ddl m} m} ddlm} ddlm}m} ddlm	}m
}m}m} ddlm}	 ddlm}
 ddlm} dd	lm} dd
lm} ddlm}m}m}m}m}m}m}m} ddl m!} ddl"m#} ddl$m%} | | dd||||||||||	|
||||||||||||||fD ]}t&| qd S )Nr   )ColorGradientColorScheme)ManagedWindow)Plot
ScreenShot)PlotAxesPlotAxesBasePlotAxesFramePlotAxesOrdinate)
PlotCamera)PlotController)	PlotCurve)PlotInterval)PlotMode)Cartesian2DCartesian3DCylindricalParametricCurve2DParametricCurve3DParametricSurfacePolar	Spherical)
PlotObject)PlotSurface)
PlotWindowg?g?)'&sympy.plotting.pygletplot.color_schemer   r   (sympy.plotting.pygletplot.managed_windowr   sympy.plotting.plotr   r   #sympy.plotting.pygletplot.plot_axesr   r   r   r   %sympy.plotting.pygletplot.plot_camerar   )sympy.plotting.pygletplot.plot_controllerr   $sympy.plotting.pygletplot.plot_curver   'sympy.plotting.pygletplot.plot_intervalr   #sympy.plotting.pygletplot.plot_moder   $sympy.plotting.pygletplot.plot_modesr   r  r  r  r  r  r  r  %sympy.plotting.pygletplot.plot_objectr  &sympy.plotting.pygletplot.plot_surfacer	  %sympy.plotting.pygletplot.plot_windowr
  r\   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r	  r
  rJ   r3   r3   r:   test_plotting;  s.   (



r  c                  C   sN   ddl m}  ddlm} ddlm} t| d t|ddd t|  d S )	Nr   )r   )r   )r   rainbowr4   F)visible)r  r   r  r   r  r   r\   )r   r   r   r3   r3   r:   test_plotting2V  s   r  )ZZ)QQ)lex)Polyc                  C   sN   ddl m}  td}tt||fD ]}t| q| | |fD ]}t| qd S )Nr   )PurePolyr`   )sympy.polys.polytoolsr   r   r  r\   )r   r`   rJ   r3   r3   r:   test_pickling_polys_polytoolss  s   

r"  c                  C   s   ddl m} m}m} | | tdgtdgtdggtfD ]	}t|dgd q||tdtdgtdtdgftfD ]}t| q<||tdtdgtdtdtdgtfD ]}t| qZd S )Nr   )DMPDMFANPr4   r<   r=   repr   )sympy.polys.polyclassesr#  r$  r%  r  r\   r  )r#  r$  r%  rJ   r3   r3   r:   test_pickling_polys_polyclasses  s   *.
2
r(  c                  C   s^   ddl m}  | dtt}| |fD ]
}t|ddgd q|j|jfD ]}t|ddgdd q!d S )Nr   )PolyRingr   r4   )rW   F)rW   rX   )sympy.polys.ringsr)  r  r  r\   dtypeone)r)  ringrJ   r3   r3   r:   test_pickling_polys_rings  s   r.  c                   C   s   d S r5   r3   r3   r3   r3   r:   test_pickling_polys_fields  s   r/  c                  C   s,   ddl m}  | | ddfD ]}t| qd S )Nr   )PythonRationalr4      )"sympy.polys.domains.pythonrationalr0  r\   )r0  rJ   r3   r3   r:   test_pickling_polys_elements  s   
r3  c                  C   s  ddl m}  ddlm} | |  fD ]}t|dd q|| fD ]}t|dd qtd urTddlm} ddlm	} || fD ]}t|dd q=|| fD ]}t|dd qKddl
m} dd	lm} ||ttd
fD ]}t|dd qi|| fD ]}t|dd qwd S )Nr   )PythonIntegerRing)PythonRationalFieldFre   )GMPYIntegerRing)GMPYRationalField)AlgebraicField)ExpressionDomainr=   )%sympy.polys.domains.pythonintegerringr4  'sympy.polys.domains.pythonrationalfieldr5  r\   _gmpy#sympy.polys.domains.gmpyintegerringr6  %sympy.polys.domains.gmpyrationalfieldr7  "sympy.polys.domains.algebraicfieldr8  $sympy.polys.domains.expressiondomainr9  r  rf   )r4  r5  rJ   r6  r7  r8  r9  r3   r3   r:   test_pickling_polys_domains  s(   

rA  c                  C   s   ddl m} m}m}m} | |  fD ]}t| q|| fD ]}t| q|| fD ]}t| q)|||  fD ]}t| q7d S )Nr   )LexOrderGradedLexOrderReversedGradedLexOrderInverseOrder)sympy.polys.orderingsrB  rC  rD  rE  r\   )rB  rC  rD  rE  rJ   r3   r3   r:   test_pickling_polys_orderings   s   


	
rG  c                  C   s^   ddl m} m} td\}}}| | dfD ]}t| q||d|||ffD ]}t| q&d S )Nr   )MonomialOpsMonomialr   r=   r   )sympy.polys.monomialsrH  rI  r+   r\   )rH  rI  r`   rh   r   rJ   r3   r3   r:   test_pickling_polys_monomials  s   

rK  c                  C   s"  ddl m} m}m}m}m}m}m}m}m	}m
}	m}
m}m}m}m}m}m}m}m} | |  fD ]}t| q/|| fD ]}t| q;|| fD ]}t| qG|| fD ]}t| qS|| fD ]}t| q_|| fD ]}t| qk|| fD ]}t| qw|| fD ]}t| q|| fD ]}t| q|	|	 fD ]}t| q|
|
 fD ]}t| q|| fD ]}t| q|| fD ]}t| q|| fD ]}t| q|| fD ]}t| q|| fD ]}t| q|| fD ]}t| q|| fD ]}t| q|| fD ]}t| qd S )Nr   )HeuristicGCDFailedHomomorphismFailedIsomorphismFailedExtraneousFactorsEvaluationFailedRefinementFailedCoercionFailedNotInvertibleNotReversibleNotAlgebraicDomainErrorPolynomialErrorUnificationFailedGeneratorsErrorGeneratorsNeededUnivariatePolynomialErrorMultivariatePolynomialErrorOptionError	FlagError)sympy.polys.polyerrorsrL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r\   )rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  rJ   r3   r3   r:   test_pickling_polys_errors"  sP   T

















r`  c                  C   sd   ddl m} m} td}|d | d }| | |dfD ]}t| q|||tfD ]}t| q)d S )Nr   )CRootOfRootSumr`   r=   )sympy.polys.rootoftoolsra  rb  r   r\   r   )ra  rb  r`   rs   rJ   r3   r3   r:   test_pickling_polys_rootoftools  s   

rd  )LatexPrinter)MathMLContentPrinterMathMLPresentationPrinter)PrettyPrinter)
prettyForm
stringPict)Printer)PythonPrinterc                  C   s8   t t  ttttttdtt tt fD ]} t|  qd S )Nr8   )	re  rf  rg  rh  ri  rj  rk  rl  r\   r]   r3   r3   r:   test_printing  s   
rm  c                   C      t t  d S r5   )r\   rf  r3   r3   r3   r:   test_printing1     ro  c                   C   rn  r5   )r\   rg  r3   r3   r3   r:   test_printing2  rp  rq  c                   C   rn  r5   )r\   rh  r3   r3   r3   r:   test_printing3  rp  rr  )Limit)Orderc                  C   s:   t d} t d}tt| |dtt| fD ]}t| qd S )Ner`   r4   )r   rs  rt  r\   )ru  r`   rJ   r3   r3   r:   test_series  s
   
rv  )Product)Sumc                  C   s>   t d} tt| | ddftt| | ddffD ]}t| qd S )Nr`   r<   r>   )r   rw  rx  r\   rm   r3   r3   r:   test_concrete  s   (
ry  c                  C   s   t dddd} t|  d S )Nmessagez1.0zactive-deprecations)deprecated_since_versionactive_deprecations_target)r)   r\   )wr3   r3   r:   test_deprecation_warning  s   r~  c                   C   s    t t tjtjksJ d S r5   )r6   rT   r7   r*   Halfr3   r3   r3   r:   test_issue_18438  s    r  c                  C   s   d} t | tdksJ d S )Nsi   ^       sympy.core.powerPowsympy.core.numbersIntegerKR}bhHalf)R}bR}b.r<   )r6   rT   rf   )datar3   r3   r:   !test_unpickle_from_older_versions  s   r  )rR   rM   r6   sympy.physics.unitsr   sympy.testing.pytestr   r   r   sympy.core.basicr   r   sympy.core.singletonr   sympy.core.symbolr	   r
   r   r   sympy.core.numbersr   r   r   r   r   r   r   r   r   r   sympy.core.relationalr   r   r   r   r   r   r   sympy.core.addr   sympy.core.mulr   sympy.core.powerr    sympy.core.functionr!   r"   r#   r$   r%   sympy.sets.setsr&   sympy.core.multidimensionalr'   sympy.external.gmpyr(   r<  sympy.utilities.exceptionsr)   r*   r+   sympy.externalr,   r-   rA   rC   r@   r\   r^   ra   rd   rg   ri   rj   rn   rp   rq   rt   ru   rx   ry   r{   r   sympy.combinatorics.free_groupsr   r   sympy.functionsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rf   r   r   r   r   r   r   r   r   sympy.geometry.entityr   sympy.geometry.pointr   sympy.geometry.ellipser   r   sympy.geometry.liner   r   r   r   sympy.geometry.polygonr   r   r   r   sympy.integrals.integralsr   r   sympy.core.logicr   r   sympy.matricesr   r   r   sympy.ntheory.generater   r   sympy.physics.paulialgebrar   r   r   r  r  sympy.polys.domains.integerringr  !sympy.polys.domains.rationalfieldr  rF  r  r!  r  r"  r(  r.  r/  r3  rA  rG  rK  r`  rd  sympy.printing.latexre  sympy.printing.mathmlrf  rg  sympy.printing.pretty.prettyrh   sympy.printing.pretty.stringpictri  rj  sympy.printing.printerrk  sympy.printing.pythonrl  rm  ro  rq  rr  sympy.series.limitsrs  sympy.series.orderrt  rv  sympy.concrete.productsrw  sympy.concrete.summationsrx  ry  r~  r  r  r3   r3   r3   r:   <module>   s    0$;	





<
a


