python (3.11.7)

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

e[ddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
mZddlmZmZmZmZddlZ	ddlZn
#e$rdZYnwxYweddZedZed	ZejepejZ ej!e d
Z"GddeZ#Gd
deZ$Gddej%Z&ej'e(eddGddej%Z)dZ*e+e,e*Z-dZ.e+e,e.Z/dZ0e+e,e0Z1dZ2e+e,e2Z3Gddej%Z4Gddej%Z5Gddej%Z6e	j7Gdd ej%Z8Gd!d"ej%Z9ej:Z;ej<Z=Gd#d$ej%Z>dZ?d%Z@d&d'd(d)ZAejBedud*Gd+d,ej%ZCeDd-krejEdSdS).N)support)
import_helper)VALID_UNDERSCORE_LITERALSINVALID_UNDERSCORE_LITERALS)isinfisnancopysignldexpdoubleIEEEinfnanzformatfloat_testcases.txtceZdZdS)
FloatSubclassN__name__
__module____qualname__C/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_float.pyrrDrrceZdZdS)OtherFloatSubclassNrrrrrr"rrrceZdZdZdZdZdZdZdZe	j
ddd	d
ZdZdZ
d
ZdZdZdZdZdZdZe	jdZe	jdZdZdZdS)GeneralFloatCasesc|tdd|tdd|tdd|ttd|ttd|ttd|ttd|ttd	|ttd
|ttd|ttd|ttd
|ttd|ttd|tti|tdti|ttd|ttd|ttd|tdd|tddtdtd|ttddS)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'sVtd+++sU+++z**D111*e[999*e^<<<*e^<<<*eX666*eX666*eX666*eX666*eV444*eW555*eS111*eT222)UB///y,rBBB*eX666*eY777*eW5558994@@@=>>EEE

n	
*e-MNNNNNrcJ|tddS)N)r$r%r*s rtest_noargszGeneralFloatCases.test_noargsFs"#&&&&&rc
\tD]tfddDst|tt	|ttddtD]CdvrtfddDs!|ttD|ttd|ttd|ttd	|ttd
|ttd|ttddS)
Nc3 K|]}|vV	dSNr.0chlits  r	<genexpr>z5GeneralFloatCases.test_underscores.<locals>.<genexpr>K'66RrSy666666rjJxXoObB_)0_709_99c3 K|]}|vV	dSr2rr3s  rr7z5GeneralFloatCases.test_underscores.<locals>.<genexpr>Qr8r_NaNNa_NIN_Fz-_INFz-INF_s0_.9)	ranyr$r%evalreplacerr&r')r+r6s @rtest_underscoresz"GeneralFloatCases.test_underscoresIs,	J	JC6666:66666
J  sT#YY777  sU3;;sB3G3G-H-HIII.	:	:C&&&6666:66666
:!!*eS999	
*eV444*eV444*eV444*eW555*eW555*e[99999rcGddtGddt}Gddt}ttfd||tg}	dd	lm|fd
n#t$rYnwxYw|D]}|d}|t|5|	t|d|td
5t|ddddn#1swxYwYdddn#1swxYwYdS)NceZdZdS)AGeneralFloatCases.test_non_numeric_input_types.<locals>.CustomStrNrrrr	CustomStrrHarrIceZdZdS)CGeneralFloatCases.test_non_numeric_input_types.<locals>.CustomBytesNrrrrCustomBytesrLbrJrrMceZdZdS)GGeneralFloatCases.test_non_numeric_input_types.<locals>.CustomByteArrayNrrrrCustomByteArrayrOcrJrrPc>|Sr2)decode)brIs r<lambda>z@GeneralFloatCases.test_non_numeric_input_types.<locals>.<lambda>hsii

++rr)arraycd|S)NBr)rSrUs rrTz@GeneralFloatCases.test_non_numeric_input_types.<locals>.<lambda>rsuuS!}}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######
44445555			D	
	*	*A*

Ad1gg&&
*
*  q4000++J8KLL**!!K..)))***************
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*	*	*sHA66
BB7?D26DD2DD2"D#D22D6	9D6	c6|ttdddd|ttdddd|ttdddd|ttdddd|ttdddddS)	Ns12.3gffffff@s12.3s12.3 s12.3As12.34)r$r%r[r*s rtest_float_memoryviewz'GeneralFloatCases.test_float_memoryview{sz'221Q3788#>>>z+66qs;<<cBBBz(33AaC8993???z(33AaC8993???z(33AaC8993?????rc0fd}|d|d|d|d|d|d|d|d	|d
|d|d|d
|ddS)Nctd|d5}t|dddn#1swxYwYt	|jd|dS)Nzfloat())msgz#could not convert string to float: )r&r'r%r$rX	exception)scmr+s  rcheckz3GeneralFloatCases.test_error_message.<locals>.checks""::!!!3E"FF
"a














