+
    Bi9P                     L   ^ RI t ^ RIt^ RIt^ RIt^ RIt]! ]RR4      R8w  d   ]P                  ! R4      h]P                  ! R]P                  ]P                  ,          4      P                  tRR lt^
t ! R R	]P                  4      t]R
8X  d   ]P$                  ! 4        R# R# )    Nfloat_repr_style shortzHcorrectly-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
c           	        \        V 4      pVf   \        R4      hVP                  R4      ;'       g    Rp\        VP                  R4      V,           4      p\        VP                  R4      ;'       g    R4      \	        V4      ,
          pVP                  R4      R8H  pV^
\        V^ 4      ,          ,          ^
\        ^ V) 4      ,          rV	'       g   V'       d   R	# R
# V	P                  4       V
P                  4       ,
          pY^ 8  d	   W,	          MW) ,          V
8  ,          p\        W4      V,
          pV	\        V) ^ 4      ,          V
\        V^ 4      ,          r\        W4      w  r^V,          V
8  g   ^V,          V
8X  dG   V^,          '       d8   V^,          pVP                  4       V^,           8X  d   V^,          pV^,          pVP                  4       V8:  d   WV,
          8  g   Q hVP                  4       V8X  g   WV,
          8X  g   Q hWP                  4       ,           V8  d   V'       d   R# R# V'       g   V'       d   R	# R
# ^V^,
          ^,          ,           p^V^,
          ^,          ,
          pVV,          VV,
          rRP                  V'       d   RMRV^V,          ,          V^V,          ,          VV^V,          ,           4      # )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.zinvalid numeric stringfracr   intexp0sign-z	-0x0.0p+0z0x0.0p+0-infinfz{}0x{:x}.{:0{}x}p{:+d})	strtod_parser
ValueErrorgroupr   lenmax
bit_lengthdivmodformat)smant_digmin_expmax_expmfractionintpartr	   negativeabdeqrhexdigsshifts   &&&&             '/usr/lib/python3.14/test/test_strtod.pystrtodr(      sL    	aAy122wwv$$"H!''%.8+,G
aggen##
$s8}
4Cwwv#%H2s3{?"BAt$4q &{6J6 	
'AF!&RA	--AA("A QB
?AQNq!<DAsQw!A#(q1uu	Q<<>XaZ'!GAFA <<>X%!/A*AAA<<>X%.@)@@@ 	<<>G#!v,u,&{6J6 8A:/!G!QE:q5yq#**R	R[	BK	AgI     c                      a  ] tR t^Vt o R tR tR tR tR tR t	R t
]P                  P                  ]P                  P                  ^
,           ^RR	7      R
 4       tR tR tRtV tR# )StrtodTestsc           	          \        V4      pVP                  4       p\	        V4      pV P                  WCRP                  WV4      4       R#   \         d    T^ ,          R8X  d   RMRp LN\         d    Rp L\i ; i)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.r   r   r   zmemory errorzEIncorrectly rounded str->float conversion for {}: expected {}, got {}N)floathexOverflowErrorMemoryErrorr(   assertEqualr   )selfr   fsgotexpecteds   &&   r'   check_strtodStrtodTests.check_strtodW   sw    	qB &&(C!9//5va3/G	I  	3aDCK&UC 	! C	!s   A A:+A:4A:9A:c                   R EF  pR^V,          ,          ) pR^V,          ,          ) pV^,          ^ 8X  d
   V^,          p\        \        4       EF1  p\        P                  ! W2^4      TreV^,          ^ 8X  d   V^,          V^,           reK!  V^
