K i;CddlZddlmZddlmZddlmZmZmZmZm Z m Z m Z m Z m Z mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m)Z)m+Z+m,Z,m-Z-m.Z.m/Z/ddl0m1Z1e e fZ2ddl3m4Z4e5jlZ7dZ8Gd d e5Z9Gd d e5Z:d Z;e;ee%\e9_<e9_=e:_<e:_=e;ee&\e9_>e9_?e:_>e:_?e;ee'\e9_@e9_Ae:_@e:_Ae;ee(\e9_Be9_Ce:_Be:_Ce;e!e)\e9_De9_Ee:_De:_Ee9je9_Fe9je9_Ge:je:_Fe:je:_GGdde9ZHGdde4ZI ddlJZJeJjje:eJjje9y#eN$rYywxYw)N)libmp) basestring), int_typesMPZ_ONE prec_to_dps dps_to_precrepr_dps round_floor round_ceilingfzerofinffninffnanmpf_lempf_negfrom_int from_floatfrom_str from_rationalmpi_mid mpi_deltampi_strmpi_absmpi_posmpi_negmpi_addmpi_submpi_mulmpi_div mpi_pow_intmpi_pow mpi_from_strmpci_posmpci_negmpci_addmpci_submpci_mulmpci_divmpci_powmpci_absr*mpci_expmpci_log ComplexResultmpf_hashmpc_hash)_matrix)StandardBaseContextct|dr |jSt|tr t |||St|t r t |||St|tr t|||St)N_mpf_) hasattrr4 isinstancerrfloatrrrNotImplementedError)xprecroundings S/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mpmath/ctx_iv.py convert_mpf_r=sbq'177N!YD((C!C!UJq$$AA!Z !T8)D"D ceZdZdZd dZdZdZdZdZdZ e dZ e d Z d Z e d Ze d Ze d Ze dZe dZdZeZeZeZeZdZdZdZdZdZdZdZdZdZdZdZdZdZd!dZ y)"ivmpfzH Interval arithmetic class. Precision is controlled by iv.prec. c8|jj|SN)ctxconvert)clsr9s r<__new__z ivmpf.__new__+swwq!!r>cR|j\}}||k(r|||StrB)_mpi_ ValueError)selfrE f_convertabs r<castz ivmpf.cast.s+zz1 6y|$ $r>cJ|jttjSrB)rNintrto_intrJs r<__int__z ivmpf.__int__4syyell++r>cJ|jttjSrB)rNr7rto_floatrRs r< __float__zivmpf.__float__7syy//r>cJ|jttjSrB)rNcomplexrrUrRs r< __complex__zivmpf.__complex__:syy%..11r>cj|j\}}||k(r t|St|jSrB)rHr/hashrJrLrMs r<__hash__zivmpf.__hash__=s/zz1 6A;  # #r>c|SrBrRs r<realz ivmpf.realDsKr>c.|jjSrB)rCzerorRs r<imagz ivmpf.imagGs88==(r>c|SrBr_rRs r< conjugatezivmpf.conjugateJsr>cZ|j\}}|jj||fSrBrHrCmake_mpfr\s r<rLzivmpf.aL(zz1xx  !Q((r>cZ|j\}}|jj||fSrBrgr\s r<rMzivmpf.bQrir>c|j}t|j|j}|j ||fSrB)rCrrHr:rhrJrCvs r<midz ivmpf.midVs2hh DJJ )||QF##r>c|j}t|j|j}|j ||fSrB)rCrrHr:rhrls r<deltaz ivmpf.delta\s2hh djj#(( +||QqE""r>c&|jtfSrB)rHmpi_zerorRs r<_mpci_z ivmpf._mpci_bszz8##r>ctd)Nz-no ordering relation is defined for intervals TypeError)argss r<_comparezivmpf._comparefsGHHr>c|jj|}|j|jkxr|j|jkSrB)rCmpfrLrM)rJts r< __contains__zivmpf.__contains__ns6 HHLLO!## 2ACC466M2r>cVt|j|jjSrB)rrHrCr:rRs r<__str__z ivmpf.__str__rstzz488==11r>c |jjr t|S|j\}}t |jj }t j||}t j||}d|d|dS)Nzmpi(, ))rCprettystrrHr r:rto_str)rJrLrMns r<__repr__zivmpf.__repr__usa 88??t9 zz1 TXX]] # LLA  LLA  !1%%r>ct|ds |jj|}||j|jS#tcYSxYw)NrH)r5rCrDNotImplementedrH)sr{cmpfuns r<rxzivmpf._compare~sGq'" &EEMM!$aggqww'' &%%s AAcB|j|tjSrB)rxrmpi_eqrr{s r<__eq__z ivmpf.__eq__QZZ5<<88r>cB|j|tjSrB)rxrmpi_ners r<__ne__z ivmpf.__ne__rr>cB|j|tjSrB)rxrmpi_ltrs r<__lt__z ivmpf.__lt__rr>cB|j|tjSrB)rxrmpi_lers r<__le__z ivmpf.__le__rr>cB|j|tjSrB)rxrmpi_gtrs r<__gt__z ivmpf.__gt__rr>cB|j|tjSrB)rxrmpi_gers r<__ge__z ivmpf.__ge__rr>c|jjt|j|jjSrB)rCrhrrHr:rRs r<__abs__z ivmpf.__abs__*xx  TXX]]!CDDr>c|jjt|j|jjSrB)rCrhrrHr:rRs r<__pos__z ivmpf.__pos__rr>c|jjt|j|jjSrB)rCrhrrHr:rRs r<__neg__z ivmpf.__neg__rr>Nc>|jj||||SrBrCalmosteqrr{rel_epsabs_epss r<aezivmpf.aeuu~~aGW55r>)rNN)!__name__ __module__ __qualname____doc__rFrNrSrVrYr]propertyr`rcrerLrMrnrprsrxrrrr|r~rrrrrrrrr_r>r<r@r@&s" ,02$ (($ ))))$$ ## $$IF F F F32&(988888EEE6r>r@ceZdZddZdZdZdZedZedZ edZ edZ ed Z ed Z d Zd Zd ZddZdZdZdZexZxZZdZdZdZddZy)ivmpcc|jj|}|jj|}t|}|j|jf|_|SrB)rCrDnewrHrs)rEreimys r<rFz ivmpc.__new__sH WW__R  WW__R  H88RXX%r>c|j\\}}\}}||k(r||k(r t||fSt|jSrB)rsr0r[rJrLrMcds r<r]zivmpc.__hash__sB A1 6a1fQF# # $ $r>c|jjr t|Sdt|jdt|j dS)Nziv.mpc(rr)rCrrreprr`rcrs r<rzivmpc.__repr__s6 55<<q6M #'<aff>>r>c`dt|jdt|jdS)N( + *j))rr`rcrs r<r~z ivmpc.__str__s #AFF S[99r>cf|j\\}}\}}|jj||fSrBrsrCrhrs r<rLzivmpc.a0 A1xx  !Q((r>cf|j\\}}\}}|jj||fSrBrrs r<rMzivmpc.brr>cf|j\\}}\}}|jj||fSrBrrs r<rzivmpc.crr>cf|j\\}}\}}|jj||fSrBrrs r<rzivmpc.drr>cR|jj|jdSNrrCrhrsrs r<r`z ivmpc.realuu~~ahhqk**r>cR|jj|jdSNrrrs r<rcz ivmpc.imagrr>cl|j\}}|jj|t|fSrB)rsrCmake_mpcr)rrLrMs r<rezivmpc.conjugates*xx1uu~~q'!*o..r>c<|jj|}|j|jcxkxr|jkncxs|j|jcxkxr|jkncxs^|j|jcxkxr|jkncxs.|j|jcxkxr|jknc}|j|jcxkxr|j kncxs|j|j cxkxr|j kncxs^|j|jcxkxr|j kncxs.|j|j cxkxr|j knc}|xr|SrB)rCrDrLrMrr)rr{ real_overlap imag_overlaps r<overlapz ivmpc.overlaps EEMM! qss)acc)oqssacc/@QSS/@oaccQSSFWTUTWTWFWo]^]`]`dedgdg]nklknkn]n qss)acc)oqssacc/@QSS/@oaccQSSFWTUTWTWFWo]^]`]`dedgdg]nklknkn]n , ,r>c|jj|}|j|jvxr|j|jvSrB)rCrDr`rcrs r<r|zivmpc.__contains__s9 EEMM! vv4AFFaff$44r>cBt||jjs |jj|}t |dr|j tf}nt |dr |j}|r|jk7S|jk(S#tcYSxYwNrHrs) r6rC_typesrDrr5rHrrrs)rr{netvals r<rxzivmpc._compares!QUU\\* &EEMM!$ 1g 77H$D Q !88D 88t# #xx4 &%%s BBc$|j|SrBrxrs r<rz ivmpc.__eq__sQZZ]*r>c&|j|dS)NTrrs r<rz ivmpc.__ne__sQZZ400r>ctd)Nz#complex intervals cannot be orderedrurs r<rz ivmpc.__lt__s I&KLLr>c|jjt|j|jjSrB)rCrr%rsr:rs r<rz ivmpc.__neg__'155>>(188QUUZZ*HIIr>c|jjt|j|jjSrB)rCrr$rsr:rs r<rz ivmpc.__pos__rr>c|jjt|j|jjSrB)rCrhr+rsr:rs r<rz ivmpc.__abs__rr>Nc>|jj||||SrBrrs r<rzivmpc.aerr>)rr)Fr)rrrrFr]rr~rrLrMrrr`rcrerr|rxrrrrrrrrrrr_r>r<rrs%? :))))))))++++/- 5  +0L%%F%VfIII6r>rcXfdfdfd}fd}fd}fd}||||fS)NcJ|j|||jSrB)rr:)rCsvalr f_complexs r< g_complexz_binary_op..g_complexs||IdD#((;<c |j|||jS#t$r|tf}|tf}|||cYSwxYwrB)rhr:r.rr)rCrrf_realrs r<g_realz_binary_op..g_realsV .<<tT388 <= = .(#D(#DS$- - .s"&#A  A cVt|trtS|j}t||js|j |}t |dr||j|jSt |dr$||jtf|jStSr) r6r1rrCrrDr5rHrrrsrr{rCrrs r<lop_realz_binary_op..lop_reals a !.#8ee!SZZ(ckk!n! 1g vc177AGG'D D 1h  #7JAHH(U!Ur>c*|j}t||js|j|}t |dr||j |j St |dr$||j |j tfStSr) rCr6rrDr5rHrsrrrrs r<rop_realz_binary_op..rop_realsqee!SZZ(ckk!n! 1g vc177AGG'D D 1h  #qxx!''8AT(U!Ur>c2t|trtS|j}t||jjs |jj |}||j|jS#t tf$r tcYSwxYwrB) r6r1rrCrrDrIrvrsrr{rCrs r< lop_complexz_binary_op..lop_complex sy a !.#8ee!QUU\\* &EEMM!$ahh11 * &%% &sA>>BBc|j}t||jjs|jj|}||j|jSrB)rCr6rrDrsrs r< rop_complexz_binary_op..rop_complexsGee!QUU\\* a Aahh11r>r_)rrrrrrrrs`` @@r< _binary_oprs2=. 22 X{K 77r>c(eZdZdZdZeeZy)ivmpf_constantc*t|}||_|SrB)r_f)rEfrJs r<rFzivmpf_constant.__new__%s3x r>c|jjd}|j|t}|j|t}||fSr)rC_precrr r )rJr:rLrMs r< _get_mpi_zivmpf_constant._get_mpi_)s=xx~~a  GGD+ & GGD- (!t r>N)rrrrFrrrHr_r>r<rr$s Y Er>rceZdZdZddZdZddZedZdZ dZ e d e Z e d e Z d Zd Zd ZdZddZdZdZdZdZdZdZdZdZdZdZdZddZy)MPIntervalContextcTtdtfi|_tdtfi|_|j|jf|_tdt fi|_dg|_|jd|jt|jgx|j_ x|j_ |j_ |x|j_ x|j_ |j_ d|_ tj||j!y)Nr@rr5F)typer@rzrmpcrr _constantr _set_precr_ctxdatarCrr2__init___init_builtinsrCs r<r zMPIntervalContext.__init__2sw"-w"-ggsww' -/@"E D  bHKQTVYV_V_G`` `!1CGG4D8;; ;CGGK#''+ $$S) r>NcN||j|S|j||fSrB)rz)rCrLrMs r<_mpizMPIntervalContext._mpi?s' 9771: ww!u~r>c|jd|_|jd|_|jd|_|j |_|jd|_|j dd|_|jtjtj|_ |jtj|_|jtjtj |_|jtj$tj&|_|jtj*tj,|_|jtj0|_|jtj4tj6|_|jtj:tj<|_|jtj@tjB|_"|jtjFtjH|_%|jJ|_&|jOd|_(|jOtjR|_*|jOtjV|_,|jOtjZ|_.|jOtj^|_0|jOtjb|_2|jOtjf|_4|jOtjj|_6|jOtjn|_8|jOtjr|_:|jOtjv|_<y)Nrrinfnancdtd|z dfSNrr)r)r:rnds r<z2MPIntervalContext._init_builtins..Ws1gqvq2Ir>)=rzonerbrninfrrj_wrap_mpi_functionrmpi_expr,expmpi_sqrtsqrtmpi_logr-lnmpi_cosmpci_coscosmpi_sinmpci_sinsinmpi_tantan mpi_gamma mpci_gammagamma mpi_loggamma mpci_loggammaloggamma mpi_rgamma mpci_rgammargamma mpi_factorialmpci_factorial factorialfacrepsmpf_pipimpf_eempf_ln2ln2mpf_ln10ln10mpf_phiphi mpf_eulereuler mpf_catalancatalan mpf_glaisherglaisher mpf_khinchinkhinchin mpf_twinprime twinprimer s r<r z MPIntervalContext._init_builtinsDsb''!*771:''%.GG8''%.! ((G))%..9'' u~~F((G((G((7**5??EO>OP ..u/B/BEDXDXY ---- IJu||, ekk*-- .==0-- .MM%//2 mmE$5$56 }}U%7%78 }}U%7%78  e&9&9: r>cfd}|S)NcL|r |jdjd}njd}j|}t|dr"j |j |St|dr"j |j|St)Nr:rrHrs) getrrDr5rhrHrrsrI)r9kwargsr:rCrrs r<gz/MPIntervalContext._wrap_mpi_function..gdszz&#))A,7yy| AAq'"||F177D$9::q(#||Iahh$=>> r>r_)rCrrrOs``` r<rz$MPIntervalContext._wrap_mpi_functioncs r>c4|rfd}n}t|||y)Nc|j}|Dcgc] }|| }}|j} |xjdz c_|g|i|}||_|Scc}w#||_wxYw)N )rDr:)rCrwrNrDrLr:retvalrs r< f_wrappedz2MPIntervalContext._wrap_specfun..f_wrappedtsp++,01q 11xx$HHNHs4T4V4F#CHw2 $CHsA!A A))setattr)rEnamerwraprTs ` r< _wrap_specfunzMPIntervalContext._wrap_specfunqs  IT9%r>chtdt||jd<t||_y)Nrr)maxrPrr_dpsrCrs r<r zMPIntervalContext._set_precs$1c!f~ ! q>r>cht||jd<tdt||_yr)r rrZrPr[r\s r<_set_dpszMPIntervalContext._set_dpss$"1~ ! q#a&>r>c |jdSr)rr s r<rzMPIntervalContext.s ! r>c|jSrB)r[r s r<rzMPIntervalContext.s sxxr>c>t|j}||_|SrB)rrzrHrCrmrLs r<rhzMPIntervalContext.make_mpfs Lr>c>t|j}||_|SrB)rrrsrbs r<rzMPIntervalContext.make_mpcs Lr>c|\}}tj|||jt}tj|||jt}|j ||fSrB)rrr:r r rh)rCpqpqrLrMs r<_mpqzMPIntervalContext._mpqsR1   1chh <   1chh >||QF##r>ct||j|jfr|St||jr|St|ts t |drH|j |j}|j |j}|j||St|tr't||j}|j|St |dr|j\}}nt |\}}t |dr|jd}nt!||jt"}t |dr|jd}nt!||jt$}|t&k(s |t&k(r t(}t*}t-||sJd|j||fS#ttf$r|x}}YwxYw)N_mpc_rHrrz"endpoints must be properly ordered)r6rzrrrXr5rDr`rcrr#r:rhrHrvrIr=r r rrrr)rCr9rrrmrLrMs r<rDzMPIntervalContext.convertsx a#''377+ ,H a '2I a !WQ%8QVV$BQVV$B772b> ! a $Q)A<<? " 1g 77DAq 1q'"GGAJ CHHk:q'"GGAJ CHHm< 9T AAa|AAA|||QF##z*  A s6F--GGc :|j|}t|dr!tj|j|fi|St|drQtj|j d|fi|}tj|j d|fi|}d|d|dSy)NrHrsrrrrr)rDr5r mpi_to_strrHrs)rCr9rrNrrs r<nstrzMPIntervalContext.nstrs KKN 1g ##AGGQ9&9 9 1h !!!((1+q;F;B!!!((1+q;F;B$&+ + r>c|j|}t||jrAt|j |j |j |j dzStj|j\}}|\}}}}|r||zS|tk(r |jS|tk(r |jS|jSr)rDr6rrZmagr`rcrrrHr rrrrrCr9rLrMsignmanrbcs r<rozMPIntervalContext.mags KKN a !swwqvv81< <}}QWW%1c3 r6M :88O 977Nwwr>cy)NFr_rCr9s r<isnanzMPIntervalContext.isnansr>c ||jk(SrB)rrus r<isinfzMPIntervalContext.isinfsCGG|r>c||j|}|j\}}||k(r|\}}}}|r|dk\S|tk(Syr)rDrHr rps r<isintzMPIntervalContext.isintsJ KKNww1 6!" D#sBax: r>c|j|j\}}tj||}tj||}|j ||fSrB)rDrHr mpf_shiftrh)rCr9rrLrMs r<ldexpzMPIntervalContext.ldexpsL{{1~##1 OOAq ! OOAq !||QqE""r>cJt|j|jSrB)absrDrLrus r<absminzMPIntervalContext.absmin3;;q>"$$$r>cJt|j|jSrB)rrDrMrus r<absmaxzMPIntervalContext.absmaxrr>c|j|j}|j|j}|jtj|||j SrB)rDrHrhr mpi_atan2r:)rCrr9s r<atan2zMPIntervalContext.atan2sH KKN  KKN ||EOOAa9::r>cHt|tjr|dfSt|tr*|\}}|j ||j |z dfS|j |}t||jr|dfSt||j r|dfSt)NZRC)r6rrtuplerzrDrrI)rCr9rfrgs r<_convert_paramz MPIntervalContext._convert_params a )c6M a DAqGGAJ+S1 1 KKN a !c6M a !c6Mr>cRt||jxst|tSrB)r6rzrrCzs r< _is_real_typezMPIntervalContext._is_real_types!SWW%AAy)AAr>c.t||jSrB)r6rrs r<_is_complex_typez"MPIntervalContext._is_complex_types!SWW%%r>c t|}t|}t|||z} |jx} } d} |D] } | || | zz} | D] } | || | zz} | dz } | | z} | |z} | | z } | dk(r| S| |kDr |jQr)listranger NoConvergence)rCrfrgtypescoeffsrmaxtermsrNnumdenrr{kis r<hypsumzMPIntervalContext.hypsum sfAhAaclA  ,!q ! ,! , ,!q ! ,! , FAAFAAFAAFAAv8|'''r>rB))ip)rrrr rr r classmethodrXr r^rr:dpsrhrrhrDrmrorvrxrzr}rrrrrrrr_r>r<rr0s  ;> && "" ,i 8D ' 2C  $ $B, # %%; B&(r>r)Ooperatorr libmp.backendrrrrr r r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0matrices.matricesr1rrctx_baser2objectrFrr=r@rr__add____radd____sub____rsub____mul____rmul____div____rdiv____pow____rpow__ __truediv__ __rtruediv__rrnumbersComplexregisterReal ImportErrorr_r>r<rs%' 5>) nno6Fo6b[6F[6z%8N@J'S[?\< u~u}en?I'S[?\< u~u}en?I'S[?\< u~u}en?I'S[?\< u~u}en?I'S[?\< u~u}enMM5#5MM5#5  U  i(+i(d  OOU# LL%   s*:G%%G-,G-