K i;@ ddlmZddlZddlZddlZddlZddlZddlZddlm Z m Z ddl m Z ddl mZmZmZddlmZmZmZmZmZmZmZddlmZddlmZdd lmZmZdd l m!Z!m"Z"dd l#m$Z$m%Z%dd l&m'Z'm(Z(dd l)m*Z*m+Z+ddl,m-Z-m.Z.m/Z/ddl0m1Z1ddl2m3Z3m4Z4m5Z5ddl6m7Z7ddl8m9Z9m:Z:m;Z;mZ>m?Z?m@Z@ddlAmBZBmCZCmDZDddlEmFZFmGZGmHZHmIZImJZJmKZKddlLmMZMmNZNmOZOddlPmQZQddlRmSZSmTZTmUZUmVZVmWZWmXZXmYZYddlZm[Z[m\Z\m]Z]m^Z^ddl_m`Z`ddlambZbddlcmdZdmeZemfZfmgZgmhZhmiZiddljmkZkddllmmZmddlnmoZompZpddlqmrZrdd lsmtZtmuZudd!lvmwZwdd"lxmyZydd#lzm{Z{dd$l|m}Z}dd%l~mZmZmZmZmZmZmZmZdd&lmZmZmZmZmZmZdd'lmZmZdd(l&mZmZmZdd)lmZmZmZmZmZmZmZmZmZdd*lmZmZmZdd+lmZdd,lmZdd-lmZdd.lvmZmZdd/lmZdd0lmZdd1lmZdd2lmZdd3lZmZmZddlZeZed4Zed5d6d7gi8Zed9Zed:Zed;Zed<Zed=ZerddlZd>ejzd?<ed@\ZZZZdAZdBZdCZdDZdEZdFZdGZdHZdIZdJZedKZedLZedMZedNZedOZdPZdQZdRZdSZdTZdUZdVZdWZdXZdYZdZZd[Zd\Zd]Zd^Zd_Zd`ZdaZdbZdcZddZdeZdfZdgZdhZdiZdjZdkZdlZdmZdnZdoZdpZdqZdrZdsZdtZduZdvZdwZdxZdyZdzZd{Zd|Zd}Zd~ZdZdZdZdZdZdZdZdZdZdZ dZ dZ dZ dZ dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6dZ7dZ8dZ9dZ:dZ;dZdZ?dZ@dZAdZBd„ZCdÄZDdĄZEdńZFdƄZGdDŽZHdȄZIdɄZJdʄZKd˄ZLd̄ZMd̈́ZNd΄ZOdτZPdЄZQdфZRd҄ZSdӄZTdԄZUdՄZVdքZWGdׄdثZXdلZYdڄZZdۄZ[d܄Z\d݄Z]dބZ^d߄Z_y))productN)raiseswarns_deprecated_sympy)Sum)FunctionLambdadiff)EFloatIRational all_closeoopi)Eq)S)Dummysymbols)RisingFactorial factorial) bernoulliharmonic)Abssign)explog)asinhacoshatanh)floor)MaxMinsqrt) Piecewise)asinacosatancoscotsinsinctan)sinhcoshtanh)besselibesseljbesselkbesselyjnyn)betabetaincbetainc_regularized) Heaviside)EierferfcfresnelcfresnelsSiCi)digammagammaloggamma polygamma)zeta)Integral)AndfalseITENotOrtrue) DotProductcse)derive_by_arrayArray) ArraySymbol) IndexedBaseIdxlambdify)numbered_symbols) CoordSys3D)UnevaluatedExpr)expm1log1pexp2log2log10hypotisnanisinf) logaddexp logaddexp2aminamaxminimummaximum)cosm1powm1)reimarg) chebyshevt chebyshevulegendrehermitelaguerre gegenbauerassoc_legendreassoc_laguerrejacobi)Matrix MatrixSymbol SparseMatrix)PrintMethodNotImplementedError) LambdaPrinter) NumPyPrinter)implemented_function lambdastr)skip)conserve_mpmath_dps)ignore_warnings) import_module) uppergamma lowergammanumpyscipyfromlistsparse) import_kwargsnumexpr tensorflowcupyjaxnumba2TF_CPP_MIN_LOG_LEVELzw,x,y,zc\tgdttfddk(sJy)NcdS)Nfsi/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/utilities/tests/test_lambdify.pyztest_no_args..Ys aerVr TypeErrorrs@r test_no_argsrWs%QA 9m$ 3!8O8rcLttdtz}|ddk(sJyNrrVxrs rtest_single_argr]s"AaCA Q4199rcbtttgttz}|dddk(sJyNrr)rVryrs rtest_list_argsrbs(!QQA Q7a<.j bAhr) )I)rrrrcddS)Nrrr)f2srrz"test_nested_args..nrr 4,)rrrr)rVwrrrrz)f3rrs @@rtest_nested_argsrgs Aq6(QF #B r1g;2q' !! ! 9&' Aq6Aq6"Q1aL 1B h O 33 3 9&' 1uaj!$q!Ql 3B bRD62, #'7 77 7rctddddddk(sJddd d k(sJttfd y) Nzx,y,zzz,y,xrrrrrr?@@rrrcdSNrrrsrrztest_str_args..y adrrrs@r test_str_argsrtsF'"A Q1: "" " S#s  .. . 9l#rc~d}ttttd|i}|ddk(sJ|ddk(sJy)NcyNrrrs rrz&test_own_namespace_1..}rr*皙?rdrVrr*myfuncrs rtest_own_namespace_1r|s= FCFUFO,A S6Q;; S6Q;;rc~d}ttttd|i}|ddk(sJ|ddk(sJy)Ncyrrrs rrz$test_own_namespace_2..myfuncsrr*rrrrrs rtest_own_namespace_2rs=CFUFO,A S6Q;; S6Q;;rc ttttt}|ddk(sJt dd\}}}t t |t||zz}t|||g||gt}|ddd }tj dgd z}t||D]\}}t ||z |z d krJy) Nrzp q rT)realmodulesrgNgmCgNgmrV瞯<) rVrr*mathrabsrrYzip) rpqraeresultsrefvalsresrefs rtest_own_modulersCFD!A Q43;;gD)GAq! S?1Q3'' ( )B!QRHd3AT5!Gxx}oaG)*SCGS=!E)))*rcHttdttdy)NctdSrrUrrrrztest_bad_args..s hqkrctddgSrrUrrrrztest_bad_args..sh1v.r)rrrrr test_bad_argsrs 9)* 9./rcttttzddi}|ddk(sJttttzddi}|ddk(sJy)NrgQ @rr ?ry??)rVrrr rs r test_atomsrsNBFT4L)A Q44<<AEC9%A Q46>>rc\dtj_tjd}t t t t d}|t t t k(sJd}| |tddjtt|z cxkr|ksJJy)N240.19866933079506121545941262711838975037020672954020sympyrr) mpmathmpdpsmpfrVrr*r evalfr strsin02rprecs rtest_sympy_lambdarsFIIM JJM NECFG$A Q43q6>> D 51Xa^$**,uSZ/@@ G4 GG GG Grcdtj_tjd}t t t t dd}| d|z cxkr|ksJJttfdy)Nrrrr皙?ctSNrrsrrz"test_math_lambda.. adr) rrrrrVrr*rr)rrrs @rtest_math_lambdarsaFIIM JJM NECFF#A D 51S6E> (D (( (( ( 9l#rc  dtj_tjd}t t t t d d}|  tjd|z cxkr|ksJJtt fdtjdtjdd z z d tjd zd z zd tjdzdz z dtjdzdz z}t t tft tzdz d}t t tftt td}t t ftt tt zd}|tjdtjdztjd}|tjdtjdztjd}|tjd}t||z dksJt||z dksJt||z dksJy)Nrrrn 5z0.2ctSrrrsrrz$test_mpmath_lambda..rrz1e-30z1e-45rrz1e-60rz1e-75r!z1e-90(r1z1e-15gLoW5g[ݦe2g#aMR/)rrrrrVrr*rrrrirZr[r) rrref2f2af2bf2cans2aans2bans2crs @rtest_mpmath_lambdarsFIIM JJM NECFH%A D 51VZZ&'%/ 6$ 66 66 6 9l# JJw jj!!# $ 7##A% & 7##A% &G$$R'  (D Aq61a4!8X .C Aq65A; 1C A4qqz*H 5C  3 7 33VZZ5H IE  3 7 33VZZ5H IE  7# $E ut| u $$ $ ut| u $$ $ ut| u $$ $rcdtj_tjd}t t |d}d}| |d|z cxkr|ksJJy)Nrrrrr)rrrrrVrrs rtest_number_precisionrsRFIIM JJM NEE8$A D 51Q4%< &$ && && &rc dtj_tt dt j ddtt j dk(sJy)Nrrr)rrrrrVrrrrrtest_mpmath_precisionrsDFIIM 4xBHHSM846 73rxx};M MM Mrcddlm}|jD]-\}}|tjvsJ|t jvr-Jy)Nr)MATH_TRANSLATIONS)sympy.utilities.lambdifyritemsr__dict__r)rsymmats rtest_math_translrsE:%++-$Senn$$$dmm###$rcddlm}|jD]2\}}|tjvs|dk(sJ|t jvr2Jy)Nr)MPMATH_TRANSLATIONSrv)rrrrrr)rrrs rtest_mpmath_translrsK<'--/&Senn$x77foo%%%&rcts tdddlm}|j D]-\}}|t j vsJ|tj vr-Jy)Nnumpy not installed.r)NUMPY_TRANSLATIONS)rr~rr"rrr)r"rnumps rtest_numpy_translr$sQ  #$;'--/& Tenn$$$u~~%%%&rcts tdddlm}|j D]J\}}|t j vsJ|tj vr-|tjj vrJJy)Nscipy not installed.r)SCIPY_TRANSLATIONS)rr~rr'rrrspecial)r'rscips rtest_scipy_translr*sd  #$;'--/H Tenn$$$u~~%1G1G)GGGHrcts tdttt td}|ddk(sJ|ddk(sJy)Nr!rrr)rr~rVrrrs rtest_numpy_translation_absr,s@  #$CFG$A R5A:: Q4199rc2ts tdddlm}d}tt t f}|jjD]P}||vrt|}t|dr|jd}nd}|d|}t|||d}|d |zPJy) Nnumexpr not installed.r)NumExprPrinter)wherecomplexcontains_nargsrrrr) rr~sympy.printing.lambdareprr/rrr_numexpr_functionskeysrhasattrr3rV)r/ blacklist arg_tuplerssymnargsargsrs rtest_numexpr_printerr>s  %&90IAq I00557 + )  v 4 "KKNEE%  T4; :%+*** +rcttttd}|ddk(sJ|ddk(sJ|ddk(sJt|ddz dksJ|dd k(sJ|d d k(sJy) Ncmathrrrr9v?MbP?rr@rVrr#rrs rtest_cmath_sqrtrF2sDGW%A Q4199 Q4199 Q4199 qte| u $$ $ R5B;; R5B;;rcttttd}t|ddz dksJt|tj dz dksJt|dt jdz dksJy)Nr@rrrr)rVrrrr@ers rtest_cmath_logrI<sqCFG$A qtax=5  qzA~  && & quuyy}$ % -- -rcttttd}t|dt jdz dksJt|t t jt z dksJt|t t jt z dksJt|dt jdz dksJyNr@rrr)rVrr-rr@rrs rtest_cmath_sinhrLCDGW%A qtejjm# $u ,, , quuzz"~% & .. . q"v B3' (5 00 0 quuzz"~% & .. .rcttttd}t|dt jdz dksJt|t t jt z dksJt|t t jt z dksJt|dt jdz dksJyrK)rVrr.rr@rrs rtest_cmath_coshrOKrMrcttttd}t|dt jdz dksJt|t t jt z dksJt|t t jt z dksJt|dt jdz dksJyrK)rVrr/rr@rrs rtest_cmath_tanhrQSrMrcttttd}t|dt jdz dksJt|t t jt z dksJt|t t jt z dksJt|dt jdz dksJyrK)rVrr*rr@rrs rtest_cmath_sinrS[CFG$A qteiil" #e ++ + quuyy}$ % -- - q"v 2#& '% // / quuyy}$ % -- -rcttttd}t|dt jdz dksJt|t t jt z dksJt|t t jt z dksJt|dt jdz dksJyrK)rVrr(rr@rrs rtest_cmath_cosrVcrTrcttttd}t|dt jdz dksJt|dt jdz dksJyrK)rVrr,rr@rs rtest_cmath_tanrXks\CFG$A qteiil" #e ++ + quuyy}$ % -- -rcttttd}t|dt jdz dksJt|dt jdz dksJt|dt jdz dksJt|dt jdz dksJt|dt jdz dksJy)Nr@rrrrrr)rVrr%rr@rs rtest_cmath_asinrZqDGW%A qtejjm# $u ,, , qtejjm# $u ,, , quuzz"~% & .. . qtejjm# $u ,, , quuzz"~% & .. .rcttttd}t|dt jdz dksJt|dt jdz dksJt|dt jdz dksJt|dt jdz dksJy)Nr@rrrrr)rVrr&rr@rs rtest_cmath_acosr]zsDGW%A qtejjm# $u ,, , quuzz"~% & .. . qtejjm# $u ,, , quuzz"~% & .. .rcttttd}t|dt jdz dksJt|dt jdz dksJt|dt jdz dksJt|dt jdz dksJt|dt jdz dksJyNr@rrrrrrD)rVrr'rr@rs rtest_cmath_atanr`r[rcttttd}t|dt jdz dksJt|dt jdz dksJt|dt jdz dksJt|dt jdz dksJt|dt jdz dksJyr_)rVrrrr@rs rtest_cmath_asinhrbsE!Hg&A qtekk!n$ % -- - qtekk!n$ % -- - quu{{2& '% // / qtekk!n$ % -- - quu{{2& '% // /rcttttd}t|dt jdz dksJt|dt jdz dksJt|dt jdz dksJt|dt jdz dksJy)Nr@rrrrrD)rVrrrr@rs rtest_cmath_acoshrdsE!Hg&A qtekk!n$ % -- - qtekk!n$ % -- - quu{{2& '% // / quu{{2& '% // /rcPttttd}t|dt jdz dksJt|dt jdz dksJt|dt jdz dksJt|dt jdz dksJt|dt jdz dksJt|dt jdz dksJy) Nr@rr?rrD)rVrrrr@rs rtest_cmath_atanhrisE!Hg&A qtekk!n$ % -- - qv C(( )E 11 1 qwT** +e 33 3 qtekk!n$ % -- - quu{{2& '% // / quu{{2& '% // /rc  td}t|tt|tt |zz t t t|ztt |zz}t|g|ddg}tjdz }t||d|zzdksJt|gtt |zt|t t |zzz ddg}t||dksJt|gt|tt|tt |t t t |zzzz ddg}t||d|zzdksJt|gt|tt|tt |zt t t|ztt |zz z ddg}t||d|zzdksJt|gt |t t|tt |zt tt|ztt |zzz ddg}t||d|zzdksJt|gt|tt|tt |zt tt|zt t |zzz ddg}t||d|zzdksJt|gt|tt|tt |zt tt|zt t |zzz ddg}t||d|zzdksJt|gt|t|t| zdz z ddg} t| |dksJtt|tt |ztt|t |zz } tt|tt |t zzt|z } ttt|t|z } ttt|t|z } ttt|t |zt|t |zz }ttt|t |zt|t |zz }t|g| ddg}t|g| ddg}t|g| ddg}t|g| ddg}t|g|ddg}t|g|ddg}d}t||dksJt||dksJt||dksJt||dksJt||dksJt||dksJy) Nrr@rrrrgؗҼ<@@)rr(rjr.rkr r*r-rVrrrrr)rexprfunchpifunc_expfunc_cosfunc_sin func_cosh_1 func_sinh func_cosh_2expr1expr2expr3expr4expr5expr6func1func2func3func4func5func6 test_values rtest_cmath_complex_identitiesrsw A q6C1Jbe, ,q3r!u:~RU /K KD QC'8 9D ''A+C tC"s(N# $u ,, , QCQUs1vCF ':;gvEV WD tCy>E !! !SVc"Q%jC1JSAZ4O&PP!(& 13H xb3h' (5 00 0SVs2a5zDAK'?!c"Q%j.SWXZ[\X]S^B^'^_!(& 13H xb3h' (5 00 0SVs2a5zDAK'?!c"Q%j.SWXZ[\X]S^B^'^_!(& 13H xb3h' (5 00 0A3Q41;RU+Ca$rRSu+oX[\^_`\aXbFb+b c")6!24K {3c>* +e 33 3!d1gbes2a5z)AARPQU OVYZ\]^Z_V`D`)`a")6!24I yrCx( )E 11 1A3Q3q6CG+;q*@ @7TZJ[\K {3 5 (( ( 1JRU #c"Q%"Q%-&8 8E 1JRUQY '#a& 0E BqE Obe #E BqE Obe #E BqEBqEM" #r!ur!u} 5E BqEBqEM" #r!ur!u} 5E aS%'6): ;E aS%'6): ;E aS%'6): ;E aS%'6): ;E aS%'6): ;E aS%'6): ;EJ uZ !E )) ) uZ !E )) ) uZ !E )) ) uZ !E )) ) uZ !E )) ) uZ !E )) )rcts tdts tdtd}t |j d\}}t ||f|tgd}tjjd\}}|||y) Nr.r!zb*a - sqrt(a**2)c|jSr)name)ss rrz!test_issue_9334..s 166r)keyF)rdummifyrr)rr~rrsorted free_symbolsrVrandom)rlab func_numexprfoobars rtest_issue_9334rst  %&  #$  D $##)9 :DAqQqE4'EJL||""6*HCcrc Fts tdtttt ft ttdk\ft tdkDft}tt5|ddddk(sJt|ddddk(sJ dddy#1swYyxYw)Nr.rrr*nan) rr~rVrrrr$rRuntimeWarningr)rs rtest_issue_12984rs  %&QqGY16{QBK%H'RL  (6Ar2&",,,<B+,555666s %(BB ctd\}}||z }t||g|}t||g|g}|dd|ddk(sJ|dddk(sJy)Nzx yrrrrV)rrrl no_modules empty_moduless rtest_empty_modulesrsm 5>DAq U8D1a&$'JaVT26M a }Q2 22 2 a r !! !rctttdz}|ddk(sJ|ddk(sJ|ddk(sJ|ddk(sJ|ddk(sJ|ddk(sJy) Nrrrrrhr@@rrs rtest_exponentiationrsrAqDA R5A:: Q4199 Q4199 R5A:: Q4199 S6T>>rctttt}|ddk(sJ|ddk(sJ|ddk(sJt|ddz d ksJ|d d k(sJy) NrrrrrrrrArBrrrErs r test_sqrtrsmDGA Q43;; Q43;; Q43;; qte| u $$ $ T7c>>rc<ttgttttgd}|t}d}| |ddzcxkr|ksJJ| |dcxkr|ksJJ|d}d}| |ddzcxkr|ksJJ| |dcxkr|ksJJy)Nrgdy=rrn! @gh㈵>)rVrr(r*r)rdrs r test_trigrs!s1vs1v&/A "A D 51Q4!8 "d "" "" " 51Q4 $    ' A D 51Q4!8 "d "" "" " 51Q4 $   rc trts tdttt tdz }t tt|ttttf}|t }d|cxkrdksJJy)Nr&rgiv[?gm[?) rrr~rrrrVrrFr)rlrs r test_integralr%sg U #$q#q!te*AHQqTAq":./A 2#A  'K '' '' 'rctrts tdtddtdzt dzzz z tddft dt f}tt g|}|d}d|cxkrdksJJy)Nr&rrrgX) rrr~rr4rrVsubsrr5) test_pointrjtestytests rtest_spherical_besselr7s U #$J A q!HE  x% , JJq $ * * ,- .04 55 5 q!HE  x% , JJq $ * * ,- .04 55 5rcttttftttfddddk(sJddddk(sJt t fd y) NrrrrrrrrcdSrrrsrrz$test_vector_simple..Lrr)rVrrrrrrs@rtest_vector_simplerGsR!QQ1I&A Q1: "" " S#s  .. . 9l#rcttdtz dtz fttfdddk(sJddk(sJddk(sJy) NrrcdSrrrsrrz+test_vector_discontinuous..Qs adr)grr)rgrfrh)rfrg)rVrrZeroDivisionErrorrs@rtest_vector_discontinuousrOs\RT1Q3K A l+ Q4;   Q4;   R5K  rcttgttttgd}|t}t |ddzdksJt |ddz dksJy)Nrrr-C6?)rVrr(r*rrrrs rtest_trig_symbolicrWs\!s1vs1v&/A "A qtax=6 !! ! qtax=6 !! !rcttgttttg}|d}t |ddzdksJt |ddz dksJy)Nrrrr)rVrr(r*rrs rtest_trig_floatr^sZ!s1vs1v&'A ' A qtax=6 !! ! qtax=6 !! !rctttdz}|ddk(sJttttgtttg}|dddgdk(sJttt t}|ddk(sJtttft ttzdz}|dddk(sJy) Nrrrrrrrrrr)rVrrrr#r*rs r test_docsresAqDA Q4199!QQ1I&A Q1: "" "DGA Q43;;!QQqS1%A Q7a<.dotN)__name__ __module__ __qualname__rrrdotrs rrr)rFT)allow_unknown_functionsinlinefully_qualified_modulesuser_functionsprinterc4ttSNrr)inpp3 x_dot_mtxsrrz#test_numpy_matrix..s@hq)R@Err)rr~rvrrr*rarrayrVtestingassert_allcloserndarrayrzerosallr{dictr Exception) rsol_arrrrf_dot1 strict_kwp2f_dot2rrrs @@@rtest_numpy_matrixrsr  #$AaC3q6A:q!t,-.AkkAq6EIIaL1$4a#89:G!QAy)A MM!!!Aq!*g6 a1aj%-- 00 0 h AvsQC!o./I a #F ++g C 99VC[A% && &,1T^cdI dF5%.FIF GB aB /F 99VC[A% && & i B 9EFrcts tdtdtgddgg}t t|j d}tj j|dtjddgddggy)Nr!rrrrr) rr~rvrrVrrassert_array_equalrrrs rtest_numpy_transposerse  #$AA A!acc7+A MM$$QqT5;;AA7G+HIrcnts tdtttt g}t ttt gt||d}t ttt gt||jd}t ttt gt|j|d}t ttt gt||jd}|ddd|dddcxk(r6|dddcxk(r(|dddcxk(rtjdgk(sJJy)Nnumpy not installedrrrrr) rr~rvrrrrVrMrrrrrrf4s rtest_numpy_dotproductrs  "#1ayA 1a)Z1-w ?B 1a)Z133/ AB 1a)ZQ/ AB 1a)Z133/ AB aA; aA;  aA;  aA;  ;;t     rcts tdtdtgddgg}t t|dzd}tj j |dtjddgddggy) Nr!rrrrrrrh)rr~rvrrVrrrrs rtest_numpy_inverserse  #$AA A!aeW-A MM$$QqT5;;B!a7I+JKrc<ts tdttttzgt t dztt zgg}tjddgtj ddzdgg}tttt f|dtjidg}tt5tjj|ddd|t|dddtjsJ dddy#1swYyxYw)Nr!rrrrImmutableDenseMatrixr)rr~rvrrr*rrrVmatrixrPendingDeprecationWarningrrr)rrrs rtest_numpy_old_matrixrs  #$AaC3q6A:q!t,-.AkkAq6EIIaL1$4a#89:G!QA!7 FPQA 2 34 %%a1aj':!Aq!*ell333444s ;A DDcts tdttdgdtgg}t ttf|d}|dd}t |tjjsJy)Nr&rrrrr) rr~rxrrrVrr coo_matrix)rrBs rtest_scipy_sparse_matrixr s\  #$q!fq!f%&A!QG,A !QA a00 11 1rc ts tdtdtz tdkfttdkfdtz df}t ttg|d}tj d5t|tjd tjd d k(sJt|tjd tjdtd k(sJ dddy#1swYyxYw) Nr!rrTrrignore)dividerrfinf) rr~r$rrrVerrstaterr)rrs r test_python_div_zero_issue_11306rs  #$1q5!b&/Aq1u:At}=A!QG,A x (HQu{{1~u{{3'789Q>>>Qu{{1~u{{1~675<GGGHHHs 3BDD cddg}tr|jdtr|jd|D]s}ttt j tz |}|ddk(sJtttt j tz |}|ddk(rsJtttg|D]H\}}tt|t|}|dd k(sJ|d d k(sJ|d d k(rHJy) Nrrrrrrfrrrrkr) rappendrrVrrOner rrr)modsmodrabsfuncrs rtest_issue9474rs &>D  G  H Qa -ts{{ QaeeAg 4tqyy  $S#J5 Q G 4uzztqyyw!|| rcts tdts tdttdzt dzz}t d|z t}tjdddx}}tjddz |d zz}ttt f|d ||}ttt f|d ||}tjj||d tjj||d y)Nr.r!rrrrrrhrrr绽|=)rtol) rr~rr#rrr linspacerVrr)rrlxnr5fv_exactfv_numpy fv_numexprs rtest_issue_9871r!s  %&  #$ QTAqD[A !QH:1a&$ :2rBJ MM!!(H5!A MM!!*hU!Crc bts tdtttdkftdztdkDfd}t t|d}tj j |tjdtjgd t ttttd kDft td kf}tj j |tjgd tjd tjd gy) Nr!rrr)rTrrr) rrrrrr$1@Qrrrrr) rr~r$rrVrrarangerr)piecesr nodef_funcs rtest_numpy_piecewiser+ s  #$ 1q5zAqD!a%=) H MM$$Xc1a%8%++wQTPUFV:WX MM$$XdAq%95;;RUQVGW;XY!QDIdNG>&Aq/6!Q? ;; ;rcts tdts tdtjj dd\}}t dt fdtdi}ttd|tz d }tj|||dz sJtt dd }tttf|ttd }tj|||d|z|zdzsJy) Nr!r.rrufevalc|dzdzSrrrrs rrz,test_numexpr_userfunctions..Ms!Q$q&rrrrcd|z|zdzSrrrJs rrz,test_numexpr_userfunctions..QsAaCE!Gr) rr~rrr@typer classmethodrVrrAr|r)rrrGrms rtest_numexpr_userfunctionsrNFs  #$  %& <<  a $DAq dXL $89: >$q'QT7 ++ + htn.C DB QFBq!Hi 8D >>$q!*ac!eAg .. .rcts tdtttt dtdzz }t t|d}tjjj5}tjdtj}||j|d k(sJ dddy#1swYyxYw) Ntensorflow not installed.rrrrrdtypesessionrf) rr~r!r*rrrVcompatv1Sessionconstantfloat32rHrlrmrrs rtest_tensorflow_basic_mathr[Vs  () s1vs1ac7| $D At\ 2D      % % '.1   ););  <Aw||A|&#---...s 8ACCcts tdtttt dtdzz }t t|d}tjjj5}tjjjtj}||j||did k(sJ dddy#1swYyxYw) NrPrrrrrQrrT feed_dictrf) rr~r!r*rrrVrUrVrW placeholderrYrHrZs rtest_tensorflow_placeholdersr`as  () s1vs1ac7| $D At\ 2D      % % '@1    , ,:3E3E , FAw||A!Q|8C???@@@s 8ACC$cts tdtttt dtdzz }t t|d}tjjj5}tjdtj}|j|j||j||did k(sJ dddy#1swYyxYw) NrPrrrrrrQr]rf)rr~r!r*rrrVrUrVrWVariablerYrun initializerrHrZs rtest_tensorflow_variablesrels  () s1vs1ac7| $D At\ 2D      % % '@1   ););  < ammAw||A!Q|8C???@@@s 8A!C##C,cdts tdttt t t t }tt t g|d}tjjj5}|ddj|dk(sJ dddy#1swYyxYw)NrPrrFTrS) rr~rJrGrKrrrVrUrVrWrHrlrmrs r"test_tensorflow_logical_operationsrhxs  () s2a8Q D QFD, 7D      % % ':1E4 %%a%0E999:::s =B&&B/cts tdtdttdfdtdkfdtdkDf}t t|d}tj jj5}|dj|dk(sJ|dj|dk(sJ|dj|dk(sJ dddy#1swYyxYw)NrPrrrrrrS) rr~r$rrrVrUrVrWrHrgs rtest_tensorflow_piecewiserjs  () aAa\BA;AE ;D At\ 2D      % % ',1Bx}}Q}'2---Aw||A|&!+++Aw||A|&!+++,,,s ;ACC&c:ts tdttt tdz}t t|d}tj j j5}|dj|dk(sJ dddy#1swYyxYw)NrPrrrrhrSr) rr~r!rrVrUrVrWrHrgs rtest_tensorflow_multi_maxrls|  () q1"ad D At\ 2D      % % '-1Bx}}Q}'1,,,--- )BBc:ts tdttt tdz}t t|d}tj j j5}|dj|dk(sJ dddy#1swYyxYw)NrPrrrrhrS) rr~r"rrVrUrVrWrHrgs rtest_tensorflow_multi_minros|  () q1"ad D At\ 2D      % % '.1Bx}}Q}'2---...rmcts tdtdk\}tt|d}tjj j 5}|dj|dk(sJ dddy#1swYyxYw)NrPrrrrrST)rr~rrVrUrVrWrHrgs rtest_tensorflow_relationalrqsq  () 6D At\ 2D      % % '/1Aw||A|&$...///s A==BcHts tdttt td}ttt td}ttt td}ttttd}tjjj5}tjd}||j|dk(sJ||j|dk(sJ||j|}t dj}t||z dksJ||j|}tdj}t||z dksJ dddy#1swYyxYw) Nztensorflow not installedrry?@rSrrgư>)rr~rVrrjrkrrlrUrVrWrXrHrr)r{r|r}r~rrtensorflow_result sympy_results rtest_tensorflow_complexesrusQ  '( Q1| 4E Q1| 4E QA 5E QA 5E      % % '<1    %Qx}}Q}'1,,,Qx}}Q}'1,,,!!HMM!M46{((* $\12V;;;!!HMM!M46{((* $\12V;;;<<.rrcy)Nzsecond frrs rrz&test_namespace_order..rrcy)N function grrs rrz&test_namespace_order..rr)rgrrrrrr)rrrVr)n1n2rrif1if2s rtest_namespace_orderrs " #B#% 'B sA sA 1adRM 2C q6Y   1adRM 2C q6Y   q6\ !! !rctddtdd}ttt}tt|t}ttt|tk(sJ|ddk(sJ|dt j dk(sJt jd}t|drJt|d}t|dsJtdd ttfd y) Nrc d|zSNrrrs rrztest_imps..s AaCrc,tj|Sr)rr#rs rrztest_imps..sDIIaLrrrr_imp_c d|zSrrrs rrztest_imps..s !rc |dzS)Nerrs rrztest_imps.. s QWrcDtttSrr)rrsrrztest_imps.. sx1RU84r) r|rVrrrr#rrr8r ValueError)rl1l2rmmy_frrs @@r test_impsrs S-0AS"89A !QqT B !QqT B qt9AaD !! ! a5A:: a5DIIaL  >>( #DtW%% % m 4D 4 !! ! c#4 5B :45rctdttfD]+\}fd}td|}||}|||k(r+Jy)N)rrrrc|dk(ry)Nrrr)r error_classs rrz test_imps_errors..myfuncsAv!!rr)rrrr|)valrrrlrs @rtest_imps_errorsrsQ$Oi5LM [  !f -vqv~~ rc&ttdy)Nc$ttdS)Nc|Srrrs rrz8test_imps_wrong_args....$s1r)r|r*rrrrz&test_imps_wrong_args..$s3CEr)rrrrrtest_imps_wrong_argsr#s  :EFrc4tj}tt|tddk(sJttd|tzddk(sJtttft|tzdddk(sJt dd}tt|tddk(sJttd|tzddk(sJtttft|tzdddk(sJtt|ttf}|dd k(sJtt|ttg}|dd dgk(sJtt|t|ttfg}|dd d gk(sJtt|tti}|dd dik(sJtt|tti}|dd dik(sJttt|ti}|ddd ik(sJdd i}tt|t|}|dd k(sJtt|t|d }|ddk(sJy)Nrrrrc |dzS)Nrrrs rrz$test_lambdify_imps../s AGrrrr)grrc |dzS)Ncrrs rrz$test_lambdify_imps..As BrF)use_impsf)rr(rVrrr|)rlamrs rtest_lambdify_impsr'sH  A 8Aqt Q 1 $$ $ 8Aq1Q4x  #q (( ( %8QFA!H %a +q 00 0S"34A 8Aqt Q 3 && & 8Aq1Q4x  #s ** * %8QFA!H %a +s 22 2 1qtQi C q6X   1qtQi C q6c1X   1qtadAY' (C q6c8_ $$ $ 1qtQi C q6c1X   1qtQi C q6c1X   1q!A$i C q6aX   A 1adA C q6S== 1adA .C q6S==rc$tdtdtdtd}ddzzz }tf|}|dddk(sJttdtdzz}|ddzzk(sJt|fd|zz}|ddd k(sJt t fd t t fd t t fd y) NtFGz\alpharr rrc^tzzdzS)NrrU)rrrsrrz$test_dummification..Ys*1!adQqTkAo FrcFtdzdzdzS)NrrrUrrsrrz$test_dummification..Z"QqT1qt8a< @rcFtdzdzdzS)NrrrrUrsrrz$test_dummification..[rr)rrrVr*r SyntaxError)alpha some_exprrrrrs @@@rtest_dummificationrIs A A A I EAaD!G ad"I AaD!A$< +C q!9>> 3q61s1vqy= )C qt9AaD!G ## # E1:qw{ +C q!9>> ;FG ;@A ;@Arctd}|j\}}}||z}t||g|}|dd}d}t||z dksJy)NNr333333?rfr)rX base_scalarsrVr)rrr5znrlrrrs r8test_lambdify__arguments_with_invalid_python_identifiersr^s\3A!JBB 7D"b4 A C+C C s3w<%  rctjddd}t||}|ddk(sJt||d}|ddk(sJy)Nz{v}rrTr)rrwrV)curlyvrs rtest_curly_matrix_symbolrisP   q! ,F 66 "C q6199 664 0C q6199rcVtd}|dz }t||}|ddk(sJy)Nifr@rr) python_ifrlrs rtest_python_keywordsrrs2 I q=DD!A S6S==rctttttfttztztz}dj }|j j dt||k(sJtd}t|t|}dj }|j j dt||k(sJy)NzOCreated with lambdify. Signature: func(w, x, y, z) Expression: w + x + y + zza1:26aCreated with lambdify. Signature: func(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) Expression: a1 + a10 + a11 + a12 + a13 + a14 + a15 + a16 + a17 + a18 + a19 + a2 + a20 +...) rVrrrr splitlines__doc__lenrsum)rmrsymss rtest_lambdify_docstringr|s Q1aL!a%!)a- 0D jl  << " " $Yc#h /3 66 6 7 D D#d) $D Y jl  << " " $Yc#h /3 66 6rctttdz}d}tj||k(sJtj|}|j dsJ|t jvsJt j|t|d|jd|fk(sJ~tj|t jvsJy)Nrz,def _lambdifygenerated(x): return x + 1 z.intervalreprs ((..rrrrr)rrrrg?) r5rr#rHalfrVrLrmpirrrC)rrlfunc0r{r|rexp1r\exp3exp_lssol1sol2sol3sol_lsrs @rtest_special_printersrsH9/ Q$q'! "QVV +D Rx FE Rx IE Rx9J KE vzz!Q C egs ## # egs ## # egs ## # .8Ax{H -a 0D -8Ax{H -c 2D -8Ax{H -b 1DD$ F ??1 D ??3 D ??2 DD$ F V  rchtgtdusJtgtdusJy)NTF)rVrLrHrrrtest_true_falsers6 8B  4 '' ' 8B  E )) )rc@ttttffttzdddk(sJtttttfffttztztzdddk(sJtttdzdddk(sJy) Nrrr)r)rrrFrr)rVrrrrrrrtest_issue_2790rs '8QAKQ '6 2a 77 7 48QQF $a!eai!m 4Q D JJ J ,8Aq1ue ,Q /1 44 4rcrtdd}||djtdk(sJy)Nrc |dzSrrrs rrz"test_issue_12092..s AqDrrr)r|rr rs rtest_issue_12092rs.S.1A QqT7==?eBi '' 'rcGddtj}|d}d|z}tj|}|j dddk(sJy)NceZdZdZeZeZy)"test_issue_14911..Variablec8|j|jSr)rr)selfrs r _sympystrz,test_issue_14911..Variable._sympystrs??499- -rN)rrrr _lambdacode _numpycoderrrrbrs .  rrbrr z2*x)rSymbolrzrreplace)rbrrcodes rtest_issue_14911rsQ5<<  A AA ? " "1 %D <<R E )) )rc ttttft tttddddk(sJttttft tttddddk(sJy)NTrrF)rVrrrrIrrrtest_ITErs^ ,8Q1Is1a| ,T1a 8A == = ,8Q1Is1a| ,UAq 9Q >> >rc ttttft tttddddk(sJttttft tttddddk(sJyr)rVrrrr"r!rrr test_Min_Maxrs^ ,8Q1Is1a| ,Q1 5 :: : ,8Q1Is1a| ,Q1 5 :: :rc ts tdtjgd}tjgd}tjgd}tjgd}tjt t t ftt t |||k(sJtjt t t ftt t |||k(sJtjt t t tftt t t||||k(sJtjt t t tftt t t||||k(sJtjt t ftt ||k(sJtjt t ftt ||k(sJtjt t t ttftt t tt|||dgdk(sJtjt t t ttftt t tt|||dgd k(sJt t t ftt tt g||dd gk(sJtjgd gd gd g}t t ftt dtt dg|\}}tj|tj|dk(sJtj|tj|dk(sJtjt t t ftt t gdgdgdk(sJtjt t tdt gdgd k(sJy)Nr)rrr)rrr)rrr)rrrr)rrrr)rrrr)rr)rrr)rrrr)axisrrr)rrr)rr~rrrVrrrgrfrrrdrer!r")a234a152a254a132rmin_max_s rtest_amin_amax_minimum_maximumrs$  "# ;;y !D ;;y !D ;;y !D ;;y !D 994Xq!fgam4T4@DH II I 994Xq!fgam4T4@DH II I 99:Xq!QiAq)9:4tLPTT UU U 99:Xq!QiAq)9:4tLPTT UU U 99/XqdGAJ/5= >> > 99/XqdGAJ/5= >> > 99@Xq!QlGAq!Q,?@tTSTUYbb cc c 99@Xq!QlGAq!Q,?@tTSTUYbb cc c 08QFT!Wd1g. /d ;1v EE E  A D1$aa$qq/ BCAFJD$ 99TUZZZ22 33 3 99TUZZZ22 33 3 990Xq!fc!Qi0IF)S TT T 99-Xq3q!9-i8IE FF Frc ts tdtd}td\}}tj ddgddgg}t |t |ttftddftddf|d k(sJy) Nrrzi jrrrrrr) rr~rSrrrVrrr)rrjrs r test_Indexedrsy  "#CA 5>DAq aVaV$%A :8As1QT7Q1I1ay9 :1 = CC Crctttdtftddf}dtz}|j |k(sJt tg|d|j tdk(sJy)NrrBr)rrrrrrVr)rHrs rtest_Sumrs_ A1ay1a*%A Q$C 668s?? 8QC A #((1a. 00 0rcrtd}td}gd}t||g|||ddk(sJy)Nrrrrr)rSrTrV)rrrs rtest_Idxr$s@CA CAA !8QFAaD !!Q '1 ,, ,rc@tttftttddd}tttft ttddd}|tddj k(sJ|t ddj k(sJy)Nrrr)rVrrrrr)rurvs rtest_issue_12173r,s 7HaVZ1-h 71 =E 7HaVZ1-h 71 =E Jq!$**, ,, , Jq!$**, ,, ,rcts tdttt t}t |dt dz j dksJy)Nrrr)rr~rVrr+rnrs rtest_issue_13642r4sF  "#DGA qtd1g~  "U ** *rcttttd}t|dtdz j dksJy)Nrrr)rVrr+rrrs rtest_sinc_mpmathr ;s<DGX&A qtd1g~  "U ** *rct}t||dzd}|ddk(sJt||dz}|ddk(sJtd}t||dz}|ddk(sJt|gg|dz}|dgdk(sJy)NrFrrrrrrV)d1rf1bd2rrs rtest_lambdify_dummy_argr&@s B "b1fe ,B a5A:: 2rAv C q6Q;; sB "b1f B a5A:: B4&"q& !B qc7a<t@g} tjjBtjjDtjjFtjjHtjjJtjj@g} t'| | D]S\}}t)t*tLf|t*tLd}t-dD]}t j"j/dd} t j"j/dddt j"j/d d zz} |t6t@fvrt j3| } |t@k(rt1tO| } || | j5}t1|| | |z d d t1|zzksJt1|| | || | z d d t1|zzkrJVy) Nscipy not installedrrrrrrrgvIh%<=)(rr~r:r;r<rrBrCrAr?r@r(expigammalnpsisicirrseedrrVrrangeuniformrrrrr1r3r0r2rDpochjvyvivkvrint) single_arg_sympy_fnssingle_arg_scipy_fnssympy_fnscipy_fnrrtvrt scipy_resultdouble_arg_sympy_fnsdouble_arg_scipy_fnstv1tv2s rtest_scipy_fnsrH_s  "#T9eXwPRTVW!MM.. 0A0A5==CUCU !4!4emm6K6K!MM--u}}/A/A5==CUCUW LLa #$8:N OM8 Q W 5r MA%%c2.ELL4H4HQ4O1OOB9$YYr]8#YYr]7"ZZ^#B<--/L#B.> @P@PRWR_R_RiRik #$8:N O Y8 aVXa^W =r YA,,&&sB/C,,&&sB/"U\\5I5I"a5P2PPCOY77jjo9$#c(m#C-335Lqc{\12UAL@Q)rmr=rtrCr tol)rr~rrr5rrmrnrorprqrrrsrtrurrVr6randinttupler7rrrrAssertionErrorformatrepr)paramspolysmsgr@ num_paramsr=r_tntparamsrBvalsrCrtatolr s rtest_scipy_polysr[s<  "# LLa Y F Q Q 1 ! 1 Q     E 0!&*kz"aT) T8T? +r A%%a,BELL00AJqL0IJG%%c2.ELL4H4HQ4O1OOB7"ZZ^>)\\))"a0 4 4Q 4 CD57?bU*Dd8L#T?002LS../D|l23D d{"{% , $JJ!(^!$Z%),%7%),%7! " s 9HAIcdtttdz}dtj|vsJy)Nrzx**2)rVrrrrs rtest_lambdify_inspectr]s-AqDA W&&q) )) )rc$tt}}t||g|d|did}|dddddk(sJt||g||fd}|dddk(sJtgd}|dk(sJt||g||gd}|ddddgk(sJy)Nrrr)rr)rrr4r")rrrrr rs rtest_issue_14941r_s 7EGqA 1a&1aA, 0B a81| ## # 1a&1a&' *B a8v   2t C 5D== 1a&1a&' *B a81v  rcLtdtjtfzdddk(sJt t fz dddk(sJt tfdt t fz ddddk(sJt t fz dtddtjk(sJtd zd d k(sJt t d zdd d k(sJy) Nrrrrrc<ttfz dS)NFr)rHr}rfxsrrz:test_lambdify_Derivative_arg_issue_16468..s! Y2w"e 45rTrr)r) rrr rVrHr}rrrrrbs@@r(test_lambdify_Derivative_arg_issue_16468res' aA B $8QGQV $R +r 11 1 )4 1b'1R4( )"a 0A 55 5 967 74 1b'1R46 7A >! CC C 74 2q'1R46 7"q AQVV KK K 8BB  #r )) ) 44 "a"fd3 4R 8B >> >rcttjtd}tt|dg}|d}tdj tdj z dz }t ||z t |z dksJttdzjt}tt|dg}|d }d |z}t ||z t |z dksJy) NF)evaluaterrrgW@rgHz>g;f?g;f@)rErr rVrr)rurans1ref1rvrans2r s rtest_lambdify_Derivative_zetarks GLLUL +E !UXJ /B a5D L   a 0$ 6D td{ CI % ,, , AJOOA E !UXJ /B f:D D=D tDy>#d) #d ** *rc^td}td}Gddt|tjtt t fdt tg}|ddk(sJ|tjtt t fd y) Nr{r|ceZdZdZy):test_lambdify_Derivative_custom_printer..MyPrinterc|\}|\}y)N42r)rr= seq_ordersrlorders r_print_Derivative_func1zRtest_lambdify_Derivative_custom_printer..MyPrinter._print_Derivative_func1sDCFErN)rrrrsrrr MyPrinterrn s rrtc&ttgSrr)rusrrz9test_lambdify_Derivative_custom_printer..s8QC3Grrrrc*ttgSrr)rtrvsrrz9test_lambdify_Derivative_custom_printer..s8QCPY3Zr)rr{rr rryrV)r{r|rrtrurvs @@@r'test_lambdify_Derivative_custom_printerrw s W E W EL !HMM! E )+GH 1#ui 0B a5B;; !HMM! E )+Z[rctd\}}}td|}|j|d|j||||f}||j|dz||j|zz||z|zz|dzz}d}d}||j|dz||j|zz||z|zz |dzz|dzz }d} tgddd gD]~\} } t ||| | } | |} t | |z d ksJt |||g| | }||}t |dk(sJt |d |z d ksJt |d | z d kr~Jy)Nzt, a, brr)rrrrwg@i)FNTFT)rOrg-q=rr)rrr rrVrr)rrrrr=runum_argsrirvr r_cser{res1func12res12s r3test_lambdify_derivative_and_functions_as_argumentsrsi GAq! aA 66!Q<Aq! +D affQlNQqvvay[ (1Q3q5 01a4 7E&H #D affQlNQqvvay[ (1Q3q5 01a4 7!Q$ >E *D !4udmD , u$@h4$;%'''$D'J!5zQ58d?#e+++58d?#e+++ ,rcttgtjt}d}|||jk(sJttgtj t}|||j k(sJy)Ny@@)rVrrrjrrkimag)f_rerf_ims rtest_imag_realr5s_ QC! %D C 9  QC! %D 9  rcts tdtddd}tjddgddgg}t ||dz}tj ||tjdd gd d ggsJt ||dz}tj ||tjd d gddggsJy)Nrrrrrrrgr?rg%6r&v)rr~rwrrVrA)rA0rrs rtest_MatrixSymbol_issue_15578r>s  "#S!QA q!fq!f% &BAGA >>!B%sBi#t-E!F GG GAqDA >>!B%r2hS -B!C DD Drc ts tdddlm}m}m}m}ddlm}d\}}}}|j||||j} t||||f|j||||} | ||||} t| | z dksJy)Nr-r)rrrZ)hydrogen)rrrrr) rr~ sympy.abcrrrr sympy.physicsrR_nlrrVr) rrrrrnvlvrvZv sympy_valuer scipy_values rtest_issue_15654rIs  "#$$&NBB--BB/557K!Q1x}}Q1a89ABB#K {[( )E 11 1rc  ts tdtddd}tddd}tddd}tddd }td }t |d|z|z}t |d|z|z}t |d|z}t |||fd|z|z|z}tj |tj gd gd gd gtj d|zd|zd |zgd|zd|zd |zgd|zd|zd |zggt sJtj |tj gd gd gd gtj |dzd|zdzd|zd zg|dzd|zdzd|zd zg|dzd|zdzd|zd zggt sJtj |tj gd gd gd gtj gdgdgdgsJtj |tj gd gd gtj gdgdgdgtj gdgdgdgdgtj gdgdgsJy)Nrrrr rCrDrkrrrQ)rrr)rrrr)rrrrr)xihiiX)rr~rwrrV array_equalrobject) rr rrrrrhrs rtest_issue_15827rUs  "#S!QAS!QAS!QAS!QA clAQqS!GAQqS!GAAaCA!QAaCE!G$A   Qu{{Iy)+LMN KK!A#qsAaC1Q3!QqS/AaC1ac?C6KR TT T   Qu{{Iy)+LMN KK!a%1q!A#'*QUAaC!GQqS1W,EUAaC!GQqS1W&,. // /   Qu{{Iy)+LMN KKIy12 44 4   Qu{{Iy+ABEKKQ]_kmyPzD{ KK/?OTUWX]XcXcee Y! "" "rcts tdtd}d}t|||d}|dtjj k(sJy)Nr-rc.tj|dzzSr)r GoldenRatiors rrz"test_issue_16930..us1==1a4'rrrr)rr~rrV constants golden_ratio)rrf_s rtest_issue_16930rpsJ  "# A'A !QqT7 +B a5EOO00 00 0rcts tdtd}t|gt j |dd}|dt jddk(sJy)Nr-rrrrr)rr~rrVrLambertWrlambertw)rrs rtest_issue_17898rysO  "# A 1#u~~a+W =B c7fooc2. .. .rcts tdttt j t}ttt j td}|gd}|gd}t |djdksJt |ddz jdksJt |ddz jdksJt |djdksJt |ddz jdksJt |ddz jdksJy)Nrrr'rrrfr)rr~rVrrr9rr)rrr|res2s rtest_issue_13167_21411rs  "# !U__Q' (B !U__Q* +B j>D j>D tAw<>> e ## # tAw}    !E )) ) tAw{    % '' ' tAw<>> e ## # tAw{    % '' ' tAw{    % '' 'rcXttt}|dtdk(sJy)Nr)rVrr rrs r test_single_ers#AA R5CH  rc\ts tdtd}t|t}t |tf|d}t tdd|ddz dksJt|t}t |tf|d}t tdd|ddz dksJy)Nr-rrrrrr)rr~rrrrVrr)rrrrs rtest_issue_16536rs  "# A Aq B!QW-A z!Q!Aq') *e 33 3 Aq B!QW-A z!Q!Aq') *e 33 3rcTts tdtd\}}ttj t ||}t|||f}t||f|d}|d|di}t|j|||jz dkjsJyNrzx1 x2rrrrr) rr~rr!rZeror"rPrVrrvaluesr)x1x2rrrpoints rtest_issue_22726rs  "# W FB AFFCBK AB8$A"b1g.A BNE u 5<<> 22 3u < A A CC Crcts tdtd\}}tt ||}t ||f|d}|d|di}t |j|||jz dksJyr) rr~rr9r"rVrrr)rrrrrs rtest_issue_22739rsv  "# W FB#b"+A"b1g.A BNE qvve}q%,,.11 2e ;; ;rcts tdtd\}}|tt |dz t |z z}t ||g|d}|d|di}t|j|||jz dksJt ||g|}t|j|||jz dksJy)Nrza trrrr) rr~rrr)r(rVrrr)rrrlrrs rtest_issue_22992rs  "# 5>DAq c#ac(mc!f$ %D!Qw'A AqME tyy!U\\^"44 5 >> > !QA tyy!U\\^"44 5 >> >rcts tdtttdzg}t t|d}|dj tj k(sJy)Nrrrr)rr~rQrrV __class__r)rlrs rtest_issue_19764rsH  "# !QT DD'"A Q4>>U]] ** *rcts tdttt td}tj |dddk(sJy)Nznumba not installedrT)nopythonrg T?)rr~rVrr*jitrs rtest_issue_20070rsA  "#CFG$A 99Q9 &q )+= == =rc2ts tdtt}t t}t t|d}t t|d}t td|dz dksJt t d|dz dksJy)Nr-rr?r)rr~r=rr>rVr)rrF1F2s rtest_fresnel_integrals_scipyrs|  "# !B !B !R )B !R )B x}r#w& '5 00 0 x}r#w& '5 00 0rcts tdttt}t ttf|d}t tdd|ddz dksJy)Nr-rrrffffff@r)rr~r6rrrVrrrs rtest_beta_scipyrsO  "# Q A!QG,A tC~#s + , 55 5rcttt}tttf|d}t tdd|ddz dksJy)Nrrrrr)r6rrrVrrs rtest_beta_mathrsC Q A!QF+A tC~#s + , 55 5rc ts tdtttt t }tttt t f|d}ttdddd|ddddz dksJy) Nr-rrgffffff?g@rrfr) rr~r7rrrrrVrrs rtest_betainc_scipyrsb  "#1aA!Q1q'2A wsCc*QsCc-BB Cu LL Lrc ts tdtttt t }tttt t f|d}ttdddd|ddddz dksJy) Nr-rrrr7rrr) rr~r8rrrrrVrrs rtest_betainc_regularized_scipyrsc  "#Aq!Q'A!Q1q'2A "3S!4qc37JJ Ku TT Trc ts tdtttt t tttg}|D]}d|jvr |tt}ttf}d}n/d|jvr|t}tf}d}n tdt||}||}|jt!t#||j%}tj'|t)|rJtttftt tt t}t+d|dd zd z d ksJy) Nrr)rg?r)rz:Need to handle other than unary & binary functions in testrgJz5gn 5g!z05g"}t3)rr~rZr[r\r]r^r_rbrcr<rrNotImplementedErrorrVrrrrrArr) funcsrmrlr=rzrresult referencelae2s rtest_numpy_special_mathr s  "# E4ueY KE8  ?1:Dq6D!H $**_7D4DH%&bc c T4 HIId3tX#678>>@ ~~feI&67778 QFJtAwQ8 9D sD((72 3e ;; ;rcts tdttft td}t |ddzdksJt tttjjjdddd k\}|rEtttftttd}t |d d d z d ksJyy)Nr-rrg#B ;gWw'&l7gN~h.r)rrg333333?rKg -=gFFg<) rr~rVrrhrrNmapr=versionsplitrri)cm1have_scipy_1_10pluscm2s rtest_scipy_special_mathr%s  "# A4q7 3C s5zE! "V ++ +C)>)>)D)DS)I"1)M NOSZZ1vuQ{G<3sD>N23u<<<rcts tdttft td}|ddk(sJy)Nr-rrrrf)rr~rVrr)berns rtest_scipy_bernoullir3s2  "# QD)A, 8D 7c>>rcts tdttft td}|ddk(sJttt ft tt d}|dddk(sJy)Nr-rrrrg?)rr~rVrrr)hnhnms rtest_scipy_harmonicr;s^  "# 1$ W 5B a5C<< Aq68Aq>7 ;C q!9  rcts tdtttggttztzd}|tj ddg}|dk(sJdt t|vsJy)NCuPy not installedrrrrrr~rVrrrrrLrrs rtest_cupy_array_argrEsd  !"1a&1Q37F+A tzz3*% &F Q;; Sf& && &rcts tdtttggttztzd}|tj ddg}|dk(sJdt t|vsJy)Nrrrrrrrrs rtest_cupy_array_arg_using_numpyrOsf  !"1a&1Q37G,A tzz3*% &F Q;; Sf& && &rcnts tdtttt g}t ttt gt||d}t ttt gt||jd}t ttt gt|j|d}t ttt gt||jd}|ddd|dddcxk(r6|dddcxk(r(|dddcxk(rtjdgk(sJJy)Nrrrrrrr) rr~rvrrrrVrMrrrs rtest_cupy_dotproductr[s  !"1ayA 1a)Z1-v >B 1a)Z133/ @B 1a)ZQ/ @B 1a)Z133/ @B aA; 1a   1a   1a   B4    rcts tdtttggttztzd}|tj j ddg}|dk(sJdtt|vsJy)NJAX not installedrrrr rr~rVrrrrrrLrs rtest_jax_array_argrlsh  !1a&1Q37E*A syySz* +F Q;; CV % %% %rcts tdtttggttztzd}|tj j ddg}|dk(sJdtt|vsJy)Nrrrrrrrrs rtest_jax_array_arg_using_numpyrvsh  !1a&1Q37G,A syySz* +F Q;; CV % %% %rcts tdtttt g}t ttt gt||d}t ttt gt||jd}t ttt gt|j|d}t ttt gt||jd}|ddd|dddcxk(r@|dddcxk(r2|dddcxk(r$tjjdgk(sJJy)Nrrrrrrr) rr~rvrrrrVrMrrrrs rtest_jax_dotproductrs  !1ayA 1a)Z1-u =B 1a)Z133/ ?B 1a)ZQ/ ?B 1a)Z133/ ?B aA; 1a   1a   1a       rcd}d}d}Gdd}|tttfttztzttztz dtzdtzztz ttzdzttzdzzgd|tttfttjtzttjtzttjtd zttjtd z gd |tttftt tztt tztt tz gd |tttft tttzgttd zttzggttzttzttzz t ttzttttzggd d|ttfttzd z dztttzttzdtzd zz ttzd z dzzdtzd zttzzgdg}|D]S}ts |jrdd|||fD]4}|j|}||j}|j|6Uy)Nc d|fS)Nrr)exprss r no_op_csez$test_lambdify_cse..no_op_cses 5yrc>ddlm}||ttS)NrrNclsr)sympy.simplify.cse_mainrOrWr)rrOs r dummy_csez$test_lambdify_cse..dummy_cses/5"2u"=>>rc&ddlm}m}|||S)Nr)cse_release_variablesrO) postprocess)rr rO)rr rOs rminmemz!test_lambdify_cse..minmemsF5&;<.CaseF)requires_numpyc||_||_||_tt |j|j}|Dcgc]!}|j |j #c}|_||_ycc}wr) r=rrzrrrrrr)rr=rrzr subs_dictrHs r__init__z(test_lambdify_cse..Case.__init__sbDIDJ$DMSDMM:;I;@Aay)//1ADH"0D Bs&A9cFt|j|j|S)NrN)rVr=r)rrOs rrVz(test_lambdify_cse..Case.lambdifysDIItzzs; ;rr)abstolreltolc|jr,tfdt|jDsJyt|jD]6\}}t ||z }|dk(r|kr"J|t |z kr6Jy)Nc3K|]<\}}tj|tj|t>yw)rQ)rrZN)rrAasarrayr).0rrrrrs r zAtest_lambdify_cse..Case.assertAllClose..sF<#q!!>>&)U]]1E]5R/5F*D.Case.assertAllCloses""<'0':<<<<!$((+ 31fQi!m,6"V+++"3q6>F222  3rN)rrrrrVrrrrCasersDI 1 <49 3rrr)rrr)r=rrzr)rrr)rrrr)rrrT)r=rrzr)rrFrN) rrrrr9r+rvr*rrrVrzr) rr r rcasescaser{rrs rtest_lambdify_cser"sk?=336 Q UQY UQY qS1Q3Y]cAX1q  "  Q " " " " 1% % eooa# #  "  Q QK QK QK %  QAaC3q6A:q!t"456!CF 1a4!SVQT*+    QEAI>1a!e UQqS1W QQ .1qAE0BD  Q. E^(,, D&)Y? (D $ 'A &F    ' ((rc tttttdzt tdzgfdd}|sJy)Nrrct|S)NrrN)rHrs rrz"test_issue_25288..sc!T6JrrN)rWrrVrr*)okrs @rtest_issue_25288r&s;  &D K!adC1I&,J KA NB I2rct5ttthttzdddy#1swYyxYwr)rrVrrrrrtest_deprecated_setr(s/  ! !QQ   s"6?cts tdtddd}t||j|zd}|tj gddk(sJ|tj gddk(sJt|||jzd}|tj gddk(sJ|tj gddk(sJt|||jz|zd}tj dgd gdgg}tj dgd gd gg}tj |||sJy) Nr!Xrrrrrrrr)rr~rwrVrrr)r*rr2r3s rtest_issue_13881r,s!  #$S!QAACCE7#A U[[ # $ ** * U[[ # $ ** *AaccE7#A U[[ # $ ** * U[[ # $ ** *QqssUAIw'A ;;aS1# 'D ;;bT2$' (D   QtWd ++ +rctdt}tdt}t|dz|dzz|dz||zdzzzz}|j}t ||ftf|d}|dd }|d k(sJy) NrrrrrTrN)rrrgr@)rrrexpandrV)rrrl eval_expranss rtest_23536_lambdify_cse_dummyr1 s aA aA 1q!t adacAXo. .D ;;=D1a&!d5I J $C %<.SimpleSymbolTestCaserz(def _lambdifygenerated(x): return x NrrrrAr9r=rrrSimpleSymbolTestCaserLEs   rrNrFr5rrrTrrr6)r3rrVr6rrB)rNr test_cases test_caselambdified_exprs r0test_lambdify_docstring_size_limit_simple_symbolrSCs 8   A TUKSEJQ%HQ$GR4H J G " C %55   &&)*F*FFFFGrcVGddt}td\}}}||g|||z|zdzjg}|dd|dd|dd |d d |d d f}|D]9}t|||g|d |j }|j |j k(r9Jy)NceZdZdZdZdZy)Htest_lambdify_docstring_size_limit_nested_expr..ExprListTestCasex, y, zzK[x, [y], z, x**3 + 3*x**2*y + 3*x**2*z + 3*x*y**2 + 6*x*y*z + 3*x*z**2 +...zdef _lambdifygenerated(x, y, z): return [x, [y], z, x**3 + 3*x**2*y + 3*x**2*z + 3*x*y**2 + 6*x*y*z + 3*x*z**2 + y**3 + 3*y**2*z + 3*y*z**2 + z**3] NrMrrrExprListTestCaserVbs    J rrXrWrFr5rTrrrrO)r3rr.rVr6rrB)rXrrrrlrPrQrRs r.test_lambdify_docstring_size_limit_nested_exprrZ`s  4  i GAq! sAQQ..0 1D GFtDdCtD J G " 1I  %55   &&)*F*FFFFGrcGddt}td\}}}ttj|g||z|z||z|zdzj gg}|dd|dd|dd |d d |d d f}|D]9}t |||g|d |j }|j|jk(r9Jy)NceZdZdZdZdZy)Atest_lambdify_docstring_size_limit_matrix..MatrixTestCaserWzNMatrix([[0, x], [x + y + z, x**3 + 3*x**2*y + 3*x**2*z + 3*x*y**2 + 6*x*y*z...zdef _lambdifygenerated(x, y, z): return ImmutableDenseMatrix([[0, x], [x + y + z, x**3 + 3*x**2*y + 3*x**2*z + 3*x*y**2 + 6*x*y*z + 3*x*z**2 + y**3 + 3*y**2*z + 3*y*z**2 + z**3]]) NrMrrrMatrixTestCaser]s    0 rr^rWrFr5rYrTrrrrO) r3rrvrrr.rVr6rrB)r^rrrrlrPrQrRs r)test_lambdify_docstring_size_limit_matrixr_s  2  i GAq! AFFA;Qa!eai!^,C,C,E FG HD tuEseDrTBqDArTB J G " 1I  %55   &&)*F*FFFFGrcdtd}d|ff}t||}|d}|dk(sJdy)Nrrr)rr4z2Lambdify did not handle the empty tuple correctly.r)rrlrrs rtest_lambdify_empty_tupleras? A :DDA qTF Z U!UU rcd}tdddj}tdddj}d}dtz}t|||sJt|||sJy) NrrrfrrrgQ@te_޿gF#O3t9)rsrr r)rLsympy_result_integersympy_result_complexmpmath_result_integermpmath_result_complexs r(test_assoc_legendre_numerical_evaluationrgsp C)!S#6<<>)!Q288:..q0 )+@# FF F )+@# FF Frc tg}tr|jd|D]*}ttt dt tfd|}|tddk(sJ|td dk(sJ|ddk(sJttt dttzt tfd|}|tddk(sJ|td dk(sJ|ddk(sJttt dttfd|}|tddk(sJ|ddk(r+Jy) Nrg@)rTrgE@rgr) rrrrVrr$rarrr`)rrrrrs rtest_Piecewiseris3fG w Q 3a/;? E%,4'''%,4'''v}} aCQKq#:KH# N5<- D(((5<- D(((#w#~~ Q 3a/;? Eu#%%%v}}rcts tdtdd}t||}tj |tj gdtj gdk(sJy)Nr!r)rr)rr~rRrVrr)rrs rtest_array_symbolrksT  #$CA!aA 99Qu{{7+, G0DD EE Er(` itertoolsrrrrrrr@sympy.testing.pytestrrsympy.concrete.summationsrsympy.core.functionrrr sympy.core.numbersr r r r rrrsympy.core.relationalrsympy.core.singletonrsympy.core.symbolrr(sympy.functions.combinatorial.factorialsrr%sympy.functions.combinatorial.numbersrr$sympy.functions.elementary.complexesrr&sympy.functions.elementary.exponentialrr%sympy.functions.elementary.hyperbolicrrr#sympy.functions.elementary.integersr (sympy.functions.elementary.miscellaneousr!r"r#$sympy.functions.elementary.piecewiser$(sympy.functions.elementary.trigonometricr%r&r'r(r)r*r+r,sympy.functionsr-r.r/sympy.functions.special.besselr0r1r2r3r4r5&sympy.functions.special.beta_functionsr6r7r8'sympy.functions.special.delta_functionsr9'sympy.functions.special.error_functionsr:r;r<r=r>r?r@'sympy.functions.special.gamma_functionsrArBrCrD&sympy.functions.special.zeta_functionsrEsympy.integrals.integralsrFsympy.logic.boolalgrGrHrIrJrKrL%sympy.matrices.expressions.dotproductrMrrOsympy.tensor.arrayrPrQsympy.tensor.array.expressionsrRsympy.tensor.indexedrSrTrrVsympy.utilities.iterablesrW sympy.vectorrXsympy.core.exprrYsympy.codegen.cfunctionsrZr[r\r]r^r_r`rasympy.codegen.numpy_nodesrbrcrdrerfrgsympy.codegen.scipy_nodesrhrirjrkrl#sympy.functions.special.polynomialsrmrnrorprqrrrsrtrusympy.matricesrvrwrxsympy.printing.codeprinterryr5rzsympy.printing.numpyr{r|r}r~sympy.utilities.decoratorrsympy.utilities.exceptionsrsympy.externalrrrrMutableDenseMatrixrrrrrrrosenvironrrrrrrrrrrrrrrrrrrrrrr$r*r,r>rFrIrLrOrQrSrVrXrZr]r`rbrdrirrrrrrrrrrrrrrrrrrrrrrrr rrr!r+r5r=rErNr[r`rerhrjrlrorqruryr|r~rrrrrrrrrrrrrrrrrrrrrrrrrr r&r)r+rHr[r]r_rerkrwrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"r&r(r,r1r3rSrZr_rargrirkrrrrs  ?)88III$".QE:;CC5EE:AAA**WWWW?___YY7.@@<'561-6#+YYYYY2<<+++>=E3-D%96(J ggj8*-EF  " < ( VEg  ),BJJ%& Y  1a    8$ *0HH$$%%4''NN$&&H+..///... ///000>*B 6" (( 5 $ "" # :G:J  L42H&D& EQ$ N < / .@ @: ,-./<4 ,  #"*6((GDB* 7* +@* 5 ( *? ; &GTD1 --++ +6Yr9x*$ ? +\(,0!E 2"61/ ( 4 D<?$+> 166MU<2 =' '"&&"[(z  ,*( ( VG:GD GFV G0Fr