,          R9   g   Q hYVrVR8  df   RP	                  Wx4      p	V P                  V	4       RP	                  V^
^(,          ,          V^(,
          4      p	V P                  V	4       V^,          pKl  YVrVR8  g   K  RP	                  Wx4      p	V P                  V	4       RP	                  V^
^(,          ,          V^(,
          4      p	V P                  V	4       V^,          pV^,          pKw  	  EK  	  R# )r   {}e{}N)r      
         l       l       )         	   l      Fx:^V range	TEST_SIZErandom	randranger   r6   )
r2   kupperlowerinr"   digitsexponentr   s
   &         r'   test_short_halfway_cases$StrtodTests.test_short_halfway_casesj   sU   !AadlOEadlOEqyA~
9% ''a8!1 !eqj61q5q2v--- $%vov8A%%a(vB2FA%%a(aKF $%vov8A%%a(vB2FA%%a(aKFMHA & "r)   c                   \        ^d\        ,          4       F  p\        P                  ! R4      p\	        VR4      w  r4V'       d   VR,           V^,
          r4VR,          p^V,          ^,           V^,
          r4V^ 8  d   WC,          p^ pMV^V) ,          ,          pTpRP                  WV4      pV P                  V4       K  	  R# )d   i2  r9   Nl          l          )rC   rD   rE   rF   r   r   r6   )r2   rJ   bitsr"   r   rL   rM   r   s   &       r'   test_halfway_casesStrtodTests.test_halfway_cases   s    sY'A##J/D $&DA5y!a%1IA Q37AEq Av QUv0Aa - (r)   c                    . ROpV F  w  r#p\        R4       Fn  pV\        P                  ! RV,          ^V,          4      ,           pTpRP                  Wg4      pV P	                  V4       V^
,          pV^
,          pV^,          pKp  	  K  	  R# )     9V   r9   N))rV   iiV  )l   %o$CK i!  i  )l   jT& M  )r   rX   rY   )rC   rE   rF   r   r6   )	r2   
boundariesrK   r"   ujrL   rM   r   s	   &        r'   test_boundariesStrtodTests.test_boundaries   s    
 "GA!4[V--bdAaC88NN64!!!$RRQ ! "r)   c                   \        RR4       Fq  p^
V) ,          ^R,          ,          p\        \        4       FC  pV\        P                  ! RR4      ,           pRP	                  WA4      pV P                  V4       KE  	  Ks  	  R# )  i3  rW   r9   NpiirB   )r2   rM   baser]   rL   r   s   &     r'   test_underflow_boundary#StrtodTests.test_underflow_boundary   sk     dD)Hy=AtG+D9% 0 0 ==NN64!!!$ & *r)   c                   R Fx  p^
V,          p\        ^
\        ,          4       FR  p\        P                  ! V4      p\        P                  ! RR4      pRP	                  WE4      pV P                  V4       KT  	  Kz  	  R# )r:   ra   r9   N)r:   r;      r<               r=   (   )   2   rb   rB   )r2   ndigsdig10rJ   rL   rM   r   s   &      r'   test_bigcompStrtodTests.test_bigcomp   sg    BEIE2	>*))%0!++D#6NN64!!!$	 + Cr)   c           	       a R oRp\        R4       EF  p\        \        4       EF  p\        P                  ! V4      p\        P                  ! ^4      pVRP                  V3R l\        V4       4       4      ,          p\        P                  ! RR.4      '       dL   VR,          p\        P                  ! ^4      pVRP                  V3R l\        V4       4       4      ,          pM^ p\        P                  ! RR.4      '       d   V\        P                  ! RR	.4      ,          pV\        P                  ! V4      ,          p\        P                  ! ^^4      pVRP                  V3R
 l\        V4       4       4      ,          pWV,           '       d   V P                  V4       EK   \        V4       Q R4       h	  EK  	  R#   \         d     EK  i ; i)000000123456789r   rW   c              3   P   <"   T F  p\         P                  ! S4      x  K  	  R # 5iNrE   choice.0_rL   s   & r'   	<genexpr>+StrtodTests.test_parsing.<locals>.<genexpr>   s     O<NqV]]622<N   #&TF.c              3   P   <"   T F  p\         P                  ! S4      x  K  	  R # 5irv   rw   ry   s   & r'   r|   r}      $      !?*=Q "(v!6!6*=r~   r"   Ec              3   P   <"   T F  p\         P                  ! S4      x  K  	  R # 5irv   rw   ry   s   & r'   r|   r}      r   r~   zexpected ValueErrorN)+r   r   )	rC   rD   rE   rx   rF   joinr6   r-   r   )	r2   signsrJ   r]   r   intpart_lenfracpart_lenexponent_lenrL   s	   &       @r'   test_parsingStrtodTests.test_parsing   s~   " tA9%MM%($..q1RWWOE+<NOOO==$//HA#)#3#3A#6L !?*/*=!? ? ?A $%L==$//Sz22Au--A#)#3#3Aq#9L !?*/*=!? ? ?A --%%a(<a <&;;u5 & 0 & s   )GGGF)sizememusedry_runc                l   R RV,          ,           pV P                  \        4      ;_uu_ 4        \        V4       RRR4       ?RRV,          ,           R,           pV P                  \        4      ;_uu_ 4        \        V4       RRR4       ?R#   + '       g   i     L\; i  + '       g   i     ?R# ; i)z1.1Nz0.r
   )assertRaisesr   r-   )r2   maxsizer   s   && r'   test_oversized_digit_strings(StrtodTests.test_oversized_digit_strings   sz     3= z**!H +3= 3&z**!H + +*
 +*s   B7B!B	!B3	c                   R  pR pV P                  \        V! R4      4      R4       V P                  \        V! R4      4      R4       V P                  \        V! R4      4      R4       V P                  \        V! R4      4      R4       V P                  \        V! R4      4      R4       V P                  \        V! R4      4      R4       R# )c                B    RP                  RV ^,
          ,          V 4      # )z)Long string with value 1.0 and exponent nz	0.{}1e+{}r
   r   rK   s   &r'   positive_exp6StrtodTests.test_large_exponents.<locals>.positive_exp  s    %%c1Q3i33r)   c                4    RP                  RV ,          V 4      # )z*Long string with value 1.0 and exponent -nz1{}e-{}r
   r   r   s   &r'   negative_exp6StrtodTests.test_large_exponents.<locals>.negative_exp  s    ##CE1--r)   i'  g      ?i N  i0u  N)r1   r-   )r2   r   r   s   &  r'   test_large_exponents StrtodTests.test_large_exponents  s    	4	. 	|E23S9|E23S9|E23S9|E23S9|E23S9|E23S9r)   c                    . R NRNRNRNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NpV F  pV P                  V4       K  	  R,# )-z02183167012312112312312.23538020374420446192e-370z712579816049008305546974391768996369464963024663104e-357z717489628565202117263145367596028389348922981857013e-357z718487398785991994634182916638542680759613590482273e-357z732002864200581033134358724675198044527469366773928e-358z794393431193180696942841837085033647913224148539854e-358z773608278998966969345824653500136787876436005957953e-358z764774478836417299491718435234611299336288082136054e-358z713704940134126574534878641876947980878824688451169e-357z746697445774047060960624497964425416610480524760471e-358z728639097178261763178489759107321392745108491825303e-311z1.00000000000000001e44z-1.0000000000000000100000000000000000000001e44z399999999999999994487665465554760717039532578546e-47o9654371763336549317990355136719971183455700459144696213413350821416312194420007991306908470147322020121018368e0a  104308485241983990666713401708072175773165034278685682646111762292409330928739751702404658197872319129036519947435319418387839758990478549477777586673075945844895981012024387992135617064532141489278815239849108105951619997829153633535314849999674266169258928940692239684771590065027025835804863585454872499320500023126142553932654370362024104462255244034053203998964360882487378334860197725139151265590832887433736189468858614521708567646743455601905935595381852723723645799866672558576993978025033590728687206296379801363024094048327273913079612469982585674824156000783167963081616214710691759864332339239688734656548790656486646106983450809073750535624894296242072010195710276073042036425579852459556183541199012652571123898996574563824424330960027873516082763671875e-1075z247032822920623295e-341z799037485700245683102805043437346965248029601286431e-373z799617639833743863161109961162881027406769510558457e-373z798852915025769345295749278351563179840130565591462e-372z799059944827693569659153042769690930905148015876788e-373z798914979205069368270421829889078356254059760327101e-372z,1000000000000000000000000000000000000000e-16z-10000000000000000000000000000000000000000e-17z=991633793189150720000000000000000000000000000000000000000e-33z;4106250198039490000000000000000000000000000000000000000e-38z*10.900000000000000012345678912345678912345a  11651287494059419563861790709256988151903479322938522856916519154189084656466977171489691608488398792047332126810029685763620092606534076968286334920536334924763766067178320990794927368304039797998410780646182269333271282839761794603623958163297658510063352026077076106072540390412314438457161207373275477458821194440646557259102208197382844892733860255628785183174541939743301249188486945446244053689504749943655197464973191717009938776287102040358299419343976193341216682148401588363162253931420379903449798213003874174172790742957567330246138038659650118748200625752770984217933648838167281879845022933912352785884444833681591202045229462491699354638895656152216187535257259042082360747878839946016222830869374205287663441403533948204085390898399055004119873046875e-1075a^  5254406533529552661096610603582028195612589849649138922565278497589560452182570597137658742514361936194432482059988700016338656575174473559922258529459120166686600002102838072098506622244175047522649953606315120077538558010753730576321577387528008403025962370502479105305382500086822727836607781816280407336531214924364088126680234780012085291903592543223403975751852488447885154107229587846409265285440430901153525136408849880173424692750069991045196209464308187671479664954854065777039726878381767789934729895619590000470366389383963331466851379030183764964083197053338684769252973171365139701890736933147103189912528110505014483268752328506004517760913030437151571912928276140468769502257147431182910347804663250851413437345649151934269945872064326973371182115272789687312946393533547747886024677951678751174816604738791256853675690543663283782215866825e-118032602129298404963083833853479113577253105939995688e25260212929840496308383385347911357725310593999568896e0z826021292984049630838338534791135772531059399956889601e-25260212929840496308383385347911357725310593999568895e05260212929840496308383385347911357725310593999568897e05260212929840496308383385347911357725310593999568996e05260212929840496308383385347911357725310593999568866e0z9007199254740992.005  179769313486231580793728971405303415079934132710037826936173778980444968292764750946649017977587207096330286416692887910946555547851940402630657488671505820681908902000708383676273854845817711531764475730270069855571366959622842914819860834936475292719074168444365510704342711559699508093042880177904174497792a9  179769313486231580793728971405303415079934132710037826936173778980444968292764750946649017977587207096330286416692887910946555547851940402630657488671505820681908902000708383676273854845817711531764475730270069855571366959622842914819860834936475292719074168444365510704342711559699508093042880177904174497791.999a9  179769313486231580793728971405303415079934132710037826936173778980444968292764750946649017977587207096330286416692887910946555547851940402630657488671505820681908902000708383676273854845817711531764475730270069855571366959622842914819860834936475292719074168444365510704342711559699508093042880177904174497792.001z:999999999999999944488848768742172978818416595458984375e-54zA9999999999999999444888487687421729788184165954589843749999999e-54zA9999999999999999444888487687421729788184165954589843750000001e-54z0.000000000000000000000000000000000000000010000000000000000057612911342378542997169042119121403423543508714776317814976295686899169228986994124665807319451982237978882039897143840789794921875N)r6   )r2   test_stringsr   s   &  r'   test_particularStrtodTests.test_particular  sa   O>O F	O
 FO FO FO FO FO FO FO FO FO$ %%O& <'O, B-O2K3O:K;O\ &]Ob FcOd FeOf FgOh FiOj FkOn ;oOp <qOt LuOx JyO| 9}OBJCOb=cOH BIOJ DKOL GMON DOOP DQOR DSOT DUOX "YO`EaOnIoO|I}OJ IKOL PMON POOV5WO` Aa  r)    N)__name__
__module____qualname____firstlineno__r6   rN   rS   r^   rd   rq   r   testsupport
bigmemtest_2Gr   r   r   __static_attributes____classdictcell__)__classdict__s   @r'   r+   r+   V   sv     I&)"V!4(	%%"<H 
\\$,,"2"22"5aO
 P
:$T! T!r)   r+   __main__)5   ii   )rE   unittestresystest.supportr   getattrSkipTestcompileVERBOSE
IGNORECASEmatchr   r(   rD   TestCaser+   r   mainr   r)   r'   <module>r      s      	 
 
3"B'72


 ; < <
 

  ZZ"--! "' 7r 	X!(## X!t
 zMMO r)   