python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_float.cpython-312.opt-1.pyc

͑e
ddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZmZddl
mZmZmZmZddl
Z
	ddlZej+dj-dZedZedZej4j7exsej:Zej4j?ed	Z Gd
deZ!Gdd
eZ"GddejFZ$ejJe&eddGddejFZ'dZ(e)e*e(Z+dZ,e)e*e,Z-dZ.e)e*e.Z/dZ0e)e*e0Z1GddejFZ2GddejFZ3GddejFZ4e	jjGddejFZ6Gd d!ejFZ7ejpZ9ejtZ;Gd"d#ejFZ<dZ=d$Z>d%d&d'd(Z?ejedud)Gd*d+ejFZAeBd,k(rejyy#e$rdZYwxYw)-N)support)VALID_UNDERSCORE_LITERALSINVALID_UNDERSCORE_LITERALS)isinfisnancopysignldexpdoubleIEEEinfnanzformatfloat_testcases.txtceZdZy)
FloatSubclassN__name__
__module____qualname__C/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_float.pyrrrrceZdZy)OtherFloatSubclassNrrrrrr!rrrceZdZdZdZdZdZdZdZe	jddd	d
ZdZdZ
d
ZdZdZdZdZdZdZe	j*dZe	j*dZdZdZy)GeneralFloatCasesc|jtdd|jtdd|jtdd|jttd|jttd|jttd|jttd|jttd	|jttd
|jttd|jttd|jttd
|jttd|jttd|jtti|jtdti|jttd|jttd|jttd|jtdd|jtddtdtd|jttdy)NQ	@i:gs@  3.14  	  0x3.1    -0x3.p-1    +0x3.p-1  z++3.14z+-3.14z-+3.14z--3.14z.nanz+.inf.z-.z
not 'dict'uz-1.7d29z3D-14u  ٣.١٤  u
 3.14 s.1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111a.1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111uこんにちは)assertEqualfloatassertRaises
ValueError	TypeErrorassertRaisesRegexselfs r
test_floatzGeneralFloatCases.test_float&std+sU+z*D1*e[9*e^<*e^<*eX6*eX6*eX6*eX6*eV4*eW5*eS1*eT2)UB/y,rB*eX6*eY7*eW5894@=>E

n	
*e-MNrc8|jtdy)N)r#r$r)s rtest_noargszGeneralFloatCases.test_noargsEs#&rc
tD]otfddDr|jtt	|jttjddqtD]7dvrtfddDr|jtt9|jttd|jttd|jttd	|jttd
|jttd|jttdy)
Nc3&K|]}|v
ywNr.0chlits  r	<genexpr>z5GeneralFloatCases.test_underscores.<locals>.<genexpr>J6RrSy6jJxXoObB_)0_709_99c3&K|]}|v
ywr1rr2s  rr6z5GeneralFloatCases.test_underscores.<locals>.<genexpr>Pr7r8_NaNNa_NIN_Fz-_INFz-INF_s0_.9)	ranyr#r$evalreplacerr%r&)r*r5s @rtest_underscoresz"GeneralFloatCases.test_underscoresHs	,	JC6:66  sT#Y7  sU3;;sB3G-HI	J/	:C&&6:66!!*eS9		:	
*eV4*eV4*eV4*eW5*eW5*e[9rcGddtGddt}Gddt}ttfd||tg}	dd	lm|jfd
|D]x}|d}|jt|5|jt|d|jtd
5t|dddddddzy#t$rYwxYw#1swY#xYw#1swYxYw)NceZdZy)AGeneralFloatCases.test_non_numeric_input_types.<locals>.CustomStrNrrrr	CustomStrrH`rrIceZdZy)CGeneralFloatCases.test_non_numeric_input_types.<locals>.CustomBytesNrrrrCustomBytesrLarJrrMceZdZy)GGeneralFloatCases.test_non_numeric_input_types.<locals>.CustomByteArrayNrrrrCustomByteArrayrObrJrrPc0|jSr1)decode)brIs r<lambda>z@GeneralFloatCases.test_non_numeric_input_types.<locals>.<lambda>gsi
+rr)arraycd|S)NBr)rSrUs rrTz@GeneralFloatCases.test_non_numeric_input_types.<locals>.<lambda>qs
uS!}rs 3.14  rzcould not convertsAAAAAAAAAAAAAAAA)
strbytes	bytearray
memoryviewrUappendImportErrorsubTesttyper#r$r(r&)r*rMrP	factoriesfxrIrUs      @@rtest_non_numeric_input_typesz.GeneralFloatCases.test_non_numeric_input_types]s	#"&%&.i.
+

		6#
45	*A*
Ad1g&
*  q40++J8KL*!K.)*
*
*	*		**
*
*s6C 	2C;;C/
C; 	C,+C,/C84C;;D	c|jttdddd|jttdddd|jttdddd|jttdddd|jttddddy)	Ns12.3gffffff@s12.3s12.3 s12.3As12.34)r#r$r[r)s rtest_float_memoryviewz'GeneralFloatCases.test_float_memoryviewzsz'21Q78#>z+6q;<cBz(3Aa893?z(3Aa893?z(3Aa893?rcfd}|d|d|d|d|d|d|d|d	|d
|d|d|d
|dy)Ncjtd|d5}t|dddjt	j
d|y#1swY2xYw)Nzfloat())msgz#could not convert string to float: )r%r&r$r#rX	exception)scmr*s  rcheckz3GeneralFloatCases.test_error_message.<locals>.checksW"":!3E"F
"a
S.;<>
@

