+
    Bi                    h   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	 ^ RI
Ht ^ RIHtHt ^ RIHtHtHtHt ^ RIt ^ RIt]! R4      t]! R4      t]P2                  P5                  ]4      ;'       g    ]P8                  t]P2                  P=                  ]RR	4      t ! R
 R]4      t  ! R R]4      t! ! R R4      t" ! R R4      t# ! R R4      t$ ! R R]PJ                  4      t&]PN                  ! ](! ]R4      R4       ! R R]PJ                  4      4       t)Rt*]+! ],! ]*4      4      t-Rt.]+! ],! ].4      4      t/Rt0]+! ],! ]04      4      t1Rt2]+! ],! ]24      4      t3 ! R R]PJ                  4      t4 ! R  R!]PJ                  4      t5 ! R" R#]PJ                  4      t6]	Pn                   ! R$ R%]PJ                  ]4      4       t8 ! R& R']PJ                  4      t9]Pt                  t;]Px                  t= ! R( R)]]PJ                  4      t>]?R*8X  d   ]P                  ! 4        R# R#   ] d    Rt ELi ; i)+    N)support)FloatsAreIdenticalMixin)VALID_UNDERSCORE_LITERALSINVALID_UNDERSCORE_LITERALS)isinfisnancopysignldexpinfnanmathdatazformatfloat_testcases.txtc                       ] tR t^ tRtR# )FloatSubclass N__name__
__module____qualname____firstlineno____static_attributes__r       &/usr/lib/python3.14/test/test_float.pyr   r           r   r   c                       ] tR t^#tRtR# )OtherFloatSubclassr   Nr   r   r   r   r   r   #   r   r   r   c                   ,   a  ] tR t^&t o R tR tRtV tR# )MyIndexc                    Wn         R # Nvalueselfr!   s   &&r   __init__MyIndex.__init__'       
r   c                    V P                   # r   r    r#   s   &r   	__index__MyIndex.__index__*       zzr   r    N)r   r   r   r   r$   r)   r   __classdictcell____classdict__s   @r   r   r   &         r   r   c                   ,   a  ] tR t^-t o R tR tRtV tR# )MyIntc                    Wn         R # r   r    r"   s   &&r   r$   MyInt.__init__.   r&   r   c                    V P                   # r   r    r(   s   &r   __int__MyInt.__int__1   r+   r   r    N)r   r   r   r   r$   r5   r   r,   r-   s   @r   r1   r1   -   r/   r   r1   c                   ,   a  ] tR t^4t o R tR tRtV tR# )	FloatLikec                    Wn         R # r   r    r"   s   &&r   r$   FloatLike.__init__5   r&   r   c                    V P                   # r   r    r(   s   &r   	__float__FloatLike.__float__8   r+   r   r    N)r   r   r   r   r$   r<   r   r,   r-   s   @r   r8   r8   4   r/   r   r8   c                     a  ] tR t^<t o R tR tR tR tR tR t	]
P                  ! RRR	R
4      R 4       tR tR tR tR t]3R ltR tR tR tR tR tR tR t]
P4                  R 4       t]
P4                  R 4       tR tR tRtV t R# )GeneralFloatCasesc                   V P                  \        R 4      R 4       V P                  \        R4      R4       V P                  \        R4      R 4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R	4       V P                  \        \        R
4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        / 4       V P                  \        R\        / 4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        R4      R 4       V P                  \        R4      R 4       \        R4       \        R4       V P                  \        \        R4       R# )Q	@:       s@  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'u   z-1.7d29z3D-14u     ٣.١٤  u
    3.14 u   こんにちはNs  .1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111a  .1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111)assertEqualfloatassertRaises
ValueError	TypeErrorassertRaisesRegexr(   s   &r   
test_floatGeneralFloatCases.test_float>   s   td+sU+z*D1*e[9*e^<*e^<*eX6*eX6*eX6*eX6*eV4*eW5*eS1*eT2)UB/y,rB*eX6*eY7*eW5894@=>En 	*e-MNr   c                :    V P                  \        4       R 4       R# )        N)rI   rJ   r(   s   &r   test_noargsGeneralFloatCases.test_noargs]   s    #&r   c           
       a \          F  o\        ;QJ d    V3R  lR 4       F  '       g   K   RM	  RM! V3R  lR 4       4      '       d   KE  V P                  \        S4      \	        S4      4       V P                  \        S4      \        SP                  RR4      4      4       K  	  \         Fi  oSR9   d   K  \        ;QJ d    V3R lR 4       F  '       g   K   RM	  RM! V3R lR 4       4      '       d   KN  V P                  \        \        S4       Kk  	  V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R	4       V P                  \        \        R
4       V P                  \        \        R4       V P                  \        \        R4       R# )c              3   ,   <"   T F	  qS9   x  K  	  R # 5ir   r   .0chlits   & r   	<genexpr>5GeneralFloatCases.test_underscores.<locals>.<genexpr>b        6:RSy:   jJxXoObBTF_ c              3   ,   <"   T F	  qS9   x  K  	  R # 5ir   r   rW   s   & r   r[   r\   h   r]   r^   _NaNNa_NIN_Fz-_INFz-INF_s   0_.9N)0_709_99)	r   anyrI   rJ   evalreplacer   rK   rL   )r#   rZ   s   &@r   test_underscores"GeneralFloatCases.test_underscores`   s#   ,C36:63336:666  sT#Y7  sU3;;sB3G-HI - /C&&36:63336:666!!*eS9	 / 	*eV4*eV4*eV4*eW5*eW5*e[9r   c           
     Z  aa  ! R  R\         4      o ! R R\        4      p ! R R\        4      p\        \        V3R lVV\        .p ^ RIHo VP                  V3R l4       V F  pV! R	4      pV P                  \        V4      4      ;_uu_ 4        V P                  \        V4      R
4       V P                  \        R4      ;_uu_ 4        \        V! R4      4       RRR4       RRR4       K  	  R#   \         d     Li ; i  + '       g   i     L/; i  + '       g   i     K  ; i)c                       ] tR t^xtRtR# )AGeneralFloatCases.test_non_numeric_input_types.<locals>.CustomStrr   Nr   r   r   r   	CustomStrro   x   s    dr   rp   c                       ] tR t^ytRtR# )CGeneralFloatCases.test_non_numeric_input_types.<locals>.CustomBytesr   Nr   r   r   r   CustomBytesrr   y   s    $r   rs   c                       ] tR t^ztRtR# )GGeneralFloatCases.test_non_numeric_input_types.<locals>.CustomByteArrayr   Nr   r   r   r   CustomByteArrayru   z   s    $r   rv   c                 0   < S! V P                  4       4      # r   )decode)brp   s   &r   <lambda>@GeneralFloatCases.test_non_numeric_input_types.<locals>.<lambda>   s    i
+r   )arrayc                    < S! R V 4      # )Br   )ry   r|   s   &r   rz   r{      s    uS!}r   s    3.14  rA   zcould not convertNs   AAAAAAAAAAAAAAAA)strbytes	bytearray
memoryviewr|   appendImportErrorsubTesttyperI   rJ   rN   rL   )r#   rs   rv   	factoriesfxrp   r|   s   &     @@r   test_non_numeric_input_types.GeneralFloatCases.test_non_numeric_input_typesu   s     	#"&%&.i. +
		6# 45A*Ad1g&&  q40++J8KLL!K.) M '&   		 ML '&&s6   	C5 :DDD5DDDDD*c                   V P                  \        \        R 4      R,          4      R4       V P                  \        \        R4      R,          4      R4       V P                  \        \        R4      R,          4      R4       V P                  \        \        R4      R,          4      R4       V P                  \        \        R4      R,          4      R4       R# )s   12.3:      Ngffffff@s   12.3 s   12.3 s   12.3As   12.34N)rI   rJ   r   r(   s   &r   test_float_memoryview'GeneralFloatCases.test_float_memoryview   s    z'2378#>z+6s;<cBz(3C893?z(3C893?z(3C893?r   c                   a  V 3R  lpV! R4       V! R4       V! R4       V! R4       V! R4       V! R4       V! R4       V! R4       V! R	4       V! R
4       V! R4       V! R4       V! R4       R# )c                    < SP                  \        R V : R2R7      ;_uu_ 4       p\        V 4       RRR4       SP                  \	        XP
                  4      RV : 24       R#   + '       g   i     L;; i)zfloat())msgNz#could not convert string to float: )rK   rL   rJ   rI   r   	exception)scmr#   s   & r   check3GeneralFloatCases.test_error_message.<locals>.check   sU    "":!3E"FF"a GS.;<>@ GFs   A%%A5	   ½u   123½z  123 456  s     123 456  ra    z	 
u   ٣١٤!z123 z123  245z123 245s   123 s   123Nr   )r#   r   s   f r   test_error_message$GeneralFloatCases.test_error_message   sr    	@ 	fimnb	c
g 	#$imljjr   
LC_NUMERICfr_FRde_DEra   c                   ^ RI pVP                  4       R,          R8X  g   V P                  R4       V P                  \	        R4      R4       V P                  \	        R4      R4       V P                  \	        R4      R4       V P                  \	        R	4      R
4       V P                  \	        R4      R4       V P                  \	        R4      R4       V P                  \	        R4      R4       V P                  \	        R4      R4       V P                  \	        R4      R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \	        R4      R4       V P                  \	        R4      R4       R# ) r   Ndecimal_point,zdecimal_point is not ","rD   rA   z+3.14  z-3.14  z.14  gQ?z3.        @z3.e3  g     p@z3.2e3  g      @z2.5e-1        ?z5e-1      ?z  3,14  z	  +3,14  z	  -3,14  rE   rF   rG   z
  25.e-1        @z
  .25e-1  g?gQ	)locale
