tzh
2024-08-22 c7d0944258c7d0943aa7b2211498fd612971ce27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
R\¬Qc@séddlZddlZddlZddlZddlZddlmZeeddƒdkrvejdƒ‚nej    dej
ej Bƒj Z dd    d
d „Zd Zd ejfd„ƒYZd„ZedkråeƒndS(iÿÿÿÿN(t test_supporttfloat_repr_stylettshortsHcorrectly-rounded string->float conversions not available on this systemsm    # 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
i5iüÿÿicCsÂt|ƒ}|dkr'tdƒ‚n|jdƒp9d}t|jdƒ|ƒ}t|jdƒpjdƒt|ƒ}|jdƒdk}|d    t|d
ƒd    td
| ƒ}    }
|    sÏ|rËd Sd S|    jƒ|
jƒ} | | d
krþ|    | ?n|    | >|
k7} t| |ƒ|} |    t| d
ƒ>|
t| d
ƒ>}    }
t|    |
ƒ\} }d ||
ksŠd ||
krÄ| d@rÄ| d7} | jƒ|dkrÄ| d } | d7} qÄn| jƒ|kræ| ||ksìt    ‚| jƒ|ks| ||kst    ‚| | jƒ|kr8|r4dSdS| sL|rHd Sd Sd|d d}d|d d}| |>| |} } dj
|r—dnd| d|| d||| d|ƒS(sÏConvert 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.sinvalid numeric stringtfracRtinttexpt0tsignt-i
is    -0x0.0p+0s0x0.0p+0iis-inftinfiis{}0x{:x}.{:0{}x}p{:+d}iN( t strtod_parsertNonet
ValueErrortgroupRtlentmaxt
bit_lengthtdivmodtAssertionErrortformat(tstmant_digtmin_exptmax_exptmtfractiontintpartRtnegativetatbtdtetqtrthexdigstshift((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/test/test_strtod.pytstrtodsF  %,+(*
 
((  i
t StrtodTestscBsPeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    RS(cCs”yt|ƒ}WnCtk
r?|ddkr6dnd}n#tk
rUd}n X|jƒ}t|ƒ}|j||dj|||ƒƒdS(séCompare 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.iR    s-infR
s memory errorsEIncorrectly rounded str->float conversion for {}: expected {}, got {}N(tfloatt OverflowErrort MemoryErrorthexR%t assertEqualR(tselfRtfstgottexpected((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/test/test_strtod.pyt check_strtodXs  
   c
Cs¯x¨dD] }dd| }dd| }|ddkrH|d    7}nx\ttƒD]N}tj||dƒ|}}x)|ddkr¢|d|d    }}qzW|ddks¹t‚||}}x`|dkr(d j||ƒ}    |j|    ƒd j|d|dƒ}    |j|    ƒ|d9}qÉW||}}xj|dkr¢d j||ƒ}    |j|    ƒd j|d|dƒ}    |j|    ƒ|d9}|d    8}q9WqUWqWdS(Niii
iiii6i5iiii    s{}e{}i((iii
iiI@IÀÿI Iàÿ(iiii    l Fµx:^Vl    «O»z—×pøcl Fµx:^Vl    «O»z—×pøc(txranget    TEST_SIZEtrandomt    randrangeRRR0(
R,tktuppertlowertitnR tdigitstexponentR((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/test/test_strtod.pyttest_short_halfway_casesks2        
cCsÛxÔtdtƒD]Â}tjdd
ƒ}t|d ƒ\}}|r]|d |d}}n|d8}d|d|d}}|dkrŸ||>}d}n|d| }|}d    j||ƒ}|j|ƒqWdS( Nidiÿii4ii2iis{}e{}III(R1R2R3R4RRR0(R,R8tbitsR RR:R;R((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/test/test_strtod.pyttest_halfway_cases–s
 
    c    Cs¨ddddg}x|D]‡\}}}xutd ƒD]g}|tjd |d |ƒ}|}dj||ƒ}|j|ƒ|d9}|d9}|d8}q5WqWdS(NlÐ 9ViíÿÿÿiVl%oˆ$C×Ki!iËl—jT&i¹þÿÿiMiièiýÿÿÿis{}e{}i
i(lÐ 9ViíÿÿÿiV(l%oˆ$C×Ki!iË(l—jT&i¹þÿÿiM(ii¹þÿÿiM(R1R3R4RR0(    R,t
boundariesR9R tutjR:R;R((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/test/test_strtod.pyttest_boundaries°s     
 
cCsyxrtddƒD]a}d| d    }xIttƒD];}|tjddƒ}dj||ƒ}|j|ƒq2WqWdS(
NipþÿÿiÀþÿÿi
ii3iüÿÿiès{}e{}lH(R1R2R3R4RR0(R,R;tbaseRAR:R((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/test/test_strtod.pyttest_underflow_boundaryÄs c CszxsdD]k}d|}xXtdtƒD]F}tj|ƒ}tjd dƒ}dj||ƒ}|j|ƒq(WqWdS(Nii
iiiiiiii(i)i2ipþÿÿis{}e{}( ii
iiiiiiii(i)i2(R1R2R3R4RR0(R,tndigstdig10R8R:R;R((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/test/test_strtod.pyt test_bigcompÏs 
cs²d‰d}xŸtdƒD]‘}xˆttƒD]z}tj|ƒ}tjdƒ}|dj‡fd†t|ƒDƒƒ7}tjttgƒrÓ|d7}tjdƒ}|dj‡fd    †t|ƒDƒƒ7}nd
}tjttgƒrX|tjd d gƒ7}|tj|ƒ7}tjd dƒ}|dj‡fd†t|ƒDƒƒ7}n||rr|j|ƒq,yt    |ƒWnt
k
r“q,Xts,t dƒ‚q,WqWdS(Nt000000123456789t+R    Rièic3s|]}tjˆƒVqdS(N(R3tchoice(t.0t_(R:(sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/test/test_strtod.pys    <genexpr>ãst.c3s|]}tjˆƒVqdS(N(R3RJ(RKRL(R:(sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/test/test_strtod.pys    <genexpr>çsiR tEiic3s|]}tjˆƒVqdS(N(R3RJ(RKRL(R:(sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/test/test_strtod.pys    <genexpr>ïssexpected ValueError(RIR    R( R1R2R3RJR4tjointTruetFalseR0R'R R(R,tsignsR8RARt intpart_lent fracpart_lent exponent_len((R:sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/test/test_strtod.pyt test_parsingØs4)
 
 c+Cs©ddddddddd    d
d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+g+}x|D]}|j|ƒqŽWdS(,Ns02183167012312112312312.23538020374420446192e-370s712579816049008305546974391768996369464963024663104e-357s717489628565202117263145367596028389348922981857013e-357s718487398785991994634182916638542680759613590482273e-357s732002864200581033134358724675198044527469366773928e-358s794393431193180696942841837085033647913224148539854e-358s773608278998966969345824653500136787876436005957953e-358s764774478836417299491718435234611299336288082136054e-358s713704940134126574534878641876947980878824688451169e-357s746697445774047060960624497964425416610480524760471e-358s728639097178261763178489759107321392745108491825303e-311s1.00000000000000001e44s-1.0000000000000000100000000000000000000001e44s399999999999999994487665465554760717039532578546e-47to9654371763336549317990355136719971183455700459144696213413350821416312194420007991306908470147322020121018368e0s104308485241983990666713401708072175773165034278685682646111762292409330928739751702404658197872319129036519947435319418387839758990478549477777586673075945844895981012024387992135617064532141489278815239849108105951619997829153633535314849999674266169258928940692239684771590065027025835804863585454872499320500023126142553932654370362024104462255244034053203998964360882487378334860197725139151265590832887433736189468858614521708567646743455601905935595381852723723645799866672558576993978025033590728687206296379801363024094048327273913079612469982585674824156000783167963081616214710691759864332339239688734656548790656486646106983450809073750535624894296242072010195710276073042036425579852459556183541199012652571123898996574563824424330960027873516082763671875e-1075s247032822920623295e-341s799037485700245683102805043437346965248029601286431e-373s799617639833743863161109961162881027406769510558457e-373s798852915025769345295749278351563179840130565591462e-372s799059944827693569659153042769690930905148015876788e-373s798914979205069368270421829889078356254059760327101e-372s,1000000000000000000000000000000000000000e-16s-10000000000000000000000000000000000000000e-17s=991633793189150720000000000000000000000000000000000000000e-33s;4106250198039490000000000000000000000000000000000000000e-38s*10.900000000000000012345678912345678912345s11651287494059419563861790709256988151903479322938522856916519154189084656466977171489691608488398792047332126810029685763620092606534076968286334920536334924763766067178320990794927368304039797998410780646182269333271282839761794603623958163297658510063352026077076106072540390412314438457161207373275477458821194440646557259102208197382844892733860255628785183174541939743301249188486945446244053689504749943655197464973191717009938776287102040358299419343976193341216682148401588363162253931420379903449798213003874174172790742957567330246138038659650118748200625752770984217933648838167281879845022933912352785884444833681591202045229462491699354638895656152216187535257259042082360747878839946016222830869374205287663441403533948204085390898399055004119873046875e-1075s^5254406533529552661096610603582028195612589849649138922565278497589560452182570597137658742514361936194432482059988700016338656575174473559922258529459120166686600002102838072098506622244175047522649953606315120077538558010753730576321577387528008403025962370502479105305382500086822727836607781816280407336531214924364088126680234780012085291903592543223403975751852488447885154107229587846409265285440430901153525136408849880173424692750069991045196209464308187671479664954854065777039726878381767789934729895619590000470366389383963331466851379030183764964083197053338684769252973171365139701890736933147103189912528110505014483268752328506004517760913030437151571912928276140468769502257147431182910347804663250851413437345649151934269945872064326973371182115272789687312946393533547747886024677951678751174816604738791256853675690543663283782215866825e-1180t32602129298404963083833853479113577253105939995688e2t5260212929840496308383385347911357725310593999568896e0s826021292984049630838338534791135772531059399956889601e-2t5260212929840496308383385347911357725310593999568895e0t5260212929840496308383385347911357725310593999568897e0t5260212929840496308383385347911357725310593999568996e0t5260212929840496308383385347911357725310593999568866e0s9007199254740992.00t5179769313486231580793728971405303415079934132710037826936173778980444968292764750946649017977587207096330286416692887910946555547851940402630657488671505820681908902000708383676273854845817711531764475730270069855571366959622842914819860834936475292719074168444365510704342711559699508093042880177904174497792s9179769313486231580793728971405303415079934132710037826936173778980444968292764750946649017977587207096330286416692887910946555547851940402630657488671505820681908902000708383676273854845817711531764475730270069855571366959622842914819860834936475292719074168444365510704342711559699508093042880177904174497791.999s9179769313486231580793728971405303415079934132710037826936173778980444968292764750946649017977587207096330286416692887910946555547851940402630657488671505820681908902000708383676273854845817711531764475730270069855571366959622842914819860834936475292719074168444365510704342711559699508093042880177904174497792.001s:999999999999999944488848768742172978818416595458984375e-54sA9999999999999999444888487687421729788184165954589843749999999e-54sA9999999999999999444888487687421729788184165954589843750000001e-54(R0(R,t test_stringsR((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/test/test_strtod.pyttest_particularüsZ     (
t__name__t
__module__R0R<R>RBRDRGRVR`(((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/test/test_strtod.pyR&Ws        +                        $cCstjtƒdS(N(Rt run_unittestR&(((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/test/test_strtod.pyt    test_main‹st__main__(R3tstructtunittesttretsysttestRtgetattrtSkipTesttcompiletVERBOSEt
IGNORECASEtmatchR R%R2tTestCaseR&RdRa(((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/test/test_strtod.pyt<module>s      9ÿ5