python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_strtod.cpython-311.pyc

e9PddlZddlZddlZddlZddlZeedddkrejdejdej	ej
zjZdd
Z
dZGdd
ejZedkrejdSdS)Nfloat_repr_styleshortzHcorrectly-rounded string->float conversions not available on this systemam    # A numeric string consists of:
    (?P<sign>[-+])?          # an optional sign, followed by
    (?=\d|\.\d)              # a number with at least one digit
    (?P<int>\d*)             # having a (possibly empty) integer part
    (?:\.(?P<frac>\d*))?     # followed by an optional fractional part
    (?:E(?P<exp>[-+]?\d+))?  # and an optional exponent
    \Z
5c	t|}|td|dpd}t|d|z}t|dpdt	|z
}|dd	k}|d
t|dzzd
td|z}
}	|	s|rdnd
S|	|
z
}||dkr|	|z	n|	|z|
kz
}t|||z
}|	t|dz|
t|dz}
}	t|	|
\}
}d|z|
ksd|z|
kr/|
dzr*|
dz
}
|
|dzkr
|
dz}
|dz
}|
|kr	|||z
ksJ|
|ks|||z
ksJ||
z|kr|rdndS|
s|rdnd
Sd|dz
dzz}d|dz
dzz
}|
|z||z
}}
d|rd	nd|
d|zz|
d|zz||d|zzS)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.Nzinvalid 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                 D/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_strtod.pystrtodr1s	aAy1222wwv$"H!''%..8+,,G

aggenn#
$
$s8}}
4Cwwv#%H2s3{{?"BAt$4qA
7&6{{J6	
'AAFF!q&&aRA	--AAw("A
QB

?AQNqA!Q<<DAqsQww!A#((q1u(	Q<<>>XaZ''
!GA
FA
<<>>X%%!w/A*A*A*A*A<<>>X%%g.@)@)@)@)@	1<<>>G##!,vvu,7&6{{J68A:/!G
!QE:q5yqA#**R	R[	BK	AgI
rceZdZdZdZdZdZdZdZdZ	e
je
jj
dzd	d
dZd
ZdZdS)StrtodTestsc	 	t|}|}n-#t$r|ddkrdnd}Ynt$rd}YnwxYwt	|}|||d|||dS)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.rrrrzmemory errorzEIncorrectly rounded str->float conversion for {}: expected {}, got {}N)floathex
OverflowErrorMemoryErrorr1assertEqualr)selfr fsgotexpecteds     r0check_strtodzStrtodTests.check_strtodWs	qB&&((CC	3	3	3aDCKK&&UCCC	!	!	! CCC	!!993//5va3/G/G	I	I	I	I	Is&AAAcdD]f}dd|zz}dd|zz}|dzdkr|dz
}ttD]-}tj||d|}}|dzdkr|dz|dz}}|dzdk|dzd	vsJ||}}|d
krjd||}	||	d|ddzz|dz
}	||	|dz}|d
kj||}}|d
krod||}	||	d|ddzz|dz
}	||	|dz}|dz}|d
ko/hdS)
N)rrlrAlrrrr)rr	l Fx:^V{}e{}(range	TEST_SIZErandom	randrangerr?)
r;kupperlowerinr+digitsexponentr s
          r0test_short_halfway_casesz$StrtodTests.test_short_halfway_casesjs!'	"'	"AadlOEadlOEqyA~~
9%% 
" 
"'ua88!1!eqjj61q5qA!eqjj2v----$%avoovx88A%%a(((vB2
FFA%%a(((aKF
voo$%avoovx88A%%a(((vB2
FFA%%a(((aKFMHvoo3 
"'	"'	"r2cLtdtzD]}tjd}t	|d\}}|r
|dz|dz
}}|dz}d|zdz|dz
}}|dkr||z}d}n|d|zz}|}d	||}||dS)
Ndllri2rrrArF)rIrJrKrLrrr?)r;rPbitsr+r$rRrSr s        r0test_halfway_caseszStrtodTests.test_halfway_casesssY''	!	!A#J//D$&&DAq
(5y!a%1
IAQ37AEqAAvvaQUvx00Aa    -	!	!r2cgd}|D]r\}}}tdD]\}|tjd|zd|zz}|}d||}|||dz}|dz}|dz}]sdS)N))l9ViiV)l%o$CKi!i)ljT&M)rrZr[rrFrr)rIrKrLrr?)	r;
boundariesrQr+ujrRrSr s	         r0test_boundarieszStrtodTests.test_boundariess
"		GAq!4[[