localeconvskipTestrI   rJ   rK   rL   assertAlmostEqual)r#   r   s   & r   test_float_with_comma'GeneralFloatCases.test_float_with_comma   sy   
 	  "?3s:MM45z*D1y)40y)51w-v,x&1y)62z*D1v,*eZ8*e[9*e[9*e[9*e^<*e^<|,c2u\2D9r   c           	         ! R  R\         4      p ! R R\         4      p ! R R\         4      p ! R R\        4      pV P                  \        \        R4      4      R4       V P                  \        V! 4       4      R4       V P	                  \
        4      ;_uu_ 4        V P                  \        V! ^4      4      R4       R	R	R	4       V P                  \        \         V! ^*4      4       V P                  \        V! R
4      4      R4       V P                  \        \        P                  \        R4      4       \        \        R4      4      pV P	                  \
        4      ;_uu_ 4        V P                  \        V4      R4       R	R	R	4       V P	                  \
        4      ;_uu_ 4        V P                  \        \        V4      4      \         4       R	R	R	4       V P	                  \
        4      ;_uu_ 4        V P                  \        V4      R4       R	R	R	4       V P	                  \
        4      ;_uu_ 4        V P                  \        \        V4      4      \        4       R	R	R	4       V P                  \        \        ^*4      4      R4       V P                  \        \         \        ^R,          4      4       V P                  \        \         \!        ^*4      4       R	#   + '       g   i     EL(; i  + '       g   i     ELw; i  + '       g   i     EL=; i  + '       g   i     EL; i  + '       g   i     L; i)c                   &   a  ] tR t^t o R tRtV tR# )4GeneralFloatCases.test_floatconversion.<locals>.Foo2c                    R # )      E@r   r(   s   &r   r<   >GeneralFloatCases.test_floatconversion.<locals>.Foo2.__float__   s    r   r   Nr   r   r   r   r<   r   r,   r-   s   @r   Foo2r      s      r   r   c                   0   a  ] tR t^t o RR ltR tRtV tR# )4GeneralFloatCases.test_floatconversion.<locals>.Foo3c                <    \         P                  V ^V,          4      # )   rJ   __new__clsr!   s   &&r   r   <GeneralFloatCases.test_floatconversion.<locals>.Foo3.__new__   s    }}S!E'22r   c                    V # r   r   r(   s   &r   r<   >GeneralFloatCases.test_floatconversion.<locals>.Foo3.__float__   s    r   r   N)rR   )r   r   r   r   r   r<   r   r,   r-   s   @r   Foo3r      s     3 r   r   c                   &   a  ] tR t^t o R tRtV tR# )4GeneralFloatCases.test_floatconversion.<locals>.Foo4c                    ^*# *   r   r(   s   &r   r<   >GeneralFloatCases.test_floatconversion.<locals>.Foo4.__float__       r   r   Nr   r-   s   @r   Foo4r            r   r   c                   &   a  ] tR t^t o R tRtV tR# )6GeneralFloatCases.test_floatconversion.<locals>.FooStrc                8    \        \        V 4      4      ^,           # r   )rJ   r   r(   s   &r   r<   @GeneralFloatCases.test_floatconversion.<locals>.FooStr.__float__   s    SY'!++r   r   Nr   r-   s   @r   FooStrr      s     , ,r   r   r   N8g      "@ra   i  )rJ   r   rI   r8   assertWarnsDeprecationWarningrK   rM   timesleepr   assertIsr   r   r   OverflowErrorr1   )r#   r   r   r   r   r   s   &     r   test_floatconversion&GeneralFloatCases.test_floatconversion   s   	5 		5 		5 		,S 	, 	y~.4tv,011U48_c2 2)UDH5vc{+R0)TZZ2? (-.011U1Xs+ 2011MM$uQx.%0 2011]1-s3 2011MM$}Q/0-@ 2 	wr{+T2-40@A)UE"I6) 211 21111111111s<   "K)K3*)L8L9)L/K0	3L	L	L,	/L?	c                    V P                  \        R 4      ;_uu_ 4        \        RR7       RRR4       R#   + '       g   i     R# ; i)zkeyword argument3.14r   N)rN   rM   rJ   r(   s   &r   test_keyword_args#GeneralFloatCases.test_keyword_args   s-    ##I/ABBFO CBBBs	   6A	c                    ! R  R\         4      pV! R4      pV P                  \        V4      V4       V P                  \        V4      R4       V P	                  \
        4      ;_uu_ 4        V! ^ R7       RRR4        ! R R\         4      pV! R^R7      pV P                  \        V4      V4       V P                  \        V4      R4       V P                  VP                  ^4        ! R R	\         4      pV! R^R7      pV P                  \        V4      V4       V P                  \        V4      R4       V P                  VP                  ^4       R#   + '       g   i     L; i)
c                       ] tR tRtRtR# )=GeneralFloatCases.test_keywords_in_subclass.<locals>.subclassi  r   Nr   r   r   r   subclassr         r   r   r   r   Nc                   *   a  ] tR tRt o RR ltRtV tR# )GGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_initi  Nc                    W n         R # r   newarg)r#   argr   s   &&&r   r$   PGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_init.__init__  s    $r   r   r   r   r   r   r   r$   r   r,   r-   s   @r   subclass_with_initr     s     % %r   r   r   c                   6   a a ] tR tRt oRV 3R lltRtVtV ;t# )FGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_newi  c                2   < \         SV `  W4      pW#n        V# r   )superr   r   )r   r   r   r#   	__class__s   &&& r   r   NGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_new.__new__  s    ws0$r   r   r   )r   r   r   r   r   r   r,   __classcell__)r   r.   s   @@r   subclass_with_newr     s      r   r   )rJ   r   r   rI   rK   rM   r   )r#   r   ur   r   s   &    r   test_keywords_in_subclass+GeneralFloatCases.test_keywords_in_subclass  s   	u 	SMd1gx(q3'y))qM *	% 	% s1-d1g12q3'1%	 	
 c!,d1g01q3'1%' *)s   +