S...;<1>
@
@
@
@
@s>AA½u123½z  123 456  s  123 456  r; z	 
u٣١٤!z123z123 245z123245s123s123r)r+ros` rtest_error_messagez$GeneralFloatCases.test_error_messages	@	@	@	@	@	f



i
m
n
b			
c



g	#$$$
i
m
l
j
jr
LC_NUMERICfr_FRde_DEcddl}|ddks|d|t	dd|t	dd|t	dd	|t	d
d|t	dd
|t	dd|t	dd|t	dd|t	dd|ttd|ttd|ttd|ttd|ttd|ttd|t	dd|t	dddS) 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  r r!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_commas
	


  ""?3s::MM4555z**D111y))4000y))5111w---v,,,x&111y))6222z**D111v,,,*eZ888*e[999*e[999*e[999*e^<<<*e^<<<|,,c222u\22D99999rc	Gddt}Gddt}Gddt}Gddt}Gd	d
t}|t|d|t|d|t
5|t|dddddn#1swxYwY|tt|d
|t|ddGdd}|ttj	|Gdd}|t
5|t|ddddn#1swxYwY|t
5|
tt|tdddn#1swxYwY|t
5|t|ddddn#1swxYwY|t
5|
tt|tdddn#1swxYwYGdd}|t|d
d|tt|ddzGdd}	|tt|	dS)NceZdZdZdS)4GeneralFloatCases.test_floatconversion.<locals>.Foo1cdSNE@rr*s r	__float__z>GeneralFloatCases.test_floatconversion.<locals>.Foo1.__float__srNrrrrrrrFoo1r#




rrceZdZdZdS)4GeneralFloatCases.test_floatconversion.<locals>.Foo2cdSrrr*s rrz>GeneralFloatCases.test_floatconversion.<locals>.Foo2.__float__rrNrrrrFoo2rrrrceZdZddZdZdS)4GeneralFloatCases.test_floatconversion.<locals>.Foo3r.c>t|d|zS)Nr%__new__clsvalues  rrz<GeneralFloatCases.test_floatconversion.<locals>.Foo3.__new__s}}S!E'222rc|Sr2rr*s rrz>GeneralFloatCases.test_floatconversion.<locals>.Foo3.__float__srN)r.)rrrrrrrrFoo3rs7
3
3
3
3




rrceZdZdZdS)4GeneralFloatCases.test_floatconversion.<locals>.Foo4cdSN*rr*s rrz>GeneralFloatCases.test_floatconversion.<locals>.Foo4.__float__rrNrrrrFoo4r#




rrceZdZdZdS)6GeneralFloatCases.test_floatconversion.<locals>.FooStrc@tt|dzSNre)r%rXr*s rrz@GeneralFloatCases.test_floatconversion.<locals>.FooStr.__float__sSYY''!++rNrrrrFooStrrs#
,
,
,
,
,rrrr8g"@ceZdZdZdS)4GeneralFloatCases.test_floatconversion.<locals>.Foo5cdS)Nr;rr*s rrz>GeneralFloatCases.test_floatconversion.<locals>.Foo5.__float__rrNrrrrFoo5rrrrceZdZdZdS)1GeneralFloatCases.test_floatconversion.<locals>.Fc tdSr)rr*s rrz;GeneralFloatCases.test_floatconversion.<locals>.F.__float__s)#...rNrrrrFrs#
/
/
/
/
/rrceZdZdZdZdS)7GeneralFloatCases.test_floatconversion.<locals>.MyIndexc||_dSr2rr+rs  r__init__z@GeneralFloatCases.test_floatconversion.<locals>.MyIndex.__init__s
"


rc|jSr2rr*s r	__index__zAGeneralFloatCases.test_floatconversion.<locals>.MyIndex.__index__s
z!rN)rrrrrrrrMyIndexrs2
#
#
#
"
"
"
"
"rrriceZdZdZdS)5GeneralFloatCases.test_floatconversion.<locals>.MyIntcdSrrr*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_floatconversionsw					6								5								5								5				,	,	,	,	,S	,	,	,	
ttvv,,,ttvv,,,


0
1
1	3	3U4488__c222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3)UDDHH555vvc{{++R000									
)TZ888	/	/	/	/	/	/	/	/

0
1
1	.	.U1133ZZ---	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.


0
1
1	3	3MM$uQQSSzz**E222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3


0
1
1	6	6]1133//555	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6


0
1
1	C	CMM$}QQSS1122MBBB	C	C	C	C	C	C	C	C	C	C	C	C	C	C	C	"	"	"	"	"	"	"	"	
wwr{{++T222-40@0@AAA									
)UEEGG44444sZ-D		D
D
,HHH)>I33I7:I7,KKK5>L??MMc|td5tdddddS#1swxYwYdS)Nzkeyword argumentz3.14rb)r)r(r%r*s rtest_keyword_argsz#GeneralFloatCases.test_keyword_argss

#
#I/A
B
B		FOOOO																		s
:>>cNGddt}|d}|t|||t|d|t
5|ddddn#1swxYwYGddt}|dd	}|t|||t|d||jdGd
dt}|dd	}|t|||t|d||jddS)NceZdZdS)=GeneralFloatCases.test_keywords_in_subclass.<locals>.subclassNrrrrsubclassrDrrr|rrceZdZddZdS)GGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_initNc||_dSr2newarg)r+argrs   rrzPGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_init.__init__	s
$rr2rrrrrrrsubclass_with_initrs(
%
%
%
%
%
%rrrc eZdZdfd	ZxZS)FGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_newNcZt||}||_|Sr2)superrr)rrrr+	__class__s    rrzNGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_new.__new__s&wwsC00$rr2)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			HSMM

d1ggx(((q3'''


y
)
)		HqMMMM																%	%	%	%	%	%	%	%
s1---

d1gg1222q3'''1%%%								

c!,,,

d1gg0111q3'''1%%%%%s?
BBBcr|d|d|td|tddS)Ng??rr
)assertFalse
is_integer
assertTruer%r*s rtest_is_integerz!GeneralFloatCases.test_is_integers#))++,,,))***u0022333u002233333rcdD]-\}}|||.tdD]}}tj}|dtjddzz}|\}}|t|||~tj}||dd|td||d	d
|td||dd
|td||d
d|td||dd|td||dd|td|	ttdj|	ttdj|	ttdjdS)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_floatasratio s	:	:HAu
Q//1159999u	9	9A
A
v~dC0000A%%''DAqU1XX11!44a88881aE#JJ7799:	<	<	<1aE#JJ7799:	<	<	<1aE#JJ7799:	<	<	<+-=>>E#JJ7799:	<	<	<,.>??E$KK88::;	=	=	=5!E'NN;;==>	@	@	@	
-u)FGGG-v)GHHH*eEll&CDDDDDrc	ttddtf}|D]}|||g|||f|||h|||di||g|dd|z||||D]}||g|gkd|d|d||f|fkd|d	|d
||h|hkd|d|d
||di|dikd|d|d|g|f|h|dif\}}}}|||kd|z|||kd|z|||kd|z|||kd|zdS)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_containmentAs7tS#s+	%	%AMM!aS!!!MM!aT"""MM!aS!!!MM!aY'''aSYYq\\1.Ca.GHHHMM!V$$$$
	K
	KAOOQCA3JJ!!!QQQ(?@@@OOQDQDLLaaa*CDDDOOQCA3JJ!!!QQQ(?@@@OOQJ1d)33DEAAqqq6J
K
K
KqdQC!T2JAq!QOOAF$>$BCCCOOAF$?!$CDDDOOAF$>$BCCCOOAF$E$IJJJJ
	K
	Krcr||td|f|td|fdS)Nr)r$r	)r+arSs   rassertEqualAndEqualSignz)GeneralFloatCases.assertEqualAndEqualSignZs>	
!Xc1--.HS!4D4D0EFFFFFrc|tdt|tdd|tdd|tdd|tdd|tdd|td	d
|tdd|tdd|ttd
j|ttdj|ttdjdS)Nr{rrre?NݯbNݯrr
r)assertIsInstancer%	__floor__intr$r&r'rr*s rtest_float_floorz"GeneralFloatCases.test_float_floor`seCjj2244c:::s--//333s--//333s--//333t..00"555t..00"555t..00"555x2244h???y))3355yAAA*eEll&<===-u)?@@@-v)@AAAAArc|tdt|tdd|tdd|tdd|tdd|tdd	|td
d	|tdd|tdd|ttd
j|ttdj|ttdjdS)Nr{rerrrrrrrrrrrr
r)rr%__ceil__rr$r&r'rr*s rtest_float_ceilz!GeneralFloatCases.test_float_ceilnseCjj1133S999s,,..222s,,..222s,,..222t--//333t--//444t--//444x1133X>>>y))2244i@@@*eEll&;<<<-u)>???-v)?@@@@@rctj}||ddd||ddd||ddd||ddd||ddd||ddd||ddd||ddd||ddd||ddd||ddd||ddddS)Nrrr.0.+0.++)operatormodr)r+r%s  rtest_float_modz GeneralFloatCases.test_float_mod|sl$$SSs^^S999$$SS#%6%6<<<$$SSs^^S999$$SSc]]C888$$SS%5%5v>>>$$SSc]]C888$$SSt__d;;;$$SS$%7%7AAA$$SSt__d;;;$$SSd^^T:::$$SS%6%6===$$SSd^^T:::::rc	p'ttjfD]}|t|tt
|t|dt
|t|dt
|t|dt
|t|dt
|t|dt
|t|dt
|t|dt
|t|tt
|t|t
t
|t|t
t|t|t
d|t|t
d|t|t
d|t|t
d|t|t
d|t|t
d|t|t
t|t|dd|t|dd|t|dd|t|dd|t|dd|t|dd||ddd||ddd||ddd||ddd||ddd||ddd||dtd||dtd||dtd||ddd||ddd||ddd||ddd||ddd||ddd||ddd||ddd||dtd||dt
d||tdd||ddd||ddd||ddd||ddd||ddd||ddd||ddd||ddd||tdd||t
dd||tdd||ddd||ddd||ddd||ddd||ddd||ddd||ddd||ddd||tdd||t
dd|	t|ddt|	t|ddt|	t|ddt|	t|ddt|	t|ddt|	t|ddt||dtt||dtt||dtt||dtt||ttd||dtd||dtd||ttd||dtd||dtd||dtd||dtd||ttt||dtt||dtt||ttt||tdd||tdd||tdd||tdt||tdt||tdt||tdt||tdt||tdt||tdd||tdd||tdd||ddd	||ddd||ddd||ddd||ddd||ddd
||ddd||ddd||ddd||ddd||ddd||ddd||ddd	||ddd||ddd||ddd||ddd||ddd
||ddd||ddd||ddd||ddd||dd
d|	t|ddt||ddd||dd
d||ddd||ddd||ddd|	t|ddt||ddd||ddd||ddd||ddddS)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	Cu	CFOOE&&#s"3"344555OOE&&s"3"344555OOE&&s"3"344555OOE&&s"3"344555OOE&&s"3"344555OOE&&c"2"233444OOE&&c"2"233444OOE&&c"2"233444OOE&&c"2"233444OOE&&c"2"233444
OOE&&sd"3"344555OOE&&d"3"344555OOE&&d"3"344555OOE&&d"3"344555OOE&&c"2"233444OOE&&c"2"233444OOE&&c"2"233444OOE&&c"2"233444
/tDDD/dCCC
/tDDD/tDDD/dCCC/dCCC
((c):):DAAA((S)9)93???
((c):):C@@@((c):):C@@@((S)9)93???((S)9)93???
((sd););SAAA((c):):C@@@
((cT):):C@@@((T):):C@@@((T):):C@@@((T):):C@@@((T):):C@@@((S)9)93???((S)9)93???((S)9)93???((S)9)93???((S)9)93???((S)9)93???
((c):):C@@@((c):):C@@@((c):):C@@@((c):):C@@@((c):):C@@@((S)9)93???((S)9)93???((S)9)93???((S)9)93???((S)9)93???((S)9)93???((d););SAAA((d););SAAA((d););SAAA((d););SAAA((d););SAAA((T):):C@@@((T):):C@@@((T):):C@@@((T):):C@@@((T):):C@@@((T):):C@@@
T&&t"4"455w???T&&s"3"344g>>>T&&t"4"455w???T&&s"3"344g>>>T&&t"4"455w???T&&s"3"344g>>>
((sd););SAAA((sd););SAAA((cT):):C@@@((cT):):C@@@
((sd););SAAA((sd););SAAA((cT):):C@@@((cT):):C@@@
((c):):C@@@((c):):C@@@((S)9)93???((S)9)93???
((c):):C@@@((c):):C@@@((S)9)93???((S)9)93???
((d););TBBB
((d););SAAA((d););SAAA
((c):):SDAAA
((c):):C@@@((c):):C@@@
((S)9)93???((S)9)93???((S)9)93???
((T):):C@@@((T):):C@@@((T):):C@@@
((d););TBBB((d););TBBB((d););SAAA((c):):C@@@((c):):DAAA((c):):C@@@((d););SAAA((d););TBBB((d););SAAA((c):):C@@@((c):):DAAA((c):):C@@@((T):):DAAA((T):):C@@@((T):):C@@@((S)9)93???((S)9)93???((S)9)93???
((V)<)<cBBB((U););SAAA((f)=)=sCCC((e)<)<cBBB
((g)>)>DDDT&&w"7"788'BBB((g)>)>EEE((W)=)=sCCC((W)=)=sCCC((W)=)=sCCC((f)=)=sCCCT&&v"6"677AAA((f)=)=tDDD((V)<)<cBBB((V)<)<cBBB((V)<)<cBBBBku	Cu	CrcttddD]?}|tt|t|@|tttjjtttjj|ttdtjj	|ttdtjj	dS)Nir
r)
rr$hashr%sys
float_infomaxr	hash_infor
r+rbs  r	test_hashzGeneralFloatCases.test_hashYssB	6	6AT%((^^T!WW5555eCN$67788c#."45566	8	8	8eEll++S]->???eFmm,,s}/@.@AAAAArchtd}|t|t|Gdd}Gddt|}|d}|t|t|dS)NrceZdZdZdS)*GeneralFloatCases.test_hash_nan.<locals>.HcdSrrr*s r__hash__z3GeneralFloatCases.test_hash_nan.<locals>.H.__hash__errN)rrrr=rrrHr;drrr>ceZdZdS)*GeneralFloatCases.test_hash_nan.<locals>.FNrrrrrr@grrr)r%r$r2rr=)r+rr>rs    r
test_hash_nanzGeneralFloatCases.test_hash_nanaseefooe&<&<===													q			%efooe&<&<=====rN)rrrr,r/rErcrgrrrrun_with_localerrrrrrrrrrrequires_IEEE_754r&r/r8rArrrrr%sOOO>''':::****:@@@6W\7G<<::=<:4A5A5A5F&&&6444EEEBKKK2GGGBBBAAA
;;;&
yCyCyCPBBB	>	>	>	>	>rr
__getformat__zrequires __getformat__ceZdZdZdS)FormatFunctionsTestCasec^|tdgd|tdgd|ttjd|t
tjddS)Nr)unknownzIEEE, big-endianzIEEE, little-endianr%chickenre)rr%rDr&r'r(r*s rtest_getformatz&FormatFunctionsTestCase.test_getformatos

e))(33LLL	N	N	N

e))'22LLL	N	N	N*e&99EEE)U%8!<<<<<rN)rrrrJrrrrFrFms#=====rrFssssceZdZejdZejdZejeje	duddZ
dS)IEEEFormatTestCasecdtfdtfdtfdtffD]\}}t	j||dS)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_unpacksX////1	%	%IC
M#t$$$$		%	%rcdtfdtfdtfdtffD]\}}t	j||dS)Nz>f<f)BE_FLOAT_INFBE_FLOAT_NANLE_FLOAT_INFLE_FLOAT_NANrRrSrTs   rtest_float_specials_do_unpackz0IEEEFormatTestCase.test_float_specials_do_unpacksX....0	%	%IC
M#t$$$$		%	%rNneeds _testcapictj}|tjddtjd||tjddtjd|dS)NrYgnGgn)	_testcapiFLT_MAXr$rRpack)r+rbs  rtest_serialized_float_roundingz1IEEEFormatTestCase.test_serialized_float_roundingsp#T=996;tW;U;UVVVT>::FKwh<W<WXXXXXr)rrrrrCrWr^unittestskipIfrardrrrrLrLs%%%
%%%
X_Y$&(9::YY;:YYYrrLc@eZdZdZejdZdZdZdS)FormatTestCasec|tddd|tddd|tddd|tdddd	}|t|dt||t|d
t||t|dt||t|dt||td
dd|tddd|td
dd|tddd|td
dd|tddd|tddd|ttdddD]}|ttd||ttd
||ttd||ttd||ttd||ttd||ttd||tt
dd|tt
dd |ttdd!|ttdd"dS)#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!rrrr
r)r$formatrXr&r'rr)r+rbformat_specs   rtest_formatzFormatTestCase.test_formatsm	
S)):666	
R%000b))6222c**F333
2A///3Q0003Q0003Q000S)):666c**K888d++[999d++[999d++[999d++[999	
c**N;;;	
*fc3777%	H	HKj&#{CCCj&#{CCCj&$DDDj&%EEEj&&+FFFj&&+FFFj&';GGGG	
S))5111S))5111S))5111S))511111rcttd5}|D]}|dr|}|s0t	t
j|d\}}|\}}t|}|||z||||zd|z|dkrV|dd}|t||||t||d|z	ddddS#1swxYwYdS)Nutf-8encodingz--z->rmz%rre)
openformat_testfile
startswithstripmaprXsplitr%r$rr)	r+testfilelinelhsrhsrUrrafmt2s	         rtest_format_testfilez#FormatTestCase.test_format_testfiles
/G
4
4
4	B 
B
B??4((zz||sy$**T*:*:;;S99;;S#JJ  q#...  r39555$;;qrr7D$$VAt__c:::$$VQB%5%5sSyAAA
B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	BsDEE	Ec|tddd|tddd|tddddS)Nw/^@z.4z123.5g
ףp=J@z	1.235e+03g@z	1.235e+04r$rrr*s rtest_issue5864zFormatTestCase.test_issue5864sh..888..<<<..<<<<<rc|tddd|tddd|tddd|tdd	d
|tddd|tdd
d|tddd
|tddd|tddd|tddd|tddd|tdd	d|tddd|tddd|tdd
d|tddddS)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_issue35560s
t,,g666..===..???..999113CDDD113EFFF118<<<..===--x888//???//AAA//;;;224EFFF224EFFF224GHHH22I>>>>>rN)	rrrrtrrCrrrrrrrhrhsd121212f
BBB&===
?????rrhcfeZdZdZejeedddkddZdS)ReprTestCasec
ttjtjt
ddd5}|D]m}|}|r|dr.t|}|	|tt|n	ddddS#1swxYwYdS)Nrzfloating_points.txtrvrw#)ryospathjoinr~__file__r|r{rCr$repr)r+floats_filervs    r	test_reprzReprTestCase.test_reprs
"',,rw}}X66q9'))3:<<<	3?J#
3
3zz||ts33JJ  DaMM2222
3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3sA1CCCfloat_repr_styler;short.applies only when using short float repr stylec	
gd}|D]}d|z}||tt|||tt||tt|tt||tt|tt|dS)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_reprs   D	B	BAq5DQU1XX///T4d#4#4555T%((^^Sq]];;;T%++..E$KK0@0@AAAA
	B	BrN)	rrrrre
skipUnlessgetattrr3rrrrrrsr333X&8"==HIKK0B0BKK0B0B0BrrceZdZdZdZdZdZdZej	e
edddkd	d
Zej	e
edddkd	dZ
dZd
ZdS)
RoundTestCasec|ttt|ttt|ttt
|tttd|tttd|ttt
d|ttdddS)Nr.rzceci n'est pas un integerr"y?)r&rroundrr'rr(r*s rtest_inf_nanzRoundTestCase.test_inf_nanCs-444-555*eS111)UC555)USD#666)UC1LMMM)UD"55555rc6|ttdt|ttdt|t	jttddS)Nr)r$rrrmathrrr*s rtest_inf_nan_ndigitsz"RoundTestCase.test_inf_nan_ndigitsLslsA,,,tQ#...
5a==1122222rcddddddddzfD]}|td	|d	|td
|d
|td|d|td|d|td
dd
|tddd|tddd|td
dd
|tddddS)NiDiEiillrrrw/^u<7~gP.5_i,i3go!	i4i5gSi;gir$rr+rs  rtest_large_nzRoundTestCase.test_large_nQsKsC%3?	7	7AU7A..888U8Q//:::U5!__e444U61--v6666uc**E222uc**E222w,,g666uc**E222x--v66666rcFddddddddzfD]}|td	|d
|td|d|td
|d
|td|d
dS)Niipiilrrrr.rr"rrrrs  rtest_small_nzRoundTestCase.test_small_n]sdGVX3wG	4	4AU7A..444U8Q//666U5!__c222U61--s3333		4	4rc|ttdd|ttdddS)Ng3t<{rgv;w0B)r&rrr*s r
test_overflowzRoundTestCase.test_overflowds<->>>-$?????rrr;rrc|tddd|tddd|tddd|tddd	|td
dd	|tddd|td
dd|tddd|tddd|tddddS)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_bugshsL	
0!44+	-	-	-/33)	+	+	+	
tR$///tR$///tR$///tR$///tR$///tR$///tR$///tR%00000rc	tdD]}|dz}|tt|dt	|d|tt|dt	|d|tt|dt	|d|tt|d	t	|d
tddd
D]}|dz}|tt|dt	|d|tt|dt	|d|tt|dt	|d|tt|d	t	|d
tdD]}tj}|tt|dt	|d|tt|dt	|d|tt|dt	|d|tt|d	t	|d
dS)Nig@@z.0frz.1frez.2frz.3frrir)rr$r%rrrr)r+rrbs   rtest_matches_float_formatz'RoundTestCase.test_matches_float_formatzss	C	CA%AU6!U#3#344eAqkkBBBU6!U#3#344eAqkkBBBU6!U#3#344eAqkkBBBU6!U#3#344eAqkkBBBBq$##	C	CA%AU6!U#3#344eAqkkBBBU6!U#3#344eAqkkBBBU6!U#3#344eAqkkBBBU6!U#3#344eAqkkBBBBs	C	CA
AU6!U#3#344eAqkkBBBU6!U#3#344eAqkkBBBU6!U#3#344eAqkkBBBU6!U#3#344eAqkkBBBB	C	Crcfd}dD]}d|ddz}d|ddz}||td||td||td||td||td	||td||td
||td
||td||td||td||tddS)
Nc||z|||dd}t||||dSrr)rUrexpectedr+s   rtestz0RoundTestCase.test_format_specials.<locals>.testsTS5[(C888abb'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_specialssb	@	@	@	@	@F	%	%C#abb'>D#abb'>DDc5!!!DsdF###Dc5!!!DsdE"""
DsF###DtV$$$DsF###DtV$$$
DsF###DtV$$$DsF###DtV$$$$'	%	%rctdtddtddfD]3}||d||t4tdtddtddfD]3}||d||t4dS)NgGz?)ndigitsreg{Gz?r)rr$rrr7s  rtest_None_ndigitszRoundTestCase.test_None_ndigitssteD$//tT1J1J1JJ	*	*AQ"""!!!S))))teD$//tT1J1J1JJ	*	*AQ"""!!!S))))	*	*rN)rrrrrrrrrerrr3rrrrrrrrr@s666333

7
7
7444@@@X&8"==HIKK11KK1 X&8"==HIKKCCKKC.%%%<*****rrc~eZdZdZdZdZdZdZej	e
edddkd	d
ZdS)
InfNanTestc|ttd|ttd|ttd|ttd|ttd|ttd|t	tdd|t	tdd|t	tdd|t	tdd|t	tdd|t	tdd|t	tdd|t	tdd|t	td	d|t	td
d|t	tdd|t	tdd|ttdd|ttdd|ttdd|ttdd|ttdd|ttdd|ttd
|ttd|ttd|ttd|ttd|ttd|ttd|ttd|ttd|ttd|ttd|ttd|ttd|ttddS)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_strseEll++,,,eFmm,,---eFmm,,---eJ//00111eK0011222eK0011222eEll++U333eFmm,,e444eFmm,,f555eJ//00%888eK00115999eK00116:::eEll++U333eFmm,,e444eFmm,,f555eJ//00%888eK00115999eK00116:::U5\\**E222U6]]++U333U6]]++V444U:..//777U;//00%888U;//00&999*eV444*eW555*eW555*eT222*eU333*eU333*eY777*eX666*eW555*e[999*eW555*eW555*e\:::*e\:::::rc|tdd|tdd|tdd|tdddS)Ngr
grr$rrXr*s rtest_inf_as_strzInfNanTest.test_inf_as_strsm,,e444n--v666]++U333^,,f55555rc|ttd|ttd|ttd|t	tdd|t	tdd|t	tdd|t	tdd|t	tdd|t	tdd|ttdd|ttdd|ttdd|ttd|ttd|ttd	|ttd
|ttd|ttd|ttd
|ttd|ttd|ttddS)Nrr-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eEll++,,,eFmm,,---eFmm,,---eEll++U333eFmm,,e444eFmm,,e444eEll++U333eFmm,,e444eFmm,,e444U5\\**E222U6]]++U333U6]]++U333*eV444*eW555*eW555*eT222*eU333*eU333*eW555*eW555*eW555*eW55555rc|tdd|tdd|tdd|tdddS)Ngrgggrr*s rtest_nan_as_strzInfNanTest.test_nan_as_strs/00%8880115999.//777/00%88888rc|tdtdd|tdtdddS)Nrr
rrr$r	r%r*s rtest_inf_signszInfNanTest.test_inf_signssT#uU||44c:::#uV}}55t<<<<<rrr;rrc|tdtdd|tdtdddS)Nrrrrrr*s rtest_nan_signszInfNanTest.test_nan_signssV
	
#uU||44c:::#uV}}55t<<<<<rN)
rrrrrrrrrerrr3rrrrrrs+;+;+;Z666666:999===X&8"==HIKK==KK===rrceZdZedZedZedZedZdZdZ	dZ
dZd	Zd
Z
dZdS)
HexFloatTestCasez0x.fffffffffffff8p+1024z	0x1p-1022z0x0.0000000000001p-1022z0x0.0000000000001p0ct|st|r#t|t|krdSn0||kr*|dks"td|td|krdS||d|dS)Nr.rz not identical to )rr	fail)r+rbys   r	identicalzHexFloatTestCase.identical*s88	uQxx	Qxx588##$
!VVcXc1%5%5#q9I9I%I%IF		aaa344444rc	v||jtdd||jtdd||jtdd||jdtddtddz
zdS)Nriiir(ii)rMINr
TINYEPSMAXr*s r	test_endszHexFloatTestCase.test_ends4stxsE!2!2333ty%U"3"3444txsC111txU3%5%5c3%G!HIIIIIrcgd}|D]>}	t|}|d|d|d/#t$rY;wxYwdS)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_inputs:s444j 	:	:A
: 			./aa9::::



	:	:s6
AAcdtfdtfdtfdddg}gd}|D]:\}}|D]2}|D]-}t||z|z}|||.3;dS)Nr
z	-Infinityr)rr)z-0x.2g)z-0.0r")r;rq	
z
 	
)rrrr)r+value_pairs
whitespaceinprleadtrailgots        rtest_whitespacez HexFloatTestCase.test_whitespacezs
CL
3$
CL
			
)	2	2MC"
2
2'22E!$*u"455CNN311112
2	2	2rcK|j}|j}|j}|j}|tdt|tdt|tdt|tdt|tdt|tdt|tdt|tdt|td	t|td
t|tdt|tdt|td
d|tdd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|td d|td!d|td"d|td#d|td$d|td%d|td&d|td'd|td(d|td)d|td*d+|td,d+|td-d+|td.d+|td/d0|td1d0|td2d0|td3d0|td4d0|td5d0|td6d0|td7d0td8}|td9||td:||td;||td<||td=||td>||td?||td@||tdA||tdB||td8||tdC||tdD||tdE||tdF||tdG||tdH||tdI||tdJ||tdK||tdL||tdM||tdN||tdO||tdP||tdQ||tdR||tdS||tdT||tdU||tdV||tdW||tt
dX|tt
dY|tt
dZ|tt
d[|tt
d\|tt
d]|tt
d^|tt
d_|tt
d`|tt
da|tt
db|tt
dc|tt
dd|tt
de|tt
df|tt
dg|tt
dh|tt
di|tt
dj|tdk||tdl||tdm||tdndo|tdpdo|tdqdr|tdsdo|tdtdr|tdudo|tdvdo|tdwdr|tdxdr|tdydo|tdzdr|td{dr|td|dr|td}do|td~dr|tddo|tddo|tddr|tddr|tddo|tddr|tddr|td||td||td||tddo|tddo|td||td||td||tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tddr|tddr|td||td||td||tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|td|d|zz
|td|d|zz
|td|d|zz
|td|d|zz
|td|d|zz
|td|d|zz
|td|d|zz
|td|d|zz
|td|d|zz
|td|d|zz
|td||z
|td||z
|td||z
|td||z
|td||z
|td||z
|td||z
|td||td||td¦||tdæ||tdĦ||tdŦ||tdƦ||tdǦ||tdȦ||tdɦ||z|tdʦ||z|td˦||z|td̦||z|tdͦ||z|tdΦ||z|tdϦ||z|tdЦ|d|zz|tdѦd|z
|tdҦd|z
|tdӦd|z
|tdԦd|z
|tdզd|z
|td֦d|dzz
|tdצd|dzz
|tdئd|dzz
|td٦d|dzz
|tdڦd|dzz
|tdۦd|dzz
|tdܦd|dzz
|tdݦd|tdަd|tdߦd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tdd|z|tddd|zz|tddd|zz|tddd|zz|tddd|zz|tddd|zz|tddd|zz|tddd|zz|tddd|zz|tddd|zz|tddd|zz|tddo|tddo|td	||td
do|tddo|td||td
do|td||tddo|tddo|tddr|tddodS(Nr
rz-INFiNfrz	+INFINITYrz	-iNFiNitYrz+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_hexshhyh	
wu~~s+++wv,,,wv---wu~~s+++wz**C000w{++S111w{++cT222w{++cT222	
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**C000wx((#...wx((#...wx((#...wx((#...wx((#...wy))3///wz**C000wz**C000ww''...ww''...ww''...ww''...wx((%000wx((%000wx((%000wz**E222wx((%000wy))5111wy))5111w{++U333*
+
+w677<<<w677<<<w566;;;w455r:::w455r:::w455r:::w455r:::w344b999w344b999w344b999w455r:::w344b999w455r:::w455r:::w566;;;w455r:::w455r:::w455r:::w566;;;w455r:::w455r:::w566;;;w677<<<w677<<<w455r:::w455r:::w455r:::w566;;;w566;;;w566;;;w566;;;w677<<<	
-+>>>-+>>>-+>>>-,???-2JKKK--@@@--@@@--@@@-+>>>-+>>>-.AAA-,???-2LMMM-2LMMM-2KLLL-2KLLL-2IJJJ-2KLLL-2KLLL	
w9::C@@@w9::SDAAAwEFFLLL	
ww''---wz**C000w{++T222wz**C000w{++T222wz**C000w788#>>>wy))4000w|,,d333w{++S111w|,,d333w|,,d333w|,,d333w{++S111w|,,d333w{++S111w{++S111w|,,d333w9::DAAA	
w{++S111w|,,d333w9::DAAAw<==tDDDw~..666w<==tDDD	
w{++S111w{++S111w{++T222w{++T222w{++T222w{++QtV444w{++QtV444w{++QtV444w{++QtV444w{++QtV444w{++QtV444w{++QtV444w{++QtV444w{++QtV444w{++QtV444w|,,af555w|,,d333w|,,d333w|,,te444w|,,te444w|,,te444w|,,bg666w|,,bg666w|,,bg666w|,,bg666w|,,bg666w|,,bg666w|,,bg666w|,,bg666w|,,bg666w|,,bg666w}--r$w777	
w9::C$JGGGw9::C$JGGGw9::C$JGGGw9::C$JGGGw9::C$JGGGw9::C$JGGGw9::C$JGGGw9::C$JGGGw9::C$JGGGw9::C$JGGGw9::CHEEEw9::CHEEEw9::CHEEEw9::CHEEEw9::CHEEEw9::CHEEEw9::CHEEEw9::C@@@w9::C@@@w9::C@@@w9::C@@@w9::C@@@w9::C@@@w9::C@@@w9::C@@@w9::C@@@w9::CHEEEw9::CHEEEw9::CHEEEw9::CHEEEw9::CHEEEw9::CHEEEw9::CHEEEw9::C$JGGG	
w566C@@@w566C@@@w566C@@@w566C@@@w566C@@@w566CE	BBBw566CE	BBBw566CE	BBBw566CE	BBBw566CE	BBBw566CE	BBBw566CE	BBBw566<<<w566<<<w566<<<w566<<<w566<<<w566<<<w566<<<w566<<<w566<<<w566<<<w566<<<w566<<<wIJJ			w566<<<wGHHu			w566C@@@w566C@@@w566C@@@w566C@@@w566C@@@w566C@@@w566C@@@w566C@@@w566C@@@w566C@@@w566C@@@w566C@@@w566C@@@w566C@@@w566C@@@wIJJ3w	 	 	 w566AcE	BBBwGHH1S5y	"	"	"w566AcE	BBBw566AcE	BBBw566AcE	BBBw566AcE	BBBw566AcE	BBBw566AcE	BBBw566AcE	BBBw566AcE	BBB	
w|,,c222w}--s333w}--t444w{++S111w}--s333w}--t444w|,,c222w|,,d333wz**C000wy))3///w{++T222wz**C00000rc	(d}tt|j|j|j|jz
|jdfD]B}||||||||Cddl}tdD]}|jdd}|j}|j	ddg}	|t||z}||tt|y#t$rYwxYwdS)	Nc:tt|Sr2)rtoHexrs r	roundtripz2HexFloatTestCase.test_roundtrip.<locals>.roundtrips588$$$rr.rriPirr)rrrrrrrr	randrangechoicer
rr0r)r+r1rbrremrms        rtest_roundtripzHexFloatTestCase.test_roundtrips>	%	%	%sDHdh0BDIsS	.	.ANN1iill+++NNA2yy!}}----	


u		5		5A  --A
A
sDk**A
5eAqkkMq'%(("3"34444!




		5		5s>D
DDcGddt}|d}|t	||||dGddt}|d}|t	||||d|t
|ddd	dS)
NceZdZdZdS))HexFloatTestCase.test_subclass.<locals>.Fc>t||dzSrrrs  rrz1HexFloatTestCase.test_subclass.<locals>.F.__new__s}}S%!)444rN)rrrrrrrrr9s#
5
5
5
5
5rrrr|ceZdZdZdS)*HexFloatTestCase.test_subclass.<locals>.F2cd|_dS)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	5	5	5	5	5	5
IIsiikk""

d1ggq!!!C   	!	!	!	!	!	!	!	!
JJyy{{##

d1ggr"""C   E622E:::::rN)rrrrrrrrrrrrr-r6rDrrrrr$s
'+
,
,C
'+

C7,--D
''
(
(C555JJJ=:=:=:@2224i1i1i1V	555*;;;;;rrreg@?gp>g<rrfrr_c eZdZdZdZdZdS)	PackTestsc:|tjddtd|tjddtd|tjddtd|tjddtd|tjddtd	|tjddtd
dS)Nrr>rf?r?>??)r$ra
float_pack
BIG_ENDIAN
LITTLE_ENDIANr*s r	test_packzPackTests.test_packs-ajAA!	#	#	#-ajAA)	+	+	+-ajAA9	;	;	;-amDD!	#	#	#-amDD)	+	+	+-amDD9	;	;	;	;	;rc.|tjdtd|tjdtd|tjdtd|tjdtd|tjdtd|tjdtddS)NrIrrJrKrLrMrN)r$rafloat_unpackrPrQr*s rtest_unpackzPackTests.test_unpacks/*EE			/0@*MM			/0PR\]]			/-HH			/0@-PP			/0PR_``					rcd}dd|dtjg}tr!|tt
f|D]}dD]}|dkr||krt|}ttfD]}|	|||5tj|||}tj||}t|r&|t|||fnJ|dkr.|tj|||	||fn|||dddn#1swxYwYݐ
dS)
Ng0Frrg$I$I?rEr)rsizeendianr)rel_tol)rr,
HAVE_IEEE_754extendrrEPSILONrPrQr^rarOrTrriscloser$)	r+largevaluesrrWrYrXrVvalue2s	         rr6zPackTests.test_roundtripssE5$'2	&MM3*%%%	<	<E"
<
<199%!$-)=9
<
<FEVLL	<	<(3D%HH!*!7f!E!E <<< OOE&MME6?KKKK!AXX OODLPW,X,X,X-2FO====!,,VU;;;	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<
<
<	<	<sB+D?	?E
E
N)rrrrRrUr6rrrrGrGsA;;;<<<<<rrG__main__)Frr$rrr3rRrrerrtest.supportrtest.test_grammarrrrrrr	r
rar]r%rDr{rZrrrdirnamercurdirtest_dirrrzrrTestCaserrhasattrrFrNrYreversedrPrOrQrZr\r[r]rLrhrrCrrrBrrCr0rrPrQr\rfrGrmainrrr<module>rks				











&&&&&&<<<<<<<<............III##H--88@@
eElleEll7??8$$1	',,x)DEE					E											E	>E	>E	>E	>E	>)E	>E	>E	>PWWUO446NOO=====h/==PO=4
hh}--..
3
hh}--..
"uXXl++,,"uXXl++,,YYYYY*YYY2_?_?_?_?_?X&_?_?_?B=B=B=B=B=B8$=B=B=B~	v*v*v*v*v*H%v*v*v*vc=c=c=c=c="c=c=c=L-
	@;@;@;@;@;x(@;@;@;J

d"$5662<2<2<2<2<!2<2<762<jzHMOOOOOsAAA