sAA#½u123½z  123 456  s  123 456  r; z	 
u٣١٤!z123z123 245z123245s123s123r)r*ros` rtest_error_messagez$GeneralFloatCases.test_error_messagesr	@	f

i
m
n
b	
c

g	#$
i
m
l
j
jr
LC_NUMERICfr_FRde_DEcddl}|jddk(s|jd|jt	dd|jt	dd|jt	dd	|jt	d
d|jt	dd
|jt	dd|jt	dd|jt	dd|jt	dd|jttd|jttd|jttd|jttd|jttd|jttd|jt	dd|jt	ddy) Nr
decimal_point,zdecimal_point is not ","rrz+3.14  z-3.14  gQ	z.14  gQ?z3.  @z3.e3  gp@z3.2e3  g@z2.5e-1  ?z5e-1?z  3,14  z	  +3,14  z	  -3,14  rr r!z
  25.e-1  @z
  .25e-1  g?)locale
localeconvskipTestr#r$r%r&assertAlmostEqual)r*r}s  rtest_float_with_commaz'GeneralFloatCases.test_float_with_commasy
	  "?3s:MM45z*D1y)40y)51w-v,x&1y)62z*D1v,*eZ8*e[9*e[9*e[9*e^<*e^<|,c2u\2D9rc	,Gddt}Gddt}Gddt}Gddt}Gd	d
t}|jt|d|jt|d|j	t
5|jt|ddddd|j
tt|d
|jt|ddGdd}|j
ttj|Gdd}|j	t
5|jt|dddd|j	t
5|jtt|tddd|j	t
5|jt|dddd|j	t
5|jtt|tdddGdd}|jt|d
d|j
tt|ddzGdd}	|j
tt|	y#1swYxYw#1swYexYw#1swY'xYw#1swYxYw#1swYxYw)NceZdZdZy)4GeneralFloatCases.test_floatconversion.<locals>.Foo1cyNE@rr)s r	__float__z>GeneralFloatCases.test_floatconversion.<locals>.Foo1.__float__rNrrrrrrrFoo1r
rrceZdZdZy)4GeneralFloatCases.test_floatconversion.<locals>.Foo2cyrrr)s rrz>GeneralFloatCases.test_floatconversion.<locals>.Foo2.__float__rrNrrrrFoo2rrrrceZdZddZdZy)4GeneralFloatCases.test_floatconversion.<locals>.Foo3c4tj|d|zS)Nr$__new__clsvalues  rrz<GeneralFloatCases.test_floatconversion.<locals>.Foo3.__new__s}}S!E'22rc|Sr1rr)s rrz>GeneralFloatCases.test_floatconversion.<locals>.Foo3.__float__srN)r-)rrrrrrrrFoo3rs
3
rrceZdZdZy)4GeneralFloatCases.test_floatconversion.<locals>.Foo4cyN*rr)s rrz>GeneralFloatCases.test_floatconversion.<locals>.Foo4.__float__rNrrrrFoo4r
rrceZdZdZy)6GeneralFloatCases.test_floatconversion.<locals>.FooStrc0tt|dzSNre)r$rXr)s rrz@GeneralFloatCases.test_floatconversion.<locals>.FooStr.__float__sSY'!++rNrrrrFooStrrs
,rrrr8g"@ceZdZdZy)4GeneralFloatCases.test_floatconversion.<locals>.Foo5cy)Nr;rr)s rrz>GeneralFloatCases.test_floatconversion.<locals>.Foo5.__float__rrNrrrrFoo5rrrrceZdZdZy)1GeneralFloatCases.test_floatconversion.<locals>.FctdSr)rr)s rrz;GeneralFloatCases.test_floatconversion.<locals>.F.__float__s
)#..rNrrrrFrs
/rrceZdZdZdZy)7GeneralFloatCases.test_floatconversion.<locals>.MyIndexc||_yr1rr*rs  r__init__z@GeneralFloatCases.test_floatconversion.<locals>.MyIndex.__init__s	"
rc|jSr1rr)s r	__index__zAGeneralFloatCases.test_floatconversion.<locals>.MyIndex.__index__szz!rN)rrrrrrrrMyIndexrs
#
"rrriceZdZdZy)5GeneralFloatCases.test_floatconversion.<locals>.MyIntcyrrr)s r__int__z=GeneralFloatCases.test_floatconversion.<locals>.MyInt.__int__rrN)rrrrrrrMyIntrrrr)objectr$rXr#assertWarnsDeprecationWarningr%r'timesleepassertIsr_r
OverflowError)
r*rrrrrrrrrs
          rtest_floatconversionz&GeneralFloatCases.test_floatconversions\	6		5		5		5		,S	,	
tv,tv,


0
1	3U48_c2	3)UDH5vc{+R0			
)TZZ8	/	/

0
1	.U13Z-	.


0
1	3MM$uQSz*E2	3


0
1	6]13/5	6


0
1	CMM$}QS12MB	C	"	"	
wr{+T2-40@A			
)UEG4I	3	3	.	.	3	3	6	6	C	Cs<!"K !K$.K1)!K>'.L
K!$K.1K;>L
Lcr|jtd5tddddy#1swYyxYw)Nzkeyword argumentz3.14rb)r(r'r$r)s rtest_keyword_argsz#GeneralFloatCases.test_keyword_argss/

#
#I/A
B	FO			s
-6cGddt}|d}|jt|||jt|d|j	t
5|ddddGddt}|dd	}|jt|||jt|d|j|jdGd
dt}|dd	}|jt|||jt|d|j|jdy#1swYxYw)NceZdZy)=GeneralFloatCases.test_keywords_in_subclass.<locals>.subclassNrrrrsubclassrrrr|rrceZdZddZy)GGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_initNc||_yr1newarg)r*argrs   rrzPGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_init.__init__s	$rr1rrrrrrrsubclass_with_initrs
%rrrc eZdZdfd	ZxZS)FGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_newc6t|||}||_|Sr1)superrr)rrrr*	__class__s    rrzNGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_new.__new__swsC0$rr1)rrrr
__classcell__)rs@rsubclass_with_newrs


rr)r$rr_r#r%r'r)r*rurrs     rtest_keywords_in_subclassz+GeneralFloatCases.test_keywords_in_subclasss	u	SM

d1gx(q3'


y
)	qM		%	%
s1-

d1g12q3'1%		

c!,

d1g01q3'1%'		s#
EEc |jdj|jdj|jtdj|jtdjy)Ng??r
r)assertFalse
is_integer
assertTruer$r)s rtest_is_integerz!GeneralFloatCases.test_is_integersb#))+,)*u0023u0023rcdD]%\}}|j|j|'tdD]o}tj}|dtjddzz}|j\}}|jt|j
||qtj}|j|dd|tdj|j|d	d
|tdj|j|dd
|tdj|j|d
d|tdj|j|dd|tdj|j|dd|tdj|jttdj|jttdj|jttdjy)N))g?))g)ir)r-)rre)g'@)r'
idrrer-rr|r{lL33l@g@lL33gighr-infr
)r#as_integer_ratiorangerandomrandintr$__truediv__	fractionsFractionr%rr&)r*raratioindRs       rtest_floatasratioz#GeneralFloatCases.test_floatasratios	:HAu
Q//159
	:u	9A

A
v~~dC000A%%'DAqU1X11!4a8		9
1aE#J779:	<1aE#J779:	<1aE#J779:	<+-=>E#J779:	<,.>?E$K88:;	=5!E'N;;=>	@	
-u)F)FG-v)G)GH*eEl&C&CDrc	&ttddtf}|D]}|j||g|j||f|j||h|j||di|j|gj	|dd|z|j|||D]}|j|g|gk(d|d|d|j|f|fk(d|d	|d
|j|h|hk(d|d|d
|j|di|dik(d|d|d|g|f|h|dif\}}}}|j||k(d|z|j||k(d|z|j||k(d|z|j||k(d|zy)Nr-rrez[].count('%r') != 1[z] != [](z,) != (z,){z} != {}z
 : None} != {z : None}z[%r] not equal to itselfz(%r,) not equal to itselfz{%r} not equal to itselfz{%r : None} not equal to itself)INFNANassertInr#countr)r*floatsraltrmrs       rtest_float_containmentz(GeneralFloatCases.test_float_containment@stS#s+	%AMM!aS!MM!aT"MM!aS!MM!aY'aSYYq\1.Ca.GHMM!V$
	%
	KAOOQCA3J!Q(?@OOQDQDLa*CDOOQCA3J!Q(?@OOQJ1d)3DEq6J
KqdQC!T2JAq!QOOAF$>$BCOOAF$?!$CDOOAF$>$BCOOAF$E$IJ
	KrcX|j|td|f|td|fy)Nr)r#r)r*arSs   rassertEqualAndEqualSignz)GeneralFloatCases.assertEqualAndEqualSignYs,	
!Xc1-.HS!4D0EFrc|jtdjt|j	tdjd|j	tdjd|j	tdjd|j	tdjd|j	tdjd|j	td	jd
|j	tdjd|j	tdjd|jttd
j|jttdj|jttdjy)Nr{rrre?NݯbNݯr
rr)assertIsInstancer$	__floor__intr#r%r&rr)s rtest_float_floorz"GeneralFloatCases.test_float_floor_sVeCj224c:s--/3s--/3s--/3t..0"5t..0"5t..0"5x224h?y)335yA*eEl&<&<=-u)?)?@-v)@)@Arc|jtdjt|j	tdjd|j	tdjd|j	tdjd|j	tdjd|j	tdjd	|j	td
jd	|j	tdjd|j	tdjd|jttd
j|jttdj|jttdjy)Nr{rerrrrrrrrrrr
rr)rr$__ceil__rr#r%r&rr)s rtest_float_ceilz!GeneralFloatCases.test_float_ceilmsVeCj113S9s,,.2s,,.2s,,.2t--/3t--/4t--/4x113X>y)224i@*eEl&;&;<-u)>)>?-v)?)?@rc|tj}|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|dddy)Nrrr-0.+0.++)operatormodr)r*r%s  rtest_float_modz GeneralFloatCases.test_float_mod{sll$$Ss^S9$$S#%6<$$Ss^S9$$Sc]C8$$S%5v>$$Sc]C8$$St_d;$$S$%7A$$St_d;$$Sd^T:$$S%6=$$Sd^T:rc	ttjfD]I}|jt|tt
|jt|dt
|jt|dt
|jt|dt
|jt|dt
|jt|dt
|jt|dt
|jt|dt
|jt|tt
|jt|t
t
|jt|t
t|jt|t
d|jt|t
d|jt|t
d|jt|t
d|jt|t
d|jt|t
d|jt|t
t|j
t|dd|j
t|dd|j
t|dd|j
t|dd|j
t|dd|j
t|dd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|dtd|j|dtd|j|dtd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|dtd|j|dt
d|j|tdd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|tdd|j|t
dd|j|tdd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|tdd|j|t
dd|jt|ddt|jt|ddt|jt|ddt|jt|ddt|jt|ddt|jt|ddt|j|dtt|j|dtt|j|dtt|j|dtt|j|ttd|j|dtd|j|dtd|j|ttd|j|dtd|j|dtd|j|dtd|j|dtd|j|ttt|j|dtt|j|dtt|j|ttt|j|tdd|j|tdd|j|tdd|j|tdt|j|tdt|j|tdt|j|tdt|j|tdt|j|tdt|j|tdd|j|tdd|j|tdd|j|ddd	|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd
|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd	|j|ddd|j|ddd|j|ddd|j|ddd|j|ddd
|j|ddd|j|ddd|j|ddd|j|ddd|j|dd
d|jt|ddt|j|ddd|j|dd
d|j|ddd|j|ddd|j|ddd|jt|ddt|j|ddd|j|ddd|j|ddd|j|dddLy)Ngrrr"r-r{@rrzg@}Ô%I}Ô%ITg@gBgDg@@gB@gD@)powr$rrrrr%ZeroDivisionErrorrr#r_complex)r*pow_ops  rtest_float_powz GeneralFloatCases.test_float_pows
8<<'u	CFOOE&#s"345OOE&s"345OOE&s"345OOE&s"345OOE&s"345OOE&c"234OOE&c"234OOE&c"234OOE&c"234OOE&c"234
OOE&sd"345OOE&d"345OOE&d"345OOE&d"345OOE&c"234OOE&c"234OOE&c"234OOE&c"234
/tD/dC
/tD/tD/dC/dC
((c):DA((S)93?
((c):C@((c):C@((S)93?((S)93?
((sd);SA((c):C@
((cT):C@((T):C@((T):C@((T):C@((T):C@((S)93?((S)93?((S)93?((S)93?((S)93?((S)93?
((c):C@((c):C@((c):C@((c):C@((c):C@((S)93?((S)93?((S)93?((S)93?((S)93?((S)93?((d);SA((d);SA((d);SA((d);SA((d);SA((T):C@((T):C@((T):C@((T):C@((T):C@((T):C@
T&t"45w?T&s"34g>T&t"45w?T&s"34g>T&t"45w?T&s"34g>
((sd);SA((sd);SA((cT):C@((cT):C@
((sd);SA((sd);SA((cT):C@((cT):C@
((c):C@((c):C@((S)93?((S)93?
((c):C@((c):C@((S)93?((S)93?
((d);TB
((d);SA((d);SA
((c):SDA
((c):C@((c):C@
((S)93?((S)93?((S)93?
((T):C@((T):C@((T):C@
((d);TB((d);TB((d);SA((c):C@((c):DA((c):C@((d);SA((d);TB((d);SA((c):C@((c):DA((c):C@((T):DA((T):C@((T):C@((S)93?((S)93?((S)93?
((V)<cB((U);SA((f)=sC((e)<cB
((g)>DT&w"78'B((g)>E((W)=sC((W)=sC((W)=sC((f)=sCT&v"67A((f)=tD((V)<cB((V)<cB((V)<cBku	Crc>tddD]/}|jtt|t|1|jtttj
jtttj
j|jttdtjj|jttdtjjy)Nirr)
rr#hashr$sys
float_infomaxr	hash_inforr*rbs  r	test_hashzGeneralFloatCases.test_hashXssB	6AT%(^T!W5	6eCNN$6$678c#.."4"456	8eEl+S]]->->?eFm,s}}/@/@.@Arctd}|jt|tj	|Gdd}Gddt|}|d}|jt|tj	|y)Nr
ceZdZdZy)*GeneralFloatCases.test_hash_nan.<locals>.Hcyrrr)s r__hash__z3GeneralFloatCases.test_hash_nan.<locals>.H.__hash__drrN)rrrr=rrrHr;crrr>ceZdZy)*GeneralFloatCases.test_hash_nan.<locals>.FNrrrrrr@frrr)r$r#r2rr=)r*rr>rs    r
test_hash_nanzGeneralFloatCases.test_hash_nan`sfeefooe&<=			q	%efooe&<=rN)rrrr+r.rErcrgrrrrun_with_localerrrrrrrrrrrequires_IEEE_754r&r/r8rArrrrr$sO>':**:@6W\7G<:=:4A5F&64EBK2GBA
;;&
yCyCPB	>rr
__getformat__zrequires __getformat__ceZdZdZy)FormatFunctionsTestCasec4|jtjdgd|jtjdgd|jttjd|jt
tjdy)Nr
)unknownzIEEE, big-endianzIEEE, little-endianr$chickenre)rr$rDr%r&r'r)s rtest_getformatz&FormatFunctionsTestCase.test_getformatnsl