EE%	c                ^    V P                  W4       V P                  \        V4      V4       R # r   rI   r   r   )r#   actualexpected_valueexpected_types   &&&&r   assertEqualAndType$GeneralFloatCases.assertEqualAndType  s"    0d6lM2r   c                  a a VV 3R  lpV! SP                  R4      R4       V! SP                  R4      R4       V! SP                  \        R4      4      R4       V! SP                  \        R4      4      R4       V! SP                  \        R4      4      R4       SP                  \        4      pS P                  W38g  4       S P                  \        V4      S4       S\        J d*   S P                  SP                  \        4      \        4       S P                  \        SP                   R4       S P                  \        SP                   R4       S P                  \        SP                   R4       S P                  \        SP                   \        R4      4       S P                  \        SP                   / 4       S P                  \        SP                   4       R# )c                 `   < SP                  W4       SP                  \        V 4      S4       R # r   r   )r   expectedr   r#   s   &&r   eq.GeneralFloatCases.test_from_number.<locals>.eq"  s#    V.MM$v,,r   rA   rB   rC   r   s   3.14y        Q	@N)from_numberr   r8   r   NAN
assertTruer   r   rJ   rK   rM   r1   )r#   r   r  r   s   ff  r   test_from_number"GeneralFloatCases.test_from_number!  sI   	- 	3??4 $'
3??3'
3??-d34d;
3??9T?+T2
3??73<(%0OOC d1gs#%<MM#//#.4)S__f=)S__g>)S__e<)S__eCjA)S__b9)S__5r   c                0    V P                  \        4       R # r   )r  r   r(   s   &r   test_from_number_subclass+GeneralFloatCases.test_from_number_subclass9  s    m,r   c                "   V P                  R P                  4       4       V P                  RP                  4       4       V P                  \        R4      P                  4       4       V P                  \        R4      P                  4       4       R# )g?      ?r   r   N)assertFalse
is_integerr  rJ   r(   s   &r   test_is_integer!GeneralFloatCases.test_is_integer<  sb    #))+,)*u0023u0023r   c                   R F%  w  rV P                  VP                  4       V4       K'  	  \        R4       Fy  p\        P                  ! 4       pV^
\        P                  ! R^d4      ,          ,          pVP                  4       w  rEV P                  \        V4      P                  V4      V4       K{  	  \        P                  pV P                  V! ^ ^4      V! \        R4      P                  4       !  4       V P                  V! ^^4      V! \        R4      P                  4       !  4       V P                  V! ^^4      V! \        R4      P                  4       !  4       V P                  V! RR4      V! \        R4      P                  4       !  4       V P                  V! RR4      V! \        R4      P                  4       !  4       V P                  V! R^4      V! \        R4      P                  4       !  4       V P                  \        \        R4      P                  4       V P                  \        \        R	4      P                  4       V P                  \        \        R
4      P                  4       R# )      ?rR   '  r   r   l   L33 l         @ g @r   -infr   N))r  )      )g      )ir  )rR   )r   r   )g      '@)   r   ilL33 g ig     h)rI   as_integer_ratiorangerandomrandintrJ   __truediv__	fractionsFractionrK   r   rL   )r#   r   ratioindRs   &      r   test_floatasratio#GeneralFloatCases.test_floatasratioB  s   HA Q//159 uAAv~~dC000A%%'DAU1X11!4a8	  1aE#J779:	<1aE#J779:	<1aE#J779:	<+-=>E#J779:	<,.>?E$K88:;	=5!E'N;;=>	@ 	-u)F)FG-v)G)GH*eEl&C&CDr   c           	     V   \         \         ) R R\        3pV F  pV P                  W".4       V P                  W"34       V P                  W"04       V P                  W"R/4       V P                  V.P	                  V4      ^RV,          4       V P                  W!4       K  	  V EF   pV P                  V.V.8H  RV: RV: R24       V P                  V3V38H  RV: RV: R	24       V P                  V0V08H  R
V: RV: R24       V P                  VR/VR/8H  R
V: RV: R24       V.V3V0VR/3w  r4rVV P                  W38H  RV,          4       V P                  WD8H  RV,          4       V P                  WU8H  RV,          4       V P                  Wf8H  RV,          4       EK  	  R# )rR   r  Nz[].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)INFr  assertInrI   countr  )r#   floatsr   ltr   r#  s   &      r   test_float_containment(GeneralFloatCases.test_float_containmentc  s   tS#s+AMM!S!MM!T"MM!S!MM!Y'aSYYq\1.Ca.GHMM!$  AOOQCA3J!Q(?@OOQDQDLa*CDOOQCA3J!Q(?@OOQJ1d)3DEq6J K qdQC!T2JA!OOAF$>$BCOOAF$?!$CDOOAF$>$BCOOAF$E$IJ r   c                Z    V P                  V\        R V4      3V\        R V4      34       R# r  N)rI   r	   )r#   ary   s   &&&r   assertEqualAndEqualSign)GeneralFloatCases.assertEqualAndEqualSign|  s,     	!Xc1-.HS!4D0EFr   c                   V P                  \        R 4      P                  4       \        4       V P	                  \        R 4      P                  4       ^ 4       V P	                  \        R4      P                  4       ^4       V P	                  \        R4      P                  4       ^4       V P	                  \        R4      P                  4       R	4       V P	                  \        R
4      P                  4       R	4       V P	                  \        R4      P                  4       R4       V P	                  \        R4      P                  4       R4       V P	                  \        R4      P                  4       R4       V P                  \        \        R4      P                  4       V P                  \        \        R4      P                  4       V P                  \        \        R4      P                  4       R# )r   r        ?Nݯbr   r   r  N                  Nݯ)assertIsInstancerJ   	__floor__intrI   rK   rL   r   r(   s   &r   test_float_floor"GeneralFloatCases.test_float_floor  sV   eCj224c:s--/3s--/3s--/3t..0"5t..0"5t..0"5x224h?y)335yA*eEl&<&<=-u)?)?@-v)@)@Ar   c                   V P                  \        R 4      P                  4       \        4       V P	                  \        R 4      P                  4       ^4       V P	                  \        R4      P                  4       ^4       V P	                  \        R4      P                  4       ^4       V P	                  \        R4      P                  4       ^ 4       V P	                  \        R	4      P                  4       R
4       V P	                  \        R4      P                  4       R
4       V P	                  \        R4      P                  4       R4       V P	                  \        R4      P                  4       R4       V P                  \        \        R4      P                  4       V P                  \        \        R4      P                  4       V P                  \        \        R4      P                  4       R# )r   r  r;  r<  r   r   r  Nr=  r?  r>  r@  rB  )rC  rJ   __ceil__rE  rI   rK   rL   r   r(   s   &r   test_float_ceil!GeneralFloatCases.test_float_ceil  sV   eCj113S9s,,.2s,,.2s,,.2t--/3t--/4t--/4x113X>y)224i@*eEl&;&;<-u)>)>?-v)?)?@r   c                ~   \         P                  pV P                  V! RR 4      R4       V P                  V! RR 4      R 4       V P                  V! RR 4      R4       V P                  V! RR 4      R4       V P                  V! RR 4      R4       V P                  V! R R 4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! R R4      R4       R# )r  rR   0.++Nr?  0.+       )operatormodr8  )r#   rQ  s   & r   test_float_mod GeneralFloatCases.test_float_mod  s    ll$$Ss^S9$$S#%6<$$Ss^S9$$Sc]C8$$S%5v>$$Sc]C8$$St_d;$$S$%7A$$St_d;$$Sd^T:$$S%6=$$Sd^T:r   c           	        \         \        P                   3 EFJ  pV P                  \        V! \        ) \
        4      4      4       V P                  \        V! R\
        4      4      4       V P                  \        V! R\
        4      4      4       V P                  \        V! R\
        4      4      4       V P                  \        V! R\
        4      4      4       V P                  \        V! R\
        4      4      4       V P                  \        V! R\
        4      4      4       V P                  \        V! R \
        4      4      4       V P                  \        V! \        \
        4      4      4       V P                  \        V! \
        \
        4      4      4       V P                  \        V! \
        \        ) 4      4      4       V P                  \        V! \
        R4      4      4       V P                  \        V! \
        R4      4      4       V P                  \        V! \
        R4      4      4       V P                  \        V! \
        R4      4      4       V P                  \        V! \
        R4      4      4       V P                  \        V! \
        R 4      4      4       V P                  \        V! \
        \        4      4      4       V P                  \        VRR4       V P                  \        VRR4       V P                  \        VRR4       V P                  \        VRR4       V P                  \        VRR4       V P                  \        VRR4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR 4      R4       V P                  V! RR4      R4       V P                  V! RR 4      R4       V P                  V! R\        ) 4      R4       V P                  V! R\        4      R4       V P                  V! R\        ) 4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR 4      R4       V P                  V! R\        4      R4       V P                  V! R\
        4      R4       V P                  V! \        ) R4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! R R4      R4       V P                  V! \        R4      R4       V P                  V! \
        R4      R4       V P                  V! \        ) R4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! R R4      R4       V P                  V! \        R4      R4       V P                  V! \
        R4      R4       V P                  \        V! RR4      4      \        4       V P                  \        V! RR4      4      \        4       V P                  \        V! RR4      4      \        4       V P                  \        V! RR4      4      \        4       V P                  \        V! RR4      4      \        4       V P                  \        V! RR4      4      \        4       V P                  V! R\        ) 4      \        4       V P                  V! R\        ) 4      \        4       V P                  V! R\        ) 4      \        4       V P                  V! R\        ) 4      \        4       V P                  V! \        ) \        ) 4      R4       V P                  V! R\        ) 4      R4       V P                  V! R \        ) 4      R4       V P                  V! \        \        ) 4      R4       V P                  V! R\        4      R4       V P                  V! R\        4      R4       V P                  V! R\        4      R4       V P                  V! R\        4      R4       V P                  V! \        ) \        4      \        4       V P                  V! R\        4      \        4       V P                  V! R \        4      \        4       V P                  V! \        \        4      \        4       V P                  V! \        ) R4      R4       V P                  V! \        ) R4      R4       V P                  V! \        ) R4      R4       V P                  V! \        ) R4      \        ) 4       V P                  V! \        ) R4      \        4       V P                  V! \        ) R 4      \        4       V P                  V! \        R4      \        4       V P                  V! \        R4      \        4       V P                  V! \        R 4      \        4       V P                  V! \        R4      R4       V P                  V! \        R4      R4       V P                  V! \        R4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR 4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR 4      R4       V P                  V! R R4      R4       V P                  V! R R4      R4       V P                  V! R R4      R4       V P                  V! R R4      R4       V P                  V! R R4      R 4       V P                  V! R R 4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  \        V! RR4      4      \        4       V P                  V! RR4      R4       V P                  V! R R4      R4       V P                  V! R R4      R4       V P                  V! R R4      R4       V P                  V! RR4      R4       V P                  \        V! RR4      4      \        4       V P                  V! RR	4      R4       V P                  V! RR4      R4       V P                  V! RR4      R4       V P                  V! RR	4      R4       EKM  	  R
# )       @r  r   rR   r   g      @}Ô%ITg     @@g     B@g     D@Ng       r?  r=  rO  }Ô%Ig     @g     Bg     D)powrP  r  r   r-  r  rK   ZeroDivisionErrorr8  rI   r   complex)r#   pow_ops   & r   test_float_pow GeneralFloatCases.test_float_pow  s   
 8<<'FOOE&#s"345OOE&s"345OOE&s"345OOE&s"345OOE&s"345OOE&c"234OOE&c"234OOE&c"234OOE&c"234OOE&c"234 OOE&sd"345OOE&d"345OOE&d"345OOE&d"345OOE&c"234OOE&c"234OOE&c"234OOE&c"23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"45w?T&s"34g>T&t"45w?T&s"34g>T&t"45w?T&s"34g> ((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"78'B((g)>E((W)=sC((W)=sC((W)=sC((f)=sCT&v"67A((f)=tD((V)<cB((V)<cB((V)<cBk (r   c                D   \        R^4       F0  pV P                  \        \        V4      4      \        V4      4       K2  	  V P                  \        \        \        P
                  P                  4      4      \        \        \        P
                  P                  4      4      4       V P                  \        \        R4      4      \        P                  P                  4       V P                  \        \        R4      4      \        P                  P                  ) 4       R# )   r   r  Ni)
r  rI   hashrJ   sys
float_infomaxrE  	hash_infor   r#   r   s   & r   	test_hashGeneralFloatCases.test_hash{  s    sBAT%(^T!W5  eCNN$6$678c#.."4"456	8eEl+S]]->->?eFm,s}}/@/@.@Ar   c                   \        R 4      pV P                  \        V4      \        P	                  V4      4        ! R R4      p ! R R\         V4      pV! R 4      pV P                  \        V4      \        P	                  V4      4       R# )r   c                   &   a  ] tR tRt o R tRtV tR# )*GeneralFloatCases.test_hash_nan.<locals>.Hi  c                    ^*# r   r   r(   s   &r   __hash__3GeneralFloatCases.test_hash_nan.<locals>.H.__hash__  r   r   r   N)r   r   r   r   rl  r   r,   r-   s   @r   Hrj    r   r   rn  c                       ] tR tRtRtR# )*GeneralFloatCases.test_hash_nan.<locals>.Fi  r   Nr   r   r   r   Frp    r   r   rq  N)rJ   rI   r`  objectrl  )r#   r!   rn  rq  s   &   r   test_hash_nanGeneralFloatCases.test_hash_nan  sf    eefooe&<=	 		q 	%efooe&<=r   r   N)!r   r   r   r   rO   rS   rk   r   r   r   r   run_with_localer   r   r   r   r   rJ   r  r
  r  r%  r3  r8  rF  rJ  requires_IEEE_754rR  r\  rf  rs  r   r,   r-   s   @r   r?   r?   <   s     O>':**:@6 \7GR@: A:4-7^&63 $) 60-4EBK2GBA ; ;& yC yCPB	> 	>r   r?   __getformat__zrequires __getformat__c                   &   a  ] tR tRt o R tRtV tR# )FormatFunctionsTestCasei  c                6   V P                  \        P                  R 4      . RO4       V P                  \        P                  R4      . RO4       V P                  \        \        P                  R4       V P                  \
        \        P                  ^4       R# )doublerJ   chickenN)unknownzIEEE, big-endianzIEEE, little-endian)r.  rJ   rw  rK   rL   rM   r(   s   &r   test_getformat&FormatFunctionsTestCase.test_getformat  sl    e))(3L	Ne))'2L	N*e&9&99E)U%8%8!<r   r   N)r   r   r   r   r~  r   r,   r-   s   @r   ry  ry    s     = =r   ry  s         s         s     s     c                      a  ] tR tRt o ]P
                  R 4       t]P
                  R 4       t]P
                  ]P                  ! ]