V-bdAaC888NN6844!!!$$$RRQ
		r2ctddD]h}d|zddzz}ttD]E}|tjddz}d||}||FidS)	Npirri3ir\rFrH)r;rSbaser`rRr s      r0test_underflow_boundaryz#StrtodTests.test_underflow_boundarysdD))	%	%Hy=AtG+D9%%
%
% 0 = ==NN6844!!!$$$$
%	%	%r2cdD]u}d|z}tdtzD]V}tj|}tjdd}d||}||WvdS)N)rArrBrrCrG)2rrcirFrH)r;ndigsdig10rPrRrSr s       r0test_bigcompzStrtodTests.test_bigcompsB	%	%EIE2	>**
%
%)%00!+D#66NN6844!!!$$$$	
%	%	%r2c	dd}tdD]}ttD]}tj|}tjd}|dfdt|Dz
}tjddgrK|d	z
}tjd}|dfd
t|Dz
}nd}tjddgrv|tjdd
gz
}|tj|z
}tjdd}|dfdt|Dz
}||zr||g	t|Jd#t$rYwxYwdS)N000000123456789)+rrr\rArc3@K|]}tjVdSNrKchoice.0_rRs  r0	<genexpr>z+StrtodTests.test_parsing.<locals>.<genexpr>s-OOqV]622OOOOOOr2TF.c3@K|]}tjVdSrtrurws  r0rzz+StrtodTests.test_parsing.<locals>.<genexpr>A!?!?%&"(v!6!6!?!?!?!?!?!?r2rr+Errc3@K|]}tjVdSrtrurws  r0rzz+StrtodTests.test_parsing.<locals>.<genexpr>r}r2zexpected ValueError)	rIrJrKrvrLjoinr?r6r)	r;signsrPr`r intpart_lenfracpart_lenexponent_lenrRs	        @r0test_parsingzStrtodTests.test_parsings!"t	<	<A9%%
<
<M%(($.q11RWWOOOOE+<N<NOOOOOO=$//%HA#)#3A#6#6L!?!?!?!?*/*=*=!?!?!????AA$%L=$//?Sz222Au---A#)#3Aq#9#9L!?!?!?!?*/*=*=!?!?!????A-<%%a((((<a<&;;;;&/
<	<	<sF--
F;:F;rrF)sizememusedry_runc4dd|zz}|t5t|dddn#1swxYwY~dd|zzdz}|t5t|dddn#1swxYwY~dS)Nz1.1z0.r
)assertRaisesrr6)r;maxsizer s   r0test_oversized_digit_stringsz(StrtodTests.test_oversized_digit_stringss
3= 


z
*
*		!HHH															
3= 3&


z
*
*		!HHH															
AAs!?AA0BBBc"d}d}|t|dd|t|dd|t|dd|t|dd|t|dd|t|dddS)Nc:dd|dz
z|S)z* Long string with value 1.0 and exponent nz	0.{}1e+{}r
rrrQs r0positive_expz6StrtodTests.test_large_exponents.<locals>.positive_exps %%c1Q3i333r2c4dd|z|S)z+ Long string with value 1.0 and exponent -nz1{}e-{}r
rrs r0negative_expz6StrtodTests.test_large_exponents.<locals>.negative_exps##CE1---r2i'g?i Ni0u)r:r6)r;rrs   r0test_large_exponentsz StrtodTests.test_large_exponentss	4	4	4	.	.	.	
||E2233S999||E2233S999||E2233S999||E2233S999||E2233S999||E2233S99999r2cBgd}|D]}||dS)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?)r;test_stringsr s   r0test_particularzStrtodTests.test_particularsIOOO`	!	!Aa    	!	!r2N)__name__
__module____qualname__r?rTrXrarerortestsupport
bigmemtest_2Grrrr2r0r4r4VsIII&)")")"V!!!4(	%	%	%%%%"<"<"<H
\$,"22"5aOO

PO
:::$T!T!T!T!T!r2r4__main__)rrr)rKunittestresystest.supportrgetattrSkipTestcompileVERBOSE
IGNORECASEmatchrr1rJTestCaser4rmainrr2r0<module>rs


				




73"B''722
(
;<<<

Z"-!!"'7777r
	X!X!X!X!X!(#X!X!X!t
zHMOOOOOr2