-0<SSKrSSKrSSKrSSKrSSKr\"\SS5S:wa\R"S5e\R"S\R\R-5Rr S Sjr Sr"S S \R5r\S :Xa\R$"5 gg) Nfloat_repr_styleshortzHcorrectly-rounded string->float conversions not available on this systemam # A numeric string consists of: (?P[-+])? # an optional sign, followed by (?=\d|\.\d) # a number with at least one digit (?P\d*) # having a (possibly empty) integer part (?:\.(?P\d*))? # followed by an optional fractional part (?:E(?P[-+]?\d+))? # and an optional exponent \Z c j[U5nUc [S5eURS5=(d Sn[URS5U-5n[URS5=(d S5[ U5- nURS5S:HnUS [ US 5--S [ S U*5-pU (d U(aS $S $U R 5U R 5- n XS :aX- OX*-U :- n [ X5U- n U [ U *S 5-U [ U S 5-p[X5upS U-U :dS U-U :Xa0U S-(a&U S- n U R 5US-:Xa U S -n U S- n U R 5U::aXU- :deU R 5U:Xd XU- :XdeXR 5-U:a U(aS$S$U (d U(aS $S $SUS - S--nSUS - S-- nU U-U U- pSRU(aSOSU SU--U SU--UU SU--5$)zConvert a finite decimal string to a hex string representing an IEEE 754 binary64 float. Return 'inf' or '-inf' on overflow. This function makes no use of floating-point arithmetic at any stage.zinvalid numeric stringfracrintexp0sign- rz -0x0.0p+0z0x0.0p+0-infinfz{}0x{:x}.{:0{}x}p{:+d}) strtod_parser ValueErrorgrouprlenmax bit_lengthdivmodformat)smant_digmin_expmax_expmfractionintpartr negativeabdeqrhexdigsshifts 7/opt/alt/python313/lib64/python3.13/test/test_strtod.pystrtodr.sD aAy122wwv$"H!''%.8+,G aggen# $s8} 4Cwwv#%H 2s3{? "BAt $4q &{6J6 'AF!&RA --A A("A QB ?AQNq !XaZ ' !GA FA <<>X %!/A*AA A <<>X %.@)@@ @ <<>G#!v,u, &{6J68A:/!G !Q E :q5yq # * *R R[ BK AgI  r c\rSrSrSrSrSrSrSrSr Sr \ RR\ RRS -S S S 9S 5rSrSrSrg) StrtodTestsVc [U5nUR5n[ U5nUR XCSR XU55 g![a USS:XaSOSnNG[a SnNTf=f)zCompare the result of Python's builtin correctly rounded string->float conversion (using float) to a pure Python correctly rounded string->float implementation. Fail if the two methods give different results.rr rrz memory errorzEIncorrectly rounded str->float conversion for {}: expected {}, got {}N)floathex OverflowError MemoryErrorr. assertEqualr)selfrfsgotexpecteds r- check_strtodStrtodTests.check_strtodWsw  qB &&(C!9 //5va3/G I 3aDCK&UC ! C !s A A2$ A21A2cSGHInSSU--*nSSU--*nUS-S:XaUS- n[[5GHn[R"X2S5UpeUS-S:XaUS-US-peUS-S:XaMUS-S ;deXVpUS :a[S R Xx5n UR U 5 S R USS --US - 5n UR U 5 US-nUS :aM[XVpUS :dMS R Xx5n UR U 5 S R USS --US - 5n UR U 5 US-nUS-nUS :aM`GM GML g) N)rr lr@lrrrr )rr l Fx:^V{}e{}(range TEST_SIZErandom randrangerr=) r9kupperlowerinr(digitsexponentrs r-test_short_halfway_cases$StrtodTests.test_short_halfway_casesjsu!AadlOEadlOEqyA~ 9%''a8!1!eqj61q5q!eqj2v---$%vov8A%%a(vB2 FA%%a(aKF vo$%vov8A%%a(vB2 FA%%a(aKFMHvoo3&"r/c4[S[-5Hn[R"S5n[ US5up4U(a US-US- p4US-nSU-S-US- p4US:aXC-nSnO USU*--nUnS R XV5nUR U5 M g) Ndllri2rrr@rE)rHrIrJrKrrr=)r9rObitsr(r!rQrRrs r-test_halfway_casesStrtodTests.test_halfway_casesssY'A##J/D$&DA5y!a%1 IAQ37AEqAvQUv0A   a -(r/c/SQnUHkup#n[S5HVnU[R"SU-SU-5-nUnSRXg5nUR U5 US-nUS-nUS-nMX Mm g)N))l 9ViiV)l%o$CKi!i)ljT&M)rr[r\rrEr r)rHrJrKrr=) r9 boundariesrPr(ujrQrRrs r-test_boundariesStrtodTests.test_boundariess "GA!4[V--bdAaC88NN64!!!$RRQ!"r/c[SS5HanSU*-SS--n[[5H?nU[R"SS5-nSR XA5nUR U5 MA Mc g) Npir ri3ir]rErG)r9rRbaserarQrs r-test_underflow_boundary#StrtodTests.test_underflow_boundaryskdD)Hy=AtG+D9% 0 0 ==NN64!!!$&*r/cSHpnSU-n[S[-5HRn[R"U5n[R"SS5nSR XE5nUR U5 MT Mr g)N) r@r rArrBrF)2r reirErG)r9ndigsdig10rOrQrRrs r- test_bigcompStrtodTests.test_bigcompsgBEIE2 >*))%0!++D#6NN64!!!$ +Cr/c l^SmSn[S5GHn[[5GHun[R"U5n[R"S5nUSR U4Sj[U555- n[R"SS/5(aCUS - n[R"S5nUSR U4S j[U555- nOS n[R"SS/5(arU[R"S S /5- nU[R"U5- n[R"SS5nUSR U4Sj[U555- nXV-(aUR U5 GMe[U5 S5e GM g![a GMf=f)N000000123456789)+r rr]r@rc3P># UHn[R"T5v M g7fNrJchoice.0_rQs r- +StrtodTests.test_parsing..sO# UHn[R"T5v M g7frxryr{s r-r~r$!?*=Q"(v!6!6*=rrr(Errc3P># UHn[R"T5v M g7frxryr{s r-r~rrrzexpected ValueError) rHrIrJrzrKjoinr=r4r) r9signsrOrar intpart_len fracpart_len exponent_lenrQs @r- test_parsingStrtodTests.test_parsings{"tA9%MM%($..q1 RWWOE+.positive_exp s%%c1Q3i3 3r/c,SRSU-U5$)z*Long string with value 1.0 and exponent -nz1{}e-{}r rrs r- negative_exp6StrtodTests.test_large_exponents..negative_exps##CE1- -r/i'g?i Ni0u)r8r4)r9rrs r-test_large_exponents StrtodTests.test_large_exponentss 4 . |E23S9 |E23S9 |E23S9 |E23S9 |E23S9 |E23S9r/c@/SQnUHnURU5 M g)N),z02183167012312112312312.23538020374420446192e-370z712579816049008305546974391768996369464963024663104e-357z717489628565202117263145367596028389348922981857013e-357z718487398785991994634182916638542680759613590482273e-357z732002864200581033134358724675198044527469366773928e-358z794393431193180696942841837085033647913224148539854e-358z773608278998966969345824653500136787876436005957953e-358z764774478836417299491718435234611299336288082136054e-358z713704940134126574534878641876947980878824688451169e-357z746697445774047060960624497964425416610480524760471e-358z728639097178261763178489759107321392745108491825303e-311z1.00000000000000001e44z-1.0000000000000000100000000000000000000001e44z399999999999999994487665465554760717039532578546e-47o9654371763336549317990355136719971183455700459144696213413350821416312194420007991306908470147322020121018368e0a104308485241983990666713401708072175773165034278685682646111762292409330928739751702404658197872319129036519947435319418387839758990478549477777586673075945844895981012024387992135617064532141489278815239849108105951619997829153633535314849999674266169258928940692239684771590065027025835804863585454872499320500023126142553932654370362024104462255244034053203998964360882487378334860197725139151265590832887433736189468858614521708567646743455601905935595381852723723645799866672558576993978025033590728687206296379801363024094048327273913079612469982585674824156000783167963081616214710691759864332339239688734656548790656486646106983450809073750535624894296242072010195710276073042036425579852459556183541199012652571123898996574563824424330960027873516082763671875e-1075z247032822920623295e-341z799037485700245683102805043437346965248029601286431e-373z799617639833743863161109961162881027406769510558457e-373z798852915025769345295749278351563179840130565591462e-372z799059944827693569659153042769690930905148015876788e-373z798914979205069368270421829889078356254059760327101e-372z,1000000000000000000000000000000000000000e-16z-10000000000000000000000000000000000000000e-17z=991633793189150720000000000000000000000000000000000000000e-33z;4106250198039490000000000000000000000000000000000000000e-38z*10.900000000000000012345678912345678912345a11651287494059419563861790709256988151903479322938522856916519154189084656466977171489691608488398792047332126810029685763620092606534076968286334920536334924763766067178320990794927368304039797998410780646182269333271282839761794603623958163297658510063352026077076106072540390412314438457161207373275477458821194440646557259102208197382844892733860255628785183174541939743301249188486945446244053689504749943655197464973191717009938776287102040358299419343976193341216682148401588363162253931420379903449798213003874174172790742957567330246138038659650118748200625752770984217933648838167281879845022933912352785884444833681591202045229462491699354638895656152216187535257259042082360747878839946016222830869374205287663441403533948204085390898399055004119873046875e-1075a^5254406533529552661096610603582028195612589849649138922565278497589560452182570597137658742514361936194432482059988700016338656575174473559922258529459120166686600002102838072098506622244175047522649953606315120077538558010753730576321577387528008403025962370502479105305382500086822727836607781816280407336531214924364088126680234780012085291903592543223403975751852488447885154107229587846409265285440430901153525136408849880173424692750069991045196209464308187671479664954854065777039726878381767789934729895619590000470366389383963331466851379030183764964083197053338684769252973171365139701890736933147103189912528110505014483268752328506004517760913030437151571912928276140468769502257147431182910347804663250851413437345649151934269945872064326973371182115272789687312946393533547747886024677951678751174816604738791256853675690543663283782215866825e-118032602129298404963083833853479113577253105939995688e25260212929840496308383385347911357725310593999568896e0z826021292984049630838338534791135772531059399956889601e-25260212929840496308383385347911357725310593999568895e05260212929840496308383385347911357725310593999568897e05260212929840496308383385347911357725310593999568996e05260212929840496308383385347911357725310593999568866e0z9007199254740992.005179769313486231580793728971405303415079934132710037826936173778980444968292764750946649017977587207096330286416692887910946555547851940402630657488671505820681908902000708383676273854845817711531764475730270069855571366959622842914819860834936475292719074168444365510704342711559699508093042880177904174497792a9179769313486231580793728971405303415079934132710037826936173778980444968292764750946649017977587207096330286416692887910946555547851940402630657488671505820681908902000708383676273854845817711531764475730270069855571366959622842914819860834936475292719074168444365510704342711559699508093042880177904174497791.999a9179769313486231580793728971405303415079934132710037826936173778980444968292764750946649017977587207096330286416692887910946555547851940402630657488671505820681908902000708383676273854845817711531764475730270069855571366959622842914819860834936475292719074168444365510704342711559699508093042880177904174497792.001z:999999999999999944488848768742172978818416595458984375e-54zA9999999999999999444888487687421729788184165954589843749999999e-54zA9999999999999999444888487687421729788184165954589843750000001e-54z0.000000000000000000000000000000000000000010000000000000000057612911342378542997169042119121403423543508714776317814976295686899169228986994124665807319451982237978882039897143840789794921875)r=)r9 test_stringsrs r-test_particularStrtodTests.test_particulars%O `A   a r/N)__name__ __module__ __qualname____firstlineno__r=rSrXrbrgrrrtestsupport bigmemtest_2Grrr__static_attributes__rr/r-r1r1VsmI&)"V!4( %%"rs  3"B'72   ; <<  ZZ"--!"'7r  X!(##X!t  z MMOr/