RJ R4      R 4       4       tRtV tR# )IEEEFormatTestCasei  c                    R \         3R \        3R\        3R\        33 F  w  r\        P
                  ! W4       K  	  R# )z>dz<dN)BE_DOUBLE_INFBE_DOUBLE_NANLE_DOUBLE_INFLE_DOUBLE_NANstructunpackr#   fmtdatas   &  r   test_double_specials_do_unpack1IEEEFormatTestCase.test_double_specials_do_unpack  s>    ////1IC MM#$	1r   c                    R \         3R \        3R\        3R\        33 F  w  r\        P
                  ! W4       K  	  R# )z>f<fN)BE_FLOAT_INFBE_FLOAT_NANLE_FLOAT_INFLE_FLOAT_NANr  r  r  s   &  r   test_float_specials_do_unpack0IEEEFormatTestCase.test_float_specials_do_unpack  s>    ....0IC MM#$	0r   Nzneeds _testcapic                   \         P                  pV P                  \        P                  ! R R4      \        P                  ! R V4      4       V P                  \        P                  ! R R4      \        P                  ! R V) 4      4       R# )r  gnGNgn)	_testcapiFLT_MAXrI   r  pack)r#   r  s   & r   test_serialized_float_rounding1IEEEFormatTestCase.test_serialized_float_rounding  s]     ##T=96;;tW;UVT>:FKKwh<WXr   r   )r   r   r   r   r   rv  r  r  unittestskipIfr  r  r   r,   r-   s   @r   r  r    sl     % % % % __Y$&(9:Y ; Yr   r  c                      a  ] tR tRt o R t]P                  ]P                  ! ]	P                  R8H  R4      R 4       4       tR tR tRtV tR	# )
FormatTestCasei  c                   V P                  \        R R4      R4       V P                  \        R R4      R4       V P                  \        RR4      R4       V P                  \        RR4      R4       RZpV P                  \        VR4      \        V4      4       V P                  \        VR4      \        V4      4       V P                  \        VR	4      \        V4      4       V P                  \        VR
4      \        V4      4       V P                  \        RR4      R4       V P                  \        R[R4      R4       V P                  \        RR4      R4       V P                  \        R[R4      R4       V P                  \        RR4      R4       V P                  \        R[R4      R4       V P                  \        R[R4      R4       V P                  \        \        RR4       R F  pV P                  \        \        R V4       V P                  \        \        RV4       V P                  \        \        R[V4       V P                  \        \        RV4       V P                  \        \        R\V4       V P                  \        \        RV4       V P                  \        \        R]V4       K  	  V P                  \        \
        R4      R4       V P                  \        \
        R4      R4       V P                  \        \        R4      R4       V P                  \        \        R4      R4       RpV P                  \        VR4      R 4       V P                  \        VR!4      R"4       V P                  \        VR#4      R$4       V P                  \        VR%4      R&4       V P                  \        VR'4      R(4       V P                  \        VR)4      R*4       V P                  \        VR+4      R,4       V P                  \        VR-4      R.4       V P                  \        VR/4      R04       V P                  \        VR14      R24       V P                  \        VR34      R44       V P                  \        VR54      R64       V P                  \        VR74      R84       V P                  \        VR94      R84       V P                  \        VR:4      R;4       V P                  \        VR<4      R=4       V P                  \        VR>4      R?4       V P                  \        VR@4      RA4       V P                  \        VRB4      RC4       V P                  \        VRD4      RC4       V P                  \        VRE4      RF4       V P                  \        VRG4      RH4       V P                  \        VRI4      RJ4       V P                  \        VRK4      RJ4       V P                  \        VRL4      RM4       V P                  \        VRN4      RO4       V P                  \        VRP4      RO4       V P                  \        VRQ4      RR4       V P                  \        \        VRS4       V P                  \        \        VRT4       V P                  \        \        VRU4       V P                  \        \        VRV4       V P                  \        \        VRW4       V P                  \        \        VRX4       RY# )^rR   r   z0.000000ra   0.0g{Gz?0.01g->2r  z1.000000z	-1.000000z fz	 1.000000z+fz	+1.000000%z-100.000000%r   r   sbcdoxXrV  rM  r   rq  r  r   r-  g$@_fz123_456.123456z,fz123,456.123456z._fz123456.123_456z.,fz123456.123,456z_._fz123_456.123_456z,.,fz123,456.123,456z.10_fz123456.123_456_000_0z.10,fz123456.123,456,000,0z>21._fz       123456.123_456z<21._fz123456.123_456       z+.11_ez+1.234_561_234_56e+05z+.11,ez+1.234,561,234,56e+05z021_._fz0_000_123_456.123_456z020_._fz+021_._fz+0_000_123_456.123_456z21_._fz      123_456.123_456z>021_._fz000000123_456.123_456z<021_._fz123_456.123_456000000z	023_.10_fz0_123_456.123_456_000_0z	022_.10_fz
+023_.10_fz+0_123_456.123_456_000_0z023_.9_fz000_123_456.123_456_000z021_._ez0_000_001.234_561e+05z020_._ez+021_._ez+0_000_001.234_561e+05z	023_.10_ez0_001.234_561_234_6e+05z	022_.10_ez023_.9_ez000_001.234_561_235e+05z._6fz.,_fz.6,_fz.6_,fz.6_nz.6,nNg%I$I,@r?  rW  rN  )rI   formatr   rK   rL   r  r-  )r#   r   format_specs   &  r   test_formatFormatTestCase.test_format  s    	S):6 	R%0b)62c*F3 2A/3Q03Q03Q0S):6c*K8d+[9d+[9d+[9d+[9 	c*N; 	*fc37 %Kj&#{Cj&#{Cj&$Dj&%Ej&&+Fj&&+Fj&';G % 	S)51S)51S)51S)51 4*:;4*:;5)+;<5)+;<6*,=>6*,=>7+-CD7+-CD8,.EF8,.EF8,.EF8,.EF9-/FG9-/FG:.0HI8,.EF:.0GH:.0GH;/1JK;/1JK<02LM:.0IJ9-/FG9-/FG:.0HI;/1JK;/1JK:.0IJ*fa8*fa8*fa9*fa9*fa8*fa8r   short.applies only when using short float repr stylec           	        \        \        R R7      ;_uu_ 4       pV EF  pVP                  R4      '       d   K  VP                  4       pV'       g   K7  \	        \
        P                  VP                  R4      4      w  r4VP                  4       w  rV\        V4      pV P                  WW,          V4       V P                  WW) ,          RV,           4       VR8w  g   K  VR,          pV P                  \        Wx4      V4       V P                  \        V) V4      RV,           4       EK  	  RRR4       R#   + '       g   i     R# ; i)utf-8encodingz--z->r  z%rr   NNN)