e))(3L	N

e))'2L	N*e&9&99E)U%8%8!<rN)rrrrJrrrrFrFls=rrFssssceZdZejdZejdZejeje	duddZ
y)IEEEFormatTestCasec|dtfdtfdtfdtffD]\}}t	j
||y)Nz>dz<d)
BE_DOUBLE_INF
BE_DOUBLE_NAN
LE_DOUBLE_INF
LE_DOUBLE_NANstructunpackr*fmtdatas   rtest_double_specials_do_unpackz1IEEEFormatTestCase.test_double_specials_do_unpacksG////1	%IC
MM#t$		%rc|dtfdtfdtfdtffD]\}}t	j
||y)Nz>f<f)BE_FLOAT_INFBE_FLOAT_NANLE_FLOAT_INFLE_FLOAT_NANrRrSrTs   rtest_float_specials_do_unpackz0IEEEFormatTestCase.test_float_specials_do_unpacksG....0	%IC
MM#t$		%rNneeds _testcapictj}|jtjddtjd||jtjddtjd|y)NrYgnGgn)	_testcapiFLT_MAXr#rRpack)r*rbs  rtest_serialized_float_roundingz1IEEEFormatTestCase.test_serialized_float_roundings]##T=96;;tW;UVT>:FKKwh<WXr)rrrrrCrWr^unittestskipIfrardrrrrLrLsk%%
%%
X__Y$&(9:Y;YrrLcBeZdZdZej
dZdZdZy)FormatTestCasecf|jtddd|jtddd|jtddd|jtdddd	}|jt|dt||jt|d
t||jt|dt||jt|dt||jtd
dd|jtddd|jtd
dd|jtddd|jtd
dd|jtddd|jtddd|jttdddD]}|jttd||jttd
||jttd||jttd||jttd||jttd||jttd||jtt
dd|jtt
dd |jttdd!|jttdd"y)#Nr-raz0.000000r;0.0g{Gz?0.01gg%I$I,@->2rz1.000000rz	-1.000000z fz	 1.000000z+fz	+1.000000%z-100.000000%ryrmsbcdoxXr*r)r#r!r
rrrr)r#formatrXr%r&rr)r*rbformat_specs   rtest_formatzFormatTestCase.test_formats	
S):6	
R%0b)62c*F3
2A/3Q03Q03Q0S):6c*K8d+[9d+[9d+[9d+[9	
c*N;	
*fc37%	HKj&#{Cj&#{Cj&$Dj&%Ej&&+Fj&&+Fj&';G	H	
S)51S)51S)51S)51rcttd5}|D]}|jdr|j}|s(t	t
j|j
d\}}|j
\}}|j|t|z||j|t|zd|z	dddy#1swYyxYw)Nutf-8encodingz--z->rm)	openformat_testfile
startswithstripmaprXsplitr#r$)r*testfilelinelhsrhsrUrs       rtest_format_testfilez#FormatTestCase.test_format_testfiles
/G
4	? 