openformat_testfile
startswithstripmapr   splitrJ   rI   r  )	r#   testfilelinelhsrhsr  r   r   fmt2s	   &        r   test_format_testfile#FormatTestCase.test_format_testfile  s     /G44 ??4((zz|syy$**T*:;99;#J  #.  r395$;r7D$$VA_c:$$VQB%5sSyA ! 5444s   7D4BD4AD44E	c                    V P                  \        R R4      R4       V P                  \        RR4      R4       V P                  \        RR4      R4       R# )w/^@z.4z123.5g
ףp=J@z	1.235e+03g@z	1.235e+04NrI   r  r(   s   &r   test_issue5864FormatTestCase.test_issue58643  sG    .8.<.<r   c                   V P                  \        R R4      R4       V P                  \        RR4      R4       V P                  \        RR4      R4       V P                  \        RR4      R	4       V P                  \        RR
4      R4       V P                  \        RR4      R4       V P                  \        RR4      R	4       V P                  \        RR4      R4       V P                  \        RR4      R4       V P                  \        RR4      R4       V P                  \        RR4      R4       V P                  \        RR4      R4       V P                  \        RR
4      R4       V P                  \        RR
4      R4       V P                  \        RR4      R4       V P                  \        RR4      R4       R# )g     ^@00z123.0g(\^@00fz
123.34000000ez1.233400e+0200gz123.34z00.10fz123.3400000000z00.10ez1.2334000000e+02z00.10g01fz-123.0z-123.340000z-1.233400e+02z-123.34z-123.3400000000z-1.2334000000e+02Ng     ^g(\^r  r(   s   &r   test_issue35560FormatTestCase.test_issue355608  sw   t,g6.=.?.913CD13EF18<.=-x8/?/A/;24EF24EF24GH2I>r   r   N)r   r   r   r   r  r   rv  r  
skipUnlessra  float_repr_styler  r  r  r   r,   r-   s   @r   r  r    s\     W9r --8IKBK B&=
? ?r   r  c                   n   a  ] tR tRt o R t]P                  ! ]! ]RR4      R8H  R4      R 4       t	Rt
V tR	# )
ReprTestCaseiK  c                   \        \        P                  P                  \        P                  P	                  \
        4      ^ ,          RR4      RR7      ;_uu_ 4       pV Fc  pVP                  4       pV'       d   VP                  R4      '       d   K4  \        V4      pV P                  V\        \        V4      4      4       Ke  	  RRR4       R#   + '       g   i     R# ; i)r   r   zfloating_points.txtr  r  #N)r  ospathjoinr  __file__r  r  ri   rI   repr)r#   floats_filer  vs   &   r   	test_reprReprTestCase.test_reprL  s    "'',,rww}}X6q9')3:< <?J#zz|ts33J  DaM2 $< < < <s   4C5CC"	r  ra   r  r  c           	        . ROpV F  pRV,           pV P                  V\        \        V4      4      4       V P                  V\        \        V4      4      4       V P                  \        \        V4      4      \        \        V4      4      4       V P                  \        \        V4      4      \        \        V4      4      4       K  	  R# )r  r  N)r  1.0r  z0.02z0.03z0.04z0.05z
1.23456789z10.0z100.0z1000000000000000.0z9999999999999990.0z1e+16z1e+17z0.001z0.001001z0.00010000000000001z0.0001z9.999999999999e-05z1e-05z8.72293771110361e+25z7.47005307342313e+26z2.86438000439698e+28z8.89142905246179e+28z3.08578087079232e+35)rI   r  rJ   r   )r#   test_stringsr   negss   &   r   test_short_reprReprTestCase.test_short_reprW  s     D Aq5DQU1X/T4d#45T%(^Sq];T%+.E$K0@A r   r   N)r   r   r   r   r  r  r  getattrra  r  r   r,   r-   s   @r   r  r  K  sA     	3 &8"=HIK0BK0Br   r  c                      a  ] tR tRt o R tR tR tR tR t]	P                  ! ]! ]RR4      R	8H  R
4      R 4       t]	P                  ! ]! ]RR4      R	8H  R
4      R 4       tR tR t]P$                  R 4       tRtV tR# )RoundTestCasei  c                   V P                  \        \        \        4       V P                  \        \        \        ) 4       V P                  \        \        \
        4       V P                  \        \        \        R 4       V P                  \        \        \        ) R4       V P                  \        \        \
        R4       V P                  \        \        RR4       R# )rR   r  zceci n'est pas un integery              ?NrO  )rK   r   roundr-  rL   r  rM   r(   s   &r   test_inf_nanRoundTestCase.test_inf_nan  s    -4-5*eS1)UC5)USD#6)UC1LM)UD"5r   c                    V P                  \        \        ^ 4      \        4       V P                  \        \        ) ^ 4      \        ) 4       V P                  \        P
                  ! \        \        ^ 4      4      4       R# )r   N)rI   r  r-  r  mathr   r  r(   s   &r   test_inf_nan_ndigits"RoundTestCase.test_inf_nan_ndigits  sM    sA,tQ#.

5a=12r   c                ,   R RRRRR^^d,          3 Fs  pV P                  \        RV4      R4       V P                  \        RV4      R4       V P                  \        RV4      R4       V P                  \        RV4      R4       Ku  	  V P                  \        RR4      R4       V P                  \        RR4      R4       V P                  \        RR	4      R4       V P                  \        RR
4      R4       V P                  \        RR4      R4       R# )iD  iE  i  r  u <7~      gP.5_i,  i3  4  i5  gS    i;  gi    Nl        il        w/^go!	rI   r  r#   r"  s   & r   test_large_nRoundTestCase.test_large_n  s    sC%3?AU7A.8U8Q/:U5!_e4U61-v6	 @
 	uc*E2uc*E2w,g6uc*E2x-v6r   c                   RRRR	R
R^^d,          ) 3 Fs  pV P                  \        RV4      R4       V P                  \        RV4      R4       V P                  \        RV4      R4       V P                  \        RV4      R4       Ku  	  R# )r  r  rR   r  r  Niipi  i   l    r  rO  )assertFloatsAreIdenticalr  r  s   & r   test_small_nRoundTestCase.test_small_n  s}    dGVX3wGA))%*;SA))%!*<dC))%q/3?))%*:C@	 Hr   c                v    V P                  \        \        R R4       V P                  \        \        RR4       R# )g3t<{Nr  gv;w0B)rK   r   r  r(   s   &r   test_overflowRoundTestCase.test_overflow  s*    ->-$?r   r  ra   r  r  c                6   V P                  \        R ^4      R 4       V P                  \        R^4      R4       V P                  \        RR4      R4       V P                  \        RR4      R4       V P                  \        RR4      R4       V P                  \        RR4      R4       V P                  \        R	R4      R4       V P                  \        R
R4      R4       V P                  \        RR4      R4       V P                  \        RR4      R4       R# )g      CgBg      9@g      4@g     A@g      D@g     F@g     K@g      N@g     @P@g     R@g      T@g     @U@g     W@g      Y@Nr>  r  r(   s   &r   test_previous_round_bugs&RoundTestCase.test_previous_round_bugs  s     	0!4+	-/3)	+ 	tR$/tR$/tR$/tR$/tR$/tR$/tR$/tR%0r   c           	     ,   \        R 4       F  pVR,          pV P                  \        \        VR4      4      \	        V^ 4      4       V P                  \        \        VR4      4      \	        V^4      4       V P                  \        \        VR4      4      \	        V^4      4       V P                  \        \        VR4      4      \	        V^4      4       K  	  \        ^R^
4       F  pVR,          pV P                  \        \        VR4      4      \	        V^ 4      4       V P                  \        \        VR4      4      \	        V^4      4       V P                  \        \        VR4      4      \	        V^4      4       V P                  \        \        VR4      4      \	        V^4      4       K  	  \        R 4       F  p\
        P
                  ! 4       pV P                  \        \        VR4      4      \	        V^ 4      4       V P                  \        \        VR4      4      \	        V^4      4       V P                  \        \        VR4      4      \	        V^4      4       V P                  \        \        VR4      4      \	        V^4      4       K  	  R# )i  g     @@z.0fz.1fz.2fz.3fi  N)r  rI   rJ   r  r  r  )r#   r!  r   s   &  r   test_matches_float_format'RoundTestCase.test_matches_float_format  s    sA%AU6!U#34eAqkBU6!U#34eAqkBU6!U#34eAqkBU6!U#34eAqkB  q$#A%AU6!U#34eAqkBU6!U#34eAqkBU6!U#34eAqkBU6!U#34eAqkB $ sAAU6!U#34eAqkBU6!U#34eAqkBU6!U#34eAqkBU6!U#34eAqkB r   c                  a  V 3R  lpR F  pRVR,          ,           pRVR,          ,           pV! V\         R4       V! V\         ) R4       V! V\        R4       V! V\        ) R4       V! V\         R4       V! V\         ) R4       V! V\        R4       V! V\        ) R4       V! V\         R	4       V! V\         ) R4       V! V\        R
4       V! V\        ) R
4       K  	  R# )c                    < SP                  W,          W 4       V R ,          p SP                  \        W4      W 4       R# )r  Nr  )r  r!   r  r#   s   &&&r   test0RoundTestCase.test_format_specials.<locals>.test  s3    S[(8b'CVE/?r   z%+r  z% r   r  r   +inf+nanz infz nanN)z%ez%fz%gz%.0ez%.6fz%.20gz%#ez%#fz%#gz%#.20ez%#.15fz%#.3g)r-  r  )r#   r  r  pfmtsfmts   f    r   test_format_specials"RoundTestCase.test_format_specials  s    	@FC#b'>D#b'>Dc5!sdF#c5!sdE" sF#tV$sF#tV$ sF#tV$sF#tV$'Fr   c                N   \        R 4      \        R R4      \        R RR7      3 F+  pV P                  V^4       V P                  V\        4       K-  	  \        R4      \        RR4      \        RRR7      3 F+  pV P                  V^4       V P                  V\        4       K-  	  R# )gGz?N)ndigitsg{Gz?)r  rI   rC  rE  re  s   & r   test_None_ndigitsRoundTestCase.test_None_ndigits  s    teD$/tT1JJAQ"!!!S) K teD$/tT1JJAQ"!!!S) Kr   c                    R P                  R4      \        R 4      \        R R4      3 F4  pV P                  V^4       V P                  \	        V4      \
        4       K6  	  R# r6  )	__round__r  rI   r   r   rE  )r#   vals   & r   $test_round_with_none_arg_direct_call2RoundTestCase.test_round_with_none_arg_direct_call  sO    OOD)#J#t$&C S!$MM$s)S)	&r   r   N)r   r   r   r   r  r  r  r  r  r  r  r  ra  r  r  r  r  r   cpython_onlyr  r   r,   r-   s   @r   r  r    s     63

7A@ &8"=HIK1K1  &8"=HIKCKC.%<* * *r   r  c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )

InfNanTesti  c                	   V P                  \        \        R 4      4      4       V P                  \        \        R4      4      4       V P                  \        \        R4      4      4       V P                  \        \        R4      4      4       V P                  \        \        R4      4      4       V P                  \        \        R4      4      4       V P                  \	        \        R 4      4      R 4       V P                  \	        \        R4      4      R 4       V P                  \	        \        R4      4      R4       V P                  \	        \        R4      4      R 4       V P                  \	        \        R4      4      R 4       V P                  \	        \        R4      4      R4       V P                  \	        \        R4      4      R 4       V P                  \	        \        R4      4      R 4       V P                  \	        \        R4      4      R4       V P                  \	        \        R	4      4      R 4       V P                  \	        \        R
4      4      R 4       V P                  \	        \        R4      4      R4       V P                  \        \        R 4      4      R 4       V P                  \        \        R4      4      R 4       V P                  \        \        R4      4      R4       V P                  \        \        R4      4      R 4       V P                  \        \        R4      4      R 4       V P                  \        \        R4      4      R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       R# )r   r
  r  infinityz	+infinity	-infinityr-  +Infz-iNFInfinityz	+iNfInItYz	-INFINITYinfoz+infoz-infoinz+inz-ininfinitz+Infinz-INFI	infinitysz++Infz-+infz
+-infinityz
--InfinityN)r  r   rJ   rI   r  r   rK   rL   r(   s   &r   test_inf_from_strInfNanTest.test_inf_from_str  sJ   eEl+,eFm,-eFm,-eJ/01eK012eK012eEl+U3eFm,e4eFm,f5eJ/0%8eK0159eK016:eEl+U3eFm,e4eFm,f5eJ/0%8eK0159eK016:U5\*E2U6]+U3U6]+V4U:./7U;/0%8U;/0&9*eV4*eW5*eW5*eT2*eU3*eU3*eY7*eX6*eW5*e[9*eW5*eW5*e\:*e\:r   c                    V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       R# )r  r   r  Ng      g      rI   r  r   r(   s   &r   test_inf_as_strInfNanTest.test_inf_as_str<  sV    m,e4n-v6]+U3^,f5r   c                |   V P                  \        \        R 4      4      4       V P                  \        \        R4      4      4       V P                  \        \        R4      4      4       V P                  \	        \        R 4      4      R 4       V P                  \	        \        R4      4      R 4       V P                  \	        \        R4      4      R 4       V P                  \	        \        R4      4      R 4       V P                  \	        \        R4      4      R 4       V P                  \	        \        R4      4      R 4       V P                  \        \        R 4      4      R 4       V P                  \        \        R4      4      R 4       V P                  \        \        R4      4      R 4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R	4       V P                  \        \        R
4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       R# )r   r  -nanr  z+NAn-NaNnanaz+nanaz-nananaz+naz-naz++nanz-+NAN+-NaNz--nAnN)r  r   rJ   rI   r  r   rK   rL   r(   s   &r   test_nan_from_strInfNanTest.test_nan_from_strC  s   eEl+,eFm,-eFm,-eEl+U3eFm,e4eFm,e4eEl+U3eFm,e4eFm,e4U5\*E2U6]+U3U6]+U3*eV4*eW5*eW5*eT2*eU3*eU3*eW5*eW5*eW5*eW5r   c                    V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       R# )r  r   Ng      g      g      g      r(  r(   s   &r   test_nan_as_strInfNanTest.test_nan_as_str`  sZ    /0%80159./7/0%8r   c                    V P                  \        R \        R4      4      R 4       V P                  \        R \        R4      4      R4       R# )r  r   r  Nr?  rI   r	   rJ   r(   s   &r   test_inf_signsInfNanTest.test_inf_signsg  s8    #uU|4c:#uV}5t<r   c                    V P                  \        R \        R4      4      R 4       V P                  \        R \        R4      4      R4       R# )r  r   r,  Nr?  r7  r(   s   &r   test_nan_signsInfNanTest.test_nan_signsk  s8    #uU|4c:#uV}5t<r   r   N)r   r   r   r   r%  r)  r1  r4  r8  r;  r   r,   r-   s   @r   r  r    s)     +;Z66:9== =r   r  c                      a  ] tR tRt o ]! R4      t]! R4      t]! R4      t]! R4      tR t	R t
R tR	 tR
 tR tR tRtV tR# )HexFloatTestCaseis  z0x.fffffffffffff8p+1024z	0x1p-1022z0x0.0000000000001p-1022z0x0.0000000000001p0c                (    V P                  W4       R # r   )r  )r#   r   ys   &&&r   	identicalHexFloatTestCase.identicaly  s    %%a+r   c           	     f   V P                  V P                  \        R R4      4       V P                  V P                  \        R R4      4       V P                  V P                  \        R R4      4       V P                  V P
                  R\        R R4      \        R R4      ,
          ,          4       R# )r  rU  i  i  Niii)rA  MINr
   TINYEPSMAXr(   s   &r   	test_endsHexFloatTestCase.test_ends|  su    txxsE!23tyy%U"34txxsC1txxU3%5c3%G!HIr   c                X   . 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R,NR-NR.NR/NR0NR1NR2NpV F)  p \        V4      pV P                  R3V: R4V: R524       K+  	  R6#   \         d     K=  i ; i)7infiz-Infinitz++infz-+Infz--nanr0  snanNaNsnnaannfnfinityinityiinity0xnanra   r   zx1.0p0z0xX1.0p0z	+ 0x1.0p0z	- 0x1.0p0z0 x1.0p0z0x 1.0p0z	0x1 2.0p0z	+0x1 .0p0z0x1. 0p0z
-0x1.0 1p0z	-0x1.0 p0z
+0x1.0p +0z	0x1.0p -0z0x1.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--0z0x1.0.p0z0x.p0z0x1,p00x1pau   0x1p０u   ０x1p0u   0x１p0u	   0x1.０p0z0x1p0 
 0x2p0z0x1p0  0x1p0zExpected float.fromhex(z) to raise ValueError; got z insteadN)fromHexfailrL   )r#   invalid_inputsr   results   &   r   test_invalid_inputs$HexFloatTestCase.test_invalid_inputs  sr   444 4 	4
 4 4 4 4 4 4 4 4 4 4 4  !4" #4$ %4& '4( )4* +4, -4. /40 142 344 546 748 94: ;4< =4> ?4@ A4B C4D E4F G4H I4J K4L M4N O4P Q4R S4T U4V W4X Y4Z [4\ ]4^ _4` a4b c4d e4f g4j  A:  		./9 :    s   /BB)(B)c                    R \         3R\         ) 3R\        3RRR.p. ROpV F@  w  r4V F5  pV F,  p\        WS,           V,           4      pV P                  Wt4       K.  	  K7  	  KB  	  R# )r   z	-Infinityr   N)r  r  )z-0x.2g      )z-0.0rO  )ra   r   	
z
 	)r-  r  rV  rA  )r#   value_pairs