???4(zz|syy$**T*:;S99;S  uSz!137  c
{!2C#I>

?	?	?	?sB,CCc|jtddd|jtddd|jtdddy)Nw/^@z.4z123.5g
ףp=J@z	1.235e+03g@z	1.235e+04r#rrr)s rtest_issue5864zFormatTestCase.test_issue5864sG.8.<.<rc|jtddd|jtddd|jtddd|jtdd	d
|jtddd|jtdd
d|jtddd
|jtddd|jtddd|jtddd|jtddd|jtdd	d|jtddd|jtddd|jtdd
d|jtdddy)Ng^@00z123.0g(\^@00fz
123.34000000ez1.233400e+0200gz123.34z00.10fz123.3400000000z00.10ez1.2334000000e+02z00.10g01fg^z-123.0g(\^z-123.340000z
-1.233400e+02z-123.34z-123.3400000000z-1.2334000000e+02rr)s rtest_issue35560zFormatTestCase.test_issue35560swt,g6.=.?.913CD13EF18<.=-x8/?/A/;24EF24EF24GH2I>rN)	rrrrtrrCrrrrrrrhrhs,12f
??=
?rrhcZeZdZdZej
eedddk(ddZy)ReprTestCasec
ttjjtjj	t
ddd5}|D]U}|j
}|r|jdr't|}|j|tt|W	dddy#1swYyxYw)Nrzfloating_points.txtrvrw#)ryospathjoinr~__file__r|r{rCr#repr)r*floats_filervs    r	test_reprzReprTestCase.test_reprs
"'',,rww}}X6q9')3:<	3?J#
3zz|ts3J  DaM2
3	3	3	3s
AB55B>float_repr_styler;short.applies only when using short float repr stylec	gd}|D]}d|z}|j|tt||j|tt||jtt|tt||jtt|tt|y)N)rj1.0rkz0.02z0.03z0.04z0.05z
1.23456789z10.0z100.0z1000000000000000.0z9999999999999990.0z1e+16z1e+17z0.001z0.001001z0.00010000000000001z0.0001z9.999999999999e-05z1e-05z8.72293771110361e+25z7.47005307342313e+26z2.86438000439698e+28z8.89142905246179e+28z3.08578087079232e+35rm)r#rr$rX)r*test_stringsrmnegss    rtest_short_reprzReprTestCase.test_short_reprs D	BAq5DQU1X/T4d#45T%(^Sq];T%+.E$K0@A
	BrN)	rrrrre
skipUnlessgetattrr3rrrrrrs@3X&8"=HIK0BK0BrrceZdZdZdZdZdZdZeje
edddk(d	d
Zeje
edddk(d	dZ
dZd
Zy)
RoundTestCasec|jttt|jttt|jttt
|jtttd|jtttd|jttt
d|jttddy)Nr-rzceci n'est pas un integerr"y?)r%rroundrr&rr'r)s rtest_inf_nanzRoundTestCase.test_inf_nan=s-4-5*eS1)UC5)USD#6)UC1LM)UD"5rc|jttdt|jttdt|jt	j
ttdy)Nr)r#rrrmathrrr)s rtest_inf_nan_ndigitsz"RoundTestCase.test_inf_nan_ndigitsFsMsA,tQ#.