whitespaceinpr  leadtrailgots   &       r   test_whitespace HexFloatTestCase.test_whitespace  sp    CL3$CL	
 )MC"'E!$*u"45CNN31 ( # )r   c                >   V P                   pV P                  pV P                  pV P                  pV P	                  \        R 4      \        4       V P	                  \        R4      \        4       V P	                  \        R4      \        ) 4       V P	                  \        R4      \        4       V P	                  \        R4      \        4       V P	                  \        R4      \        4       V P	                  \        R4      \        ) 4       V P	                  \        R4      \        ) 4       V P	                  \        R4      \        4       V P	                  \        R	4      \        4       V P	                  \        R
4      \        4       V P	                  \        R4      \        4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R 4      R4       V P	                  \        R!4      R4       V P	                  \        R"4      R4       V P	                  \        R#4      R4       V P	                  \        R$4      R4       V P	                  \        R%4      R4       V P	                  \        R&4      R4       V P	                  \        R'4      R4       V P	                  \        R(4      R4       V P	                  \        R)4      R*4       V P	                  \        R+4      R*4       V P	                  \        R,4      R*4       V P	                  \        R-4      R*4       V P	                  \        R.4      R/4       V P	                  \        R04      R/4       V P	                  \        R14      R/4       V P	                  \        R24      R/4       V P	                  \        R34      R/4       V P	                  \        R44      R/4       V P	                  \        R54      R/4       V P	                  \        R64      R/4       \        R74      pV P	                  \        R84      V4       V P	                  \        R94      V4       V P	                  \        R:4      V4       V P	                  \        R;4      V4       V P	                  \        R<4      V4       V P	                  \        R=4      V4       V P	                  \        R>4      V4       V P	                  \        R?4      V4       V P	                  \        R@4      V4       V P	                  \        RA4      V4       V P	                  \        R74      V4       V P	                  \        RB4      V4       V P	                  \        RC4      V4       V P	                  \        RD4      V4       V P	                  \        RE4      V4       V P	                  \        RF4      V4       V P	                  \        RG4      V4       V P	                  \        RH4      V4       V P	                  \        RI4      V4       V P	                  \        RJ4      V4       V P	                  \        RK4      V4       V P	                  \        RL4      V4       V P	                  \        RM4      V4       V P	                  \        RN4      V4       V P	                  \        RO4      V4       V P	                  \        RP4      V4       V P	                  \        RQ4      V4       V P	                  \        RR4      V4       V P	                  \        RS4      V4       V P	                  \        RT4      V4       V P	                  \        RU4      V4       V P	                  \        RV4      V4       V P                  \        \
        RW4       V P                  \        \
        RX4       V P                  \        \
        RY4       V P                  \        \
        RZ4       V P                  \        \
        R[4       V P                  \        \
        R\4       V P                  \        \
        R]4       V P                  \        \
        R^4       V P                  \        \
        R_4       V P                  \        \
        R`4       V P                  \        \
        Ra4       V P                  \        \
        Rb4       V P                  \        \
        Rc4       V P                  \        \
        Rd4       V P                  \        \
        Re4       V P                  \        \
        Rf4       V P                  \        \
        Rg4       V P                  \        \
        Rh4       V P                  \        \
        Ri4       V P	                  \        Rj4      V4       V P	                  \        Rk4      V) 4       V P	                  \        Rl4      V4       V P	                  \        Rm4      Rn4       V P	                  \        Ro4      Rn4       V P	                  \        Rp4      ER4       V P	                  \        Rq4      Rn4       V P	                  \        Rr4      ER4       V P	                  \        Rs4      Rn4       V P	                  \        Rt4      Rn4       V P	                  \        Ru4      ER4       V P	                  \        Rv4      ER4       V P	                  \        Rw4      Rn4       V P	                  \        Rx4      ER4       V P	                  \        Ry4      ER4       V P	                  \        Rz4      ER4       V P	                  \        R{4      Rn4       V P	                  \        R|4      ER4       V P	                  \        R}4      Rn4       V P	                  \        R~4      Rn4       V P	                  \        R4      ER4       V P	                  \        R4      ER4       V P	                  \        R4      Rn4       V P	                  \        R4      ER4       V P	                  \        R4      ER4       V P	                  \        R4      V4       V P	                  \        R4      V) 4       V P	                  \        R4      V4       V P	                  \        R4      Rn4       V P	                  \        R4      Rn4       V P	                  \        R4      V4       V P	                  \        R4      V4       V P	                  \        R4      V4       V P	                  \        R4      ^V,          4       V P	                  \        R4      ^V,          4       V P	                  \        R4      ^V,          4       V P	                  \        R4      ^V,          4       V P	                  \        R4      ^V,          4       V P	                  \        R4      ^V,          4       V P	                  \        R4      ^V,          4       V P	                  \        R4      ^V,          4       V P	                  \        R4      ^V,          4       V P	                  \        R4      ^V,          4       V P	                  \        R4      ^V,          4       V P	                  \        R4      ER4       V P	                  \        R4      ER4       V P	                  \        R4      V) 4       V P	                  \        R4      V) 4       V P	                  \        R4      V) 4       V P	                  \        R4      ERV,          4       V P	                  \        R4      ERV,          4       V P	                  \        R4      ERV,          4       V P	                  \        R4      ERV,          4       V P	                  \        R4      ERV,          4       V P	                  \        R4      ERV,          4       V P	                  \        R4      ERV,          4       V P	                  \        R4      ERV,          4       V P	                  \        R4      ERV,          4       V P	                  \        R4      ERV,          4       V P	                  \        R4      ERV,          4       V P	                  \        R4      V^V,          ,
          4       V P	                  \        R4      V^V,          ,
          4       V P	                  \        R4      V^V,          ,
          4       V P	                  \        R4      V^V,          ,
          4       V P	                  \        R4      V^V,          ,
          4       V P	                  \        R4      V^V,          ,
          4       V P	                  \        R4      V^V,          ,
          4       V P	                  \        R4      V^V,          ,
          4       V P	                  \        R4      V^V,          ,
          4       V P	                  \        R4      V^V,          ,
          4       V P	                  \        R4      W,
          4       V P	                  \        R4      W,
          4       V P	                  \        R4      W,
          4       V P	                  \        R4      W,
          4       V P	                  \        R4      W,
          4       V P	                  \        R4      W,
          4       V P	                  \        R4      W,
          4       V P	                  \        R4      V4       V P	                  \        R4      V4       V P	                  \        R4      V4       V P	                  \        R4      V4       V P	                  \        R4      V4       V P	                  \        R4      V4       V P	                  \        R4      V4       V P	                  \        R4      V4       V P	                  \        R4      V4       V P	                  \        R4      W,           4       V P	                  \        R4      W,           4       V P	                  \        R4      W,           4       V P	                  \        R4      W,           4       V P	                  \        R4      W,           4       V P	                  \        R4      W,           4       V P	                  \        R4      W,           4       V P	                  \        R4      V^V,          ,           4       V P	                  \        R4      RV,
          4       V P	                  \        R4      RV,
          4       V P	                  \        R4      RV,
          4       V P	                  \        R4      RV,
          4       V P	                  \        R4      RV,
          4       V P	                  \        R4      RV^,          ,
          4       V P	                  \        R4      RV^,          ,
          4       V P	                  \        R4      RV^,          ,
          4       V P	                  \        R4      RV^,          ,
          4       V P	                  \        R4      RV^,          ,
          4       V P	                  \        R4      RV^,          ,
          4       V P	                  \        R4      RV^,          ,
          4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      R4       V P	                  \        R4      ^V,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      RV,           4       V P	                  \        R4      R^V,          ,           4       V P	                  \        R4      R^V,          ,           4       V P	                  \        R4      R^V,          ,           4       V P	                  \        R4      R^V,          ,           4       V P	                  \        R4      R^V,          ,           4       V P	                  \        R4      R^V,          ,           4       V P	                  \        R4      R^V,          ,           4       V P	                  \        R4      R^V,          ,           4       V P	                  \        R4      R^V,          ,           4       V P	                  \        R4      R^V,          ,           4       V P	                  \        R4      Rn4       V P	                  \        R4      Rn4       V P	                  \        ER 4      V4       V P	                  \        ER4      Rn4       V P	                  \        ER4      Rn4       V P	                  \        ER4      V4       V P	                  \        ER4      Rn4       V P	                  \        ER4      V4       V P	                  \        ER4      Rn4       V P	                  \        ER4      Rn4       V P	                  \        ER4      ER4       V P	                  \        ER	4      Rn4       ER
# (  r   r  z-INFiNfr   z	+INFINITYr  z	-iNFiNitYr   z+NaNr-  z-nAN1r  z+1z1.r  z1.0p001z01.0x1z0x1.z0x1.0z+0x1.00x1p00X1p00X1P00x1P0z0x1.p0z0x1.0p0z0x.1p4z0x.1p04z0x.1p004z0x1p+0z0x1P-0z+0x1p00x01p00x1p00z 0x1p0 z
 0x1p0z0x1p0 	0xap0g      $@0xAp00xaP00xAP00xbep0g     g@0xBep00xbEp0z0XBE0P-40xBEp0z0xB.Ep4z0x.BEp8z	0x.0BEp12z0x1.921fb54442d18p1z0x.006487ed5110b46p11z0x.00c90fdaa22168cp10z0x.01921fb54442d18p9z0x.03243f6a8885a3p8z0x.06487ed5110b46p7z0x.0c90fdaa22168cp6z0x.1921fb54442d18p5z0x.3243f6a8885a3p4z0x.6487ed5110b46p3z0x.c90fdaa22168cp2z0x3.243f6a8885a3p0z0x6.487ed5110b46p-1z0xc.90fdaa22168cp-2z0x19.21fb54442d18p-3z0x32.43f6a8885a3p-4z0x64.87ed5110b46p-5z0xc9.0fdaa22168cp-6z0x192.1fb54442d18p-7z0x324.3f6a8885a3p-8z0x648.7ed5110b46p-9z0xc90.fdaa22168cp-10z0x1921.fb54442d18p-11z0x1921fb54442d1.8p-47z0x3243f6a8885a3p-48z0x6487ed5110b46p-49z0xc90fdaa22168cp-50z0x1921fb54442d18p-51z0x3243f6a8885a30p-52z0x6487ed5110b460p-53z0xc90fdaa22168c0p-54z0x1921fb54442d180p-55z	-0x1p1024z	0x1p+1025z	+0X1p1030z
-0x1p+11000X1p123456789123456789z+0X.8p+1025z+0x0.8p1025z-0x0.4p1026z	0X2p+1023z	0x2.p1023z-0x2.0p+1023z
+0X4p+1022z0x1.ffffffffffffffp+1023z-0X1.fffffffffffff9p1023z0X1.fffffffffffff8p1023z+0x3.fffffffffffffp1022z0x3fffffffffffffp+9700x10000000000000000p960z-0Xffffffffffffffffp960z+0x1.fffffffffffffp+1023z-0X1.fffffffffffff7p1023z$0X1.fffffffffffff7fffffffffffffp10230x0p0rR   0x0p1000z	-0x0p10230X0p1024z	-0x0p10250X0p20000x0p123456789123456789z-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-123456789123456789z0x1.00000000000000001p-1075z-0x1.1p-1075z0x1.fffffffffffffffffp-1075z	0x1p-1076z	0X2p-1076z	0X3p-1076z	0x4p-1076z	0X5p-1076z	0X6p-1076z	0x7p-1076z	0X8p-1076z	0X9p-1076z	0xap-1076z	0Xbp-1076z	0xcp-1076z	0Xdp-1076z	0Xep-1076z	0xfp-1076z
0x10p-1076z
-0x1p-1076z
-0X2p-1076z
-0x3p-1076z
-0X4p-1076z
-0x5p-1076z
-0x6p-1076z
-0X7p-1076z
-0X8p-1076z
-0X9p-1076z
-0Xap-1076z
-0xbp-1076z
-0xcp-1076z
-0Xdp-1076z
-0xep-1076z
-0Xfp-1076z-0X10p-1076z0x0.ffffffffffffd6p-1022z0x0.ffffffffffffd8p-1022z0x0.ffffffffffffdap-1022z0x0.ffffffffffffdcp-1022z0x0.ffffffffffffdep-1022z0x0.ffffffffffffe0p-1022z0x0.ffffffffffffe2p-1022z0x0.ffffffffffffe4p-1022z0x0.ffffffffffffe6p-1022z0x0.ffffffffffffe8p-1022z0x0.ffffffffffffeap-1022z0x0.ffffffffffffecp-1022z0x0.ffffffffffffeep-1022z0x0.fffffffffffff0p-1022z0x0.fffffffffffff2p-1022z0x0.fffffffffffff4p-1022z0x0.fffffffffffff6p-1022z0x0.fffffffffffff8p-1022z0x0.fffffffffffffap-1022z0x0.fffffffffffffcp-1022z0x0.fffffffffffffep-1022z0x1.00000000000000p-1022z0x1.00000000000002p-1022z0x1.00000000000004p-1022z0x1.00000000000006p-1022z0x1.00000000000008p-1022z0x1.0000000000000ap-1022z0x1.0000000000000cp-1022z0x1.0000000000000ep-1022z0x1.00000000000010p-1022z0x1.00000000000012p-1022z0x1.00000000000014p-1022z0x1.00000000000016p-1022z0x1.00000000000018p-1022z0x0.fffffffffffff0p0z0x0.fffffffffffff1p0z0X0.fffffffffffff2p0z0x0.fffffffffffff3p0z0X0.fffffffffffff4p0z0X0.fffffffffffff5p0z0X0.fffffffffffff6p0z0x0.fffffffffffff7p0z0x0.fffffffffffff8p0z0X0.fffffffffffff9p0z0X0.fffffffffffffap0z0x0.fffffffffffffbp0z0X0.fffffffffffffcp0z0x0.fffffffffffffdp0z0X0.fffffffffffffep0z0x0.ffffffffffffffp0z0X1.00000000000000p0z0X1.00000000000001p0z0x1.00000000000002p0z0X1.00000000000003p0z0x1.00000000000004p0z0X1.00000000000005p0z0X1.00000000000006p0z0X1.00000000000007p0z(0x1.00000000000007ffffffffffffffffffffp0z0x1.00000000000008p0z&0x1.00000000000008000000000000000001p0z0X1.00000000000009p0z0x1.0000000000000ap0z0x1.0000000000000bp0z0X1.0000000000000cp0z0x1.0000000000000dp0z0x1.0000000000000ep0z0X1.0000000000000fp0z0x1.00000000000010p0z0X1.00000000000011p0z0x1.00000000000012p0z0X1.00000000000013p0z0X1.00000000000014p0z0x1.00000000000015p0z0x1.00000000000016p0z0X1.00000000000017p0z(0x1.00000000000017ffffffffffffffffffffp0z0x1.00000000000018p0z&0X1.00000000000018000000000000000001p0z0x1.00000000000019p0z0X1.0000000000001ap0z0X1.0000000000001bp0z0x1.0000000000001cp0z0x1.0000000000001dp0z0x1.0000000000001ep0z0X1.0000000000001fp0z0x1.00000000000020p0z
0x.8p-1074z0x.80p-1074z0x.81p-1074z	0x8p-1078z0x8.0p-1078z0x8.1p-1078z
0x80p-1082z
0x81p-1082z.8p-1074z8p-1078z	-.8p-1074z+8p-1078NrO  rA  )
rD  rG  rE  rF  rA  rV  r-  r  rK   r   )r#   rD  rG  rE  rF  pis   &     r   test_from_hexHexFloatTestCase.test_from_hex  s   hhhhyyhh 	wu~s+wv,wv-wu~s+wz*C0w{+S1w{+cT2w{+cT2 	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*C0wx(#.wx(#.wx(#.wx(#.wx(#.wy)3/wz*C0wz*C0ww'.ww'.ww'.ww'.wx(%0wx(%0wx(%0wz*E2wx(%0wy)51wy)51w{+U3 *+w67<w67<w56;w45r:w45r:w45r:w45r:w34b9w34b9w34b9w45r:w34b9w45r:w45r:w56;w45r:w45r:w45r:w56;w45r:w45r:w56;w67<w67<w45r:w45r:w45r:w56;w56;w56;w56;w67< 	-+>-+>-+>-,?-2JK--@--@--@-+>-+>-.A-,?-2LM-2LM-2KL-2KL-2IJ-2KL-2KL 	w9:C@w9:SDAwEFL 	ww'-wz*C0w{+T2wz*C0w{+T2wz*C0w78#>wy)40w|,d3w{+S1w|,d3w|,d3w|,d3w{+S1w|,d3w{+S1w{+S1w|,d3w9:DA 	w{+S1w|,d3w9:DAw<=tDw~.6w<=tD 	w{+S1w{+S1w{+T2w{+T2w{+T2w{+QtV4w{+QtV4w{+QtV4w{+QtV4w{+QtV4w{+QtV4w{+QtV4w{+QtV4w{+QtV4w{+QtV4w|,af5w|,d3w|,d3w|,te4w|,te4w|,te4w|,bg6w|,bg6w|,bg6w|,bg6w|,bg6w|,bg6w|,bg6w|,bg6w|,bg6w|,bg6w}-r$w7 	w9:C$JGw9:C$JGw9:C$JGw9:C$JGw9:C$JGw9:C$JGw9:C$JGw9:C$JGw9:C$JGw9:C$JGw9:CHEw9:CHEw9:CHEw9:CHEw9:CHEw9:CHEw9:CHEw9:C@w9:C@w9:C@w9:C@w9:C@w9:C@w9:C@w9:C@w9:C@w9:CHEw9:CHEw9:CHEw9:CHEw9:CHEw9:CHEw9:CHEw9:C$JG 	w56C@w56C@w56C@w56C@w56C@w56CE	Bw56CE	Bw56CE	Bw56CE	Bw56CE	Bw56CE	Bw56CE	Bw56<w56<w56<w56<w56<w56<w56<w56<w56<w56<w56<w56<wIJ	w56<wGHu	w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@w56C@wIJ3w	 w56AcE	BwGH1S5y	"w56AcE	Bw56AcE	Bw56AcE	Bw56AcE	Bw56AcE	Bw56AcE	Bw56AcE	Bw56AcE	B 	w|,c2w}-s3w}-t4w{+S1w}-s3w}-t4w|,c2w|,d3wz*C0wy)3/w{+T2wz*C0r   c           	     >   R  p\         \        V P                  V P                  V P                  V P                  ,
          V P                  R3 F4  pV P                  W!! V4      4       V P                  V) V! V) 4      4       K6  	  ^ RIp\        R4       Fr  pVP                  ! RR4      pVP                  ! 4       pVP                  ! RR.4      p V\        We4      ,          pV P                  V\        \        V4      4      4       Kt  	  R#   \         d     K  i ; i)c                 *    \        \        V 4      4      # r   )rV  toHexr   s   &r   	roundtrip2HexFloatTestCase.test_roundtrip.<locals>.roundtrip  s    58$$r   rR   Nr  i  r  iPr?  )r  r-  rG  rD  rE  rA  r  r  	randrangechoicer
   rV  r  r   )r#   r  r   r  r!  emr   s   &       r   test_roundtripHexFloatTestCase.test_roundtrip  s    	% sDHHdhh0BDIIsSANN1il+NNA2y!}- T
 	uA  -AAsDk*A5eAkM q'%("34  ! s   DDDc                    ! R  R\         4      pVP                  RP                  4       4      pV P                  \	        V4      V4       V P                  VR4        ! R R\         4      pVP                  RP                  4       4      pV P                  \	        V4      V4       V P                  VR4       V P                  \        VRR4      R4       R	# )