5a=12rcddddddddzfD]r}|jtd	|d	|jtd
|d
|jtd|d|jtd|dt|jtd
dd
|jtddd|jtddd|jtd
dd
|jtdddy)NiDiEiillrrrw/^u<7~gP.5_i,i3go!	i4i5gSi;gir#rr*rs  rtest_large_nzRoundTestCase.test_large_nKssC%3?	7AU7A.8U8Q/:U5!_e4U61-v6		7
	
uc*E2uc*E2w,g6uc*E2x-v6rcddddddddzfD]r}|jtd	|d
|jtd|d|jtd
|d
|jtd|d
ty)Niipiilrrrr-rr"rrrrs  rtest_small_nzRoundTestCase.test_small_nWsdGVX3wG	4AU7A.4U8Q/6U5!_c2U61-s3		4rct|jttdd|jttddy)Ng3t<{rgv;w0B)r%rrr)s r
test_overflowzRoundTestCase.test_overflow^s*->-$?rrr;rrc4|jtddd|jtddd|jtddd|jtddd	|jtd
dd	|jtddd|jtd
dd|jtddd|jtddd|jtdddy)NgCregBrg9@rg4@gA@gD@gF@gK@gN@g@P@gR@gT@g@U@gW@gY@rr)s rtest_previous_round_bugsz&RoundTestCase.test_previous_round_bugsbs	
0!4+	-/3)	+	
tR$/tR$/tR$/tR$/tR$/tR$/tR$/tR%0rc	tdD]}|dz}|jtt|dt	|d|jtt|dt	|d|jtt|dt	|d|jtt|d	t	|d
tddd
D]}|dz}|jtt|dt	|d|jtt|dt	|d|jtt|dt	|d|jtt|d	t	|d
tdD]}tj
}|jtt|dt	|d|jtt|dt	|d|jtt|dt	|d|jtt|d	t	|d
y)Nig@@z.0frz.1frez.2frz.3frrir)rr#r$rrrr)r*rrbs   rtest_matches_float_formatz'RoundTestCase.test_matches_float_formattss	CA%AU6!U#34eAqkBU6!U#34eAqkBU6!U#34eAqkBU6!U#34eAqkB	Cq$#	CA%AU6!U#34eAqkBU6!U#34eAqkBU6!U#34eAqkBU6!U#34eAqkB	Cs	CA

AU6!U#34eAqkBU6!U#34eAqkBU6!U#34eAqkBU6!U#34eAqkB	Crcfd}dD]}d|ddz}d|ddz}||td||td||td||td||td	||td||td
||td
||td||td||td||tdy)
Ncvj||z|||dd}jt||||yrr)rUrexpectedr*s   rtestz0RoundTestCase.test_format_specials.<locals>.tests=S5[(C8ab'CVE3/3?r)z%ez%fz%gz%.0ez%.6fz%.20gz%#ez%#fz%#gz%#.20ez%#.15fz%#.3gz%+rez% rrr
+inf+nanz infz nan)rr)r*rrUpfmtsfmts`    rtest_format_specialsz"RoundTestCase.test_format_specialss	@F	%C#ab'>D#ab'>Dc5!sdF#c5!sdE"
sF#tV$sF#tV$
sF#tV$sF#tV$'	%rcDtdtddtddfD]*}|j|d|j|t,tdtddtddfD]*}|j|d|j|t,y)NgGz?)ndigitsreg{Gz?r)rr#rrr7s  rtest_None_ndigitszRoundTestCase.test_None_ndigitssteD$/tT1JJ	*AQ"!!!S)	*teD$/tT1JJ	*AQ"!!!S)	*rN)rrrrrrrrrerrr3rrrrrrrrr:s63

74@X&8"=HIK1K1 X&8"=HIKCKC.%<*rrc0eZdZdZdZdZdZdZdZy)
InfNanTestc	|jttd|jttd|jttd|jttd|jttd|jttd|jt	tdd|jt	tdd|jt	tdd|jt	tdd|jt	tdd|jt	tdd|jt	tdd|jt	tdd|jt	td	d|jt	td
d|jt	tdd|jt	tdd|jttdd|jttdd|jttdd|jttdd|jttdd|jttdd|j
ttd
|j
ttd|j
ttd|j
ttd|j
ttd|j
ttd|j
ttd|j
ttd|j
ttd|j
ttd|j
ttd|j
ttd|j
ttd|j
ttdy)Nrrrinfinityz	+infinity	-infinityr+Infz-iNFInfinityz	+iNfInItYz	-INFINITYinfoz+infoz-infoinz+inz-ininfinitz+Infinz-INFI	infinitysz++Infz-+infz
+-infinityz
--Infinity)rrr$r#rrXr%r&r)s rtest_inf_from_strzInfNanTest.test_inf_from_strsJeEl+,eFm,-eFm,-eJ/01eK012eK012eEl+U3eFm,e4eFm,f5eJ/0%8eK0159eK016:eEl+U3eFm,e4eFm,f5eJ/0%8eK0159eK016:U5\*E2U6]+U3U6]+V4U:./7U;/0%8U;/0&9*eV4*eW5*eW5*eT2*eU3*eU3*eY7*eX6*eW5*e[9*eW5*eW5*e\:*e\:rc|jtdd|jtdd|jtdd|jtddy)Ngrgrr#rrXr)s rtest_inf_as_strzInfNanTest.test_inf_as_strsVm,e4n-v6]+U3^,f5rcz|jttd|jttd|jttd|jt	tdd|jt	tdd|jt	tdd|jt	tdd|jt	tdd|jt	tdd|jttdd|jttdd|jttdd|j
ttd|j
ttd|j
ttd	|j
ttd
|j
ttd|j
ttd|j
ttd
|j
ttd|j
ttd|j
ttdy)Nr
r-nanrz+NAn-NaNnanaz+nanaz-nananaz+naz-naz++nanz-+NAN+-NaNz--nAn)rrr$r#rrXr%r&r)s rtest_nan_from_strzInfNanTest.test_nan_from_strseEl+,eFm,-eFm,-eEl+U3eFm,e4eFm,e4eEl+U3eFm,e4eFm,e4U5\*E2U6]+U3U6]+U3*eV4*eW5*eW5*eT2*eU3*eU3*eW5*eW5*eW5*eW5rc|jtdd|jtdd|jtdd|jtddy)Ngr
gggrr)s rtest_nan_as_strzInfNanTest.test_nan_as_strsZ/0%80159./7/0%8rc|jtdtdd|jtdtddy)Nrrrrr#rr$r)s rtest_inf_signszInfNanTest.test_inf_signss8#uU|4c:#uV}5t<rc|jtdtdd|jtdtddy)Nrr
rrrr)s rtest_nan_signszInfNanTest.test_nan_signss8#uU|4c:#uV}5t<rN)	rrrrrrrrrrrrrrs!+;Z66:9==rrcveZdZedZedZedZedZdZdZ	dZ
dZd	Zd
Z
dZy)
HexFloatTestCasez0x.fffffffffffff8p+1024z	0x1p-1022z0x0.0000000000001p-1022z0x0.0000000000001p0ct|st|rt|t|k(r%y||k(r|dk7std|td|k(ry|j|d|y)Nr-rz not identical to )rrfail)r*rbys   r	identicalzHexFloatTestCase.identical!sZ8uQxQx58#
!VcXc1%5#q9I%I		a34rc	T|j|jtdd|j|jtdd|j|jtdd|j|j
dtddtddz
zy)Nriiir(ii)rMINr	TINYEPSMAXr)s r	test_endszHexFloatTestCase.test_ends+sutxxsE!23tyy%U"34txxsC1txxU3%5c3%G!HIrcgd}|D]&}	t|}|jd|d|d(y#t$rY5wxYw)N)3infiz-Infinitz++infz-+Infz--nanrsnanNaNsnnaannfnfinityinityiinity0xnanr;rqzx1.0p0z0xX1.0p0z	+ 0x1.0p0z	- 0x1.0p0z0 x1.0p0z0x 1.0p0z	0x1 2.0p0z	+0x1 .0p0z0x1. 0p0z
-0x1.0 1p0z	-0x1.0 p0z
+0x1.0p +0z	0x1.0p -0z0x1.0p 0z
+0x1.0p+ 0z
-0x1.0p- 0z
++0x1.0p-0z	--0x1.0p0z
+-0x1.0p+0z	-+0x1.0p0z	0x1.0p++0z
+0x1.0p+-0z
-0x1.0p-+0z	0x1.0p--0z0x1.0.p0z0x.p0z0x1,p00x1pau0x1p0u0x1p0u0x1p0u	0x1.0p0z
0x1p0 
 0x2p0z0x1p0 0x1p0zExpected float.fromhex(z) to raise ValueError; got z instead)fromHexrr&)r*invalid_inputsrbresults    rtest_invalid_inputsz$HexFloatTestCase.test_invalid_inputs1sU4j 	:A
: 		./9:
	:

s1	==cdtfdtfdtfdddg}gd}|D]6\}}|D],}|D]%}t||z|z}|j||'.8y)Nrz	-Infinityr
)rr)z-0x.2g)z-0.0r")r;rq	
z
 	
)rrrr)r*value_pairs
whitespaceinprleadtrailgots        rtest_whitespacez HexFloatTestCase.test_whitespaceqs
CL
3$
CL
	
)	2MC"
2'2E!$*u"45CNN312
2	2rc;|j}|j}|j}|j}|j	tdt|j	tdt|j	tdt|j	tdt|j	tdt|j	tdt|j	tdt|j	tdt|j	td	t|j	td
t|j	tdt|j	tdt|j	td
d|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	td d|j	td!d|j	td"d|j	td#d|j	td$d|j	td%d|j	td&d|j	td'd|j	td(d|j	td)d|j	td*d+|j	td,d+|j	td-d+|j	td.d+|j	td/d0|j	td1d0|j	td2d0|j	td3d0|j	td4d0|j	td5d0|j	td6d0|j	td7d0td8}|j	td9||j	td:||j	td;||j	td<||j	td=||j	td>||j	td?||j	td@||j	tdA||j	tdB||j	td8||j	tdC||j	tdD||j	tdE||j	tdF||j	tdG||j	tdH||j	tdI||j	tdJ||j	tdK||j	tdL||j	tdM||j	tdN||j	tdO||j	tdP||j	tdQ||j	tdR||j	tdS||j	tdT||j	tdU||j	tdV||j	tdW||jtt
dX|jtt
dY|jtt
dZ|jtt
d[|jtt
d\|jtt
d]|jtt
d^|jtt
d_|jtt
d`|jtt
da|jtt
db|jtt
dc|jtt
dd|jtt
de|jtt
df|jtt
dg|jtt
dh|jtt
di|jtt
dj|j	tdk||j	tdl||j	tdm||j	tdndo|j	tdpdo|j	tdqdr|j	tdsdo|j	tdtdr|j	tdudo|j	tdvdo|j	tdwdr|j	tdxdr|j	tdydo|j	tdzdr|j	td{dr|j	td|dr|j	td}do|j	td~dr|j	tddo|j	tddo|j	tddr|j	tddr|j	tddo|j	tddr|j	tddr|j	td||j	td||j	td||j	tddo|j	tddo|j	td||j	td||j	td||j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tddr|j	tddr|j	td||j	td||j	td||j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	td|d|zz
|j	td|d|zz
|j	td|d|zz
|j	td|d|zz
|j	td|d|zz
|j	td|d|zz
|j	td|d|zz
|j	td|d|zz
|j	td|d|zz
|j	td|d|zz
|j	td||z
|j	td||z
|j	td||z
|j	td||z
|j	td||z
|j	td||z
|j	td||z
|j	td||j	td||j	td«||j	tdë||j	tdī||j	tdū||j	tdƫ||j	tdǫ||j	tdȫ||j	tdɫ||z|j	tdʫ||z|j	td˫||z|j	td̫||z|j	tdͫ||z|j	tdΫ||z|j	tdϫ||z|j	tdЫ|d|zz|j	tdѫd|z
|j	tdҫd|z
|j	tdӫd|z
|j	tdԫd|z
|j	tdիd|z
|j	td֫d|dzz
|j	td׫d|dzz
|j	tdثd|dzz
|j	td٫d|dzz
|j	tdګd|dzz
|j	td۫d|dzz
|j	tdܫd|dzz
|j	tdݫd|j	tdޫd|j	td߫d|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tdd|z|j	tddd|zz|j	tddd|zz|j	tddd|zz|j	tddd|zz|j	tddd|zz|j	tddd|zz|j	tddd|zz|j	tddd|zz|j	tddd|zz|j	tddd|zz|j	tddo|j	tddo|j	td	||j	td
do|j	tddo|j	td||j	td
do|j	td||j	tddo|j	tddo|j	tddr|j	tddoy(Nrrz-INFiNfrz	+INFINITYrz	-iNFiNitYr
z+NaNrz-nAN1rz+1z1.rz1.0p001z01.0x1z0x1.z0x1.0z+0x1.00x1p00X1p00X1P00x1P0z0x1.p0z0x1.0p0z0x.1p4z0x.1p04z0x.1p004z0x1p+0z0x1P-0z+0x1p00x01p00x1p00z 0x1p0 z
 0x1p0z0x1p0 	0xap0g$@0xAp00xaP00xAP00xbep0gg@0xBep00xbEp0z0XBE0P-40xBEp0z0xB.Ep4z0x.BEp8z	0x.0BEp12z0x1.921fb54442d18p1z0x.006487ed5110b46p11z0x.00c90fdaa22168cp10z0x.01921fb54442d18p9z0x.03243f6a8885a3p8z0x.06487ed5110b46p7z0x.0c90fdaa22168cp6z0x.1921fb54442d18p5z0x.3243f6a8885a3p4z0x.6487ed5110b46p3z0x.c90fdaa22168cp2z0x3.243f6a8885a3p0z0x6.487ed5110b46p-1z0xc.90fdaa22168cp-2z0x19.21fb54442d18p-3z0x32.43f6a8885a3p-4z0x64.87ed5110b46p-5z0xc9.0fdaa22168cp-6z0x192.1fb54442d18p-7z0x324.3f6a8885a3p-8z0x648.7ed5110b46p-9z0xc90.fdaa22168cp-10z0x1921.fb54442d18p-11z0x1921fb54442d1.8p-47z0x3243f6a8885a3p-48z0x6487ed5110b46p-49z0xc90fdaa22168cp-50z0x1921fb54442d18p-51z0x3243f6a8885a30p-52z0x6487ed5110b460p-53z0xc90fdaa22168c0p-54z0x1921fb54442d180p-55z	-0x1p1024z	0x1p+1025z	+0X1p1030z
-0x1p+11000X1p123456789123456789z+0X.8p+1025z+0x0.8p1025z-0x0.4p1026z	0X2p+1023z	0x2.p1023z-0x2.0p+1023z
+0X4p+1022z0x1.ffffffffffffffp+1023z-0X1.fffffffffffff9p1023z0X1.fffffffffffff8p1023z+0x3.fffffffffffffp1022z0x3fffffffffffffp+9700x10000000000000000p960z-0Xffffffffffffffffp960z+0x1.fffffffffffffp+1023z-0X1.fffffffffffff7p1023z$0X1.fffffffffffff7fffffffffffffp10230x0p0r-0x0p1000z	-0x0p1023r"0X0p1024z	-0x0p10250X0p20000x0p123456789123456789z-0X0p-0z
-0X0p-1000z	0x0p-1023z
-0X0p-1024z
-0x0p-1025z
-0x0p-1072z	0X0p-1073z
-0x0p-1074z	0x0p-1075z	0X0p-1076z
-0X0p-2000z-0x0p-123456789123456789z	0X1p-1075z
-0X1p-1075z-0x1p-123456789123456789z0x1.00000000000000001p-1075z-0x1.1p-1075z0x1.fffffffffffffffffp-1075z	0x1p-1076z	0X2p-1076z	0X3p-1076z	0x4p-1076z	0X5p-1076z	0X6p-1076rz	0x7p-1076z	0X8p-1076z	0X9p-1076z	0xap-1076z	0Xbp-1076rz	0xcp-1076z	0Xdp-1076z	0Xep-1076rfz	0xfp-1076z
0x10p-1076z
-0x1p-1076z
-0X2p-1076z
-0x3p-1076z
-0X4p-1076z
-0x5p-1076z
-0x6p-1076rz
-0X7p-1076z
-0X8p-1076z
-0X9p-1076z
-0Xap-1076z
-0xbp-1076z
-0xcp-1076z
-0Xdp-1076z
-0xep-1076z
-0Xfp-1076z-0X10p-1076z0x0.ffffffffffffd6p-1022z0x0.ffffffffffffd8p-1022z0x0.ffffffffffffdap-1022z0x0.ffffffffffffdcp-1022z0x0.ffffffffffffdep-1022z0x0.ffffffffffffe0p-1022z0x0.ffffffffffffe2p-1022z0x0.ffffffffffffe4p-1022z0x0.ffffffffffffe6p-1022z0x0.ffffffffffffe8p-1022z0x0.ffffffffffffeap-1022z0x0.ffffffffffffecp-1022z0x0.ffffffffffffeep-1022z0x0.fffffffffffff0p-1022z0x0.fffffffffffff2p-1022z0x0.fffffffffffff4p-1022z0x0.fffffffffffff6p-1022z0x0.fffffffffffff8p-1022z0x0.fffffffffffffap-1022z0x0.fffffffffffffcp-1022z0x0.fffffffffffffep-1022z0x1.00000000000000p-1022z0x1.00000000000002p-1022z0x1.00000000000004p-1022z0x1.00000000000006p-1022z0x1.00000000000008p-1022z0x1.0000000000000ap-1022z0x1.0000000000000cp-1022z0x1.0000000000000ep-1022z0x1.00000000000010p-1022z0x1.00000000000012p-1022z0x1.00000000000014p-1022z0x1.00000000000016p-1022z0x1.00000000000018p-1022z0x0.fffffffffffff0p0z0x0.fffffffffffff1p0z0X0.fffffffffffff2p0z0x0.fffffffffffff3p0z0X0.fffffffffffff4p0z0X0.fffffffffffff5p0z0X0.fffffffffffff6p0z0x0.fffffffffffff7p0z0x0.fffffffffffff8p0z0X0.fffffffffffff9p0z0X0.fffffffffffffap0z0x0.fffffffffffffbp0z0X0.fffffffffffffcp0z0x0.fffffffffffffdp0z0X0.fffffffffffffep0z0x0.ffffffffffffffp0z0X1.00000000000000p0z0X1.00000000000001p0z0x1.00000000000002p0z0X1.00000000000003p0z0x1.00000000000004p0z0X1.00000000000005p0z0X1.00000000000006p0z0X1.00000000000007p0z(0x1.00000000000007ffffffffffffffffffffp0z0x1.00000000000008p0z&0x1.00000000000008000000000000000001p0rez0X1.00000000000009p0z0x1.0000000000000ap0z0x1.0000000000000bp0z0X1.0000000000000cp0z0x1.0000000000000dp0z0x1.0000000000000ep0z0X1.0000000000000fp0z0x1.00000000000010p0z0X1.00000000000011p0z0x1.00000000000012p0z0X1.00000000000013p0z0X1.00000000000014p0z0x1.00000000000015p0z0x1.00000000000016p0z0X1.00000000000017p0z(0x1.00000000000017ffffffffffffffffffffp0z0x1.00000000000018p0z&0X1.00000000000018000000000000000001p0z0x1.00000000000019p0z0X1.0000000000001ap0z0X1.0000000000001bp0z0x1.0000000000001cp0z0x1.0000000000001dp0z0x1.0000000000001ep0z0X1.0000000000001fp0z0x1.00000000000020p0z
0x.8p-1074z0x.80p-1074z0x.81p-1074z	0x8p-1078z0x8.0p-1078z0x8.1p-1078z
0x80p-1082z
0x81p-1082z.8p-1074z8p-1078z	-.8p-1074z+8p-1078)
rrrrrrrrr%r)r*rrrrpis      r
test_from_hexzHexFloatTestCase.test_from_hexshhhhyyhh	
wu~s+wv,wv-wu~s+wz*C0w{+S1w{+cT2w{+cT2	
wu~s+wv,wv,wv,	
ws|S)wt}c*wt}c*wu~s+ww'-wt}c*wu~s+wu~s+wv,ww'-wx(#.ww'-ww'-ww'-ww'-wx(#.wy)3/wx(#.wy)3/wz*C0wx(#.wx(#.wx(#.wx(#.wx(#.wy)3/wz*C0wz*C0ww'.ww'.ww'.ww'.wx(%0wx(%0wx(%0wz*E2wx(%0wy)51wy)51w{+U3*
+w67<w67<w56;w45r:w45r:w45r:w45r:w34b9w34b9w34b9w45r:w34b9w45r:w45r:w56;w45r:w45r:w45r:w56;w45r:w45r:w56;w67<w67<w45r:w45r:w45r:w56;w56;w56;w56;w67<	
-+>-+>-+>-,?-2JK--@--@--@-+>-+>-.A-,?-2LM-2LM-2KL-2KL-2IJ-2KL-2KL	
w9:C@w9:SDAwEFL	
ww'-wz*C0w{+T2wz*C0w{+T2wz*C0w78#>wy)40w|,d3w{+S1w|,d3w|,d3w|,d3w{+S1w|,d3w{+S1w{+S1w|,d3w9:DA	
w{+S1w|,d3w9:DAw<=tDw~.6w<=tD	
w{+S1w{+S1w{+T2w{+T2w{+T2w{+QtV4w{+QtV4w{+QtV4w{+QtV4w{+QtV4w{+QtV4w{+QtV4w{+QtV4w{+QtV4w{+QtV4w|,af5w|,d3w|,d3w|,te4w|,te4w|,te4w|,bg6w|,bg6w|,bg6w|,bg6w|,bg6w|,bg6w|,bg6w|,bg6w|,bg6w|,bg6w}-r$w7	
w9:C$JGw9:C$JGw9:C$JGw9:C$JGw9:C$JGw9:C$JGw9:C$JGw9:C$JGw9:C$JGw9:C$JGw9:CHEw9:CHEw9:CHEw9:CHEw9:CHEw9:CHEw9:CHEw9:C@w9:C@w9:C@w9:C@w9:C@w9:C@w9:C@w9:C@w9:C@w9:CHEw9:CHEw9:CHEw9:CHEw9:CHEw9:CHEw9:CHEw9:C$JG	
w56C@w56C@w56C@w56C@w56C@w56CE	Bw56CE	Bw56CE	Bw56CE	Bw56CE	Bw56CE	Bw56CE	Bw56<w56<w56<w56<w56<w56<w56<w56<w56<w56<w56<w56<wIJ	w56<wGHu	w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@wIJ3w	 w56AcE	BwGH1S5y	"w56AcE	Bw56AcE	Bw56AcE	Bw56AcE	Bw56AcE	Bw56AcE	Bw56AcE	Bw56AcE	B	
w|,c2w}-s3w}-t4w{+S1w}-s3w}-t4w|,c2w|,d3wz*C0wy)3/w{+T2wz*C0rc	"d}tt|j|j|j|jz
|jdfD]4}|j||||j|||6ddl}tdD]n}|jdd}|j}|jddg}	|t||z}|j|tt|py#t$rY}wxYw)	Nc*tt|Sr1)rtoHexrs r	roundtripz2HexFloatTestCase.test_roundtrip.<locals>.roundtrips58$$rr-rriPirr)rrrrrrrr	randrangechoicer	rr/r)r*r0rbrremrms        rtest_roundtripzHexFloatTestCase.test_roundtrips	%sDHHdhh0BDIIsS	.ANN1il+NNA2y!}-	.
	u		5A   -A

A

sDk*A
5eAqkMq'%("34		5!

sD	D
DcGddt}|jdj}|jt	|||j|dGddt}|jdj}|jt	|||j|d|jt
|ddd	y)
NceZdZdZy))HexFloatTestCase.test_subclass.<locals>.Fc4tj||dzSrrrs  rrz1HexFloatTestCase.test_subclass.<locals>.F.__new__s}}S%!)44rN)rrrrrrrrr8s
5rrrr|ceZdZdZy)*HexFloatTestCase.test_subclass.<locals>.F2cd|_y)Nbar)foors  rrz3HexFloatTestCase.test_subclass.<locals>.F2.__init__s	 rNrrrrF2r;s
!rr?r>noner=)r$fromhexhexrr_r#r)r*rrar?s    r
test_subclasszHexFloatTestCase.test_subclasss	5	5
IIsiik"