c                   &   a  ] tR tRt o R tRtV tR# ))HexFloatTestCase.test_subclass.<locals>.Fi  c                :    \         P                  W^,           4      # r   r   r   s   &&r   r   1HexFloatTestCase.test_subclass.<locals>.F.__new__  s    }}S!)44r   r   N)r   r   r   r   r   r   r,   r-   s   @r   rq  r    s     5 5r   rq  r;  r   c                   &   a  ] tR tRt o R tRtV tR# )*HexFloatTestCase.test_subclass.<locals>.F2i%  c                    R V n         R# )barNfoor"   s   &&r   r$   3HexFloatTestCase.test_subclass.<locals>.F2.__init__&  s	     r   r  Nr   r-   s   @r   F2r  %  s     ! !r   r  r  noner  N)rJ   fromhexhexr   r   rI   r  )r#   rq  r   r  s   &   r   test_subclassHexFloatTestCase.test_subclass  s    	5 	5 IIsiik"d1gq!C 	! 	! JJyy{#d1gr"C E62E:r   r   N)r   r   r   r   rV  rG  rD  rE  rF  rA  rH  rZ  rh  r  r  r  r   r,   r-   s   @r   r>  r>  s  s\     
+
,C
+
C,-D
'
(C,J=:@24i1V	5*; ;r   r>  __main__)Ar  rP  r  r  ra  r  r   r  r  r   test.support.testcaser   test.support.numbersr   r   r  r   r   r	   r
   r  r   rJ   r-  r  r  dirnamer  curdirtest_dirr  r  r   r   r   r1   r8   TestCaser?   r  hasattrry  r  r   reversedr  r  r  r  r  r  r  r  r  r  rv  r  r  r  rV  r  r  r>  r   mainr   r   r   <module>r     s6     	  
     9 / .  ElEl 77??8$11		'',,x5PQ	E 		 	   P	>)) P	>f 
WUO46NO=h// = P= 4h}-.3h}-."Xl+,"Xl+,Y** Y2G?X&& G?R>B8$$ >B@ 	~*H%%'> ~* ~*D`="" `=F --		y;.0A0A y;x zMMO u0  Is   H$ $	H10H1