d1gq!C 	!	!
JJyy{#

d1gr"C E62E:rN)rrrrrrrrrrrrr,r5rCrrrrrsT
+
,C
+
C,-D
'
(C5J=:@24i1V	5*;rrreg@?gp>g<rrfrr_ceZdZdZdZdZy)	PackTestsc|jtjddtd|jtjddtd|jtjddtd|jtjddtd|jtjddtd	|jtjddtd
y)Nrr>rf?r?>??)r#ra
float_pack
BIG_ENDIAN
LITTLE_ENDIANr)s r	test_packzPackTests.test_packs--ajA!	#--ajA)	+--ajA9	;--amD!	#--amD)	+--amD9	;rc|jtjdtd|jtjdtd|jtjdtd|jtjdtd|jtjdtd|jtjdtdy)NrHrrIrJrKrLrM)r#rafloat_unpackrOrPr)s rtest_unpackzPackTests.test_unpacks//*E	//0@*M	//0PR\]	//-H	//0@-P	//0PR_`	rc\d}dd|dtjg}tr|jtt
f|D]}dD]}|dk(r||k(rt|}ttfD]}|j|||5tj|||}tj||}t|r|jt|||fnB|dkr+|jtj|||	||fn|j!||dddy#1swYxYw)
Ng0Frrg$I$I?rDr)rsizeendianr)rel_tol)rr+
HAVE_IEEE_754extendrrEPSILONrOrPr^rarNrSrriscloser#)	r*largevaluesrrVrXrWrVvalue2s	         rr5zPackTests.test_roundtrips$sE5$''2MM3*%	<E"
<19%!$-)=9
<FEVL	<(33D%H!*!7!7f!E < OOE&ME6?K!AX OODLLPW,X-2FO=!,,VU;	<	<
<
<	<	<	<s
:BD"	"D+
N)rrrrQrTr5rrrrFrFs;<rrF__main__)Drr$rrr3rRrrerrtest.test_grammarrrrrrrr	rar]r$rDr{rYrrrdirnamercurdirtest_dirrrzrrTestCaserrhasattrrFrNrYreversedrPrOrQrZr\r[r]rLrhrrCrrrArrBr/rrOrPr[rfrFrmainrrr<module>risx	


<..##H-88@
ElEl77??8$1		'',,x)DE	E			E	>))E	>PWUO46NO=h//=P=4
h}-.
3
h}-.
"Xl+,"Xl+,Y**Y2Z?X&&Z?x=B8$$=B~	v*H%%v*v*v`=""`=F--
		@;x((@;J

d"$562<!!2<72<jzHMMOY0IsI

II