+
    Bi<j                    h   R t ^ 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	t	^ RI
t
^ RIt^ RIHtHtHtHt ^ RIHtHtHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIt^ RIt^ RIt^ RIt]P:                  R8X  d	   ]! R4       ]! R	R
.R7      t]! R	R
.R7      t^ RI t!]! RR.R7      t"]]PF                  R	&   ]! RR.R7      t$]]PF                  R	&   ]]"]]$/t%]!]PF                  R	&   ]	PL                  ! ]R4      t']]'       d/   ](! ]PS                  4       PT                  PW                  4       4      MR]](! ]PS                  4       PT                  PW                  4       4      /t,]]'       df   ]PZ                  ]P\                  ]P^                  ]P`                  ]Pb                  ]Pd                  ]Pf                  ]Ph                  ]Pj                  .	MR]]PZ                  ]P\                  ]P^                  ]P`                  ]Pb                  ]Pd                  ]Pf                  ]Ph                  ]Pj                  .	/t6R t7]Pp                  t8]Pr                  t9]Pt                  t:]Pv                  t;]Px                  t<]Pz                  t=]P|                  t>]P~                  t?]8]9]:];]<]=]>]?.t@]]'       d   ]PS                  4       P                  4       MR]]PS                  4       P                  4       /tAR tBRtC]DR8X  d   ]P                  ^ ,          tFM]GtF]P                  P                  ]F4      ;'       g    ]P                  tK]K]P                  ,           ]C,           ]P                  ,           tM]P                  P                  ]M4      '       * sORtP]Q! ]R4      '       d   RMRtR]	PL                  ! ]RR4      tS]	P                  ! ]RR4      tU ! R R4      tV ! R R4      tW]' ! R R]W]	P                  4      4       tY ! R R]W]	P                  4      tZ ! R  R!4      t[]' ! R" R#][]	P                  4      4       t\ ! R$ R%][]	P                  4      t] ! R& R'4      t^]' ! R( R)]^]	P                  4      4       t_ ! R* R+]^]	P                  4      t` ! R, R-4      ta]' ! R. R/]a]	P                  4      4       tb ! R0 R1]a]	P                  4      tcR2 tdR3 te]P                  ! 4        ! R4 R54      4       tg]' ! R6 R7]g]	P                  4      4       th ! R8 R9]g]	P                  4      ti ! R: R;4      tj]' ! R< R=]j]	P                  4      4       tk ! R> R?]j]	P                  4      tl ! R@ RA4      tm]' ! RB RC]m]	P                  4      4       tn ! RD RE]m]	P                  4      to ! RF RG4      tp]' ! RH RI]p]	P                  4      4       tq ! RJ RK]p]	P                  4      tr ! RL RM4      ts]' ! RN RO]s]	P                  4      4       tt ! RP RQ]s]	P                  4      tu ! RR RS4      tv]' ! RT RU]v]	P                  4      4       tw ! RV RW]v]	P                  4      tx ! RX RY4      ty]' ! RZ R[]y]	P                  4      4       tz ! R\ R]]y]	P                  4      t{ ! R^ R_4      t|]' ! R` Ra]|]	P                  4      4       t} ! Rb Rc]|]	P                  4      t~ ! Rd Re4      t]' ! Rf Rg]]	P                  4      4       t ! Rh Ri]]	P                  4      t ! Rj Rk4      t]' ! Rl Rm]]	P                  4      4       t ! Rn Ro]]	P                  4      t]U]' ! Rp Rq]	P                  4      4       4       t ! Rr Rs4      t]' ! Rt Ru]]	P                  4      4       t ! Rv Rw]]	P                  4      t ! Rx Ry]	P                  4      t ! Rz R{]	P                  4      t ! R| R}]	P                  4      t]' ! R~ R]	P                  4      4       t]]' ! R R]	P                  4      4       4       tR tR tR tRsRsRsRsRR lt]DR8X  d   ^ RIt]EP.                  ! R4      t]EP3                  RRRRR7       ]EP3                  RRRRR7       ]EP5                  4       w  tt]EP:                  '       d   ]! RRR7       R# ]'       d   ]! RR]]EP<                  R7       R# ]! RRR7       R# R# )ab  
These are the test cases for the Decimal module.

There are two groups of tests, Arithmetic and Behaviour. The former test
the Decimal arithmetic using the tests provided by Mike Cowlishaw. The latter
test the pythonic behaviour according to PEP 327.

Cowlishaw's tests can be downloaded from:

   http://speleotrove.com/decimal/dectest.zip

This test module can be called from command line with one parameter (Arithmetic
or Behaviour) to test each part, or without parameter to test both parts. If
you're working through IDLE, you can import this test module and call test()
with the corresponding argument.
N)is_resource_enabledrequires_IEEE_754requires_docstringscheck_disallow_instantiation)
TestFailedrun_with_localecpython_onlydarwin_malloc_err_warning)import_fresh_module)threading_helper)warnings_helperdarwintest_decimaldecimal_decimal)fresh)blocked	fractionsztest requires C versionc                    aa \        W4      oT P                  \        ;QJ d,    VV3R  lS 4       F  '       d   K   R4       R# 	  R4       R# ! VV3R  lS 4       4      4       R# )c              3   ^   <"   T F"  qS9   d
   SV,          MSV,          '       * x  K$  	  R # 5iN ).0sdexpecteds   & (/usr/lib/python3.14/test/test_decimal.py	<genexpr>!assert_signals.<locals>.<genexpr>W   s$     FAqH}qtad(:As   *-FTN)getattr
assertTrueall)clscontextattrr   r   s   &&&f@r   assert_signalsr%   U   s<    ANN33FAF33G3G3FAFFG    c                     V '       g   R # V P                  ^	\        \        P                  \        V ,          ^ 4      R7      pV P                  V4       R # )N)precroundingtraps)ContextROUND_HALF_EVENdictfromkeysSignals
setcontext)mDefaultTestContexts   & r   initr3   n   s@    ft}}WQZ/K #  LL#$r&   decimaltestdata__main__F
DecClampedTz.test requires build with -DEXTRA_FUNCTIONALITYztest requires regular buildc                   l   a  ] tR t^t o RtR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tRtV tR# )IBMTestCasesz?Class which tests the Decimal class against the IBM test cases.c                   V P                   P                  4       V n        V P                   P                  4       V n        R .V n        \        . RmO4      V n        V P                   \        8X  d   V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       R	V P                  R
V P                  RV P                  RV P                  RV P                  /V n        / RRbRRbRRbRRbRRbRRbRRbRRbRRbR R!bR"R#bR$R%bR&R'bR(R)bR*R+bR,R-bR.R/b/ R0R1bR2R3bR4R5bR6R7bR8R9bR:R;bR<R=bR>R?bR@RAbRBRCbRDREbRFRGbRHRIbRJRKbRLRMbRNRObRPRQbCRRRSRTRURVRW/CV n        RX\         RY\"        RZ\$        R[\&        R\\(        R]\*        R^\,        R_\.        /V n        R`V P                   P2                  RaV P                   P4                  RbV P                   P6                  RcV P                   P4                  RdV P                   P4                  ReV P                   P8                  RfV P                   P4                  RgV P                   P4                  RhV P                   P:                  RiV P                   P<                  RjV P                   P>                  RkV P                   P@                  /V n!        RnV n"        Rl# )o#pwsx803pwsx805powx4302powx4303powx4342powx4343pwmx325pwmx326	precisionr)   maxexponentminexponentclampandlogical_andapply_applyclassnumber_class
comparesigcompare_signalcomparetotalcompare_totalcomparetotmagcompare_total_magcopycopy_decimalcopyabscopy_abs
copynegatecopy_negatecopysign	copy_sign	divideint
divide_intinvertlogical_invertiscanonicalis_canonicalisfinite	is_finite
isinfiniteis_infiniteisnanis_nanisnormal	is_normalisqnanis_qnanissigned	is_signedissnanis_snanissubnormalis_subnormaliszerois_zeromaxmagmax_magminmagmin_mag	nextminus
next_minusnextplus	next_plus
nexttowardnext_towardor
logical_orreduce	normalizeremaindernearremainder_nearsamequantumsame_quantum
squarerootsqrttoengto_eng_string
tointegralto_integral_valuetointegralxto_integral_exacttoscito_sci_stringxorlogical_xorceilingdownfloor	half_down	half_evenhalf_upup05upclampedconversion_syntaxdivision_by_zerodivision_impossibledivision_undefinedinexactinvalid_contextinvalid_operationoverflowrounded	subnormal	underflowN)scbx164scbx165expx901expx902expx903expx905lnx901lnx902lnx903lnx905logx901logx902logx903logx905powx1183powx1184powx4001powx4002powx4003powx4005powx4008powx4010powx4012powx4014)r`   rb   rd   rf   rh   rj   rl   rn   rp   rr   r   )#r   r+   r#   readcontextignore_listsetskipped_test_idsCaddchange_precisionchange_rounding_methodchange_max_exponentchange_min_exponentchange_clamp
ChangeDictNameAdapterROUND_CEILING
ROUND_DOWNROUND_FLOORROUND_HALF_DOWNr,   ROUND_HALF_UPROUND_UP
ROUND_05UPRoundingDictClampedInvalidOperationDivisionByZeroInexactOverflowRounded	Subnormal	Underflow
ErrorNamesLogicalFunctionsselfs   &r   setUpIBMTestCases.setUp   s   ||++-<<//15 !$ "% "!H <<1!!%%i0!!%%i0!!%%j1!!%%j1!!%%j1!!%%j1!!%%i0!!%%i0 ')>)>%(C(C(4+C+C(4+C+C"T%6%6	8$1E- $1#H$1#N$1 ))9$1 +?	$1
 ,,?$1 #>$1 &j$1 )$1 '{$1 ($1 %%5$1 *.$1 '{$1 )$1 $H$1  '{!$1" %Y#$1$ '{%$1& %Y'$1( *.)$1* %Y+$1, %Y-$1. %Y/$10 (1$12 '{3$14 )5$16 !7$18 %[9$1: ,,<;$1< *.=$1> )?$1@ $OA$1B ))<C$1D **=#O!-I$1N '#j${(?(?&!H#j2 %t||';';.1N1N-0K0K04<<3P3P/$,,2O2O$t||';';,t||/L/L.1N1N%(=(=$t||';';&)?)?&)?)?A
!1r&   c                p   V P                   \        8X  d   V P                   P                  R8X  dm   V P                  P	                  R4       V P                  P                  R4       V P                  P                  R4       V P                  P                  V4      # V P                   P                  W4      # )a  Work around the limitations of the 32-bit _decimal version. The
guaranteed maximum values for prec, Emax etc. are 425000000,
but higher values usually work, except for rare corner cases.
In particular, all of the IBM tests pass with maximum values
of 1070000000.@Ti?i9)	r   r   MAX_EMAXr   _unsafe_setprec_unsafe_setemax_unsafe_setemincreate_decimalDecimal)r   vr#   s   &&&r   read_unlimitedIBMTestCases.read_unlimited  s     <<1!6!6)!C,,Z8,,Z8,,[9##22155<<''33r&   c                   \         '       d   \        P                  h\        VR R7      ;_uu_ 4       pV F7  pVP	                  RR4      P	                  RR4      p V P                  V4      pK9  	  RRR4       R#   T P                  P                   dF   pT P                  RTP                  P                  ,           R,           T,           4        Rp?K  Rp?ii ; i  + '       g   i     R# ; i)utf-8)encodingz
 
zException "z" raised on line N)skip_expectedunittestSkipTestopenreplace	eval_liner   DecimalExceptionfail	__class____name__)r   fileflinet	exceptions   &&    r   	eval_fileIBMTestCases.eval_file)  s    =###$))Q||FB/77bAet,A	  *) ||44 eIImI,?,?,H,HHK^^_ccdde *))s5   (CA:,C:C	:C	CC	CC.	c                D   VP                  R 4      ^ 8  d   VR,          R8w  dy   VP                  R4      '       gb   VP                  R4      ^ ,          R,           VP                  R4      ^,          P                  R4      ^ ,          ,           P                  4       pM&VP                  R4      ^ ,          P                  4       pV P                   F  pVP                  V4      ^ 8  g   K   R# 	  V'       g   R# RV9   d   V P                  V4      # V P                  V4      # )z -> N   N--z  --->N:)find
startswithsplitstripr   eval_directiveeval_equation)r   r   ignores   && r   r   IBMTestCases.eval_line8  s    66&>Q1R5D=f9M9Mq!D(q!''-a0127%'  a &&(A&&Fvvf~" ' AX&&q))%%a((r&   c                    R  VP                  R4       4       w  r#VR8X  d   V P                  V,          pM \        V4      pV P                  P                  VR 4      pV! V4       R#   \         d     L4i ; i)c              3   \   "   T F"  qP                  4       P                  4       x  K$  	  R # 5ir   )r
  lower)r   xs   & r   r   .IBMTestCases.eval_directive.<locals>.<genexpr>K  s     @<a	))<s   *,r  r)   c                      R # r   r   )argss   *r   <lambda>-IBMTestCases.eval_directive.<locals>.<lambda>T  s    $r&   N)r	  r   int
ValueErrorr   get)r   r   functvalues   &&  r   r  IBMTestCases.eval_directiveJ  sp    @1773<@J%%e,EE
 ##E,>@e	  s   A) )A76A7c                &   \         '       g   \        P                  ! 4       R 8  d   R# V P                  P                  4         VP	                  R4      pV^ ,          P                  4       P	                  4       pV^ ,          p\        '       d   \        RVRR7       V^,          P                  4       pVR,          pV^,          P                  4       P	                  4       pV^ ,          pVR,          pR p	Y@P                  9   d   R# T P                  P!                  YU4      p
T
R	8X  d   R# \#        T P                  T
4      p. pR
p^ pT Uu. uF#  qP$                  TP                  4       ,          NK%  	  pp\&        T P                  ,           F  p^T P                  P(                  T&   K  	  T F  p^ T P                  P(                  T&   K  	  \+        T4       EF,  w  ppTP-                  R4      ^,          ^8X  d
   ^T,
          pT'       d   TR,           T,           pKG  TT,           pR
pT	! T4      pT
R9   d   \.        '       dw   T Fp  p^T P                  P(                  T&    T! T P                  P1                  T4      4       T P3                  RT: RT: 24       ^ T P                  P(                  T&   Kr  	  T P                  P1                  T4      pMT P5                  TT P                  4      pTP7                  T4       EK/  	  T	! T4      p\.        '       d   T
R9  d   T FU  p^T P                  P(                  T&    T! T!   T P3                  RT: RT: 24       ^ T P                  P(                  T&   KW  	  \8        T P                  ,           Uu. uF  pTT9   g   K  TNK  	  ppT F<  p^T P                  P(                  T&    T! T!   T P3                  RT: RT: 24       K>  	  T F  p^ T P                  P(                  T&   K  	  \        '       d   \        RT P                  4        \=        T! T!  4      pYP>                  9   d   \=        \A        \C        T4      4      4      pT PE                  4       pTPG                  \H        R7       TPG                  \H        R7       T PK                  XTRT,           R,           T,           4       T PK                  TTRT,           R,           \=        T4      ,           4       R#   \        \        \        3 d    T P                  P                  hi ; iu upi   T d     EL\&        T P                  ,           d*   pT P3                  RT: RT: RT: R24        Rp?ELRp?ii ; i  T d     EL6\&        T P                  ,           d*   pT P3                  RT: RT: RT: R24        Rp?ELuRp?ii ; iu upi   T d     EK?  \&        T P                  ,           d3   pT P3                  R\;        T4      : RT: RT: 24        Rp?EK  Rp?ii ; i  \&        T P                  ,           d%   pT P3                  RT: RT: 24        Rp?EL	Rp?i \        RT4       h ; i)g?Nr  zTest  )end:r  NN   NNc                     V P                  R R4      P                  RR4      p V P                  RR4      P                  RR4      p V P                  RR4      P                  RR4      p V # )z''SingleQuotez""DoubleQuote'r   ")r   )vals   &r   	FixQuotes-IBMTestCases.eval_equation.<locals>.FixQuotesk  s^    ++dM2::4OC++c2&..sB7C++mS199-MCJr&   rescaler   r&  zDid not raise z in zRaised z when z	 disabledz; expected r  zERROR:keyzIncorrect answer for z -- got zIncorrect flags set in )r   r   )&TEST_ALLrandomr#   clear_flagsr	  r
  DEBUGprintr  	TypeErrorAttributeError
IndexErrorr   r   r   r   r  r   r   r/   r*   	enumeratecountEXTENDEDERRORTESTr   r   r   appendOrderedSignalstypestrr   r  evalgetexceptionssortreprassertEqual)r   r   SidesLidr  valstempans
exceptionsr)  fnamevalsconglomeratequoter  theirexceptionsr   ir(  r   erroreordered_errorsresultmyexceptionss   &&                       r   r  IBMTestCases.eval_equationW  sn   xFMMOd2  "	0GGDMEa &&(A1Bugrs+aDJJLEuHa &&(AA$C2J	 &&&  $$U2Ie,?IJz!??177955zJ ..I,-DLLy) /(I,-DLLy) ))FAsyy~!Q&E	+c1C7"S(!#A::$$!045**51M!$,,"="=a"@A !II%&KL45**51 "1 LL//2''4<<8KKN7 *: n.P!P(,-""5)E4L II%CD,-""5) ) *8)E^)EAoI]aa)EN^',-""5)E4L II%CD ( (,-""5) ( 5$%	&F---Sf./ ))+d#&014zAFJ	L 	'!+j83|;LL	NW >:6 	0,,///	0$ K,  % ! &t||4 5 II'(!U'4 5 55$  t||, -II !U, - -- _
  t||, 3II#Aw52 3 33  t||$ 	6II5!455	(As   A
T A%T )T<(!UV	W#*W#W(9<Y -T9VV%V&V

VW W 6W 7WW (Y 3Y Y &X;;Y ZY>>Zc                    \         V P                  ,           Uu. uF)  qP                  P                  V,          '       g   K'  VNK+  	  up# u upi r   )r/   r   r#   flags)r   rO  s   & r   r>  IBMTestCases.getexceptions  s9    "4<<0J0aLL4F4Fq4I4I0JJJs   $AAc                    V P                   \        8X  d9   V P                   P                  R 8X  d   V P                  P	                  V4       R# WP                  n        R# r   N)r   r   MAX_PRECr#   r   r(   )r   r(   s   &&r   r   IBMTestCases.change_precision  s;    <<1!6!6)!CLL((. $LLr&   c                &    WP                   n        R # r   )r#   r)   )r   r)   s   &&r   r   #IBMTestCases.change_rounding_method  s     (r&   c                    V P                   \        8X  d9   V P                   P                  R 8X  d   V P                  P	                  V4       R# WP                  n        R# rX  )r   r   rY  r#   r   Eminr   exps   &&r   r    IBMTestCases.change_min_exponent  ;    <<1!6!6)!CLL((- #LLr&   c                    V P                   \        8X  d9   V P                   P                  R 8X  d   V P                  P	                  V4       R# WP                  n        R# rX  )r   r   rY  r#   r   Emaxr_  s   &&r   r    IBMTestCases.change_max_exponent  rb  r&   c                &    WP                   n        R # r   )r#   rF   )r   rF   s   &&r   r   IBMTestCases.change_clamp  s    "r&   )	r   r   r   r   r   r#   r   r   r   N)r   
__module____qualname____firstlineno____doc__r   r   r   r   r  r  r>  r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r   r8   r8      sP     IK1Z4e)$~N@K%
)$
$
# #r&   r8   c                      a  ] tR tRt o RtR tR tR tR tR t	R t
R	 tR
 t]R 4       tR tR tRR ltRR ltR tRtV tR# )ExplicitConstructionTesti  z6Unit tests for Explicit Construction cases of Decimal.c                l    V P                   P                  pV P                  V! 4       V! R 4      4       R# )0Nr   r   rA  r   r   s   & r   test_explicit_empty,ExplicitConstructionTest.test_explicit_empty  s'    ,,&&GCL1r&   c                `    V P                   P                  pV P                  \        VR 4       R # r   )r   r   assertRaisesr3  ru  s   & r   test_explicit_from_None0ExplicitConstructionTest.test_explicit_from_None  s#    ,,&&)Wd3r&   c           	     .   V P                   P                  pV! ^-4      pV P                  \        V4      R4       V! R4      pV P                  \        V4      R4       V! R4      pV P                  \        V4      R4       V! ^ 4      pV P                  \        V4      R4       \	        ^ ^ 4       Fb  pR FY  p\	        R	^4       FF  pV^V,          V,           ,          pV! V4      pV P                  \        V4      \        V4      4       KH  	  K[  	  Kd  	  R# )
-   45{e	500000123-45rs  Nr"  )r   r   rA  r<  range)r   r   r   nsignr  rM  s   &      r   test_explicit_from_int/ExplicitConstructionTest.test_explicit_from_int  s    ,,&& BKQ& IQ- CLQ' AJQ% q"Ar1A1q)A
A$$SVSV4 &   r&   c           
     D   V P                   P                  pV P                   P                  pV P                   P                  pV P	                  \        V! R 4      4      R4       V P	                  \        V! R4      4      R4       V P	                  \        V! R4      4      R4       V P	                  \        V! R4      4      R4       V P	                  \        V! R4      4      R4       V P	                  \        V! R4      4      R4       V P	                  \        V! R	4      4      R
4       V P	                  \        V! R4      4      R4       V P	                  \        V! R4      4      R4       V P	                  \        V! R4      4      R4       R F;  pR F2  pV P	                  \        V! VR,           V,           4      4      R4       K4  	  K=  	  V! 4       ;_uu_ 4       pRVP                  V&   V P                  W!R4       V P                  \        VRRR4       V P                  W!R4       V P                  W!R4       V P                  W!R4       V P                  W!R4       V P                  W!R4       V P                  W!R4       RRR4       R#   + '       g   i     R# ; i)r   NaNr~  45.3445e2z4.5E+3uglyz1.3E4 
z1.3E+4z  -7.89z-7.89z  3.45679  z3.45679z	1_3.3e4_0z1.33E+411_0_0_01000    z	9.311E+28Txyz1234r  yu   1 2 3u    1 2 u     z12 3z1_2_ 3N)r   r  r  u    )	r   r   r   localcontextrA  r<  r*   ry  r3  )r   r   r   r  leadtrailcs   &      r   test_explicit_from_string2ExplicitConstructionTest.test_explicit_from_string  s8   ,,&&<<88||00 	WR[)51 	WT]+T2 	WW-.8 	WV_-x8 	WV_-u5 	WZ018<WY/0':W]34i@ 	W[12J?WY/0&9 2D6  WTK-?%-G%H!I!,. 7 2
 ^^q(,AGG$%.?i&#sC .9JK.9OP .B.H .E .G' ^^^s   B'JJ	c                   V P                   P                  pV! R4      pV P                  \        V4      R4       V! R4      pV P                  \        V4      R4       V! R	4      pV P                  \        V4      R4       V! R
4      pV P                  \        V4      R4       V! R4      pV P                  \        V4      R4       V P	                  \
        VR4       V P	                  \
        VR4       V P	                  \
        VR4       V P	                  \
        W! ^4      R^34       V P	                  \
        VR4       V P	                  \
        VR4       V P	                  \
        VR4       V P	                  \
        VR4       V P	                  \
        VR4       V P	                  \
        VR4       V P	                  \
        VR4       V P	                  \
        VR4       R# )    rs  r  r  -4.34913534E-17InfinityNr  r  r  r"  )      r  r  r  r     r  r"  	r  r  r  	   r"  r  r  r  r  )r  r   Fr  r  r  r  r"  )r"  r  )   r  r  )        r  r  )r"  r  zwrong!)r"  r  r  )r"  r  1)r"  r  r  )r"  )r  r  r  Nr"  r  )r"  )r  r  r  r"  r  )r"  )r  
   r  r  r"  r  )r"  )r  r  r  ar"  r  )r   r   rA  r<  ry  r  r   r   r   s   &  r   test_explicit_from_tuples2ExplicitConstructionTest.test_explicit_from_tuplesO  s   ,,&& \#Q% ^%Q' *,Q) :<Q!23 \#Q, 	*g/CE 	*g/FH*g/GI*g
OQ/OP 	*g/MO*g/GI*g/HJ 	*g}>*g/IK*g/GI*g/GI*g/HJr&   c                j   V P                   P                  pV! ^ ^ .^ .4      pV P                  \        V4      R4       V! ^. ROR.4      pV P                  \        V4      R4       V! . RO4      pV P                  \        V4      R4       V! ^. ROR34      pV P                  \        V4      R4       R# )r  rs  r  Nr  r  r  r   r   rA  r<  r  s   &  r   test_explicit_from_list0ExplicitConstructionTest.test_explicit_from_listz  s    ,,&&QQK Q%Q3S9:Q!239:Q!23Q3S9:Q!23r&   c                .   V P                   P                  pV P                  \        V! ^ 4      4      R4       V P                  \        V! ^4      4      R4       V P	                  V! R4      V! ^ 4      4       V P	                  V! R4      V! ^4      4       R# )r  FTN)r   r   assertIsboolrA  ru  s   & r   test_explicit_from_bool0ExplicitConstructionTest.test_explicit_from_bool  so    ,,&&d71:&.d71:&-4
3r&   c                   V P                   P                  pV! ^-4      pV! V4      pV P                  \        V4      R4       V! R4      pV! V4      pV P                  \        V4      R4       V! R4      pV! V4      pV P                  \        V4      R4       V! ^ 4      pV! V4      pV P                  \        V4      R4       R# )r}  r~  r  r  r  rs  Nr  r  r   r   r   rO  s   &   r   test_explicit_from_Decimal3ExplicitConstructionTest.test_explicit_from_Decimal  s    ,,&& BKAJQ& IAJQ- CLAJQ' AJAJQ%r&   c           	     l   V P                   P                  pV! R 4      pV P                  \        V4      V4       V P                  \	        V4      R4       V P                  V! \        R4      4      P                  4       4       V P                  V! \        R4      4      P                  4       4       V P                  V! \        R4      4      P                  4       4       V P                  \	        V! \        R4      4      4      \	        V! R4      4      4       V P                  \	        V! \        R4      4      4      \	        V! R4      4      4       V P                  \	        V! \        R4      4      4      \	        V! R4      4      4       V P                  \	        V! \        R4      4      4      \	        V! R	4      4      4       \        ^4       Fb  p\        P                  ! R
4      \        P                  ! 4       R,          R,
          ,          pV P                  V\        V! V4      4      4       Kd  	  R# )皙?90.1000000000000000055511151231257827021181583404541015625naninf-infr  r  	-Infinity-0.0-0{Gz?       @      ?N)r   r   rA  r;  r<  r    floatrj   rd   r  r/  expovariate)r   r   rrM  r  s   &    r   test_explicit_from_float1ExplicitConstructionTest.test_explicit_from_float  s    ,,&&CLa'*QK	Me-5578e-99;<f.::<=WU5\23WU^,	.WU5\23WZ01	3WU6]34W[12	4WU6]34WT]+	-sA""4(FMMOc,AC,GHAQgaj 12 r&   c           	     \
   V P                   P                  pV P                   P                  pV P                   P                  p\        P                  ! V P                   P                  4       4      p^Vn        V! 4       pV P                  \        V4      R4       VP                  4       pV P                  \        V4      R4       V P                  \        VP                  R4       VP                  R4      pV P                  WQ4       V P                  VP                  R4      VP                  R4      4       V! R4      pV P                  \        V4      R4       VP                  R4      pV P                  \        V4      R4       V P                  \        VP                  R4      4      R	4       V! R4      pV P                  \        V4      R
4       VP                  R4      pV P                  \        V4      R4       V! R4      pV! V4      pV P                  \        V4      R4       VP                  V4      pV P                  \        V4      R4       ^Vn        RVP                  V&   R F@  pVP                  V4      pV P                  WQ4       V P                  \        V4      V4       KB  	  ^Vn        RVP                  V&   V P                  W4P                  R4       ^Vn        V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  W$P                  R4       V P                  \        VP                  R 4       V P                  \        VP                  RR4       V P                  W$P                  R4       V P                  W$P                  R4       ^Vn        V P                  W$P                  R4       V P                  W$P                  V! R4      4       RVP                  V&   V P                  \        VP                  R4      4      R	4       V P!                  VP"                  V,          4       RVP"                  V&   V P                  \        VP                  V! R4      4      4      R	4       V P!                  VP"                  V,          4       R# )!r  rs  N  in  z457E+2456789z4.57E+5z3.14
r  r  z	-4.35E-17r  r  z5.00E+8T  z0E-017z0E-17r~  -Infr  NaN123r  r  5678z 123412_34NaN12345Fr  )	l        l         l    i   r  l            l            )r"  r  r  )r   r   r   r   rS   
getcontextr(   rA  r<  r   ry  r3  assertIsInstancer*   r  r  r    rU  )r   r   r   r   ncr   prevdecr   s   &       r   $test_explicit_context_create_decimal=ExplicitConstructionTest.test_explicit_context_create_decimal  sD   ,,&&<<88,,&&YYt||..01 IQ%Q% 	)R%6%6= c"a)**51**84	6 HQ*h'Q+ 	R..x895A :<Q!23DFQ- )$GQ-g&Q+ %)!"3A!!!$A!!!-SVQ'	3  '#4#4d; R..x897CR..t45t<R..v67ER..x898D 	*,=,=uE*b&7&7I)R%6%6G*,=,=wG*,=,=wG *,=,=zJ*,=,=!*-	/ &+!"R..z:;UC!123%*!"R..wz/BCDeL!123r&   c           	        V P                   P                  pV P                   P                  4       pVP                  R 4      pV P	                  \        V4      V4       V P	                  \        V4      R4       V P                  VP                  \        R4      4      P                  4       4       V P                  VP                  \        R4      4      P                  4       4       V P                  VP                  \        R4      4      P                  4       4       V P	                  \        VP                  \        R4      4      4      \        VP                  R4      4      4       V P	                  \        VP                  \        R4      4      4      \        VP                  R4      4      4       V P	                  \        VP                  \        R4      4      4      \        VP                  R4      4      4       V P	                  \        VP                  \        R4      4      4      \        VP                  R	4      4      4       ^dVn        \        ^4       Fk  p\        P                  ! R
4      \        P                  ! 4       R,          R,
          ,          pV P	                  V\        VP                  V4      4      4       Km  	  R# )r  z0.1000000000000000055511151231r  r  r  r  r  r  r  r  r  r  r  N)r   r   r+   r   rA  r;  r<  r    r  rj   rd   r(   r  r/  r  )r   r   r  r  rM  r  s   &     r   'test_explicit_context_create_from_float@ExplicitConstructionTest.test_explicit_context_create_from_float  s   ,,&&\\!!#c"a'*Q!AB))%,7??AB))%,7CCEF))%-8DDFGR..uU|<=R..u56	8R..uU|<=R..z:;	=R..uV}=>R..{;<	>R..uV}=>R..t45	7sA""4(FMMOc,AC,GHAQb&7&7&: ;< r&   Nc                  a a S P                   P                  pSf   VoVV 3R lpV! RV! R4      4       V! RVP                  R4      4       V! V! R4      V! R4      4       S P                  \        SP
                  R4       S P                  \        SP
                  R4       S P                  \        SP
                  R4       S P                  \        SP
                  \        4       4       R # )Nc                    < SP                  V 4      pSP                  \        V4      S4       SP                  W!4       R # r   )from_numberr  r;  rA  )argr   r   r"   r   s   && r   check8ExplicitConstructionTest.test_from_number.<locals>.check6  s1    $AMM$q'3'Q)r&   i:  gQ	@z3.14314y      @      @)r  )r  r"  r  r  )r   r   
from_floatry  r3  r  object)r   r"   r   r  s   ff  r   test_from_number)ExplicitConstructionTest.test_from_number1  s    ,,&&;C	*
 	c73< dG&&t,-gfowv/)S__d;)S__e<)S__6GH)S__fh?r&   c                f     ! R  RV P                   P                  4      pV P                  V4       R# )c                       ] tR tRtRtR# )KExplicitConstructionTest.test_from_number_subclass.<locals>.DecimalSubclassiD  r   Nr   rh  ri  rj  rl  r   r&   r   DecimalSubclassr  D      r&   r  N)r   r   r  )r   r"   r  s   && r   test_from_number_subclass2ExplicitConstructionTest.test_from_number_subclassC  s&    	dll22 	o.r&   c                    V P                   P                  pR RRRRR/pVP                  4        F&  w  r4V P                  \	        V! V4      4      V4       K(  	  R# )u   １r  u   ٠.٠٣٧٢e-٣z	0.0000372u   -nan౨౪౦౦z-NaN2400N)r   r   itemsrA  r<  )r   r   test_valuesinputr   s   &    r   test_unicode_digits,ExplicitConstructionTest.test_unicode_digitsH  sY    ,,&& c5*Z
  +002OES0(;  3r&   r   r   )r   rh  ri  rj  rk  rv  rz  r  r  r  r  r  r  r   r  r  r  r  r  r  rl  rm  rn  s   @r   rq  rq    si     @24566Hp)KV44&. 3 3.W4r=0@$/
	< 	<r&   rq  c                       ] tR tRt]tRtR# )CExplicitConstructionTestiS  r   Nr   rh  ri  rj  r   r   rl  r   r&   r   r  r  S      Gr&   r  c                       ] tR tRt]tRtR# )PyExplicitConstructionTestiV  r   Nr   rh  ri  rj  Pr   rl  r   r&   r   r  r  V      Gr&   r  c                   H   a  ] tR tRt o RtR tR tR tR tR t	R t
R	tV tR
# )ImplicitConstructionTestiY  z6Unit tests for Implicit Construction cases of Decimal.c                z    V P                   P                  pV P                  \        \        R \        4       4       R# )zDecimal(5) + NoneNr   r   ry  r3  r=  localsru  s   & r   test_implicit_from_None0ImplicitConstructionTest.test_implicit_from_None\  s(    ,,&&)T+>Ir&   c                    V P                   P                  pV P                  \        V! ^4      ^-,           4      R4       V P                  V! ^4      R,           V! R4      4       R# )r  50l   2}r Nr  ru  s   & r   test_implicit_from_int/ImplicitConstructionTest.test_implicit_from_int`  sN    ,,&& 	WQZ"_-t4l2GL4IJr&   c                z    V P                   P                  pV P                  \        \        R \        4       4       R# )zDecimal(5) + "3"Nr  ru  s   & r   test_implicit_from_string2ImplicitConstructionTest.test_implicit_from_stringh  (    ,,&&)T+=vxHr&   c                z    V P                   P                  pV P                  \        \        R \        4       4       R# )zDecimal(5) + 2.2Nr  ru  s   & r   test_implicit_from_float1ImplicitConstructionTest.test_implicit_from_floatl  r  r&   c                    V P                   P                  pV P                  V! ^4      V! ^-4      ,           V! ^24      4       R# )r  Nrt  ru  s   & r   test_implicit_from_Decimal3ImplicitConstructionTest.test_implicit_from_Decimalp  s2    ,,&&gbk172;?r&   c                l  aa V P                   P                  p ! R  R4      pV P                  \        V! 4       V! ^
4      4      R4       V P                  \        V! ^
4      V! 4       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       . ROpV F  w  poo\        VSV3R l4       \        VSV3R l4       V P                  \	        RV,           R,           4      RS,           R,           4       V P                  \	        RV,           R,           4      RS,           R,           4       K  	  R# )c                   P   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# ),ImplicitConstructionTest.test_rop.<locals>.Eix  c                &    R \        V4      ,           # )zdivmod r<  r   others   &&r   
__divmod__7ImplicitConstructionTest.test_rop.<locals>.E.__divmod__y  s     3u:--r&   c                &    \        V4      R ,           # )z rdivmodr%  r&  s   &&r   __rdivmod__8ImplicitConstructionTest.test_rop.<locals>.E.__rdivmod__{  s    5zJ..r&   c                &    R \        V4      ,           # )zlt r%  r&  s   &&r   __lt__3ImplicitConstructionTest.test_rop.<locals>.E.__lt__}      s5z))r&   c                &    R \        V4      ,           # )zgt r%  r&  s   &&r   __gt__3ImplicitConstructionTest.test_rop.<locals>.E.__gt__  r0  r&   c                &    R \        V4      ,           # )zle r%  r&  s   &&r   __le__3ImplicitConstructionTest.test_rop.<locals>.E.__le__  r0  r&   c                &    R \        V4      ,           # )zge r%  r&  s   &&r   __ge__3ImplicitConstructionTest.test_rop.<locals>.E.__ge__  r0  r&   c                &    R \        V4      ,           # )zeq r%  r&  s   &&r   __eq__3ImplicitConstructionTest.test_rop.<locals>.E.__eq__  r0  r&   c                &    R \        V4      ,           # )zne r%  r&  s   &&r   __ne__3ImplicitConstructionTest.test_rop.<locals>.E.__ne__  r0  r&   r   N)r   rh  ri  rj  r(  r+  r.  r2  r5  r8  r;  r>  rl  rm  rn  s   @r   Er#  x  s2     ./****** *r&   r@  z	divmod 10z
10 rdivmodzDecimal(10) < E()zgt 10zDecimal(10) > E()zlt 10zDecimal(10) <= E()zge 10zDecimal(10) >= E()zle 10zDecimal(10) == E()zeq 10zDecimal(10) != E()zne 10c                 6   < R S,           \        V4      ,           # r%  r%  )r   r'  lops   &&r   r  3ImplicitConstructionTest.test_rop.<locals>.<lambda>  s    c%j0Hr&   c                 6   < \        V4      S,           R ,           # r%  r%  )r   r'  rops   &&r   r  rC    s    E
S0@50Hr&   zE()zDecimal(10)r<  10N))+__add____radd__)-__sub____rsub__)*__mul____rmul__)/__truediv____rtruediv__)%__mod____rmod__)z//__floordiv____rfloordiv__)z**__pow____rpow__)r   r   rA  divmodr=  setattr)r   r   r@  oplistsymrB  rE  s   &    @@r   test_rop!ImplicitConstructionTest.test_ropt  sd   ,,&&	* 	*$ 	WR[1;?QS1<@12G<12G<23W=23W=23W=23W=
 $MCcAsHIAsHIT%#+"=>"S[4/1T-#"5"=>!CZ%/1 $r&   r   N)r   rh  ri  rj  rk  r  r  r  r  r  r^  rl  rm  rn  s   @r   r  r  Y  s0     @JKII@01 01r&   r  c                       ] tR tRt]tRtR# )CImplicitConstructionTesti  r   Nr  r   r&   r   ra  ra    r  r&   ra  c                       ] tR tRt]tRtR# )PyImplicitConstructionTesti  r   Nr	  r   r&   r   rc  rc    r  r&   rc  c                   h   a  ] tR tRt o RtR tR tR tR tR t	]
! RR	R
4      R 4       tR tRtV tR# )
FormatTesti  z#Unit tests for the format function.c                X   V P                   P                  p. 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R3NR4NR5NR6NR7NR8NR9NR:NR;NR<NR=NR>NR?NR@NRANRBNRCNRDNRENRFNRGNRHNRINRJNRKNRLNRMNRNNRONRPNRQNRRNRSNRTNRUNRVNRWNRXNRYNRZNR[NR\NR]NR^NR_NR`NRaNRbNRcNRdNReNRfNRgNRhNRiNRjNRkNRlNRmNRnNRoNRpNRqNRrNRsNRtNRuNRvNRwNRxNRyNRzNR{NR|NR}NR~NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNpV F(  w  r4pV P                  \        V! V4      V4      V4       K*  	  V P	                  \
        V! ^4      P                  R4       V P	                  \        \        V! ^4      R4       V P	                  \        \        V! ^4      R4       R# )rO  s   -020z.fz._6fN)rO  0E-15z0e-15)rO  z2.3E-15z2.3e-15)rO  z2.30E+2z2.30e+2)rO  z2.30000E-15z2.30000e-15)rO  z1.23456789123456789e40z1.23456789123456789e+40)rO  1.5z1.5e+0)rO  z0.15z1.5e-1)rO  z0.015z1.5e-2)rO  z0.0000000000015z1.5e-12)rO  z15.0z1.50e+1)rO  -15z-1.5e+1)rO  rs  z0e+0)rO  0E10e+1)rO  0.0z0e-1)rO  0.000e-2).6erg  z0.000000e-9)ro  rs  z0.000000e+6)ro  z9.999999z9.999999e+0)ro  z	9.9999999z1.000000e+1)ro  z-1.23e5z-1.230000e+5)ro  z1.23456789e-3z1.234568e-3)r   rs  rs  )r   rl  rl  )r   0E-2rm  )r   z0.00E-80.0000000000)r   rj  rs  )r   z3.2E132)r   z3.2E2320)r   z3.20E2rs  )r   z3.200E2z320.0)r   z3.2E-6z	0.0000032).6frg  0.000000)rt  rj  ru  )rt  rs  ru  ).0frs  rs  )rv  rn  rs  )rv  
3.141592653).1frw  3.1)z.01frw  rz  )z.4frw  3.1416)rt  rw  3.141593)z.7frw  	3.1415926)z.8frw  rw  )z.9frw  z3.141592650)grs  rs  )r~  rl  rl  )r~  rj  rk  )Grj  z0E+1)r~  z0E-5z0.00000)r~  z0E-6ru  )r~  z0E-7z0e-7)r~  z-0E2z-0e+2).0grw  rx  )z.0nrw  rx  )z.1grw  rx  )z.2grw  rz  )z.5grw  r{  )z.7grw  r|  )z.8grw  r}  )z.9grw  rw  )z.10grw  rw  )rS  rj  0%)rS  0E0r  )rS  z0E-1r  )rS  rp  r  )rS  z0E-3z0.0%)rS  z0E-4z0.00%).3%rs  0.000%)r  0E10r  )r  z0E-10r  )r  z2.34z234.000%)r  z1.234567z123.457%).0%1.23z123%)rO  r  r  )r   -NaN123r  )z+gNaN456z+NaN456)z.3eInfr  )z.16fr  r  )r  -sNaNr  )r   1.00r  )6123   123)z<6r  z123   )z>6r  r  )z^6r  z 123  )z=+6r  z+  123)#<10r  z
NaN#######)r  z-4.3z
-4.3######)z#<+100.0130z
+0.0130###)z#< 10r  z
 0.0130###)z@>10r  z
@-Infinity)z#>5r  r  )z?^5r  z?123?)z%^6r  z%123%%)z ^6-45.6z-45.6 )z/=10r  z
-/////45.6)z/=+1045.6z
+/////45.6)z/= 10r  z
 /////45.6)z =10r  z
- Infinity)z ^16r  z   -Infinity    )z >101.2345z
    1.2345)z <10r  z
1.2345    ),1234567z	1,234,567)r  123456123,456)r  1234512,345)r  r  z1,234)r  r  r  )r  12r  )r  r  r  )r  rs  rs  )r  z-1234567z
-1,234,567)r  -123456-123,456)z7,r  r  )z8,r   123,456)08,r  	0,123,456)z+08,r  z+123,456)z008,r  r  )z 08,r  r  )r  r  r  )z+09,r  z
+0,123,456)z07,1234.561,234.56)r  r  r  )z09,r  z	01,234.56)z010,r  z
001,234.56)z011,r  0,001,234.56)z012,r  r  )z08,.1fz1234.5z01,234.5)r  
1.23456789r  )z,%
123.456789z12,345.6789%)z,er  z
1.23456e+5)z,Er  z
1.23456E+5)_r  	1_234_567)07_r  z1_234.56)r  r  r  )z_%r  z12_345.6789%)z.,r  z1.234,567,89)z._r  z1.234_567_89)z.6_fz12345.23456789z12345.234_568)z,._%r  z12,345.678_9%)z,._er  z1.234_56e+5)z,.4_er  z
1.234_6e+5)z,.3_er  z1.235e+5)z,._Er  z1.234_56E+5)ry  r  r  )ry  z-.0r  )ry  -.01r  )z.1f0.rl  )z6.1fr  z   0.0)r  -1.z  -1.0)r  -0.rl  )r  .01rl  )r  r  rl  )z.2fr  rm  )r  r  rm  )r  z.001rm  )r  z-.001rm  )z.1er  0.0e+1)r  r  r  )z.1Er  0.0E+1)r  r  r  )zz.2e-0.001z-1.00e-3)zz.2gr  r  )zz.2%r  z-0.10%)zfz-0.0000z0.0000)r  -00000.000001rl  )r  -00000.rl  )r  -.0000000000rl  )r  r  rm  )r  r  rm  )r  r  rm  )r  z.090.1)r  z-.09z-0.1) z.0fr  z 0)+z.0fr  z+0)-z.0fr  rs  )r  r  -1)r  r  r  )r  r  r  )zz>6.1fr  zzz-0.0)zz>z6.1fr  zzzz0.0)zx>z6.1fr  zxxx0.0)u
   🖤>z6.1fr  u   🖤🖤🖤0.0)z >z6.1fr  z   0.0)zz3,.10Fz
-6.24E-323rq  )r:   rs  r  )za=-7.0z0.12345zaaaa0.1)z	<^+15.20%r  z<<+Infinity%<<<)z>,%sNaN1234567zsNaN1234567%)z=10.10%r  z
   NaN123%)r   r   rA  formatry  r3  
__format__r  )r   r   r  fmtr   rQ  s   &     r   test_formattingFormatTest.test_formatting  s	   ,,&&^#^'^ (^ 0	^
 G^ #^ $^ %^ 0^ %^ $^ ^ !^ !^ "^  ,!^" (#^$ /%^& 0'^( /)^* 4+^, -^.  /^0 "1^2 -3^4 5^6 !7^8 "9^: #;^< &=^> )?^@ )A^B 'C^D %E^F G^H !I^J 'K^L )M^N *O^P ,Q^R .S^T /U^V 0W^X 1Y^\ ]^^  _^` !a^b !c^d %e^f &g^h "i^j #k^l 'm^n 'o^p 'q^r )s^t ,u^v .w^x /y^z 0{^| 1}^@ A^B C^D  E^F  G^H "I^J #K^N #O^P &Q^R 'S^T (U^V ,W^X $Y^\  ]^^ (_^` (a^b 'c^d *e^f &g^j !k^p #q^r $s^t $u^v $w^x %y^z *{^| +}^~ .^@ .A^B +C^D )E^F $G^H %I^J 'K^L ,M^N ,O^P ,Q^R 1S^T IU^V <W^X <Y^^ *_^` 'a^b %c^d #e^f  g^h i^j k^l m^n ,o^p )q^r (s^t )u^v +w^x +y^z ,{^| +}^~ +^@ -A^D +E^F +G^H ,I^J .K^L 0M^N 0O^P -Q^T .U^V 1W^X +Y^Z +[^^ *_^` +a^b .c^d 1e^h 1i^j 1k^l 8m^n 4o^p .q^r .s^t ,u^v .w^| "}^~ #^@ $A^F "G^H &I^J 'K^L #M^N #O^P $Q^R #S^T $U^V %W^X &Y^\ %]^^ &_^` %a^b &c^f +g^h )i^j )k^n (o^r -s^t 'u^v ,w^z .{^| (}^~ -^B #C^D %E^H #I^J #K^L "M^N #O^P #Q^R #S^V (W^X )Y^Z )[^\ 5]^^ 5_^d 6e^j k^p -q^v 4w^x 7y^z 0{^~ *NCFVGAJ4f= * 	)WQZ%:%:GD 	*fgaj$?*fgaj&Ar&   c           	        V P                   P                  4       ;_uu_ 4       p\        Vn        V P	                  \        V P                   P                  R 4      R4      R4       RRR4       R#   + '       g   i     R# ; i)r  r  rm  N)r   r  r   r)   rA  r  r   r   ctxs   & r   +test_negative_zero_format_directed_rounding6FormatTest.test_negative_zero_format_directed_rounding  sV    \\&&((C(CLVDLL$8$8$BFK"$ )(((s   AA..A?	c                p    V P                  \        \        V P                  P	                  R 4      R4       R# )r  fzN)ry  r  r  r   r   r   s   &r   test_negative_zero_bad_format(FormatTest.test_negative_zero_bad_format  s%    *fdll.B.B6.JDQr&   c           	       a a	 S P                   P                  o	 ^ RIHp V 3R lpR<V	V 3R llpRRRV! . R=O4      R	R
/pRR
RV! X.4      R	R/pRR
RV! . R=O4      R	R/pRRRV! ^^^V.4      R	R/pRRP                  R4      RV! . R=O4      R	RP                  R4      /pS P                  V! S	! R4      V4      R4       S P                  V! S	! R4      V4      R4       S P                  V! S	! R4      V4      R4       S P                  V! S	! R4      V4      R4       S P                  V! RV4      R4       S P                  V! RV4      R4       S P                  V! RV4      R4       S P                  V! RV4      R4       S P                  V! RVR4      R4       S P                  V! RVR4      R4       S P                  V! RVR4      R4       S P                  V! RVR4      R4       S P                  V! RVR 4      R!4       S P                  V! RVR"4      R!4       S P                  V! RVR#4      R$4       S P                  V! RVR%4      R&4       S P                  V! R'VR#4      R(4       S P                  V! R'VR%4      R(4       S P                  V! R'VR)4      R*4       S P                  V! R'VR+4      R,4       S P                  V! R'VR-4      R,4       S P                  V! R'VR.4      R/4       S P                  V! R0VR%4      R14       S P                  V! R0VR)4      R14       S P                  V! R0VR+4      R14       S P                  V! R0VR-4      R24       S P                  V! R0VR.4      R34       S P                  V! R0VR44      R34       S P                  V! R0VR54      R64       S P                  V! R0VR74      R84       S P                  V! S	! R94      VR:4      R;4       R#   \         d    S P                  R4        ELi ; i)>r  CHAR_MAXlocale.CHAR_MAX not availablec                    < SP                   \        8X  d+   R P                  V  Uu. uF  p\        V4      NK  	  up4      # T # u upi r   )r   r   joinchr)lstr  r   s   & r   make_grouping/FormatTest.test_n_format.<locals>.make_grouping  s8    59\\Q5F277C0CqCFC01OCO0s   ANc                    < SP                   \        8X  d   S! V 4      P                  W!4      # S! V 4      P                  W!R 7      # ))_localeconv)r   r   r  )r  overrider  r   r   s   &&&r   get_fmt)FormatTest.test_n_format.<locals>.get_fmt  s<    ||q qz,,S;;qz,,S,GGr&   decimal_point.groupingthousands_sepr  r   r  &rJ  s   ¿r   s   ´z12.7z12,7z1-2&7i[z123,456,789	123456789z123 456 789l   c}z123456-78-9012-3z.6nz
1.23457e+8z
1,23457e+8z
1&23457e+8r  03nr  04n05n0123406n00123490  r  07nz012,34508nz	0,012,34509n010nz
00,012,345i@ z1-2345-6z	01-2345-6z0-01-2345-6011n012nz00-01-2345-6013nz000-01-2345-6-1.5020nu   -0´000´000´000´001¿5Nr  r  r  r  )r   r   localer  ImportErrorskipTestdecoderA  )
r   r  r  r  en_USfr_FRru_RUcrazydotsep_wider   s
   f        @r   test_n_formatFormatTest.test_n_format  s   ,,&&	;'	P	H 	H cy1c cz2b ci0c cq!Q&9:c k009i0k009 	%8&A%8&A%8&A%8'BE2MBE2K@E2MB68JKE59<HE59<HE59<HE59<H 	ue4f=ue4f=ue4g>ue4h?u5x@u5x@u5yAu5{Cu5{Cv6E6
C6
C6
C6D7G7G7H7I 	+vFH	Jc  	;MM9:	;s   O O<;O<c                   V P                   P                  pV! R 4      pV P                   \        8X  d   V P                  \        4      ;_uu_ 4       p\        VR4      pRRR4       V P                  XP                  \        4       V P                  X\        VR4      P                  4       4       V P                  \        4      ;_uu_ 4       p\        VR4      pRRR4       V P                  VP                  \        4       V P                  V\        VR4      P                  4       4       M8V P                  \        \
        VR4       V P                  \        \
        VR4       \        P                  ! V 4      ;_uu_ 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       V P                  \        \
        VR4       V P                  \        \
        VR4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     R# ; i)z6.62607015e-34NNr  z010.3Nz010.3nzN>10.3z
NN6.63E-34zN>10.3nz
NN6.63e-34zN>10.3ez
N6.626e-34zN>10.3fz
NNNNN0.000z>Nf10NfNx)r   r   r   assertWarnsDeprecationWarningr  rA  filename__file__upperry  r  r   check_no_warnings)r   r   hcmr  s   &    r   test_deprecated_N_format#FormatTest.test_deprecated_N_format  s   ,,&&$%<<1!!"4551cN 6R[[(3Qq# 4 4 67!!"4551h' 6R[[(3Qq( 3 9 9 ;<j&!S9j&!X>..t44VAx0,?VAy1<@VAy1<@VAy1<@j&!U;j&!V<j&!T: 54 655 655 544s%   II&CI:I#	&I7	:J	LC_ALLps_AFr   c                   V P                   P                  p\        P                  ! 4       R ,          p\        P                  ! 4       R,          pVR8w  d"   V P	                  RP                  VR4      4       VR8w  d"   V P	                  RP                  VR4      4       V P                  \        V! R4      R4      R4       R	# )
r  r  u   ٫z5inappropriate decimal point separator ({!a} not {!a})u   ٬z1inappropriate thousands separator ({!a} not {!a})z100000000.123r  u   100٬000٬000٫123N)r   r   r  
localeconvr  r  rA  )r   r   r  r  s   &   r   &test_wide_char_separator_decimal_point1FormatTest.test_wide_char_separator_decimal_point  s     ,,&&))+O<))+O<H$MM ,,2F=(,KMH$MM ,,2F=(,KM 	 8#>9	;r&   c                H    ! R  RV P                   P                  4      pVP                  R4      pV P                  V P                   P                  VP                  4       VP                  ^*4      pV P                  V P                   P                  VP                  4       R# )c                   &   a  ] tR tRt o R tRtV tR# );FormatTest.test_decimal_from_float_argument_type.<locals>.Ai'  c                &    \        V4      V n        R # r   )r;  a_type)r   r  s   &&r   __init__DFormatTest.test_decimal_from_float_argument_type.<locals>.A.__init__(  s    "1gr&   )r  Nr   rh  ri  rj  r  rl  rm  rn  s   @r   Ar  '  s     & &r&   r  g     @E@N)r   r   r  rA  r  )r   r  r  s   &  r   %test_decimal_from_float_argument_type0FormatTest.test_decimal_from_float_argument_type&  sr    	&$$ 	& LL--qxx8LL--qxx8r&   r   N)r   rh  ri  rj  rk  r  r  r  r  r  r   r  r  rl  rm  rn  s   @r   re  re    sO     -kBZ$RWJr;0 Xw+; ,; 9 9r&   re  c                       ] tR tRt]tRtR# )CFormatTesti0  r   Nr  r   r&   r   r!  r!  0  r  r&   r!  c                       ] tR tRt]tRtR# )PyFormatTesti3  r   Nr	  r   r&   r   r#  r#  3  r  r&   r#  c                   f   a  ] tR tRt o RtR tR tR tR tR t	R t
R	 tR
 tR tR tR tRtV tR# )ArithmeticOperatorsTesti6  z:Unit tests for all arithmetic operators, binary and unary.c                X   V P                   P                  pV! R 4      pV! R4      pV P                  W#,           V! R4      4       V P                  W2,           V! R4      4       V^,           pV P                  WA! R4      4       V P                  \        V4      \        V4      4       ^V,           pV P                  WA! R4      4       V P                  \        V4      \        V4      4       W#,          pV P                  W!! R4      4       V^,          pV P                  W!! R4      4       R# )-11.122.2z11.1z-6.116.1Nr   r   rA  r;  r   r   d1d2r  s   &    r   test_addition%ArithmeticOperatorsTest.test_addition9  s    ,,&&WV_ 	00 FGFO,a$r(+ FGFO,a$r(+ 	WV_- 	aWV_-r&   c                X   V P                   P                  pV! R 4      pV! R4      pV P                  W#,
          V! R4      4       V P                  W2,
          V! R4      4       V^,
          pV P                  WA! R4      4       V P                  \        V4      \        V4      4       ^V,
          pV P                  WA! R4      4       V P                  \        V4      \        V4      4       W#,          pV P                  W!! R4      4       V^,          pV P                  W!! R4      4       R# )r'  r(  z-33.3z33.3z-16.1r)  z-38.3Nr*  r+  s   &    r   test_subtraction(ArithmeticOperatorsTest.test_subtractionU  s    ,,&&WV_ 	 010 FGG,-a$r(+ FGFO,a$r(+ 	WW-. 	aWW-.r&   c                X   V P                   P                  pV! R 4      pV! R4      pV P                  W#,          V! R4      4       V P                  W2,          V! R4      4       V^,          pV P                  WA! R4      4       V P                  \        V4      \        V4      4       ^V,          pV P                  WA! R4      4       V P                  \        V4      \        V4      4       W#,          pV P                  W!! R4      4       V^,          pV P                  W!! R4      4       R# )-5rx  ri  z-25z-75Nr*  r+  s   &    r   test_multiplication+ArithmeticOperatorsTest.test_multiplicationq  s    ,,&&T]S\ 	// FGEN+a$r(+ FGEN+a$r(+ 	WU^, 	aWU^,r&   c                X   V P                   P                  pV! R 4      pV! R4      pV P                  W#,          V! R4      4       V P                  W2,          V! R4      4       V^,          pV P                  WA! R4      4       V P                  \        V4      \        V4      4       ^V,          pV P                  WA! R4      4       V P                  \        V4      \        V4      4       W#,          pV P                  W!! R4      4       V^,          pV P                  W!! R4      4       R# )r4  2-2.5z-0.4z-1.25z-0.8z-0.625Nr*  r+  s   &    r   test_division%ArithmeticOperatorsTest.test_division  s    ,,&&T]S\ 	00 FGG,-a$r(+ FGFO,a$r(+ 	WV_- 	aWX./r&   c                X   V P                   P                  pV! R 4      pV! R4      pV P                  W#,          V! R4      4       V P                  W2,          V! R4      4       V^,          pV P                  WA! R4      4       V P                  \        V4      \        V4      4       ^V,          pV P                  WA! R4      4       V P                  \        V4      \        V4      4       W#,          pV P                  W!! R4      4       V^,          pV P                  W!! R4      4       R# )5r8  rs  r  Nr*  r+  s   &    r   test_floor_division+ArithmeticOperatorsTest.test_floor_division  s    ,,&&S\S\ 	.. !GGCL)a$r(+ GGCL)a$r(+ 		WS\* 	qWS\*r&   c                X   V P                   P                  pV! R 4      pV! R4      pV P                  W#,          V! R4      4       V P                  W2,          V! R4      4       V^,          pV P                  WA! R4      4       V P                  \        V4      \        V4      4       ^V,          pV P                  WA! R4      4       V P                  \        V4      \        V4      4       W#,          pV P                  W!! R4      4       V^,          pV P                  W!! R4      4       R# )r=  r8  25rr  62516807390625Nr*  r+  s   &    r   test_powering%ArithmeticOperatorsTest.test_powering  s    ,,&&S\S\ 	// !GGEN+a$r(+ GGG,-a$r(+ 		WT]+ 	qWX./r&   c                X   V P                   P                  pV! R 4      pV! R4      pV P                  W#,          V! R4      4       V P                  W2,          V! R4      4       V^,          pV P                  WA! R4      4       V P                  \        V4      \        V4      4       ^V,          pV P                  WA! R4      4       V P                  \        V4      \        V4      4       W#,          pV P                  W!! R4      4       V^,          pV P                  W!! R4      4       R# r=  r8  r  Nr*  r+  s   &    r   test_module#ArithmeticOperatorsTest.test_module  s    ,,&&S\S\ 	-- FGCL)a$r(+ FGCL)a$r(+ 	WS\* 	aWS\*r&   c                h   V P                   P                  pV! R 4      pV! R4      p\        W#4      w  rEV P                  WA! R4      4       V P                  WQ! R4      4       V P                  \	        V4      \	        V4      4       V P                  \	        V4      \	        V4      4       \        V^4      w  rEV P                  WA! R4      4       V P                  WQ! R4      4       V P                  \	        V4      \	        V4      4       V P                  \	        V4      \	        V4      4       \        ^V4      w  rEV P                  WA! R4      4       V P                  WQ! R4      4       V P                  \	        V4      \	        V4      4       V P                  \	        V4      \	        V4      4       R# rH  )r   r   rZ  rA  r;  )r   r   r,  r-  pqs   &     r   test_floor_div_module-ArithmeticOperatorsTest.test_floor_div_module  sV   ,,&&S\S\ GCL)GCL)a$r(+a$r(+ AGCL)GCL)a$r(+a$r(+ 2GCL)GCL)a$r(+a$r(+r&   c                   V P                   P                  pV P                  V! ^-4      5V! ^-4      4       V P                  V! ^-4      ) V! R4      4       V P                  \        V! ^-4      4      \        V! R4      4      4       R# )r}  Nr  )r   r   rA  absru  s   & r   test_unary_operators,ArithmeticOperatorsTest.test_unary_operators  sg    ,,&&'"+ws|4'"+ws|4WR[)3ws|+<=r&   c                R   V P                   P                  pV P                   P                  pV P                   P                  pV! R 4      pV! R4      pV! R4      pV! R4      pWD3WF3Wd3WG3Wt33pWT3WE3WV3We3WW3Wu3WU33p	\        P
                  \        P                  \        P                  \        P                  3p
\        P                  \        P                  3pV! 4       ;_uu_ 4       p^ VP                  V&   W,            Fc  w  rW,            FR  pV! W4      pV\        P                  J d   RMRpV P                  VVRP                  VVP                  WV4      4       KT  	  Ke  	  RRR4       V! 4       ;_uu_ 4       p^VP                  V&   V F]  w  rV FR  pV! W4      pV\        P                  J d   RMRpV P                  VVRP                  VVP                  WV4      4       KT  	  K_  	  V	 FP  w  rV FE  pV P                  V\        P                  W4       V P                  V\        P                  W4       KG  	  KR  	  W,            F   w  rV
 F  pV P                  W/W4       K  	  K"  	  RRR4       R#   + '       g   i     EL; i  + '       g   i     R# ; i)r  sNaNr  r8  TFz8expected {0!r} for operator.{1}({2!r}, {3!r}); got {4!r}N)r   r   r   r  operatorltlegtgeeqner*   r  r  r   ry  )r   r   r   r  r  r   rM  r   
qnan_pairs
snan_pairs	order_opsequality_opsr  r  r  opgotr   s   &                 r   test_nan_comparisons,ArithmeticOperatorsTest.test_nan_comparisons  sQ    ,,&&<<88||00ENFOENCLVaVaVaVaV;
VaVaVaVaVaVaVK
KKhkk8;;F	{{HKK/ ^^s*+CII&'"//#22BQ(C')X[['8teHMM(C!,,2F$bkk1->? 3 0  ^^s*+CII&'"&BQ(C')X[['8teHMM(C#..4f$bkk1/>? ' # #&B%%&6QJ%%&6QJ ' #
 #//#B%%&6AA $ 0% ^ ^^ ^^s   ,A?JC5JJ	J&	c                   V P                   P                  pV! ^4      P                  V! R4      4      pV P                  V! ^4      P                  R4      V4       V P	                  \
        V! ^4      P                  R4       R# )r"  -2Nr  )r   r   rZ   rA  ry  r3  r  s   &  r   test_copy_sign&ArithmeticOperatorsTest.test_copy_signY  sd    ,,&&AJ  ---b115)WQZ%9%94@r&   r   N)r   rh  ri  rj  rk  r.  r1  r5  r:  r>  rE  rI  rN  rR  rc  rg  rl  rm  rn  s   @r   r%  r%  6  sH     D.8/8-808+808+8,6>8BtA Ar&   r%  c                       ] tR tRt]tRtR# )CArithmeticOperatorsTesti`  r   Nr  r   r&   r   rj  rj  `  r  r&   rj  c                       ] tR tRt]tRtR# )PyArithmeticOperatorsTestic  r   Nr	  r   r&   r   rl  rl  c  r  r&   rl  c                    V P                   P                  pV P                   P                  pV P                   P                  pV P                   P                  pV P                   P
                  pV P                   P                  pV P                   P                  pV P                   P                  pV! ^4      p	V! ^4      p
W,          pV P                  P                  4        V P                  P                  4        W,          pV! 4       ;_uu_ 4       pV P                  VP                  V,          4       V P                  W=P                   V	^ 4       V P                  VP                  V,          4       V! 4       ;_uu_ 4       pV P                  VP                  V,          4       V P                  VP                  V,          4       V P                  W.P"                  W! R4      4       V P                  VP                  V,          4       ?RRR4       V P%                  VP                  V,          4       ?RRR4       V P'                  W! R4      4       V P'                  W! R4      4       V! 4       pV P                  VP                  V,          4       WEW23 F%  pV P%                  VP                  V,          4       K'  	  R#   + '       g   i     L; i  + '       g   i     L; i)r"  rU  N0.333333333333333333333333)r   r   r   r   r   r   r   r  r  finish1r   synchrowaitr    rU  ry  dividecompareassertFalserA  )r"   r   r   r   r   r   r   r  r  r,  d3test1test2c2c3c1sigs   &                r   thfunc1r|  h  s   kk!!G{{33[[//N{{##H%%Ikk!!G''J;;++L	B	BEEKKOOKKEE	2rxx()B:rxx/0^^rNN288G,-NN288N34-zz2wvONN288$456  	!123 
 OOE7#?@AOOE7#?@A	BNN288G$%ND& E ^	 
s&   A1KB
K	+KKKK+	c                    V P                   P                  pV P                   P                  pV P                   P                  pV P                   P                  pV P                   P
                  pV P                   P                  pV P                   P                  pV P                   P                  pV! ^4      p	V! ^4      p
W,          pV! 4       p^Vn	        W,          pV! 4       ;_uu_ 4       pV P                  VP                  V,          4       V P                  WNP                  V! R4      R4       V P                  VP                  V,          4       V! V4      ;_uu_ 4       pV P                  VP                  V,          4       V P                  VP                  V,          4       RVP                  V&   V P                  W_P                   V! R4      R4       V P                  VP                  V,          4       ?RRR4       V P                  VP                  V,          4       V P                  VP                  V,          4       ?RRR4       V P"                  P%                  4        V P&                  P%                  4        V P)                  W! R4      4       V P)                  W! R4      4       V P                  VP                  V,          4       V P                  VP                  V,          4       WEW23 F%  pV P                  VP                  V,          4       K'  	  R#   + '       g   i     EL3; i  + '       g   i     L; i)r"  1e425000000  Tz1e-425000000Nrn  z0.333333333333333333)r   r   r   r   r   r   r   r  r  r(   r    rU  ry  multiplyrt  r*   rr  rp  r   finish2rA  )r"   r   r   r   r   r   r   r  r  r,  ru  rv  thiscontextrw  rx  ry  r{  s   &                r   thfunc2r    sX   kk!!G{{33[[//N{{##H%%Ikk!!G''J;;++L	B	BEE,KKEE	2rxx();;0FLrxx)*+&&"NN288G,-OOBHHX./"&BHHYY		7>3JCPNN288I./ ' 	+,+, 
 KKOOKKOOOOE7#?@AOOE7#9:;OOK%%i01NN;$$W-.ND))#./ E' '&&	 
s'   .A8L>&BL*	 AL>*L;5	L>>M	c                   *   a  ] tR tRt o RtR tRtV tR# )ThreadingTesti  z0Unit tests for thread local contexts in Decimal.c                   V P                   P                  pV P                   \        8X  d.   V P                   P                  '       g   V P	                  R 4       VP
                  pVP                  pVP                  p^Vn        RVn        RVn        \        P                  ! 4       V n
        \        P                  ! 4       V n        \        P                  ! 4       V n        \        P                  ! \        V 3\        P                   ! 4       R7      p\        P                  ! \"        V 3\        P                   ! 4       R7      pVP%                  4        VP%                  4        V P                  P'                  4        V P                  P'                  4        \(        V P                   ,           F%  pV P+                  VP,                  V,          4       K'  	  VP/                  4        VP/                  4        W!n        W1n        WAn        R# )zcompiled without threadingr   )targetr  r#   N)r   DefaultContextr   HAVE_THREADSr  r(   rd  r^  	threadingEventrp  ro  r  Threadr|  contextvarsr+   r  startrq  r/   rt  rU  r  )r   r  	save_prec	save_emax	save_eminth1th2r{  s   &       r   test_threadingThreadingTest.test_threading  sm   44<<1T\\%>%>%>MM67 #''	"''	"''	 '( ( ( (
 gTG'2':':'<>gTG'2':':'<> 					4<<((C^11#67 ) 	

'''r&   )ro  r  rp  N)r   rh  ri  rj  rk  r  rl  rm  rn  s   @r   r  r    s     :
)( )(r&   r  c                       ] tR tRt]tRtR# )CThreadingTesti  r   Nr  r   r&   r   r  r    r  r&   r  c                       ] tR tRt]tRtR# )PyThreadingTesti  r   Nr	  r   r&   r   r  r    r  r&   r  c                      a  ] tR tRt o RtR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )UsabilityTesti  z*Unit tests for Usability cases of Decimal.c                B   V P                   P                  pV! R 4      pV! R 4      pV! R4      pV P                  WB4       V P                  WB4       V P	                  W$4       V P                  W$4       V P                  W#4       V P                  W$4       V P                  W#4       V P                  W#4       V P                  V^4       V P	                  ^V4       V P                  V^-4       V P                  VR4       V P                  VR4       V P                  V\        4       4       V P                  V\        4       \        \        V\        ^d4      4      4      pVR,          p\        P                  ! V4       VP                  4        V P                  WV4       R# )z23.42r~  r  gY@@:NNNN)r   r   assertGreaterassertGreaterEqual
assertLessassertLessEqualrA  assertNotEqualr  listmapr  r/  shuffler?  )r   r   dadbdcr  bs   &      r   test_comparison_operators'UsabilityTest.test_comparison_operators  sU   ,,&&WWT] 	2"'R$ B#R$' 	2r"BR  	B'B%B)B' WeCj)*qTq	r&   c                2   V P                   P                  pV! R 4      pV! R4      pV P                  VR4       V P                  VR4       V P	                  VR4       V P                  VR4       V P                  VR4       V P                  VR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       V P                  RV! R4      4       R# )0.253.0      @      ?g      ?r  r  N)r   r   r  r  r  r  r  rA  r   r   r  r  s   &   r   test_decimal_float_comparison+UsabilityTest.test_decimal_float_comparison  s    ,,&&V_U^C R%2t$D)B$T"3#R(b!T2&D"%b!C0r&   c                   V P                   P                  pV! R 4      pV! R4      pV P                  VR4       V P                  RV4       V P                  VR4       V P                  RV4       V P                  RV4       V P                  VR4       V P                  VR4       V P                  RV4       V P	                  VP                  R4      \        4       V P	                  VP                  R4      \        4       V P	                  VP                  R4      \        4       V P	                  VP                  R4      \        4       R# )r  r  Ny      ?        y      ?        y      @        y      @      ?)	r   r   r  rA  r  r.  NotImplementedr5  r2  r  s   &   r   test_decimal_complex_comparison-UsabilityTest.test_decimal_complex_comparison0  s    ,,&&V_U^B)Vb)g''B'&2&f&B)Vb)bii'8bii'8bii'8bii'8r&   c                    V P                   P                  p\        V P                   ,          P                  pV P                   P                  pV P                   P
                  pV P                   P                  p\        '       d   \        P                  MR p\        '       d   \        P                  MRp\        '       d   \        P                  MRpV! WgR7      p	V! V	4      ;_uu_ 4        Win        V P                  V! ^ 4      V! ^R4      4       V P                  V! RR4      V! ^ 4      4       V P                  V! ^ ^4      V! R\        V4      ,           4      4       V P                  V! R\        V4      ,           4      V! ^ ^4      4       V P                  V! ^ R4      V! R\        V4      ,           4      4       V P                  V! R\        V4      ,           4      V! ^ R4      4       V P                  V! R4      V! ^^
4      4       V P                  V! ^^
4      V! R4      4       RV	n        V P                  V! ^4      ^,          V! ^^4      4       V P                  V! ^^4      V! ^4      ^,          4       V P!                  V! RR	4      V! R
\        V4      ,           4      4       V P#                  V! R
\        V4      ,           4      V! RR	4      4       V P%                  V! R4      V! R^{4      4       V P%                  V! R4      V! R^{4      4       V P                  V! R4      V! R^{4      4       V P                  V! R4      V! R^{4      4       V P'                  WQ! R4      P(                  V! R^{4      4       V P+                  \,        V! R^{4      P/                  V! R4      4      4       V P                  V! R4      V! R^{4      4       V P                  V! R^{4      V! R4      4       RRR4       R#   + '       g   i     R# ; i)ɚ;rd  r^  l	   ZmH;5B 1ez-1el   !0QYr  i,  i6l   c(	 9er  l   g] r  r  N6eilʈr  lg] i)r   r   r   Fractionr+   r  r   r   r   MIN_EMIN	MIN_ETINYr(   r  r<  rA  r  r  r  r  ry  r2  r  r  r.  )
r   Dr  r+   r  r   emaxeminetinyr  s
   &         r    test_decimal_fraction_comparison.UsabilityTest.test_decimal_fraction_comparisonD  s   LL  dll#,,,,&&||00<<88 QqzzIQqzzJ qk)!__FOOAaD!A&K"LMOOAb!FG1NOOAaFAdSZ&7$89OOAec%j011Qq6:OOAa 9:AdSZ>O<PQOOAec%j011Q7P3QRQuXq2w/QqWah/AF!Q!A/!A!Q/  9j!91TCI=M;NO##AdSY&6$79j9QRqx;s);<qx<)<=OOAfIqS'9:OOAfIqc':;.%2cKMM.!Bs)*:*:1U8*DE%!Bs)4"S	1U847 ___s   -LO<<P	c                *   V P                   P                  pV! R 4      p\        P                  ! V4      pV P                  \	        V4      \	        V4      4       \        P
                  ! V4      pV P                  \	        V4      \	        V4      4       R# )z43.24N)r   r   rS   rA  rD  deepcopy)r   r   r   r  r  s   &    r   test_copy_and_deepcopy_methods,UsabilityTest.test_copy_and_deepcopy_methodsn  sf    ,,&&GIIaLA1&]]1BA'r&   c                  a  S P                   P                  pS P                   P                  pV 3R  lpV! V! ^4      4       V! V! R4      4       V! V! R4      4       V! V! R4      4       V! V! R4      4       R UUUu. uF<  p\        R^
4       F)  pR F   pV! V^V,          V,           ,          4      NK"  	  K+  	  K>  	  ppppV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      V! R4      V! R4      V! R4      .4       V F-  pS P                  V! V4      \        \        V4      4      4       K/  	  . ROp	V	 F7  p
\        V
4      pV! V
4      pS P                  V! V4      \        V4      4       K9  	  V! 4       ;_uu_ 4       pV! R4      p^Vn	        V! V4      p^
Vn	        V! V4      p^Vn	        V! V4      pS P                  VV4       S P                  VV4       RVn	        RR,          pS P                  V! V! V4      4      V! V4      4       RRR4       R# u upppi   + '       g   i     R# ; i)c                 `   < \        V 4      pV P                  4       pSP                  W4       V# r   )hash__hash__rA  )r   r  r  r   s   &  r   hashit.UsabilityTest.test_hash_method.<locals>.hashit|  s*    QA

AQ"Hr&   r  r  nan123-NaNr  r  rm  z-0.000r  z-0E1210.0z	-23.000001230E100z
-4.5678E50z	1.634E100z
90.697E100z
188.83E100z
1652.9E100	56531E100z123456789.1'  iL  i  N)r                        !   =   >   ?   @   A   B   r  l       )r  r  rl  z-.0e1z34.02.5z
112390.625z	-0.515625)
r   r   r  r  extendrA  r  r  r  r(   )r   r   r  r  r1   r  r  r  r  test_stringsr   r   r   r  r  h1h2h3s   f                 r   test_hash_methodUsabilityTest.test_hash_methodw  sk   ,,&&||00	 	wr{wz"#w{#$wx !wv!A,!A1 %c21#*4	 tQTAX/ $+	 0 !/ 0!A 	 ,
 	! $
#% )* $%%%$) 	0 !EVE]DU,<= !
BAaA
AVAYQ0 
 ^^q &AAFBAFBAFBR$R$AFAVGAJ/;# ^S,R ^^s    AI"
BI))I:	c                v   V P                   P                  pV P                  \        \        V! R 4      4       V! R4      pV P                  \	        V4      \        P                  V4      4        ! R R4      p ! R RW4      pV! R4      pV P                  \	        V4      \        P                  V4      4       R# )rU  r  c                   &   a  ] tR tRt o R tRtV tR# )-UsabilityTest.test_hash_method_nan.<locals>.Hi  c                    ^*# )*   r   r   s   &r   r  6UsabilityTest.test_hash_method_nan.<locals>.H.__hash__  s    r&   r   N)r   rh  ri  rj  r  rl  rm  rn  s   @r   Hr    s      r&   r  c                       ] tR tRtRtR# )-UsabilityTest.test_hash_method_nan.<locals>.Di  r   Nr  r   r&   r   r  r    r  r&   r  N)r   r   ry  r3  r  rA  r  r  )r   r   r  r  r  s   &    r   test_hash_method_nan"UsabilityTest.test_hash_method_nan  s    ,,&&)T76?;efooe&<=	 		 	%efooe&<=r&   c                
   V P                   P                  pV! R 4      pV! R4      p^p^pV P                  \        W#4      V4       V P                  \        W24      V4       V P                  \	        W#4      V4       V P                  \	        W24      V4       V P                  \        W%4      V4       V P                  \        WR4      V4       V P                  \	        WC4      V4       V P                  \	        W44      V4       R# )15.32z28.5N)r   r   r  minmax)r   r   r,  r-  l1l2s   &     r   test_min_and_max_methods&UsabilityTest.test_min_and_max_methods  s    ,,&&WV_ 	c"j"%c"j"%c"j"%c"j"% 	c"j"%c"j"%c"j"%c"j"%r&   c                    V P                   P                  pV P                  V! ^ 4      4       V P                  V! R4      4       R# )r  z0.372N)r   r   rt  r    ru  s   & r   test_as_nonzeroUsabilityTest.test_as_nonzero  s6    ,,&& 	$()r&   c                    V P                   P                  pV! R 4      pV P                  \        V4      R 4       V P                  \	        V4      R4       R# )r  zDecimal('15.32')N)r   r   rA  r<  r@  r  s   &  r   test_tostring_methods#UsabilityTest.test_tostring_methods  sD    ,,&&GQ)a"45r&   c           
        V P                   P                  pV! R 4      pV! R4      pV P                  \        V4      ^B4       V P                  \        V4      ^4       V P                  \	        V4      ^B4       V P                  \	        V4      R4       . R	OpV F1  w  rVV P                  \
        P                  ! V! V4      4      V4       K3  	  V P                  \        \
        P                  V! R4      4       V P                  \        \
        P                  V! R4      4       V P                  \        \
        P                  V! R4      4       V P                  \        \
        P                  V! R4      4       V P                  \        \
        P                  V! R4      4       . R
OpV F1  w  rVV P                  \
        P                  ! V! V4      4      V4       K3  	  V P                  \        \
        P                  V! R4      4       V P                  \        \
        P                  V! R4      4       V P                  \        \
        P                  V! R4      4       V P                  \        \
        P                  V! R4      4       V P                  \        \
        P                  V! R4      4       . ROpV F&  w  rVV P                  \        V! V4      4      V4       K(  	  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       . ROpV F1  w  rXp	V P                  \        \        V! V4      V4      4      V	4       K3  	  R# )66r  gp=
ף.@r  rU  r  r  r  N)	z123.00{   3.2r  )3.54r  )3.899r  )-2.3r  z-11.0irl  r  z-0E3r  )89891211712379812736.1l   {#'s{M )	r	  )r  r  r  r  r  r  r  r  r  r  r  )r  l   {#'s{M )r	  r  r  r  r  r  r  r  )z-3.5)r9  r  )r  r  )-0.5r  )0.5r  )rh  r  )r  r  )z3.5r  ))123.456r  z0E+4)-123.456r  z-0E+4)r  r  z0E+3)r  r  z-0E+3)r  r  z1E+2)r  r  z1.2E+2)r  r  r  )r  r"  z123.5)r  r  123.46)r  r  r  )r  r  z123.4560)z123.455r  r  )z123.445r  z123.44)r  r  r  )r  ir  )sNaN314r  NaN314)r   r   rA  r  r  mathr   ry  r  OverflowErrorceilroundr<  )
r   r   r,  r-  
test_pairsr   rM  test_triplesr  r  s
   &         r   test_tonum_methods UsabilityTest.test_tonum_methods  s   ,,&&T]W 	R"%R"% 	rB'rE*

 DATZZ
3Q7 *djj'&/B*djj'&/B*djj'(2CD-WU^D-WV_E

 DATYYwqz2A6 *diiA*diiA*dii1BC-GENC-GFOD
$ DAU71:.2 *eWV_=*eWV_=*eWX->?-?-@$ $GA!Swqz1!56: $r&   c                2   V P                   P                  pR Fz  p\        V! V4      4      pV P                  \        P
                  ! V4      4       \        P                  ! RV4      pT P                  YBP                  R4      '       d   RMR4       K|  	  R# )r  r  rJ  N)r  nan1234-nanz-nan2468g      )	r   r   r  r    r  re   rY   rA  r  )r   r   r   r   r  s   &    r   test_nan_to_floatUsabilityTest.test_nan_to_float_  sm     ,,&&7Agaj!AOODJJqM*==a(DT<<+<+<4#F	 8r&   c                    V P                   P                  pR F&  pV! V4      pV P                  \        \        V4       K(  	  R# )snanN)r-  z-snansnan1357z	-snan1234)r   r   ry  r  r  )r   r   r   r   s   &   r   test_snan_to_float UsabilityTest.test_snan_to_floati  s6    ,,&&;A
Aj%3 <r&   c                   V P                   P                  pV! R4      pV P                  V\        \	        V4      4      4       V! R4      pV P                  V\        \	        V4      4      4       V! R4      pV P                  V\        \	        V4      4      4       V! R4      pV P                  V\        \	        V4      4      4       R# )r  Nr  r  r  r  )r   r   rA  r=  r@  r  s   &  r   test_eval_round_trip"UsabilityTest.test_eval_round_tripo  s    ,,&& \#DaM* ^%DaM* *,DaM* :<DaM*r&   c                B   V P                   P                  pV! ^ 4      pV P                  VP                  4       R4       V! R4      pV P                  VP                  4       R4       V! R4      pV P                  VP                  4       R4       V! R4      pV P                  VP                  4       R4       V! R	4      pV P                  VP                  4       R
4       V! R4      pV P                  VP                  4       R4       V! R4      pV P                  VP                  4       R4       V! R4      pV P                  VP                  4       R4       V! R4      pV P                  VP                  4       R4       V! R4      pV P                  VP                  4       R4       V! R4      pV P                  VP                  4       R4       V! R4      pV P                  VP                  4       R4       V! R4      pV P                  VP                  4       R4       R# )r  r  r  Nr  r  r  r  )r  r  r  )r  r  r  r  r  r  r  r  r  )r  r  r  r  r  r  r  )r"  r  r  r  %   )r"  r  r8  )r"  r   r8  )r  r5  r  )r  r6  r  )r"  r7  r  r"  r   r  )r"  r   r  )r  r  r  )r"  )r  r     r"  r  )r"  r  r  )r   r   rA  as_tupler  s   &  r   test_as_tupleUsabilityTest.test_as_tuple  s   ,,&& AJ|5 CL~7 %&'LN J~7 35'?A')}5["}5 46'@B(*|5\#|5 ^%~6+-~6+-~6r&   c           	     N   V P                   P                  pV P                  \        VP                  V! R 4      4       V P                  \        VP                  V! R4      4       V P                  \
        VP                  V! R4      4       V P                  \
        VP                  V! R4      4       \        R^4       F  p\        R4       F  pR F  pV! RWCV3,          4      pVP	                  4       pVw  rxV P                  V\        4       V P                  V\        4       V P                  V\        4       V P                  V^ 4       V P                  \        P                  ! Wx4      ^4       V P                  V! V4      V! V4      ,          V4       K  	  K  	  K  	  R# )	r  r  r)  snan123  z%s%dE%dNr  )rG  rJ  )r   r   ry  r   as_integer_ratior  r  r  tupler  r  rA  r  gcd)	r   r   r`  coeffr  r   pqrL  rM  s	   &        r   test_as_integer_ratio#UsabilityTest.test_as_integer_ratio  sb   ,,&& 	-!22GEN	D-!22GFO	E*!22GFO	E*!22GI4F	H Q<Ct$D	T#,> >?A++-BDA ))"e4))!S1))!S1 &&q!,$$TXXa^Q7 $$WQZ'!*%<a@! % %  r&   c                <   V P                   P                  p ! R  RV4      pV! ^4      pV! ^4      pW4,           pV P                  \        V4      V4       VP	                  V4      pV P                  \        V4      V4       \
        P
                  ! V4      pV P                  \        V4      V4       V P                  WS4       \
        P                  ! V4      pV P                  \        V4      V4       V P                  WS4       V! R4      pV! V4      pV P                  \        V4      V4       V P                  We4       V! V4      pV P                  \        V4      V4       V P                  Wu4       V P                  VP                  R4       V! V4      pV P                  \        V4      V4       V P                  We4       ^	Vn        V! V4      pV P                  \        V4      V4       V P                  We4       V P                  VP                  R4       R# )c                       ] tR tRtRtRtR# )1UsabilityTest.test_subclassing.<locals>.MyDecimali  Nr   )r   rh  ri  rj  r  rl  r   r&   r   	MyDecimalrJ    s    Ar&   rK  1.0N)	r   r   r  r;  r  rS   rA  r  r  )r   r   rK  r,  r-  r   r  r1   s   &       r   test_subclassingUsabilityTest.test_subclassing  s   ,,&&	 	 q\q\Gd1gw'FF2Jd1gw'IIbMd1gy)MM"d1gy) ENAJd1gw' aLd1gy)acc4  AJd1gw' aLd1gy)acc4 r&   c           
        V P                   P                  pV P                   P                  pV! 4       pV P                  \	        V! ^ 4      P                  4       4      \	        VP                  V! ^ 4      4      4      4       R# r  N)r   r   r  rA  r<  r   r   r   r  r  s   &   r   test_implicit_context#UsabilityTest.test_implicit_context  s^    ,,&&\\,,
 LWQZ__./QVVGAJ/0	2r&   c           
     |(   V P                   P                  pV P                   P                  pV P                   P                  pV P                   P                  pV P                   P
                  pV P                   P                  pV P                   P                  pV P                   P                  pV P                   P                  p	V P                   P                  p
V P                   P                  pV! V! 4       4      ;_uu_ 4       p^Vn        RVn        R)Vn        V! R4      pV! R4      pV! R4      pVP                  4        V P!                  \#        VP%                  RR7      4      R4       V P'                  VP(                  V	,          4       V P'                  VP(                  V
,          4       VP                  4        V P+                  WnP$                  RR7       V P'                  VP(                  V,          4       V P-                  VP/                  RR7      R4       V P-                  VP1                  RR7      R	4       VP                  4        V P!                  \#        VP3                  RR7      4      R
4       V P'                  VP(                  V	,          4       V P'                  VP(                  V
,          4       VP                  4        V P+                  WA! R*4      P2                  RR7       V P'                  VP(                  V,          4       VP                  4        V P!                  \#        VP5                  RR7      4      R4       V P'                  VP(                  V	,          4       V P'                  VP(                  V
,          4       VP                  4        V P+                  WA! R*4      P4                  RR7       V P'                  VP(                  V,          4       VP                  4        V P!                  \#        VP7                  RR7      4      R4       V P+                  WQ! ^ 4      P6                  RR7       V P'                  VP(                  V,          4       VP                  4        V P!                  \#        VP9                  RR7      4      R4       V P+                  WNP8                  RR7       V P'                  VP(                  V,          4       VP                  4        V P!                  \#        VP;                  RR7      4      R4       V P+                  WA! R4      P:                  RR7       V P'                  VP(                  V,          4       VP                  4        V P!                  \#        VP=                  RR7      4      R4       V P+                  WA! R4      P<                  RR7       V P'                  VP(                  V,          4       VP                  4        V P!                  \#        VP?                  RR7      4      R4       V P+                  WnP>                  RR7       V P'                  VP(                  V,          4       V P!                  \#        VPA                  RR7      4      R4       VP                  4        V P!                  \#        VPC                  RR7      4      R4       V P'                  VP(                  V,          4       V P'                  VP(                  V	,          4       V P'                  VP(                  V
,          4       V P'                  VP(                  V,          4       V P'                  VP(                  V,          4       VP                  4        V P+                  WnPB                  RR7       V P'                  VP(                  V,          4       ^ Vn"        V P!                  \#        VPG                  RR7      4      R4       ^Vn"        VP                  4        \#        VPI                  V! R4      RR7      4      pV P!                  VR4       V P+                  WMPH                  V! R4      RR7       V P'                  VP(                  V,          4       VP                  4        \#        VPK                  RRR7      4      pV P!                  VR4       V P+                  WMPJ                  V! R4      RR7       V P'                  VP(                  V,          4       VP                  4        \#        VPM                  ^eRR7      4      pV P!                  VR4       V P+                  WMPL                  ^{RR7       V P'                  VP(                  V,          4       VP                  4        \#        VPO                  ^eRR7      4      pV P!                  VR4       V P+                  WMPN                  ^{RR7       V P'                  VP(                  V,          4       VP                  4        \#        VPQ                  ^eRR7      4      pV P!                  VR4       V P+                  WMPP                  ^{RR7       V P'                  VP(                  V,          4       VP                  4        \#        VPS                  ^eRR7      4      pV P!                  VR4       V P+                  WMPR                  V! R4      RR7       V P'                  VP(                  V,          4       VP                  4        \#        VPU                  ^eRR7      4      pV P!                  VR4       V P+                  WMPT                  V! R4      RR7       V P'                  VP(                  V,          4       VP                  4        \#        VPW                  ^eRR7      4      pV P!                  VR4       V P+                  WMPV                  V! R4      RR7       V P'                  VP(                  V,          4       VP                  4        \#        VPY                  ^eRR7      4      pV P!                  VR4       V P+                  WMPX                  V! R4      RR7       V P'                  VP(                  V,          4       VP                  4        \#        VP[                  ^eRR7      4      pV P!                  VR4       V P+                  WNPZ                  ^eRR7       V P'                  VP(                  V,          4       VP                  4        \#        VP]                  ^RR7      4      pV P!                  VR4       V P+                  WMP\                  ^eRR7       V P'                  VP(                  V,          4       VP                  4        \#        VP_                  ^RR7      4      pV P!                  VR4       V P+                  WMP^                  RRR7       V P'                  VP(                  V,          4       VP                  4        \#        VPa                  ^RR7      4      pV P!                  VR4       V P+                  WMP`                  RRR7       V P'                  VP(                  V,          4       VP                  4        \#        VPc                  ^^RR7      4      pV P!                  VR4       V P+                  WmPb                  V! R4      ^RR7       V P'                  VP(                  V,          4       \d        Vn3        \#        V! R4      Pi                  RRR 7      4      pV P!                  VR4       \j        Vn3        \#        V! R4      Pi                  RRR 7      4      pV P!                  VR!4       \#        V! R4      Pi                  \l        RR 7      4      pV P!                  VR4       VP                  4        V P+                  WA! R4      Ph                  RR7       V P'                  VP(                  V,          4       \d        Vn3        \#        V! R4      Po                  RRR 7      4      pV P!                  VR4       \j        Vn3        \#        V! R4      Po                  RRR 7      4      pV P!                  VR!4       \#        V! R4      Po                  \l        RR 7      4      pV P!                  VR4       VP                  4        V P+                  WA! R4      Pn                  RR7       V P'                  VP(                  V,          4       \d        Vn3        \#        V! R4      Pq                  RRR 7      4      pV P!                  VR4       \j        Vn3        \#        V! R4      Pq                  RRR 7      4      pV P!                  VR!4       \#        V! R4      Pq                  \l        RR 7      4      pV P!                  VR4       VP                  4        V P+                  WA! R4      Pp                  RR7       V P'                  VP(                  V,          4       \l        Vn3        \#        V! R"4      Ps                  V! R#4      RRR$7      4      pV P!                  VR%4       \j        Vn3        \#        V! R"4      Ps                  V! R#4      RRR$7      4      pV P!                  VR&4       \#        V! R"4      Ps                  V! R#4      \l        RR$7      4      pV P!                  VR%4       VP                  4        V P+                  WNPr                  V! R'4      \l        RR 7       V P'                  VP(                  V,          4       RRR4       V! V! 4       4      ;_uu_ 4       p^Vn        RVn        R)Vn        V! RR(7      ;_uu_ 4       pV P!                  VP                  ^4       V P!                  VP                  R4       V P!                  VP                  R)4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     L-; i  + '       g   i     R# ; i)+r:  r  1111e9999z1e-9999Nr#   z1.609487E+48FTz4.709530z2.045323r8  1111000z9.999999E+999rU  r  rs  
+Subnormalz0E-1005Nan891287828
NaN1287828i    r  r  101rF  11100z1.11E+9r  225rh  r)   r#   r  z1.50001z1e-3)r`  r)   r#   z1.501z1.500z1e-10)r  ir  ):r   r   r+   r  r   r   r   r   r   r   r   r   r(   rd  r^  r0  rA  r<  r`  r    rU  ry  r  rh   rp   lnlog10logbr^   rx   rz   r   rL   r   capitalsr   rs  rN   rH   r~   r   r  rt   r  rv   r   rotatescalebshiftfmar,   r)   to_integralr   r   r   r   quantize)r   r   r+   r  r   r   r   r   r   r   r   r   r  r  r  zrF  r#   s   &                 r   test_none_argsUsabilityTest.test_none_args	  sD   ,,&&,,&&||00<<8844<<((LL**	LL**	,,&&,,&&,,&&')$$AFAFAFA!A	"A MMOSt!45~FOOAGGG,-OOAGGG,-MMOht<OOAGGH-.MM!++d+3U;MM!...6=MMOSd!34jAOOAGGG,-OOAGGG,-MMO.MOOAGG$456MMOS!67DOOAGGG,-OOAGGG,-MMO.0A0A4POOAGG$456MMOS!56<ngajootLOOAGGN34MMOS!1!1$!1!?@)L.0@0@$OOOAGG$456MMOSd!;<oN.0J0JTXYOOAGG$456MMOST!:;ZH.0I0ISWXOOAGG$456MMOST!:;SAhTBOOAGGH-.S!=>MMMOS!56	BOOAGGG,-OOAGGG,-OOAGGG,-OOAGGI./OOAGGI./MMOh=OOAGGH-.AJS!>?KAJ MMOaii 7iFGCS,/.		76?TXYOOAGG$456MMOa&&tT&:;CS$'.0@0@'%.Z^_OOAGG$456MMOammCm67CS%(.sDQOOAGG$456MMOall3l56CS%(.c4POOAGG$456MMOammCm67CS$'.sDQOOAGG$456MMOaeeCe./CS%(.wvPTUOOAGG$456MMOaiiTi23CS%(.		76?TXYOOAGG$456MMOaeeCe./CS%(.wvPTUOOAGG$456MMOaiiTi23CS%(.		76?TXYOOAGG$456MMOa&&sD&9:CS$'.0@0@#tTOOAGG$456MMOahhq$h/0CS'*.#tLOOAGG$456MMOahhq$h/0CS),.%NOOAGG$456MMOaggag./CS'*.MOOAGG$456 MMOaeeAq$e/0CS%(hwx/@!TROOAGGH-. )AJgen00$0MNCS#&#AJgen00$0MNCS#&gen00(D0QRCS#&MMO.0K0KUYZOOAGG$456(AJgen66d6STCS#&#AJgen66d6STCS#&gen66RV6WXCS#&MMO.0Q0Q[_`OOAGG$456(AJgen66d6STCS#&#AJgen66d6STCS#&gen66RV6WXCS#&MMO.0Q0Q[_`OOAGG$456!AJgi(11gfoPT^b1cdCS'*#AJgi(11gfoPT^b1cdCS'*gi(11gfoPXbf1ghCS'*MMO.

GG<LW_imnOOAGG$456o %r ')$$GLGLGL$''1  +  -  . (	 %$s %$z ('	 %$$sB   AIAPM6'AP*NAAP	O2AP*PAP	PAP'P"AP*P*AP;	c           	     N   V P                   P                  pV P                  V! ^4      P                  ^4      V! ^4      P                  V! ^4      4      4       V P                  V! ^4      P	                  ^4      V! ^4      P	                  V! ^4      4      4       V P                  V! ^4      P                  ^4      V! ^4      P                  V! ^4      4      4       V P                  V! ^4      P                  ^4      V! ^4      P                  V! ^4      4      4       V P                  V! R4      P                  R4      V! R4      P                  V! R4      4      4       V P                  V! R4      P                  R4      V! R4      P                  V! R4      4      4       V P                  V! R4      P                  R4      V! R4      P                  V! R4      4      4       V P                  V! R4      P                  ^{4      V! R4      P                  V! ^{4      4      4       V P                  V! R4      P                  ^{4      V! R4      P                  V! ^{4      4      4       V P                  V! R4      P                  ^{4      V! R4      P                  V! ^{4      4      4       V P                  V! R4      P                  ^{4      V! R4      P                  V! ^{4      4      4       V P                  V! R4      P                  ^{4      V! R4      P                  V! ^{4      4      4       V P                  V! R4      P                  ^d4      V! R4      P                  V! ^d4      4      4       V P                  V! R4      P!                  R4      V! R4      P!                  V! R4      4      4       V P                  V! ^{4      P#                  ^4      V! ^{4      P#                  V! ^4      4      4       V P                  V! R4      P%                  R4      V! R4      P%                  V! R4      4      4       V P                  V! R4      P'                  R
4      V! R4      P'                  V! R
4      4      4       V P                  V! R4      P)                  R4      V! R4      P)                  V! R4      4      4       V P                  V! R4      P+                  V! ^-4      ^C4      V! R4      P+                  V! ^-4      V! ^C4      4      4       V P                  V! R4      P+                  ^-^C4      V! R4      P+                  V! ^-4      V! ^C4      4      4       V P                  V! R4      P+                  ^-V! ^C4      4      V! R4      P+                  V! ^-4      V! ^C4      4      4       R	# )r  iu'    i7  r  i   r@  z9.123r  Nr  i)r   r   rA  rs  rN   rP   rR   rH   r~   r   r  rt   r  rv   r|   ri  r   rd  r   re  rf  rg  ru  s   & r   test_conversions_from_int'UsabilityTest.test_conversions_from_int	  s    ,,&&++A. ++GAJ7	92215 2271:>	@11!4 11'!*=	?55a8 55gajA	C33D9 33GDMB	D2248 2274=A	C33D9 33GDMB	D))#. ))'#,7	9--c2 --gcl;	=))#. ))'#,7	9--c2 --gcl;	=11#6 11'#,?	A//4 //=	?44T: 44WT]C	E,,Q/ ,,WQZ8	:33D9 33GDMB	D)006 )00?	A++B/ ++GBK8	: 	))'"+r: ))'"+wr{C	E))"b1 ))'"+wr{C	E))"gbk: ))'"+wr{C	Er&   r   N)r   rh  ri  rj  rk  r  r  r  r  r  r  r  r  r  r  r%  r*  r/  r2  r<  rF  rM  rR  rk  rp  rl  rm  rn  s   @r   r  r    s     4"H1&9((5T(L<\>&(*6g;RG4+&+7ZAB-!^2m/^/E /Er&   r  c                       ] tR tRt]tRtR# )CUsabilityTesti(
  r   Nr  r   r&   r   rs  rs  (
  r  r&   rs  c                   B   a a ] tR tRt o]tV 3R ltV 3R ltRtVt	V ;t
# )PyUsabilityTesti+
  c                   < \         SV `  4        \        P                  ! 4       V n        \        P
                  ! R 4       R# iX  Nsuperr   sysget_int_max_str_digits_previous_int_limitset_int_max_str_digitsr   r   s   &r   r   PyUsabilityTest.setUp.
  +    #&#=#=#? ""4(r&   c                d   < \         P                  ! V P                  4       \        SV `  4        R # r   rz  r}  r|  ry  tearDownr~  s   &r   r  PyUsabilityTest.tearDown3
  "    ""4#;#;<r&   r|  r   rh  ri  rj  r
  r   r   r  rl  rm  __classcell__r   ro  s   @@r   ru  ru  +
       G)
 r&   ru  c                   l   a  ] tR tRt o R tR tR t]R 4       tR t	R t
R tR	 tR
 tR tR tRtV tR# )PythonAPItestsi7
  c                J   V P                   P                  pV P                  V\        P                  4       V P                  V\        P                  4       V P                  V! ^ 4      \        P                  4       V P                  V! ^ 4      \        P                  4       R# rP  )	r   r   assertIsSubclassnumbersNumberassertNotIsSubclassRealr  assertNotIsInstanceru  s   & r   test_abcPythonAPItests.test_abc9
  si    ,,&&gw~~6  ',,7gaj'..9  W\\:r&   c                   \        \        P                  ^,           4       EFO  pV P                  P                  p\
        P                  R,          pV P                  \
        P                  R&   V! R4      p\        P                  ! WA4      p\        P                  ! V4      pV P                  WF4       \        '       Ed   \        P	                  R4      p\        P	                  R4      p\        \
        P                  R&   \        P                  ! Wq4      p	\        \
        P                  R&   \        P                  ! V	4      p
V P                  V
\        P                  4       V P                  W4       \        \
        P                  R&   \        P                  ! W4      p\        \
        P                  R&   \        P                  ! V4      p
V P                  V
\        P                  4       V P                  W4       \        P	                  R4      P                  4       p\        P	                  R4      P                  4       p\        \
        P                  R&   \        P                  ! Wq4      p	\        \
        P                  R&   \        P                  ! V	4      p
V P                  V
\        P                  4       V P                  W4       \        \
        P                  R&   \        P                  ! W4      p\        \
        P                  R&   \        P                  ! V4      p
V P                  V
\        P                  4       V P                  W4       V\
        P                  R&   EKR  	  R# )r"  r   z-3.141590000z-3.123e81723N)r  pickleHIGHEST_PROTOCOLr   r   rz  modulesdumpsloadsrA  r   r
  r  r;  DecimalTuple)r   protor   savedecimalr   rL  rO  r  r  sxr  sys   &           r   test_picklePythonAPItests.test_pickleA
  sF   622Q67Ell**G++i0K &*\\CKK	"'AQ&AQAQ"qIIn-IIn-)*I&\\!+)*I&LL$%%a3  &)*I&\\!+)*I&LL$%%a3  &IIn-668IIn-668)*I&\\!+)*I&LL$%%a8  &)*I&\\!+)*I&LL$%%a8  &%0CKK	"a 8r&   c           	     b   V P                   P                  p\        R^4       F  pRVR,          ,          pV P                  \	        V! V4      4      \	        \        V4      4      4       V! V4      pVP                  \        4      pV P                  V! \	        V4      4      V4       K  	  V P                  \        \        V! R4      4       V P                  \        \        V! R4      4       V P                  \        \        V! R4      4       V P                  \        \        V! R4      4       R# )	   %0.2f      Y@r)  r-  r  r  N)r   r   r  rA  r  r  rh  r   ry  r  r   r   r   r  r   r   r  s   &     r   test_intPythonAPItests.test_intt
  s    ,,&&tS!A1u9%AS_c%(m<
Aj)AWSV_a0 " 	*c76?;*c76?;-gen=-gfo>r&   c                    V P                   P                  p\        RR4       F$  pV P                  \	        V! V4      4      V4       K&  	  R# )r  i  Nr  )r   r   r  r  r  r   r   r  s   &  r   test_small_intsPythonAPItests.test_small_ints
  s7    ,,&&r3AMM#gaj/1-  r&   c           	     p   V P                   P                  p\        R^4       F  pRVR,          ,          pV P                  \	        V! V4      4      \	        \        V4      4      4       V! V4      pVP                  \        4      pV P                  V! \        P                  ! V4      4      V4       K  	  R# )r  r  r  Nr  )
r   r   r  rA  r  r  rh  r   r  truncr  s   &     r   
test_truncPythonAPItests.test_trunc
  s    ,,&&tS!A1u9%AS_c%(m<
Aj)AWTZZ]3Q7 "r&   c           	        V P                   P                  p ! R  RV4      pV P                  W!4       VP                  R4      pV P	                  \        V4      V4       V P	                  \        V4      R4       V P	                  VP                  R4       RpV P	                  VP                  V4      V! V4      4       V P                  VP                  \        R4      4      P                  4       4       V P                  VP                  \        R4      4      P                  4       4       V P                  VP                  \        R4      4      P                  4       4       V P	                  \        VP                  \        R4      4      4      \        V! R	4      4      4       V P	                  \        VP                  \        R4      4      4      \        V! R
4      4      4       V P	                  \        VP                  \        R4      4      4      \        V! R4      4      4       V P                  \        VP                  R4       \        ^4       Fk  p\        P                   ! R4      \        P                  ! 4       R,          R,
          ,          pV P	                  V\        VP                  V4      4      4       Km  	  R# )c                   &   a  ] tR tRt o R tRtV tR# )1PythonAPItests.test_from_float.<locals>.MyDecimali
  c                    R V n         R# )r  Nr  )r   r  s   &&r   r  :PythonAPItests.test_from_float.<locals>.MyDecimal.__init__
  s	    r&   r  Nr  rn  s   @r   rK  r  
  s      r&   rK  r  r  r  l   s\&5$3|	 r  r  r  r  r  r  abcr  r  r  N)r   r   r  r  rA  r;  r<  r  r    r  rj   rd   ry  r3  r  r/  r  )r   r   rK  r  bigintrM  r  s   &      r   test_from_floatPythonAPItests.test_from_float
  s   ,,&&	 	 	i1  %a),QK	Mc".--f5y7HI	,,U5\:BBDE	,,U5\:FFHI	,,U6];GGIJY11%,?@WU^,	.Y11%,?@WZ01	3Y11%-@AW[12	4)Y%9%95AsA""4(FMMOc,AC,GHAQi&:&:1&= >? r&   c                   V P                   P                  pV P                   P                  pV P                   P                  pV! ^\        R7      pV P                  VP                  \        P                  4      V! R4      4       V! ^\        R7      pV P                  VP                  \        P                  4      V! R4      4       V! ^V.R7      pV P                  VVP                  \        P                  4       V P                  \        VP                  R
4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  ^
4      4      R4       R	# )r  )r(   r)   z3.1415r{  )r(   r*   zDecimal('-0')r  zDecimal('1')zDecimal('10')N       )r   r   r+   r   r   rA  create_decimal_from_floatr  pir   ry  r@  )r   r   r+   r   r#   s   &    r   test_create_decimal_from_float-PythonAPItests.test_create_decimal_from_float
  s5   ,,&&,,&&,,&&q:6--dgg6H	
 q84--dgg6H	
 q	2--GG	

 	g??EF(	*g??DE'	)g??CD(	*r&   c                R   V P                   P                  pV P                   P                  pV P                   P                  pV! R RR7      pV P	                  V! R4      P                  V! R4      4      V! R4      4       V P	                  V! R4      P                  V! R4      \        R7      V! R4      4       V P                  VV! R4      P
                  V! R4      VR	7       V! 4       pV! R
4      pVP                  WA! R4      \        R7      pV P	                  Wa! R4      4       R# )i r  z7.335r  z7.34r)   z7.3310e999991e100000rW  z0.871831e8001e797)r#   r`  r)   z	8.71E+799Niay)r   r   r+   r   rA  ri  r   ry  )r   r   r+   r   r  r   r  s   &      r   test_quantizePythonAPItests.test_quantize
  s   ,,&&,,&&<<88V,G%%gen5FO	
 	G%%genz%JFO	
 	J(('**=q 	 	

 IN#JJqgg&6JLGK01r&   c                D   V P                   P                  pV! R 4      pV P                  VP                  V4       V P                  VP                  ^ 4       V P                  VP                  4       V4       V! R4      pV P                  \        V4      \        \        ^4      4      4       V P                  \        \        VR^d4       V P                  \        \        VR^d4       V P                  \        \        VR^d4       V P                  \        \        VR^d4       R# )z9.8182731e181273r  realimag	conjugate__complex__N)r   r   rA  r  r  r  complexr  ry  r4  r[  r  s   &  r   test_complexPythonAPItests.test_complex
  s    ,,&&&'##*CLWU1X%67.'1fcB.'1fcB.'1k3G.'1mSIr&   c           
     v   V P                   P                  pV P                   P                  pV P                   P                  pV P                   P                  pV P                   P
                  pV! 4       p^Vn        ^Vn        R-Vn        V! 4       ;_uu_ 4       pVP                  4        V P                  V! ^	V4      ^	4       V P                  V! ^	VR7      ^	4       V P                  V! V^	R7      ^	4       V P                  V! VR7      ^ 4       VP                  4        V P                  WARVR7       V P                  VP                  V,          4       V P                  VP                  V,          4       VP                  4        V P                  V! ^4      P                  VR7      ^4       V P                  WQ! ^4      P                  VR7       V P                  VP                  V,          4       V P                  VP                  V,          4       VP                  4        V P                  V! ^4      P!                  VR7      V! R4      4       V P                  WA! R-4      P                   VR7       V P                  VP                  V,          4       V P                  VP                  V,          4       V P                  V! ^ 4      P#                  VR7      V! R4      4       V P                  V! R-4      P%                  VR7      R.4       V P                  V! R-4      P'                  VR7      V! R4      4       V P                  V! R4      P)                  VR7      V! R4      4       V P                  V! R	4      P+                  VR7      R
4       V P                  V! R4      P-                  VR7      R/4       V P                  V! R4      P/                  VR7      ^{4       V P                  V! R4      P1                  VR7      V! R4      4       V P                  V! R4      P3                  V^R7      R-4       VP                  4        V P                  VV! R4      P4                  V! R4      VR7       V P                  VP                  V,          4       V P                  VP                  V,          4       V P                  V! R4      P7                  V! R4      VR7      V! R4      4       V P                  V! R4      P7                  V! R4      VR7      V! R4      4       V P                  V! R4      P9                  V! R4      VR7      V! R4      4       V P                  V! R4      P;                  V! R4      VR7      V! R4      4       V P                  V! R4      P=                  V! R4      VR7      V! R4      4       V P                  V! R4      P?                  V! R4      VR7      V! R4      4       VP                  4        V P                  VV! R4      P@                  V! R4      VR7       V P                  VP                  V,          4       V P                  VP                  V,          4       V P                  V! R4      PC                  V! R4      VR7      V! R4      4       V P                  V! R4      PE                  V! R 4      V^R!7      V! R"4      4       V P                  \F        V! ^4      PH                  VR7       V P                  \F        V! ^4      PJ                  VR7       V P                  \F        V! ^4      PL                  VR7       V P                  \F        V! ^4      PN                  VR7       V P                  \F        V! ^4      PP                  VR7       V P                  \F        V! ^4      PR                  VR7       V P                  \F        V! ^4      PT                  VR7       V P                  \F        V! ^4      PV                  VR7       V P                  V! R4      PY                  VR7      4       V P                  V! R4      P[                  VR7      4       V P                  \F        V! ^4      P\                  VR7       V P                  \F        V! ^4      P^                  VR7       V P                  \F        V! ^4      P`                  VR7       V P                  V! R04      Pc                  VR7      ^4       V P                  V! ^ 4      Pe                  VR7      ^4       V P                  V! R4      Pg                  VR7      R#4       V P                  V! R$4      Pi                  VR7      R$4       V P                  V! R%4      Pk                  V! R&4      VR7      ^ 4       V P                  V! R%4      Pm                  V! R&4      VR7      ^4       V P                  V! R'4      Po                  V! R&4      VR7      ^4       V P                  V! R(4      Pq                  ^VR7      ^4       V P                  V! R(4      Pq                  ^VR7      ^4       VP                  4        V P                  VV! R(4      Pr                  ^VR7       V P                  VP                  V,          4       V P                  VP                  V,          4       V P                  V! R(4      Pu                  R-VR7      ^ 4       V P                  \F        VPv                  R)VR7       V P                  \F        V! ^ 4      Px                  VR7       V P                  V! ^4      P{                  4       ^4       V P                  \F        V! R4      P|                  VR7       V P                  \F        V! R4      P~                  VR7       V P                  \F        V! ^4      Pz                  R*R7       V P                  \F        V! ^4      Pz                  R*R+7       R,R,R,4       R,#   + '       g   i     R,# ; i)1r"  rW  )r#   r  r  z0.7r  z-0.9z9.73z1E+19999'  z-2000r  z0.06250.2)r#   r'  rs  r  0.01z0.0101rl  z-0.3z0.02z-0.03r  r  r  1e109.99rh  r  9.9z0.9)thirdr#   r'  z7E+1rY  z0.2111rF  0123g?r  )r  Nr  r  i0i)@r   r   r+   r  r   r   r(   rd  r^  r0  rA  ry  r    rU  rt  r`  r`  ra  rx   rz   r   rh  r   r   r   rs  rN   r  rt   r  rv   r|   ri  r   rg  r3  r`   rb   rd   rf   rj   rn   rl   rr   rh   rp   adjustedr  radixrb  r^   rL   r   rH   r~   r   rd  re  rf  r  r;  	canonicalrV   rX   )r   r  r+   r  r   r   xcr  s   &       r   test_named_parameters$PythonAPItests.test_named_parameters
  s	   LL  ,,&&||00<<88<<((Y^^qMMOQq"Xq)Qq"-q1Qr3Q7Qr]A.NN.5"EOOBHH%567QWW%567NNQqTXXbX115h!"=OOBHHX./QWWX./NNQqTWWRW0!E(;.""EOOBHH%567QWW%567QqTZZZ3QvY?QrU--b-92>QrU__R_8!F)DQvY000<aiHQvY2222>EQwZ99"9EuMQuX777CSIQx[--b-91U8DQx[0010ErJNN.f33QuXr  KOOBHH%567QWW%567QvY]]1X;]CQuXNQvY]]1X;]CQuXNQuX--ai-DvY(QvY]]1W:r]BAfINQvY..qz2.FuX'QuX11!D'21F%QNN.h//6B  HOOBHH%567QWW%567QvY55ah5KvY( QuX\\%"A\NvY( i1):):BGi1Di1)9)92Fi1bAi1rBi1rBi1Di1rBQvY000<=OOAfI2222>?i1Ci1Di1R@QtW\\"\5q9QqT000<a@QvY33B3?NQvY44R4@&IQtW004"0EqIQtW//$/DaHQtW004"0EqIQtW^^Ar^:A>QtW^^Ar^:A>NNhgnna  =OOBHHX./QWWX./QtW]]2r]:A>isBGi1CQqT^^-q1i4)9)92Fi4)<)<bIi1Ei1SAE ^^^s   np''p8	c                   V P                   pVP                  pVP                  pVP                  pVP                  pVP
                  pVP                  pVP                  pVP                  p	VP                  p
VP                  pV P                  V\        4       V P                  W24       V P                  WB4       V P                  V\        4       V P                  WR4       V P                  V\        4       V P                  Wj4       V P                  Wi4       V P                  Wb4       V P                  Wy4       V P                  Wz4       V P                  Wx4       V P                  Wr4       V P                  W4       V P                  W4       V P                  W4       V P                  W4       V P                  VP                  V4       V P                  VP                   V4       V P                  VP"                  V4       V P                  VP"                  \        4       V P                  VP$                  V4       R # r   )r   r   r   FloatOperationr   r   r   r   r   r   r   r  ArithmeticErrorr3  ZeroDivisionErrorConversionSyntaxDivisionImpossibleDivisionUndefinedInvalidContext)r   r   r   r   r  r   r   r   r   r   r   r   s   &           r   test_exception_hierarchy'PythonAPItests.test_exception_hierarchyl  s   ,,"33"33 // //##%%	%%	//////.@.An?ni8n?n.?@h0h0h9i1i1i3i:i:g8g8g8g668HIg88:JKg779IJg779JKg446FGr&   r   N)r   rh  ri  rj  r  r  r  r   r  r  r  r  r  r  r  r  rl  rm  rn  s   @r   r  r  7
  sY     ;11f?" . .
8@@*820J nB`&H &Hr&   r  c                       ] tR tRt]tRtR# )CPythonAPItestsi  r   Nr  r   r&   r   r  r    r  r&   r  c                       ] tR tRt]tRtR# )PyPythonAPItests  r   Nr	  r   r&   r   r  r    r  r&   r  c                     a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R  t"R! t#R" t$R# t%R$ t&R% t'R& t(R' t)R( t*R) t+R* t,R+ t-R, t.R- t/R. t0R/ t1R0 t2R1 t3R2 t4R3 t5R4 t6R5 t7R6 t8R7 t9R8 t:R9 t;R: t<R; t=R< t>R= t?R> t@R? tAR@tBV tCRA# )BContextAPItestsi  c                   V P                   P                  pV P                   P                  pV P                   P                  pV P                   P                  pV! 4       pV! R R R R R R R R R7      pWV3 F  pV P                  VP                  ^4       V P                  VP                  \        4       V P                  VP                  R4       V P                  VP                  R4       V P                  VP                  ^4       V P                  VP                  ^ 4       \        WR. 4       \        WRW#V.4       K  	  R # )N)r(   r)   rd  r^  rc  rF   rU  r*   ?B rU  r*   )r   r+   r   r   r   rA  r(   r)   r,   rd  r^  rc  rF   r%   )r   r+   r   r   r   rz  rx  r  s   &       r   rk  ContextAPItests.test_none_args  s	   ,,&&<<8844<<((Y$Dt"$d$HAQVVR(QZZ9QVVV,QVVW-QZZ+QWWa(4GR04G.>.6.8 9 r&   c                	   \        \        P                  ^,           4       EFe  pV P                  P                  p\
        P                  R,          pV P                  \
        P                  R&   V! 4       p\        P                  ! \        P                  ! WA4      4      pV P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                   VP                   4       V P                  VP"                  VP"                  4       \$        '       d   \$        \&        3\&        \$        3.M\&        \&        3.pV EFk  w  rx\)        \*        4       EFQ  w  r\)        \,        V,          4       EF0  w  r\)        \,        V,          4       EF  w  r\.        P0                  ! ^^d4      p\.        P0                  ! R^ 4      p\.        P0                  ! ^^d4      p\.        P0                  ! ^4      p\.        P0                  ! ^4      pV\
        P                  R&   VP	                  WV\*        V	,          VV\,        V,          RV \,        V,          RV R7      p\        P                  ! WA4      pV\
        P                  R&   \        P                  ! V4      pV P3                  VVP                  4       V P                  VP                  V4       V P                  VP                  V4       V P                  VP                  V4       V P                  VP                  \*        V	,          4       V P                  VP                  V4       V P                  VP                  V4       \5        V VR\,        V,          RV 4       \5        V VR\,        V,          RV 4       EK  	  EK3  	  EKT  	  EKn  	  V\
        P                  R&   EKh  	  R# )r"  r   N)r(   r^  rd  r)   rc  rF   rU  r*   rU  r*   ro  )r  r  r  r   r+   rz  r  r  r  rA  r(   r^  rd  r)   rc  rF   rU  r*   r   r
  r6  RoundingModesr:  r/  	randranger  r%   )r   r  r+   r  r  rO  combinationsdumperloaderrir  fitir(   r  r  capsrF   r   r   s   &                   r   r  ContextAPItests.test_pickle  sG   622Q67Ell**G++i0K &*\\CKK	"	AV\\!34AQVVQVV,QVVQVV,QVVQVV,QZZ4QZZ4QWWagg.QWWagg.QWWagg. 01qQFQF+1vhL".&}5EB!*>&+A!B%.~f/E%FEB#)#3#3As#;D#)#3#3D!#<D#)#3#3As#;D#)#3#3A#6D$*$4$4Q$7E 6<CKK	2 &'+T+8+<+/u(6v(>s(C(6v(>s(C !/ !A !'Q 6A 6<CKK	2 &QA 11!V^^D ,,QVVT: ,,QVVT: ,,QVVT: ,,QZZr9JK ,,QZZ> ,,QWWe<*4G^F=STWUW=XY*4G^F=STWUW=XY? &G "C 6 #/H &1CKK	"s 8r&   c                    V P                   P                  pV P                  V! ^
4      RRV! ^
4      R/ .4       V P                  V! ^
4      RRR/ .4       R# )r  r  r  N)r"  r  )r   r   assertInassertNotInru  s   & r   test_equality_with_other_types.ContextAPItests.test_equality_with_other_types  sO    ,,&&gbkCgbk5"#EFsC&;<r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  4       pV P	                  \        V4      \        V4      4       V P	                  \        VP                  4      \        VP                  4      4       V P	                  \        VP                  4      \        VP                  4      4       \        VP                  P                  4       4      p\        VP                  P                  4       4      pV P                  WV4       V P                  VP                  VP                  4       R # r   )r   r   r+   rS   r  rD  rU  r*   r   keysrA  )r   r   r+   r  r   k1k2s   &      r   	test_copyContextAPItests.test_copy  s    ,,&&,,&&IFFHBqE2a5)BqwwKAGG5BqwwKAGG5   !''*r&   c                x    V P                   P                  pV! 4       pV P                  \        \        VR 4       R# )_clampN)r   r+   ry  r4  r   r   r+   r  s   &  r   test__clampContextAPItests.test__clamp  s.     ,,&&I.'1h?r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! R4      4      pV P	                  VP                  R4      V4       V P                  \        VP                  R4       R# r"  r  Nr  )r   r   r+   rQ  rA  ry  r3  r   r   r+   r  r   s   &    r   test_absContextAPItests.test_abs  g    ,,&&,,&&IEE'"+rA&)QUUD1r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r"  r  N)r   r   r+   r   rA  ry  r3  r  s   &    r   test_addContextAPItests.test_add      ,,&&,,&&IEE'!*gaj)q!a(wqz1-q1q'!*-q1)QUUC3)QUUAs3r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r  )r   r   r+   rs  rA  ry  r3  r  s   &    r   test_compareContextAPItests.test_compare"      ,,&&,,&&IIIgaj'!*-1a!,71:q1151gaj115)QYYQ7)QYY37r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r  )r   r   r+   rN   rA  ry  r3  r  s   &    r   test_compare_signal#ContextAPItests.test_compare_signal.      ,,&&,,&&IWQZ4))!Q/3))'!*a8!<))!WQZ8!<)Q%5%5sA>)Q%5%5q#>r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r  )r   r   r+   rP   rA  ry  r3  r  s   &    r   test_compare_total"ContextAPItests.test_compare_total:  s    ,,&&,,&&IOOGAJ
3A.2Q7;GAJ7;)Q__c1=)Q__a=r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r  )r   r   r+   rR   rA  ry  r3  r  s   &    r   test_compare_total_mag&ContextAPItests.test_compare_total_magF  s    ,,&&,,&&I
GAJ7,,Q2A6,,WQZ;Q?,,Q
;Q?)Q%8%8#qA)Q%8%8!SAr&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! R4      4      pV P	                  VP                  R4      V4       V P                  \        VP                  R4       R# r  )r   r   r+   rV   rA  ry  r3  r  s   &    r   test_copy_absContextAPItests.test_copy_absR  sg    ,,&&,,&&IJJwr{#B+)QZZ6r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! R4      4      pV P	                  VP                  R4      V4       V P                  \        VP                  R4       R# r  )r   r   r+   rT   rA  ry  r3  r  s   &    r   test_copy_decimal!ContextAPItests.test_copy_decimal[  h    ,,&&,,&&INN72;'+Q/)Q^^T:r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! R4      4      pV P	                  VP                  R4      V4       V P                  \        VP                  R4       R# r  )r   r   r+   rX   rA  ry  r3  r  s   &    r   test_copy_negate ContextAPItests.test_copy_negated  h    ,,&&,,&&IMM'"+&r*A.)Q]]D9r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! R4      4      pV P	                  VP                  ^R4      V4       V P	                  VP                  V! ^4      R4      V4       V P	                  VP                  ^V! R4      4      V4       V P                  \        VP                  RR4       V P                  \        VP                  ^R4       R# )r"  r  rf  Nr  )r   r   r+   rZ   rA  ry  r3  r  s   &    r   rg  ContextAPItests.test_copy_signm  s    ,,&&,,&&IKK
GBK0Q+Q/WQZ4a8Q4a8)Q[[#r:)Q[[!T:r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r"  r  r8  N)r   r   r+   rr  rA  ry  r3  r  s   &    r   test_divideContextAPItests.test_dividey      ,,&&,,&&IHHWQZ,!Q+'!*a0!4!WQZ0!4)QXXsA6)QXXq#6r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   r\   rA  ry  r3  r  s   &    r   test_divide_intContextAPItests.test_divide_int      ,,&&,,&&ILLWQZ0a+Q/gaj!4a8a4a8)Q\\3:)Q\\1c:r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   rZ  rA  ry  r3  r  s   &    r   test_divmodContextAPItests.test_divmod  r>  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# r  rF  N)r   r   r+   r`  rA  ry  r3  r  s   &    r   test_expContextAPItests.test_exp  r  r&   c           	        V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      V! ^4      4      pV P	                  VP                  ^^^4      V4       V P	                  VP                  V! ^4      ^^4      V4       V P	                  VP                  ^V! ^4      ^4      V4       V P	                  VP                  ^^V! ^4      4      V4       V P	                  VP                  V! ^4      V! ^4      ^4      V4       V P                  \        VP                  R^^4       V P                  \        VP                  ^R^4       V P                  \        VP                  ^^R4       V P                  \        VP                  V! R4      V! ^ 4      R4       V P                  \        VP                  V! ^4      V! R4      R4       V P                  \        V! R4      P                  V! ^ 4      R4       V P                  \        V! ^4      P                  V! R4      R4       R# )	r  r8  rx  4r  znot a decimalr-  gZd;O?N)r   r   r+   rg  rA  ry  r3  r  s   &    r   test_fmaContextAPItests.test_fma  s   ,,&&,,&&IEE'!*gaj'!*5q!Q+wqz1a0!4q'!*a0!4q!WQZ0!4wqz71:q91=)QUUCA6)QUUAsA6)QUUAq#6 	)QUU!*-wqz?	L)QUU!!*gfou	> 	)WZ%8%<%<!!*o	7)WQZ^^!&/5	2r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   rb   rA  ry  r3  r  s   &    r   test_is_finiteContextAPItests.test_is_finite  g    ,,&&,,&&IKK$R!,)Q[[$7r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   rd   rA  ry  r3  r  s   &    r   test_is_infinite ContextAPItests.test_is_infinite  r7  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   rf   rA  ry  r3  r  s   &    r   test_is_nanContextAPItests.test_is_nan  sg    ,,&&,,&&IHHWR[!"q))QXXt4r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   rh   rA  ry  r3  r  s   &    r   test_is_normalContextAPItests.test_is_normal  rQ  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   rj   rA  ry  r3  r  s   &    r   test_is_qnanContextAPItests.test_is_qnan  g    ,,&&,,&&IIIgbk"2*)QYY5r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   rl   rA  ry  r3  r  s   &    r   test_is_signedContextAPItests.test_is_signed  rQ  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   rn   rA  ry  r3  r  s   &    r   test_is_snanContextAPItests.test_is_snan  r^  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   rp   rA  ry  r3  r  s   &    r   test_is_subnormal!ContextAPItests.test_is_subnormal  r3  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   rr   rA  ry  r3  r  s   &    r   test_is_zeroContextAPItests.test_is_zero  r^  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   r`  rA  ry  r3  r  s   &    r   test_lnContextAPItests.test_ln  sg    ,,&&,,&&IDDb1%)QTT40r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   ra  rA  ry  r3  r  s   &    r   
test_log10ContextAPItests.test_log10  g    ,,&&,,&&IGGGBK a()QWWd3r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   rb  rA  ry  r3  r  s   &    r   	test_logbContextAPItests.test_logb#  g    ,,&&,,&&IFF72;Q')QVVT2r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r  )r   r   r+   rH   rA  ry  r3  r  s   &    r   test_logical_and ContextAPItests.test_logical_and,      ,,&&,,&&IMM'!*gaj1q!,a0wqz15q9q'!*5q9)Q]]C;)Q]]As;r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! R 4      4      pV P	                  VP                  R 4      V4       V P                  \        VP                  R4       R# )r@  r  N)r   r   r+   r^   rA  ry  r3  r  s   &    r   test_logical_invert#ContextAPItests.test_logical_invert8  sn    ,,&&,,&&IWT]+))$/3)Q%5%5v>r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r  )r   r   r+   r~   rA  ry  r3  r  s   &    r   test_logical_orContextAPItests.test_logical_orA  rB  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r  )r   r   r+   r   rA  ry  r3  r  s   &    r   test_logical_xor ContextAPItests.test_logical_xorM  ry  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   r  rA  ry  r3  r  s   &    r   test_maxContextAPItests.test_maxY  r  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   rt   rA  ry  r3  r  s   &    r   test_max_magContextAPItests.test_max_mage  r"  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   r  rA  ry  r3  r  s   &    r   test_minContextAPItests.test_minq  r  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   rv   rA  ry  r3  r  s   &    r   test_min_magContextAPItests.test_min_mag}  r"  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   minusrA  ry  r3  r  s   &    r   
test_minusContextAPItests.test_minus  rq  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   r  rA  ry  r3  r  s   &    r   test_multiplyContextAPItests.test_multiply      ,,&&,,&&IJJwqz71:.Aq)1-GAJ2A6Awqz2A6)QZZa8)QZZC8r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   rx   rA  ry  r3  r  s   &    r   test_next_minusContextAPItests.test_next_minus  sh    ,,&&,,&&ILL%b)1-)Q\\48r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   rz   rA  ry  r3  r  s   &    r   test_next_plusContextAPItests.test_next_plus  rQ  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   r|   rA  ry  r3  r  s   &    r   test_next_toward ContextAPItests.test_next_toward  ry  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   r   rA  ry  r3  r  s   &    r   test_normalizeContextAPItests.test_normalize  rQ  r&   c                   V P                   P                  pV P                   P                  pV! 4       pV P                  VP	                  ^{4      VP	                  V! ^{4      4      4       V P                  VP	                  ^ 4      VP	                  V! ^ 4      4      4       V P                  VP	                  R4      VP	                  V! R4      4      4       R# )r
  Nr  )r   r   r+   rA  rL   )r   r   r+   r  s   &   r   test_number_class!ContextAPItests.test_number_class  s    ,,&&,,&&I,annWS\.JK*ANN71:,FG,annWS\.JKr&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   plusrA  ry  r3  r  s   &    r   	test_plusContextAPItests.test_plus  ru  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P	                  VP                  V! ^4      V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       V P	                  VP                  ^^^R7      ^4       R# )r"  r  rK  )modulor  r  N)r   r   r+   powerrA  ry  r3  r  s   &    r   
test_powerContextAPItests.test_power  s	   ,,&&,,&&IGGGAJ
+A*Q/3GAJ/3WQZ8!<)QWWc15)QWWa5Q!4a8r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   ri  rA  ry  r3  r  s   &    r   r  ContextAPItests.test_quantize  r  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   	remainderrA  ry  r3  r  s   &    r   test_remainderContextAPItests.test_remainder  s    ,,&&,,&&IKK
GAJ/Q*A.WQZ3Q7Q
3Q7)Q[[#q9)Q[[!S9r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   r   rA  ry  r3  r  s   &    r   test_remainder_near#ContextAPItests.test_remainder_near  r&  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   rd  rA  ry  r3  r  s   &    r   test_rotateContextAPItests.test_rotate	  r>  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   r   rA  ry  r3  r  s   &    r   	test_sqrtContextAPItests.test_sqrt  ru  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   r   rA  ry  r3  r  s   &    r   test_same_quantum!ContextAPItests.test_same_quantum  s    ,,&&,,&&INN71:wqz21-q1
A6:71:6:)Q^^S!<)Q^^Q<r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   re  rA  ry  r3  r  s   &    r   test_scalebContextAPItests.test_scaleb*  r>  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   rf  rA  ry  r3  r  s   &    r   
test_shiftContextAPItests.test_shift6  s    ,,&&,,&&IGGGAJ
+A*Q/3GAJ/3)QWWc15)QWWa5r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^4      V! ^4      4      pV P	                  VP                  ^^4      V4       V P	                  VP                  V! ^4      ^4      V4       V P	                  VP                  ^V! ^4      4      V4       V P                  \        VP                  R^4       V P                  \        VP                  ^R4       R# r;  )r   r   r+   subtractrA  ry  r3  r  s   &    r   test_subtractContextAPItests.test_subtractB  r  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   r   rA  ry  r3  r  s   &    r   test_to_eng_string"ContextAPItests.test_to_eng_stringN  h    ,,&&,,&&IOOGBK(,a0)Q__d;r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   r   rA  ry  r3  r  s   &    r   test_to_sci_string"ContextAPItests.test_to_sci_stringW  r  r&   c                   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       R# rG  )r   r   r+   r   rA  ry  r3  r  s   &    r   test_to_integral_exact&ContextAPItests.test_to_integral_exact`  sn    ,,&&,,&&I,,,R0!4)Q%8%8$?r&   c                b   V P                   P                  pV P                   P                  pV! 4       pVP                  V! ^
4      4      pV P	                  VP                  ^
4      V4       V P                  \        VP                  R4       V P                  \        VP                  ^
R4       R# )r  rF  r  N)r   r   r+   r   rA  ry  r3  r  s   &    r   test_to_integral_value&ContextAPItests.test_to_integral_valuei  s    ,,&&,,&&I,,,R0!4)Q%8%8$?)Q%8%8"cBr&   r   N)Dr   rh  ri  rj  rk  r  r  r  r  r  r  r   r$  r(  r+  r.  r1  r5  rg  r<  r@  rD  rH  rL  rO  rS  rV  rY  r\  r`  rc  rf  ri  rl  ro  rs  rw  r{  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rl  rm  rn  s   @r   r  r    sG    9(;1z=+	@2
4
8
?
>
B7;:
;
7
;
72248:58686;6143
<?
;
<
4
8
4
84
998
<8L39
9
:
?
73
=
7
6
9<<@C Cr&   r  c                       ] tR tRt]tRtR# )CContextAPItestsis  r   Nr  r   r&   r   r  r  s  r  r&   r  c                       ] tR tRt]tRtR# )PyContextAPItestsiv  r   Nr	  r   r&   r   r  r  v  r  r&   r  c                   P   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )ContextWithStatementiy  c                N   V P                   P                  pV P                   P                  pV! 4       pV! 4       ;_uu_ 4       pV! 4       pR R R 4       V! 4       pV P                  W6R4       V P	                  VXR4       V P                  VXR4       R #   + '       g   i     LQ; i)N!did not restore context correctlydid not copy the context __enter__ returned wrong context)r   r  r  r  assertIsNot)r   r  r  orig_ctx	enter_ctxset_ctx	final_ctxs   &      r   test_localcontext&ContextWithStatement.test_localcontext}  s~    \\,,
||00<^^y lG L	h+NO7,FGgy*LM ^s   BB$	c                   V P                   P                  pV P                   P                  pV P                   P                  pV P                   P                  pV! 4       pV! ^*R7      pV! V4      ;_uu_ 4       pV! 4       pRRR4       V! 4       pV P	                  WHR4       V P                  XP                  VP                  R4       V P                  WWR4       V P	                  VXR4       R#   + '       g   i     Lw; i)r  r(   Nr  zdid not set correct contextr  r  )r   r+   r  r  r  rA  r(   r  )	r   r+   r  r  r  new_ctxr  r  r  s	   &        r   test_localcontextarg)ContextWithStatement.test_localcontextarg  s    ,,&&\\,,
||00||00<r"'""i lG #L	h+NOw||5RS+EFgy*LM #"s   9C00D 	c           	        V P                   P                  ^
\        R^^ ^R7      ;_uu_ 4       pV P                  VP                  ^
4       V P                  VP
                  V P                   P                  4       V P                  VP                  R4       V P                  VP                  ^4       V P                  VP                  ^ 4       V P                  VP                  ^4       RRR4       V P                  \        V P                   P                  ^
R7       V P                  \        V P                   P                  ^R7       V P                  \        V P                   P                  RR7       V P                  \        V P                   P                  ^R7       V P                  \        V P                   P                  ^R7       V P                  \        V P                   P                  RR	7       V P                  \        V P                   P                  ^R	7       V P                  \        V P                   P                  RR
7       V P                  \        V P                   P                  RR7       V P                  \        V P                   P                  RR7       V P                  \        V P                   P                  RR7       R#   + '       g   i     EL; i)r  )r(   r)   r^  rd  rc  rF   N)rC   r^  rd  rc  rF   r   r  rU  r*   ir  )r   r  r   rA  r(   r)   r^  rd  rc  rF   ry  r3  r  r  s   & r   test_localcontext_kwargs-ContextWithStatement.test_localcontext_kwargs  s    \\&&o2 ' 
 
 SXXr*S\\4<<+G+GHSXXs+SXXr*S\\1-SYY*
 	)T\\%>%>"M*dll&?&?aH*dll&?&?bI*dll&?&?!L*dll&?&?qI)T\\%>%>L)T\\%>%>K)T\\%>%>bI)T\\%>%>bI)T\\%>%>RH)T\\%>%>RH3
 
 
s   B=KK*	c                4   V P                   P                  4       pVP                  pV P                   P                  ^
R7      ;_uu_ 4       pV P	                  VP                  ^
4       V P	                  VP                  V4       RRR4       V P                   P                  ^R7      ;_uu_ 4       pV P	                  VP                  ^4       V P	                  VP                  V4       RRR4       R#   + '       g   i     Lw; i  + '       g   i     R# ; i)r  r  N)r   r  r(   r  rA  )r   r  	orig_precctx2s   &   r   >test_local_context_kwargs_does_not_overwrite_existing_argumentSContextWithStatement.test_local_context_kwargs_does_not_overwrite_existing_argument  s    ll%%'HH	\\&&B&//4TYY+SXXy1 0 \\&&B&//4TYY+SXXy1 0/ 0/ 0//s   9C309D3D	D	c                j   V P                   P                  pV P                   P                  pV P                   P                  pV P                   P                  pV P                   P
                  pV P                   P                  pV! 4       pVP                  4        V! R R7      pV! 4       ;_uu_ 4       p	V P                  V	P                  VP                  4       V P                  V	P                  VP                  4       RV	P                  V&   RV	n        V P                  VP                  R4       V P                  WYP                  R4       V P                  V	P                  V,          4       V! V4      ;_uu_ 4       p
V P                  V
P                  VP                  4       V P                  V
P                  VP                  4       V P                  WjP                   V! R4      ^4       V P#                  V
P                  V,          4       V P                  V
P                  V,          4       ?
RRR4       V P#                  V	P                  V,          4       ?	RRR4       V P                  VP                  R4       V P#                  VP                  V,          4       V P#                  VP                  V,          4       V P#                  VP                  V,          4       V P#                  VP                  V,          4       R#   + '       g   i     L; i  + '       g   i     L; i)  r  Tz0e-999z3.4e200N)r   r   r+   r  r  r   r   r0  rA  rU  r*   r^  r  ry  r   r    r  rt  )r   r   r+   r  r  r   r   r  r  rz  rx  s   &          r   test_nested_with_statements0ContextWithStatement.test_nested_with_statements  s6   ,,&&,,&&\\,,
||00,,&&<<((<s#^^rRXXx~~6RXXx~~6 $BHHWBGt4g'8'8(COOBHHW-.g&&"  7==9  7==9!!(HHgi6H!L  '!23 23 ' RXXh/0! " 	HMM400112w/0x01 '& ^s&   4CL"B5L	6+L"LL""L2	c                   V P                   P                  pV! 4       ;_uu_ 4       p?V! 4       ;_uu_ 4       p?V! 4       ;_uu_ 4       p?V! 4       ;_uu_ 4       p?R R R 4       R R R 4       R R R 4       R R R 4       R #   + '       g   i     L*; i  + '       g   i     L5; i  + '       g   i     L@; i  + '       g   i     R # ; ir   r   r  r   r  rz  rx  ry  c4s   &     r   test_with_statements_gc1-ContextWithStatement.test_with_statements_gc1  sy    ||00^^r2!^^r%2 ( $   ^ ( $^   ^^sR   B6B#	BA=B#B#	+B6=BBB B#	#B3.B66C	c                   V P                   P                  pV! 4       ;_uu_ 4       pV! V4      ;_uu_ 4       p?V! V4      ;_uu_ 4       p?V! V4      ;_uu_ 4       p??R R R 4       R R R 4       R R R 4       R R R 4       R #   + '       g   i     L*; i  + '       g   i     L5; i  + '       g   i     L@; i  + '       g   i     R # ; ir   r  r  s   &     r   test_with_statements_gc2-ContextWithStatement.test_with_statements_gc2  s    ||00^^rb!!R!"%%%b))R * & " ^
 *) &% "! ^^sR   B9B&		BB B&B&	.B9 BBB#B&	&B61B99C
	c                   V P                   P                  pV P                   P                  pV P                   P                  pV P                   P                  pV! 4       ;_uu_ 4       p?V! ^R7      pV! V4       V! V4      ;_uu_ 4       p?V P                  VP                  ^4       ?V! ^R7      pV! V4       ?V P                  V! 4       P                  ^4       V! ^R7      p	V! V	4       V P                  V! 4       P                  ^4       V! V	4      ;_uu_ 4       p
?	V P                  V
P                  ^4       ?
V! ^R7      pV! V4       ?V P                  V! 4       P                  ^4       V! 4       ;_uu_ 4       pV P                  VP                  ^4       ?RRR4       RRR4       RRR4       RRR4       R#   + '       g   i     L*; i  + '       g   i     L5; i  + '       g   i     L@; i  + '       g   i     R# ; i)r"  r  N)r   r+   r  r  r0   rA  r(   )r   r+   r  r  r0   rz  n1rx  n2n3ry  n4r  s   &            r   test_with_statements_gc3-ContextWithStatement.test_with_statements_gc3  s   ,,&&||00\\,,
\\,,
^^raBrNb!!R  !,!_2  !2!2A6!_2  !2!2A6!"%%$$RWWa0 aBrN$$Z\%6%6:%2((!4 ( & "	 ^. ( &% "!	 ^^sV   (#G9BG&	A!G G G&G&	.G9 GGG#G&	&G61G99H
	r   N)r   rh  ri  rj  r  r  r  r  r  r  r  r  rl  rm  rn  s   @r   r  r  y  s6     NN"I82!2F

 r&   r  c                       ] tR tRt]tRtR# )CContextWithStatementi  r   Nr  r   r&   r   r  r    r  r&   r  c                       ] tR tRt]tRtR# )PyContextWithStatementi   r   Nr	  r   r&   r   r  r     r  r&   r  c                   H   a  ] tR tRt o R tR t]R 4       tR tR t	Rt
V tR# )	ContextFlagsi#  c                d  a  S P                   P                  pS P                   P                  pS P                   P                  pS P                   P                  pS P                   P
                  pS P                   P                  pS P                   P                  pV 3R  lpV! ^	RR\        . . R7      p	V	P                  V! R4      .3V	P                  V! ^4      .3V	P                  V! R4      V! R4      .3V	P                  V! R4      V! R4      .3V	P                  V! R4      V! R4      .3.p
V.V.V.V.V.W4WVV..pV
 EF^  w  rV	P                  4        V! V!  pV	P                  P!                  4        UUu. uF  w  ppV'       g   K  VNK  	  pppV EF  pV	P                  4        V F  pV! V	V4       K  	  V! V!  p\#        V4      pV F  pVV9  g   K  VP%                  V4       K  	  VP'                  \(        R7       V	P                  P!                  4        UUu. uF  w  ppV'       g   K  VNK  	  pppVP'                  \(        R7       S P+                  VVRRV: R	V: R
2,           4       S P+                  VVRRV: R	V: 2,           4       EK  	  EKa  	  R# u uppi u uppi )c                    < SP                   \        8X  d-   R V P                  V&   V P                  V,          '       d   VhR# V P	                  V4       R# TN)r   r   rU  r*   _raise_error)r#   flagr   s   &&r   raise_error7ContextFlags.test_flags_irrelevant.<locals>.raise_error0  sF    ||q &*d#==&&J ' $$T*r&   r   )r(   r^  rd  r)   r*   rU  z100E-425000010r  z
9.87654321r,  z=operation produces different answers depending on flags set: z	expected z, got r  z9operation raises different flags depending on flags set: Nr  )r   r   r+   r   r   r   r   r   r,   rJ   r   r   r  r  r0  rU  r  r  r9  r?  rD  rA  )r   r   r+   r   r   r   r   r   r  r#   
operationsflagsetsfnr  rF  kr   rU  extra_flagsr  new_ansexpected_flags	new_flagss   f                      r   test_flags_irrelevant"ContextFlags.test_flags_irrelevant%  s    ,,&&,,&&,,&&,,&&LL**	,,&&LL**		+ qI#2"BH
 ^^g&6789\\GAJ<([[7<0',2GHI 5w|7LMN 5w|7LMN
 Iy9+y9+y9EG #HB!d)C#*==#6#6#8>#841aAQQ#8E>'##%'D. (d) "&e'D>1&--d3 ( ###+ +2--*=*=*?E*?31Q1QQ*?	E2&  g!`;>!H"IJ   N"];I9"U#VW+  ( # ?" Fs   :J&J&$J,
6J,
c                   V P                   P                  pV P                   P                  pV P                   P                  pV! 4       pV P	                  VP
                  VP                  4       V P	                  VP                  VP
                  4       VP                  Vn        V P                  VP
                  VP                  4       V P                  VP                  VP
                  4       R VP
                  V&   VP
                  Vn        V P                  VP
                  VP                  4       V P                  VP                  VP
                  4       / pVP                  VP
                  4       V P                  WTP
                  4       V P                  VP
                  V4       R WR&   V P	                  WTP
                  4       V P	                  VP
                  V4       VR/pV P	                  WTP
                  4       V P	                  VP
                  V4       R.pV P	                  WTP
                  4       V P	                  VP
                  V4       R# )TFr  N)	r   r+   r   r   r  rU  r*   rA  update)r   r+   r   r   r  r   s   &     r   test_flag_comparisons"ContextFlags.test_flag_comparisonsg  s   ,,&&,,&&,,&&I 	AGGQWW-AGGQWW-''!''*!''*''!''*!''*	GG$!$
Aww'AGGQ' UOAww'AGGQ'GAww'AGGQ'r&   c                   V P                   P                  pV P                   P                  pV P                   P                  pV! 4       ;_uu_ 4       pV P	                  VP
                  V,          4       VP                  4        V P                  V! R 4      R 4       V P                  VP                  V,          4       VP                  4        V P                  VP                  R 4      R 4       V P                  VP                  V,          4       VP                  4        VP                  R 4      pV P	                  VP                  V,          4       V P                  VR 4       V P                  VP                  V,          4       VP                  4        VP                  R 4      pV P	                  VP                  V,          4       V P                  VR 4       V P                  VP                  V,          4       RVP
                  V&   VP                  4        V P                  W!R 4       V P                  VP                  V,          4       VP                  4        V P                  W$P                  R 4       V P                  VP                  V,          4       VP                  4        VP                  R 4      pV P	                  VP                  V,          4       VP                  4        VP                  R 4      pV P	                  VP                  V,          4       RRR4       R#   + '       g   i     R# ; i)g      @TN)r   r   r  r  rt  r*   r0  rA  r    rU  r   r  r  ry  )r   r   r  r  r  r  s   &     r   test_float_operation!ContextFlags.test_float_operation  sK   ,,&&44||00^^qQWW^45 MMOWS\3/OOAGGN34MMOQ--c2C8OOAGGN34 MMO""3'AQWW^45Q$OOAGGN34MMO++C0AQWW^45Q$OOAGGN34 '+AGGN# MMOns;OOAGGN34MMOn.>.>DOOAGGN34 MMO""3'AQWW^45MMO++C0AQWW^45] ^^^s   KL11M	c                  a aaa	a
aaaaaaaaaaa S P                   P                  oS P                   P                  pS P                   P                  oS P                   P                  pRVV 3R llo	S! R4      oS! R4      o
RoRoS! R4      oS! R4      oRoRoS! R	4      oS! R
4      o\        R4      o\        R4      oRVV	V
VVVVVVVVVVV3R llpRVVV 3R llpV! 4       pV! V4      ;_uu_ 4       pS P                  VP                  S,          4       V! VR R7       V! VR R7       RVP                  S&   V! VSR7       V! VSR7       R R R 4       R #   + '       g   i     R # ; i)Nc                    < VP                  4        \        W4      pVS8X  d   SP                  WEV4       MSP                  V! V4      R 4       SP	                  VP
                  S,          4       R# r  )r0  r   ry  r  r    rU  )r  r  r$   r#   signalr   r  r   s   &&&&& r   assert_attr7ContextFlags.test_float_comparison.<locals>.assert_attr  sX    ! A'!!&Q/adD)OOGMM.9:r&   r  r  r  r  rl  r  r  r  r  r  r  c                   < R F  pS! SSW V4       K  	  R	 F  pS! SSW V4       K  	  S! SSRV R4       S! SSRV R4       S! SSRV R4       S! SSRV R4       S! SSRV R4       S! S	S
RV R4       S! SSRV R4       S! SSRV R4       S! S! R4      RRV R4       S! S	SRV R4       S! SS
RV R4       S! S! R4      \        R4      RV R4       R# )
r.  r;  Nr>  r  r  r  r  )r.  r5  )r2  r8  )r  )r  r1  r$   r   r2  big_dbig_finf_dinf_f	neg_inf_d	neg_inf_f
neg_zero_d
neg_zero_fsmall_dsmall_fzero_dzero_fs   && r   doit0ContextFlags.test_float_comparison.<locals>.doit  s   *GUDV< + +E7DV< + (At<
J!TB
FHa>
Ha>!T:	9h4@uh48 !T:Xq$?	5(At<y(At<eh4Hr&   c                   < V P                  4        \        R S! R4      .4      pSP                  \        V4      ^4       SP	                  V P
                  S,          4       V P                  4        V'       d!   SP                  V\        RS! R4      .4       M\        RS! R4      .4      pSP	                  V P
                  S,          4       V P                  4        RS! R4      R39   pSP	                  V P
                  S,          4       V P                  4        RS! R4      RRR/9   pSP	                  V P
                  S,          4       R# )r  z100.0r  r  g      $@r  r  N)r0  r   rA  lenr    rU  ry  sorted)r  r1  r   r  r   r  r   s   &&  r   test_containers;ContextFlags.test_float_comparison.<locals>.test_containers  s    MMOUGG,-.ASVQ'OOAGGN34MMO!!&&32HID'&/23OOAGGN34MMO#..AOOAGGN34MMOc#66AOOAGGN34r&   )r1  Tr   r  )r   r   r+   r  r  r  rt  r*   )r   r+   r  rA  rF  r  r  r   r  r2  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  s   f      @@@@@@@@@@@@@@@r   test_float_comparison"ContextFlags.test_float_comparison  s8   ,,&&,,&&44||00	; 	; &/V_


#K(	e&M		I 	I 	I<	5 	5* Y"QWW^454 Ad+&*AGGN#>*An5 s   6AEE+	c                0   V P                   P                  pV P                   P                  pV P                   P                  pV P                   P                  pV! 4       pV P                  VP                  V,          4       V P                  VP                  V,          4       VP                  4        R VP                  V&   R VP                  V&   V P                  VP                  V,          4       V P                  VP                  V,          4       R# r  )
r   r   r+   r   r  rt  rU  r*   clear_trapsr    )r   r   r+   r   r  r#   s   &     r   test_float_operation_default)ContextFlags.test_float_operation_default  s    ,,&&,,&&,,&&33)~67~67!%g(,n%n56g./r&   r   N)r   rh  ri  rj  r&  r*  r   r-  rH  rL  rl  rm  rn  s   @r   r  r  #  s9     @WD$(L 36 36jY6v0 0r&   r  c                       ] tR tRt]tRtR# )CContextFlagsi.  r   Nr  r   r&   r   rO  rO  .  r  r&   rO  c                       ] tR tRt]tRtR# )PyContextFlagsi1  r   Nr	  r   r&   r   rQ  rQ  1  r  r&   rQ  c                   0   a  ] tR tRt o RtR tR tRtV tR# )SpecialContextsi4  zTest the context templates.c           
        V P                   P                  pV P                   P                  pV P                   P                  pV P                   P                  pV P                   P
                  pV P                   P                  pV P                   P                  pV P                   P                  pV P                   P                  p	\        WR WVWxV	.4       V! 4       P                  4       p
VP                  pVP                  pRp R;Vn        Vn        W3 F?  pV! V4       V! 4       pV P                  W4       V P                  VP                  R4       KA  	  Wn        Wn        V! V
4       V'       d   VhR#   \         d   pTP                   p Rp?L<Rp?ii ; i  Yn        Yn        T! T
4       T'       d   Thi ; i)r*   Ni  )r   BasicContextExtendedContextr  r0   r   r   r   r   r   r%   rS   r(   r  rA  	Exceptionr   )r   rU  rV  r  r0   r   r   r   r   r   savecontextbasic_context_precextended_context_precextemplater  rO  s   &                r   test_context_templates&SpecialContexts.test_context_templates7  s   ||00,,66\\,,
\\,,
<<8844<<((LL**	,,&&t7xGL	
 !l'')).. / 4 4	7::L 4(98$L  -  -	 : !3#8 {#   	B	 !3#8 {# s+   AE; ;FFF FF  F?c                   V P                   P                  pV P                   P                  pV P                   P                  pV P                   P                  pV P                   P
                  pV P                   P                  pV P                   P                  pV P                   P                  pV P                  VP                  ^	4       V P                  VP                  ^	4       \        WRWgV.4       V! 4       P                  4       p	VP                  p
Rp V! 4       pVP                  pRVn
        V! 4       pV P                  VP                  V4       V! V4       V! 4       pV P                  W4       V P                  VP                  R4       Wn
        V! V	4       V'       d   VhR#   \         d   pTP                  p Rp?L6Rp?ii ; i  Yn
        T! T	4       T'       d   Thi ; i)r  r*   Ni  )r   r  rU  rV  r  r0   r   r   r   rA  r(   r%   rS   r  rW  r   )r   r  rU  rV  r  r0   r   r   r   rX  default_context_precr[  r  saveprecrO  s   &              r   test_default_context$SpecialContexts.test_default_context[  s   44||00,,66\\,,
\\,,
<<8844<<((**A.--q1tWx8	
 !l'')-22	AvvH"%NAQVVX.~&AQ/QVVS) #7{#   	B	 #7{# s+   A9F/ /G:GG GG G-r   N)	r   rh  ri  rj  rk  r]  rb  rl  rm  rn  s   @r   rS  rS  4  s     %"H' 'r&   rS  c                       ] tR tRt]tRtR# )CSpecialContextsi  r   Nr  r   r&   r   re  re    r  r&   re  c                       ] tR tRt]tRtR# )PySpecialContextsi  r   Nr	  r   r&   r   rg  rg    r  r&   rg  c                   &   a  ] tR tRt o R tRtV tR# )ContextInputValidationi  c           	        V P                   P                  pV P                   P                  pVP                  4       pR Fb  p\	        W4R4       V P                  \        W44      R4       V P                  \        \        W4R4       V P                  \        \        W4R4       Kd  	  \	        VRR4       V P                  \        VR4      R4       V P                  \        \        VR^4       V P                  \        \        VRR4       V P                  \        \        VRR4       V P                  \        \        VR^	4       V P                  \        \        VRR4       V P                  \        \        VRR4       R FY  pV P                  \        \        W4R4       V P                  \        \        W4^4       V P                  \        \        W4. RO4       K[  	  V P                  \        \        VR^d4       V P                  \        \        VR. 4       V P                  \        \        VR/ 4       V P                  \        \        VRR	^ /4       R F$  pV P                  \        VP                  V4       K&  	  V P                  \        \        V^	4       V P                  \        \        V^	4       V P                  \        VRR
7       V P                  \        VRR
7       V P                  \        V^R7       V P                  \        VRR7       V P                  \        VR.R7       V P                  \        VR.R7       V P                  \        VRR7       V P                  \        VRR7       R# )r(   r  r  r^  r)   r  r  rU  r*   r   r  r  r  r
  r  Qr  Nr(   rd  r  r  r"  r  r  rc  rF   )r(   rd  r^  r)   rc  rF   rU  r*   r  r"  )r"  r  )r   r+   r  rS   r[  rA  r   ry  r  r3  r4  KeyError__delattr__)r   r+   r  r  r$   s   &    r   test_invalid_context+ContextInputValidation.test_invalid_context  s   ,,&&44! %DAV$WQ-v6j'1B?i!5A	 % 	67#F+W5*gq&!<)WaA)WaR@)WaQ?)WaSA)WaUC *Dj'1B?j'1A>i!7C * 	.'1fcB 	)Wa"=(GQ<(GQ-a0	2'DnammTB'
 	)Wa3)Wa3 	)Wv>)Wu=*gQ7*g;(GC59(GC59 	)WE:)WE:r&   r   N)r   rh  ri  rj  rr  rl  rm  rn  s   @r   ri  ri    s     :; :;r&   ri  c                       ] tR tRt]tRtR# )CContextInputValidationi  r   Nr  r   r&   r   ru  ru    r  r&   ru  c                       ] tR tRt]tRtR# )PyContextInputValidationi  r   Nr	  r   r&   r   rw  rw    r  r&   rw  c                   &   a  ] tR tRt o R tRtV tR# )ContextSubclassingi  c                
  aa V P                   oSP                  pSP                  oSP                  pSP                  pSP
                  pSP                  pSP                  pSP                  pSP                  pSP                  p	 ! VV3R  lRS4      p
S! 4       pV
! 4       pR F'  pV P                  \        W4      \        W4      4       K)  	  V P                  ! \        V
3/ RR/B  V
! ^R
7      pV P                  VP                  ^4       V P                  WP                   V! R4      ^ 4       V P                  ! \"        V
3/ RR/B  V
! \$        ^R7      pV P                  VP&                  \$        4       V P                  VP)                  V! R4      4      ^	4       V P                  ! \        V
3/ R^/B  V
! R^R7      pV P                  VP*                  R4       VP-                  V! R4      V! R4      4      pV P                  W! R4      4       WHWvV3 F%  pV P/                  VP0                  V,          4       K'  	  V P                  ! \        V
3/ RR/B  V
! ^^R7      pV P                  VP2                  ^4       V P                  W[P,                  V! R4      V! R4      4       V P                   \4        8X  d.   WEV3 F%  pV P/                  VP0                  V,          4       K'  	  V P                  ! \        V
3/ RR/B  V
! ^ R7      pV P                  VP6                  ^ 4       VP9                  R4      pV P                  VP;                  V4      R4       V P                  ! \        V
3/ R^/B  V
! ^^cR7      pV P                  VP<                  ^4       VP)                  V! R4      4      pV P                  \?        V4      R4       V P                  ! \"        V
3/ RR/B  V
! Wc.R7      pWc3 F%  pV P/                  VP0                  V,          4       K'  	  VPA                  4        \B        S,           F%  pV PE                  VP0                  V,          4       K'  	  V P                  ! \"        V
3/ R	R/B  V
! Wc.R7      pWc3 F%  pV P/                  VPF                  V,          4       K'  	  VPI                  4        \B        S,           F%  pV PE                  VPF                  V,          4       K'  	  R# ) c                   4   <a  ] tR tRt o RVV3R lltRtV tR# )>ContextSubclassing.test_context_subclassing.<locals>.MyContexti  Nc	                  < S
P                  V 4       Ve   Wn        Ve   W n        Ve   W0n        Ve   W@n        Ve   WPn        Ve   W`n        VeB   \        V\        4      '       d&   \        S,          V,            U	u/ uF  qW9   bK	  	  pp	Wpn
        VeD   \        V\        4      '       d&   \        S,          V,            U	u/ uF  qW9   bK	  	  pp	Wn        R # R # u up	i u up	i r   )r  r(   r)   r^  rd  rc  rF   
isinstancer  r:  rU  r*   )r   r(   r)   r^  rd  rc  rF   rU  r*   r   r+   r   s   &&&&&&&&& r   r  GContextSubclassing.test_context_subclassing.<locals>.MyContext.__init__  s       &# $I'$,M# $I# $I'$,M$!&J$!%..9G9PSX9X Y9XAAJ9X Y!&J$!%..9G9PSX9X Y9XAAJ9X Y!&J % !Z !Zs   ?CC")rd  r^  rc  rF   rU  r(   r)   r*   )NNNNNNNNr  )ro  r+   r   s   @r   	MyContextr|    s     ' 'r&   r  r(   r)   r^  rd  rc  rF   rU  r*   r  9e2XYZ)r)   r(   r  )r^  r(   z1e-99z2.234e-2000rl  )rd  r(   1e99z
2.234e2000r  1E222z1e+222)rF   rd  z!1.000000000000000000000000000E+99r  r  Nr(   r)   r^  rd  rc  rF   rU  r*   r  )%r   r   r+   r   r   r   r   r   r   r   r   rA  r   ry  r  r(   ri  r3  r   r)   r  r^  r   r    rU  rd  r   rc  r   r   rF   r<  r0  r:  rt  r*   rK  )r   r   r   r   r   r   r   r   r   r   r  r  r   r$   r  r1  r+   r   s   &               @@r   test_context_subclassing+ContextSubclassing.test_context_subclassing  s5   ,,////// ////##//%%	%%	"33	' 	' 	'4 IK'DWQ-wq/?@'
 	*i?F2;?1#*JJJ 	)YE:e2DEz2Z0/3 	*i>F1:>2A&$EE''"GM$:;GEN+9wGFOOAGGFO, H 	*i?F2;?11%#(EE76?GL<QR<<1"g60 7 	*iCJr?Cq!Q'W%+X6 	*i?GA;?AB'!$FF76?#Q!DE 	)YB75/BW56/FOOAGGFO, 0	$W--FQWWV_- . 	)YB75/BW56/FOOAGGFO, 0	$W--FQWWV_- .r&   r   N)r   rh  ri  rj  r  rl  rm  rn  s   @r   ry  ry    s     i. i.r&   ry  c                       ] tR tRt]tRtR# )CContextSubclassingi;  r   Nr  r   r&   r   r  r  ;  r  r&   r  c                       ] tR tRt]tRtR# )PyContextSubclassingi>  r   Nr	  r   r&   r   r  r  >  r  r&   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )IEEEContextsiA  c                   V P                   P                  pR  pV! ^ 4      pV P                  VP                  ^4       V P                  VP                  ^`4       V P                  VP
                  R4       V! W4       V! ^@4      pV P                  VP                  ^4       V P                  VP                  R4       V P                  VP
                  R4       V! W4       V! ^4      pV P                  VP                  ^"4       V P                  VP                  R4       V P                  VP
                  R4       V! W4       V P                  \        VR4       V P                  \        V^{4       V P                  \        VR4       R# )	c                 r    V P                  VP                  ^4       \        WR. 4       \        WR. 4       R# )r"  r*   rU  N)rA  rF   r%   )r   r#   s   &&r   assert_rest3IEEEContexts.test_ieee_context.<locals>.assert_restG  s.    W]]A.4'264'26r&   r  i   i   Nir  ir  )r   IEEEContextrA  r(   rd  r^  ry  r  )r   r  r  r  s   &   r   test_ieee_contextIEEEContexts.test_ieee_contextC  s8   ll..	7
 O#$%DO$%&D$&'D 	*k26*k37*k48r&   c                Z    V P                   P                  pV P                  VR R04       R# )   i   N)r   IEEE_CONTEXT_MAX_BITSr  )r   r  s   & r   test_constantsIEEEContexts.test_constantsc  s%     $ B B+c3Z8r&   r   N)r   rh  ri  rj  r  r  rl  rm  rn  s   @r   r  r  A  s     9@9 9r&   r  c                       ] tR tRt]tRtR# )CIEEEContextsih  r   Nr  r   r&   r   r  r  h  r  r&   r  c                       ] tR tRt]tRtR# )PyIEEEContextsik  r   Nr	  r   r&   r   r  r  k  r  r&   r  c                   2   a  ] tR tRt o R tR tR tRtV tR# )CheckAttributesin  c                J   V P                  \        P                  \        P                  4       V P                  \        P                  \        P                  4       V P                  \        P
                  \        P
                  4       V P                  \        P                  \        P                  4       V P                  \        P                  \        P                  4       T P                  \        P                  R J ;'       g    \        P                  RJ 4       T P                  \        P                  R J ;'       g    \        P                  RJ 4       V P                  \        P                  \        P                  4       V P                  \        \        \        4      4      \        \        \        4      4      4       T P                  \        \        4       Uu. uF  qR,          R8w  g   K  VNK  	  up\        \        P                  4      4       R# u upi )TFr  __N)rA  r   rY  r
  r   r  r  r  r    r  __version__r  r   dirrE  __all__)r   r  s   & r   test_module_attributes&CheckAttributes.test_module_attributesr  s=    	QZZ0QZZ0QZZ0akk200!2I2IJ$.II!..E2IJ$.II!..E2IJ6SQ[#c!f+6SV=Vu}!!V=vaii?PQ=s   %H 9H c                   \        \        P                  4       4       Uu. uF%  pR V9   g   VP                  R4      '       d   K#  VNK'  	  pp\        \        P                  4       4       Uu. uF%  pR V9   g   VP                  R4      '       d   K#  VNK'  	  ppV P                  \        V4      \        V4      ,
          \        4       4       R# u upi u upi )r  r  N)r  r   r+   r  r
  rA  r   r   r   r  r  s   &   r   test_context_attributes'CheckAttributes.test_context_attributes  s    AIIK(O(1DAIQ\\#=NQQ(OAIIK(O(1DAIQ\\#=NQQ(OQ#a&#%0 POs    CC, CCc                   \        \        P                  ^	4      4       Uu. uF%  pRV9   g   VP                  R4      '       d   K#  VNK'  	  pp\        \        P                  ^	4      4       Uu. uF%  pRV9   g   VP                  R4      '       d   K#  VNK'  	  ppV P	                  \        V4      \        V4      ,
          \        4       4       R# u upi u upi )r  r  r  N)r  r   r   r  rA  r   r  s   &   r   test_decimal_attributes'CheckAttributes.test_decimal_attributes  s    AIIaL)P)1TQYall3>OQQ)PAIIaL)P)1TQYall3>OQQ)PQ#a&#%0 QPs    CC. CCr   N)	r   rh  ri  rj  r  r  r  rl  rm  rn  s   @r   r  r  n  s     R"11 1r&   r  c                   n   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tRtV tR# )Coveragei  c                   V P                   P                  pV P                  V! R 4      P                  4       R4       V P                  V! R4      P                  4       ^ 4       V P                  V! R4      P                  4       ^ 4       R# )	1234e9999i'  r  r  N)r   r   rA  r  ru  s   & r   test_adjustedCoverage.test_adjusted  si    ,,&&-668%@002A6002A6r&   c                   V P                   P                  pV P                   P                  pV! ^	4      P                  4       pV P	                  V^	4       V! 4       pVP                  V! ^	4      4      pV P	                  V^	4       R# )r  N)r   r   r  r  rA  )r   r   r  r  r  s   &    r   test_canonicalCoverage.test_canonical  sk    ,,&&\\,,
AJ  "ALKK
#Ar&   c                h   V P                   P                  P                  4       pR Vn        R Vn        RVn        \        Vn        ^ Vn        ^Vn	        \        V P                   ,           F!  pRVP                  V&   RVP                  V&   K#  	  VP                  4       pRpV P                  W44       R# )r   Fz{Context(prec=425000000, rounding=ROUND_HALF_DOWN, Emin=-425000000, Emax=425000000, capitals=0, clamp=1, flags=[], traps=[])Nr  )r   r  rS   r(   rd  r^  r   r)   rc  rF   r:  rU  r*   __repr__rA  )r   r  r{  r   r   s   &    r   test_context_reprCoverage.test_context_repr  s    LL'',,.$

!$,,//C AGGCL AGGCL 0 JJL" 	r&   c                   V P                   P                  pV P                   P                  pV! 4       ;_uu_ 4       p^Vn        ^Vn        RVn        V P                  \        V! 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      P                  V! R4      ^4      ^4       V P                  V! R4      P                  ^^4      P                  4       R4       V P                  \        V! ^
4      ^^4      ^4       V P                  \        ^
V! ^4      ^4      ^4       V P                   \        8X  d%   V P                  \        ^
^V! ^4      4      ^4       M#V P                  \        \        ^
^V! ^4      4       V P                  V! R4      P                  4       ^4       V P                  V! R4      P!                  4       R	4       V P                  V! R4      P#                  4       R4       V P                  V! R
4      P%                  4       ^4       V P                  V! R
4      P'                  4       ^4       V P                  V! R4      P)                  4       ^4       V P                  V! R4      P+                  4       ^4       V P                  V! R4      ) ^
4       V P                  V! R4      ^,          ^4       V P                  V! R4      P-                  4       ^	4       V P                  V! R4      P/                  4       V! R4      4       V P                  V! R4      P1                  4       V! R4      4       V P                  V! R4      P3                  4       R4       V P                  V! R4      5R4       V P                  V! R4      ^,          ^4       V P                  V! R4      ^,
          ^4       V P                  V! R4      P5                  4       ^4       V P7                  V! R4      P9                  4       4       V P7                  V! R4      P;                  4       4       V P7                  V! R4      P;                  4       4       V P7                  V! R4      P=                  4       4       V P7                  V! R4      P?                  4       4       V P7                  V! R4      PA                  4       4       V P7                  V! R4      PA                  4       4       RRR4       V! 4       ;_uu_ 4       pRVn        RR,          pV! V4      ) pVPC                  4       pV P                  Wd4       VPE                  4       pV P                  Wd4       VPG                  V! ^4      4      pV P                  Wd4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r"  z-107rF  z1.2r  r  Tz1.01F20580r8  z2E+1z-1E+1z+Normalr  z1.12345r  r-  rs  Nr  i  i  r  )$r   r   r  r(   rd  r^  rA  rQ  rg  r  rf   powr   ry  r3  r`  rh   rp   r`  ra  rb  r^   rx   rz   r   rL   r   r    r`   rb   rn   rl   rr   rV   rX   rZ   )r   r   r  r  r  r  rj  s   &      r   rR  Coverage.test_implicit_context  s   ,,&&||00^^qAFAFAF S0"5WS\A-q1WT]Q.2WT]a/3WU^//CQGMM'%.,,Q299;TBSa3Q7SWQZ3Q7||q   RGAJ!7; !!)S"aDWV_002A6MM'&/335u=MM'&/668$?WT]--/3WT]002A6WU^002A6WT]99;Q?gen_b1WS\A-q1WT]557;WT]446HWU^5579IJWT]7799Egdm^R0WT]Q.2WT]Q.2WY/AACQG OOGCL5578OOGCL2245OOGCL2245OOGFO3356OOGDM3356OOGCL0023OOGCL0023G L ^^qAFAA

AQ"AQ"GAJ'AQ" ^M ^L ^^s   T W!BW4!W1	4X	c                B   V P                   P                  pV P                   P                  pV P                   P                  pV P                   P                  pV! 4       ;_uu_ 4       p\        V! R 4      R4      w  rgV P                  Wa! R4      4       V P                  Wq! R4      4       \        V! R4      ^4      w  rgT P                  VP                  4       ;'       d    VP                  4       4       RVP                  V&   \        V! R4      ^4      w  rgT P                  VP                  4       ;'       d    VP                  4       4       RVP                  V&   VP                  4        \        V! R4      V! R4      4      w  rgT P                  VP                  4       ;'       d    VP                  4       4       V P                  VP                  V,          4       VP                  4        \        V! R4      ^e4      w  rgT P                  VP                  4       ;'       d    VP                  4       4       V P                  VP                  V,          4       VP                  4        \        V! ^ 4      ^ 4      w  rgT P                  VP                  4       ;'       d    VP                  4       4       V P                  VP                  V,          4       RVP                  V&   VP                  4        \        V! ^4      ^ 4      w  rgT P                  VP                  4       ;'       d    VP                  4       4       T P                  VP                  V,          ;'       d    VP                  V,          4       RRR4       R#   + '       g   i     R# ; i)10912837129rn  10901935194r  Fr  N)r   r   r  r   r   rZ  rA  r    rf   r*   r0  rU  rd   )r   r   r  r   r   r  rM  r  s   &       r   rD  Coverage.test_divmod  s   ,,&&||00<<8844^^q'-0$7DAQ
 34Q/'%.!,DAOOAHHJ55188:6(-AGG$%'%.!,DAOOAHHJ55188:6(-AGG$%MMO'%.'%.9DAOOAHHJ55188:6OOAGG$456MMO'%.#.DAOOAMMO::
;OOAGG$456MMO'!*a(DAOOAHHJ55188:6OOAGG$456&+AGGN#MMO'"+q)DAOOAMMO::
;OOAGG$45 4 4GGN35A ^^^s5   (CN;A/N+A<N(A<N%BN19N+NN	c                   V P                   P                  pV P                   P                  pV P                   P                  pV P                   P                  pV! 4       ;_uu_ 4       p^Vn        VP                  4        V P                  V! R4      ^d,          V! R4      4       V P                  VP                  V,          4       ^Vn        ^Vn
        RVn        VP                  4        RVP                  V&   V P                  V! R4      V! R4      ,          V! R4      4       V P                  VP                  V,          4       RRR4       R#   + '       g   i     R# ; i)	r  rL  r  Fr  r  r  Nr  )r   r   r  r   r   r(   r0  rA  r    rU  rd  r^  r*   )r   r   r  r   r   r  s   &     r   r  Coverage.test_power8  s    ,,&&||00<<((,,&&^^qAFMMOWU^s2GFODOOAGGG,-AFAFAFMMO %AGGHWU^wu~=wu~NOOAGGH-. ^^^s   (C EE#	c                   V P                   P                  pV P                   P                  pV P                   P                  pV! 4       ;_uu_ 4       p^Vn        ^Vn        RVn        RVP                  V&   V! ^c4      P                  V! R4      4      pV P                  VP                  4       4       RRR4       R#   + '       g   i     R# ; i)r"  F1e1Nr  )r   r   r  r   r(   rd  r^  r*   ri  r    rf   r   r   r  r   r  r  s   &     r   r  Coverage.test_quantizeL  s    ,,&&||00<<88^^qAFAFAF(-AGG$%$$WU^4AOOAHHJ' ^^^s   A!B==C	c                    V P                   P                  pV P                   P                  pV! 4       pV P                  V! R 4      P	                  4       ^
4       V P                  VP	                  4       ^
4       R# )r  N)r   r   r  rA  r  rQ  s   &   r   
test_radixCoverage.test_radixY  sZ    ,,&&\\,,
L++-r2B'r&   c                    V P                   P                  pR F/  pV P                  \        V! R4      V4      ! R4      \        4       K1  	  R# )rI  r  r  N)rI  rL  rO  rR  r+  rU  rW  rY  )r   r   r  r   r  )r   r   r$   s   &  r   r^  Coverage.test_ropa  s=    ,,&&MDMM''#,5e<nMMr&   c           	     >   V P                   P                  pV P                   P                  pV! 4       ;_uu_ 4       p^Vn        V P	                  \        V! R4      P                  4       4      R4       V P	                  \        V! R4      P                  4       4      R4       V P	                  \        V! R4      P                  ^4      4      R4       V P	                  \        V! R4      P                  ^
4      4      R4       V P	                  \        V! R4      P                  R4      4      R	4       V P                  \        V! R
4      P                  R4       V P                  \        V! R
4      P                  ^^4       RRR4       R#   + '       g   i     R# ; i)   r  rF  z9.99e-5rs  r  z1.23457r  z1.2345000000z0E+10r  r=  Nr  )	r   r   r  r(   rA  r<  	__round__ry  r3  )r   r   r  r  s   &   r   
test_roundCoverage.test_roundh  s*   ,,&&||00^^qAFS!:!:!<=tDS!3!=!=!?@#FS!6!@!@!CDiPS!2!<!<R!@A>RS!2!<!<S!ABGLi)B)BCHi)B)BAqI ^^^s   EFF	c                ~    V P                   P                  4       pV P                  \        VP                  R .4       R# )rS  N)r   r+   ry  r  r   )r   r  s   & r   test_create_decimalCoverage.test_create_decimaly  s.    LL  "*a&6&6>r&   c                t   V P                   P                  pV P                   P                  pV! 4       ;_uu_ 4       pR Vn        V! RR,          4      ^
R,          ,          pV P	                  \        V4      ^4       V P	                  VP                  4       ^4       RRR4       R#   + '       g   i     R# ; i)r  i  i  iS  N)r   r   r  r(   rA  r  rh  r   r   r  r  r  s   &    r   r  Coverage.test_int}  s}    ,,&&||00^^qAFd
#b$h.ASVQ'Q]]_a0	 ^^^s   A B&&B7	c                6   V P                   P                  pV! 4       pR Vn        RR,          ) pVP                  V4      pV P	                  WC) 4       VP                  V4      pV P	                  WC) 4       VP                  V^4      pV P	                  WC) 4       R# )r  i  i  N)r   r+   r(   rV   rA  rX   rZ   )r   r+   r  r  r  s   &    r   r  Coverage.test_copy  s    ,,&&IdlOJJqMBMM!BKK1Br&   r   N)r   rh  ri  rj  r  r  r  rR  rD  r  r  r  r^  r  r  r  r  rl  rm  rn  s   @r   r  r    sP     7	&V#p'5R/(((NJ"?1   r&   r  c                       ] tR tRt]tRtR# )	CCoveragei  r   Nr  r   r&   r   r  r    r  r&   r  c                   B   a a ] tR tRt o]tV 3R ltV 3R ltRtVt	V ;t
# )
PyCoveragei  c                   < \         SV `  4        \        P                  ! 4       V n        \        P
                  ! R 4       R# rw  rx  r~  s   &r   r   PyCoverage.setUp  r  r&   c                d   < \         P                  ! V P                  4       \        SV `  4        R # r   r  r~  s   &r   r  PyCoverage.tearDown  r  r&   r  r  r  s   @@r   r  r    r  r&   r  c                   *   a  ] tR tRt o RtR tRtV tR# )PyFunctionalityi  z!Extra functionality in decimal.pyc                    \         P                  p\         P                  p. ROpV F(  w  rEpV P                  \	        V! V4      V4      V4       K*  	  R# ).0eN)
)r  rL  z1e+0)z#.0erL  z1.e+0)rv  rL  r  )z#.0frL  1.)r~  1.1r  )z#gr  r  )r  r  r  )z#.0gr  r  )r  rL  z100%)z#.0%rL  z100.%)r
  r   r  rA  r  )r   r   r  r  r  r   rQ  s   &      r   test_py_alternate_formatting,PyFunctionality.test_py_alternate_formatting  sF    ))~~ *NCFVGAJ4f= *r&   r   N)r   rh  ri  rj  rk  r  rl  rm  rn  s   @r   r  r    s     +> >r&   r  c                   B   a  ] tR tRt o RtR tR tR tR tR t	Rt
V tR	# )

PyWhiteboxi  z White box testing for decimal.pyc                   \         P                  p\         P                  pV! 4       ;_uu_ 4       p^Vn        V! R4      V! R4      ,          pV P	                  WA! R4      4       V! R4      V! R4      ,          pV P	                  WA! R4      4       V! R4      V! R4      ,          pV! R4      V! R4      ,          pV P	                  WA! R4      4       V! R	4      V! R4      ,          pV! ^R
,          4      V! R4      ,          p^Vn        V! R4      V! R4      ,          pV P	                  WA! R4      4       ^Vn        V! R4      V! R4      ,          pV P	                  WA! R4      4       ^Vn        V! R4      V! R4      ,          pV P	                  WA! R4      4       ^Vn        V! R4      V! R4      ,          pV P	                  WA! R4      4       ^Vn        V! ^R,          4      V! R4      ,          p\         P
                  Vn        \         P                  Vn        \         P                  Vn	        ^VP                  \         P                  &   V! ^4      pV^u,          pV P	                  VR4       RRR4       R#   + '       g   i     R# ; i)r  r  z
0.00390625z-0.6z0.0012885819256e7l   o z-0.0625r  152587890625e7ic
  152587890625z3e-6z2.6e-6z2.56e-6iB  Ni   l                  )r
  r   r  r(   rA  rY  r   rd  r  r^  r*   r   )r   r   r  r  r  D2ress   &      r   test_py_exact_powerPyWhitebox.test_py_exact_power  s   ))~~^^qAF'&/1AQ 56'&/1AQ 78 GFO3A%);;AQ/()WY-??A4 GI$66AAF'76?:AQ0AF'76?:AQ 12AF'76?:AQ	 23AF'76?:AQ	 23AF376?2A ZZAFZZAFZZAF!"AGGAIIB)CS(+Y ^^^s   I I::J	c                  a aaaa	 \         P                  p\         P                  p\         P                  pVP	                  4       p\        R  \        \         ,           4       4      Vn        V! V4       V! R4      oV! R4      oV! R4      o	V! R4      oR1VVVV	V 3R llpV! S4       S P                  SP                  SP                  4       S P                  SP                  SP                  4       S P                  SP                  SP                  4       V! R4       V! RR4       V! RR4       V! RR4       V! R	R4       V! R
R4       V! RR4       V! RR4       V! RR4       V! R4       V! RR4       V! R4       V! R4       V! R4       V! RR4       V! RR4       V! R4       V! R4       V! R4       V! RR4       V! RR4       V! RR4       V! R4       V! RR4       V! RR4       V! RR4       V! RR4       V! R R4       V! R!4       V! R"R4       V! R#R4       V! R$4       V! R%4       V! R&R4       V! R'R4       V! R(R4       V! R)4       V! R*R4       V! R+R4       V! R,R4       V! R-4       V! R.4       V! R/4       R0# )2c              3   (   "   T F  q^ 3x  K
  	  R# 5irP  r   )r   r   s   & r   r   =PyWhitebox.test_py_immutability_operations.<locals>.<genexpr>  s     9'8!1v'8s   z-25e55z33e+33c                 .  < V'       Ed    \        R V ,           R,           4       SP                  SP                  SP                  4       SP                  SP                  SP                  4       SP                  SP                  SP                  4       SP                  SP                  SP                  4       SP                  SP                  SP                  4       SP                  SP                  SP                  4       R# \        R V ,           R,           4       SP                  SP                  SP                  4       SP                  SP                  SP                  4       SP                  SP                  SP                  4       R# )zd1.z(d2)z()N)r=  rA  _sign_int_exp)	operationuseOtherb1b2r,  r-  r   s   &&r   checkSameDec@PyWhitebox.test_py_immutability_operations.<locals>.checkSameDec  s   xUY&/0  2884  "''2  "''2  2884  "''2  "''2UY&-.  2884  "''2  "''2r&   __abs__rH  Tr(  r;  r>  r5  r.  r8  r2  	__float__rV  r  __int__	__trunc__rT  rN  __neg____bool____pos__rX  rI  r+  r  rW  rU  rO  rY  rL  __str__rK  rQ  r  r;  rs  r  r  r   ri  r   r   r   r   rh  N)F)r
  r   r  r0   rS   r-   r:  r*   rA  r  r  r  )
r   r   r  r0   r  r  r  r  r,  r-  s
   f     @@@@r   test_py_immutability_operations*PyWhitebox.test_py_immutability_operations  s^   ))))\\
!9~a'8991XXXX	3 	3 	288,"''*"''*YY%\4(Xt$Xt$Xt$Xt$Xt$Xt$[!^T*Z Y[!Y%Y%YZ YY%Z&]D)Z _d+Z&Z&Z&Z&YY%]D)Z Z Y%UD!UD![!Z&%t,^T*V_%]#r&   c                    \         P                  pV! ^-4      pV! V4      pV P                  \        V4      R4       V P	                  \        V4      \        V4      4       R# )r}  r~  N)r
  r   rA  r<  r  rD  r  s   &   r   test_py_decimal_idPyWhitebox.test_py_decimal_idC  sI    ))BKAJQ&BqE2a5)r&   c                   \         P                  p\         P                  pV! 4       ;_uu_ 4       pV! R 4      P                  ^\        4      pV P                  VP                  4       4       RRR4       R#   + '       g   i     R# ; i)r  N)r
  r   r  _rescaler   r    rf   r  s   &    r   test_py_rescalePyWhitebox.test_py_rescaleK  sQ    ))~~^^q''84AOOAHHJ' ^^^s   <A66B	c                ~    \         P                  pV P                  \        V! R 4      P                  ^ \
        4       R# )z3.1234N)r
  r   ry  r  _roundr   ru  s   & r   test_py__roundPyWhitebox.test_py__roundT  s*    ))*gh&7&>&>8Lr&   r   N)r   rh  ri  rj  rk  r  r  r  r  r  rl  rm  rn  s   @r   r  r    s+     *1,fM$^*(M Mr&   r  c                   D   a  ] tR tRt o Rt]R 4       t]R 4       tRtV t	R# )CFunctionalityiZ  zExtra functionality in _decimalc                   \         P                  pV! \         P                  \         P                  R 7      pV P	                  VP
                  \         P                  4       V P	                  VP                  \         P                  4       R# ))rU  r*   N)r   r+   r6   
DecRoundedrA  _flags_trapsr  s   &  r   test_c_contextCFunctionality.test_c_context]  sO    ))!,,all;1<<01<<0r&   c                   \         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  3p\!        V4       F  w  r#V P#                  V^V,          4       K   	  V P#                  \         P$                  \         P                  \         P                  ,          \         P
                  ,          \         P                  ,          \         P                  ,          \         P                  ,          \         P                  ,          4       V P#                  \         P&                  \         P$                  \         P                  ,          4       V P#                  \         P(                  \         P&                  \         P                  ,          \         P                  ,          4       R# r"  N)r   r6   DecConversionSyntaxDecDivisionByZeroDecDivisionImpossibleDecDivisionUndefinedDecFpuError
DecInexactDecInvalidContextDecInvalidOperationDecMallocErrorDecFloatOperationDecOverflowr  DecSubnormalDecUnderflowr6  rA  DecIEEEInvalidOperation	DecErrorsDecTraps)r   condrM  r   s   &   r   r  CFunctionality.test_constantse  sy    LL!//1D1D##Q%;%;MM1<<)<)<!!1#3#3NNANN
 dODAQ1% $ 	22..001//0 ' ,,	-
 ../ ))*	+ 	22,,-	. 	Q]]21>>A	Cr&   r   N)
r   rh  ri  rj  rk  requires_extra_functionalityr   r  rl  rm  rn  s   @r   r  r  Z  s0     )!1 "1 "C "Cr&   r  c                      a  ] tR tRt o RtR tR tR tR tR t	R t
]R	 4       tR
 t]R 4       tR tR tR tR tR t]R 4       t]R 4       tR tR tR tR tR tR tR tR tR tR tRt V t!R# )	CWhiteboxi  zWhitebox testing for _decimalc                   \         P                  p\         P                  p^
^#,          p^
^$,          pV! 4       ;_uu_ 4       pRVn        \	        ^4       F^  p\
        P                  ! W44      p\
        P                  ! RR4      pWx,          p	V! V4      V! V4      ,          p
V P                  W4       K`  	  RRR4       R#   + '       g   i     R# ; i)r  i@B r@  i  N)r   r   r  r(   r  r/  r  rA  )r   r   r  r  r  r  rM  r  r  r  r  s   &          r   test_bignumCWhitebox.test_bignum  s     ))~~VV^^qAF1X$$R,$$T40FAJ'!*,  &  ^^^s   A5CC	c                R    V P                  \        \        P                  ^	R4       R# )r  r  N)ry  r3  r   r   r   s   &r   test_invalid_construction#CWhitebox.test_invalid_construction  s    )QYY59r&   c                   \         P                  p\         P                  p\         P                  p\         P                  pV! V! 4       4      ;_uu_ 4        V P                  W!R 4       RRR4       R#   + '       g   i     R# ; i)1e9999999999999999999N)r   r   r   r+   r  ry  )r   r   r   r+   r  s   &    r   test_c_input_restriction"CWhitebox.test_c_input_restriction  sY    ))--))~~')$$.57 %$$$s   A33B	c                   \         P                  p\         P                  pVP                  4       pR Vn        R Vn        RVn        \        Vn        ^ Vn	        ^Vn
        \        \         ,           F!  pRVP                  V&   RVP                  V&   K#  	  RVP                  V&   RVP                  V&   VP                  4       pRpV P                  WV4       R# )r   TaQ  Context(prec=425000000, rounding=ROUND_HALF_DOWN, Emin=-425000000, Emax=425000000, capitals=0, clamp=1, flags=[Clamped, InvalidOperation, DivisionByZero, Inexact, FloatOperation, Overflow, Rounded, Subnormal, Underflow], traps=[Clamped, InvalidOperation, DivisionByZero, Inexact, FloatOperation, Overflow, Rounded, Subnormal, Underflow])Nr  )r   r  r  rS   r(   rd  r^  r   r)   rc  rF   r:  rU  r*   r  rA  )r   r  r  r  r{  r   r   s   &      r   test_c_context_reprCWhitebox.test_c_context_repr  s     ))))!$

!!$$CAGGCLAGGCL % #'"&JJLO 	r&   c           	        \         P                  p\         P                  p\         P                  p\         P                  p\         P
                  p\         P                  p\         P                  p\         P                  R 8  pV! 4       p	V P                  \        V	P                  P                  R^ 4       V P                  \        V	P                  P                  R^ 4       V P                  \        V	P                  P                  V4       V P                  \        V	P                  P                  V4       V P                  \         \"        V	RR.4       V P                  \         \"        V	RR.4       V P                  \        \"        V	R^ ^/4       V P                  \        \"        V	R^ ^/4       V	P                  P%                  4       p
W RV
R&   V P                  \        \"        V	RV
4       V P                  \        \"        V	RV
4       V'       d   RMRpV'       d   RMRpR F  pV P                  \        \"        WV4       K!  	  V P                  \        \"        V	RV) 4       V P                  \        WR	7       V P                  \        WR
7       V P                  \        W) R7       V P                  \&        W^,           R	7       V P                  \&        W^,           R
7       V P                  \&        W) ^,
          R7       V P                  \&        W^,           R7       V P                  \&        W^,           R7       R F  pV P                  \&        \"        WV^,           4       V P                  \&        \"        WV) ^,
          4       \(        P*                  R8w  g   Ka  V P                  \        \"        WV4       V P                  \        \"        WV) ^,
          4       K  	  \         P                  R 8X  dz   V P                  \&        \-        V	R4      V^,           4       V P                  \&        \-        V	R4      V^,           4       V P                  \&        \-        V	R4      V) ^,
          4       \         P                  R 8X  d   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4      R4       V P                  \        \-        V	R4      ^4       R F  pV P                  \        \"        WR4       V P                  \        \"        W^4       V P                  \         \"        W. R O4       V'       g   Kc  V P                  \        \"        WR!4       V P                  \        \"        WR"4       K  	  V P                  \         \.        R\1        4       4       V P                  \         \.        R\1        4       4       V! 4       pV P                  \         VR4       V! V4       R# )#r   i!  rU  r  r*   r  ipr  r^  r  r  r  r  r  win32r   r   r   i?zwith localcontext("xyz"): passz-with localcontext(context=getcontext()): passr  Nr  r  l     NZoi ʚ;rl  )r(   r^  rd  rc  rF   r  i9rn  rm                 )r   r+   r   r   r  r  r  r0   rY  ry  rp  rU  __setitem__r*   r  __delitem__r3  r[  rS   r   rz  platformr   execr  )r   r+   r   r   r  r  r  r0   HAVE_CONFIG_64r  r   int_maxgt_max_emaxr$   saved_contexts   &              r   test_c_context_errorsCWhitebox.test_c_context_errors  s   ))--::))~~\\
\\
**y0I 	(AGG$7$7a@(AGG$7$7a@*agg&9&98D*agg&9&9;KL)Wa3%@)Wa#?(GQ!A?(GQ!A? GGLLN%(GQ;(GQ; ,' .fE %Dj'1KH %*gq&;,G 	*g@*g@*gLA 	-qyA-qyA-xzB-	B-19E BDmWawqyImWaxzJ||w&!!*gqH!!*gq
K B ::"mWQ8I-J%ai)mWQ8I-J%ai)mWQ8I-J&hqj* ::"j'!5F*GKj'!5F*G(*j'!5F*GLj'!5F*G(*j'!5F*G)+j'!5F*GK *Dj'1B?j'1A>i!7C~!!*gqF!!*gqH * 	)T+K (	$)TI (	$
 #)Z7=!r&   c                   V P                  \        P                  \        P                  4       V P                  \        P                  \        P                  4       V P                  \        P
                  \        P
                  4       V P                  \        P                  \        P                  4       V P                  \        P                  \        P                  4       V P                  \        P                  \        P                  4       V P                  \        P                  \        P                  4       V P                  \        P                  \        P                  4       R # r   )r  r   r   r
  r   r   r   r   r   r,   r   r   s   &r   test_rounding_strings_interned(CWhitebox.test_rounding_strings_interned*  s    ajj!**-allALL1aooq7ammQ]]3aooq7a''):):;a''):):;allALL1r&   c           	     X   \         P                  p\         P                  p\         P                  p\         P                  p\         P
                  p\         P                  p\         P                  R 8  pV! 4       pV'       d   RMRp	V P                  \        \        VRV	^,           4       V P                  \        \        VRV	) ^,
          4       \        P                  R8w  dC   V P                  \        \        VRV	4       V P                  \        \        VRV	) ^,
          4       R F  p
V P                  \        \        WV	^,           4       V P                  \        \        WV	) ^,
          4       \        P                  R8w  g   Ka  V P                  \        \        WV	4       V P                  \        \        WV	) ^,
          4       K  	  V P                  \        \        VRR	4       V P                  \        \        VR^4       V P                  \        \        VR. R
O4       V'       d;   V P                  \        \        VRR4       V P                  \        \        VRR4       R F;  p
V P                  \        \        WR4       V P                  \        \        WR4       K=  	  R# )r   _allcrrG  r  r  Nr  r  )r  r  r  rm  rH  rI  )r   r+   r   r   r  r  r0   rY  ry  r   r[  rz  rL  r  r3  )r   r+   r   r   r  r  r0   rN  r  rO  r$   s   &          r   test_c_context_errors_extra%CWhitebox.test_c_context_errors_extra5  s   ))--::~~\\
\\
**y0I ,' 	-!XwqyI-!XxzJ<<7"j'1hHj'1h
K )DmWawqyImWaxzJ||w&!!)WawG!!)WaxzJ ) 	*gq(B?*gq(A>)Wa7Cj'1hFj'1hH )Di!6Bi!3? )r&   c                V   \         P                  p\         P                  p\         P                  p\         P                  p\         P
                  p\         P                  pVP                  4       p^"Vn        \        Vn
        RVn        RVn        ^Vn        ^ Vn        V P                  VP                  ^"4       V P                  VP                  \        4       V P                  VP                  R4       V P                  VP                  R4       V P                  VP                  ^4       V P                  VP                  ^ 4       V P                  VP!                  4       R4       V P                  VP#                  4       R4       \         P$                  R8X  d   VP'                  R4       VP)                  R4       VP+                  R4       V P                  VP                  R4       V P                  VP                  R4       V P                  VP                  R4       R# R# )	"   i  r  r   r  NiHi'r  )r   r  r   r   r   r   r   rS   r(   r   r)   rd  r^  rc  rF   rA  EtinyEtoprY  r   r   r   )r   r  r   r   r   r   r   r  s   &       r   test_c_valid_contextCWhitebox.test_c_valid_context`  s   ))))KK	))))KK	! "

$]3'&Q'!$E*4( ::"i(i(j)QVVY/QVVY/QVVZ0 #r&   c                    \         P                  pVP                  4       pV P                  VP                  ^4       ^ Vn        V P                  VP                  ^ 4       R# r#  )r   r  rS   rA  rX  )r   r  r  s   &  r   test_c_valid_context_extra$CWhitebox.test_c_valid_context_extra  sJ    ))!1%1%r&   c           
        \         P                  p\         P                  p\         P                  p\         P                  p\         P
                  p\         P                  R 8  d   RMRpV! 4       ;_uu_ 4       pRVP                  V&   V P                  W!! R4      P                  V) ^,
          4       V P                  W!! R4      P                  V4       V P                  W!! R4      P                  \        V^,           4      4       V P                  \         P                  V! R4      P                  \        V^,
          4      ) 4       V P                  \        V! R4      P                  V) ^,
          4       V P                  \        V! R4      P                  V^,           4       RRR4       R#   + '       g   i     R# ; i)r   Tr  r  Nr  r  )r   r   r   r  r   r  rY  r*   ry  r  r  r   )r   r   r   r  r   r  rO  r  s   &       r   test_c_roundCWhitebox.test_c_round  sO   ))--~~::KK	ZZ)3'^^q(,AGG$%.0I0I&hqj*.0I0I%'.0F0F!(1*o/a00'#,2H2H"9Q;//1mWV_-F-F&hqj*mWV_-F-F%ai) ^^^s   9D-F00G	c                   \         P                  p\         P                  R 8  pV P                  \        V! ^4      P
                  R. ^	4       V P                  \        V! ^4      P
                  R^	4       V P                  \        V! ^4      P
                  . 4       V P                  \        V! ^4      P
                  R4       V'       d   RMRpV P                  \        V! R4      P
                  RV,          4       R# )r   z=10.10z<>=10.10r  z=%d.1Nr  r  )r   r   rY  ry  r3  r  r  )r   r   rN  maxsizes   &   r   test_c_formatCWhitebox.test_c_format  s    ))**y0)WQZ%:%:Hb!L)WQZ%:%:HaH)WQZ%:%:B?*gaj&;&;ZH+'*gl&;&F&F!G+	-r&   c                   \         P                  p\         P                  p\         P                  pV! ^
4      pV P	                  VP                  4       ^
4       V P                  \        VP
                  R4       V P                  \        VP
                  ^
R4       V P                  \        VP
                  ^
4       V P	                  VP                  4       ^
4       V P                  \        VP                  R4       V P                  \        VP                  ^
R4       V P                  \        VP                  ^
4       V P	                  VP                  4       ^
4       V P                  \        VP                  R4       V P                  \        VP                  ^
R4       V P                  \        VP                  ^
4       V! 4       ;_uu_ 4       pV! R4      P                  \        4      pV P	                  WA! R4      4       V! R4      P                  \        4      pV P	                  WA! R4      4       RVP                  V&   V P                  W!! R4      P                  \        4       RRR4       R#   + '       g   i     R# ; i)r  rF  r  z99999999999999999999999999.9100000000000000000000000000Tz999.9N)r   r   r   r  rA  rh  ry  r3  r   r   r   r*   )r   r   r   r  r  r  s   &     r   test_c_integralCWhitebox.test_c_integral  s   ))))~~BK"-)Q]]D9)Q]]B<)Q]]B7,,.3)Q%8%8$?)Q%8%8"cB)Q%8%8"=,,.3)Q%8%8$?)Q%8%8"cB)Q%8%8"=^^q67II(SAQ(E FG67II(SAQ(E FG#AGGGgww'7'I'I8T ^^^s   BI88J		c                &   \         P                  p\         P                  p\         P                  p\         P                  p\         P
                  pV P                  V! R 4      P                  4       R4       V P                  \        \        V! ^4      ^R4       V P                  \        V! ^	4      P                  RR4       V P                  \        V! ^	4      P                  ^RR4       V P                  \        V! R4      P                  V! R4      . 4       V P                  \        V! R4      P                  V! R4      V! 4       4       V P                  \        V! R4      P                  V! R4      ^
4       V P                  \        V! R4      P                  V! R4      \        R4       V! 4       ;_uu_ 4       pVP                  4        V P                  \        VP                   V! ^4      RR4       V P                  \        VP"                  ^4       V P                  \        VP$                  ^4       V P                  \        VP&                  ^	^RR4       V P                  \        VP                  ^	^RR4       V P                  \)        VP#                  V! ^4      4      4      R4       V P                  VP+                  4       ^
4       R	VP,                  V&   V P                  W1! ^	4      P.                  ^ 4       V P                  W6P&                  ^	^ 4       V P1                  VP2                  V,          4       VP5                  4        R	VP,                  V&   V P                  W!! ^	4      P.                  ^ 4       V P                  W&P&                  ^	^ 4       V P1                  VP2                  V,          4       R	VP,                  V&   ^Vn        V P                  V\        V! R4      ^R
4       RRR4       R#   + '       g   i     R# ; i)z9.99e10z99.9E+9rx  r  r  r  z	1e-100000r@  200Ti  N)r   r   r   r   r  r  rA  r   ry  r3  r  rL   r   ri  r   rK  rZ   r  r`   rZ  r<  r  r*   r(  r    rU  r0  r(   )r   r   r   r   r  r  r  s   &      r   test_c_funcsCWhitebox.test_c_funcs  s   ))--))\\
~~+99;YG)S'!*a=)WQZ%<%<c3G)WQZ%<%<acJL!**GK,@"	
 	L!**GK,@*,	
 	L!**GK,@"	
 	L!**GK,@(D	

 ^^qMMO igaj#sKic:i=i1acBiAsCHSWS\!:;UCQWWY+&*AGGN#ngaj.C.CQGnhh1=OOAGG$456MMO(,AGG$%.
0E0EqI.!Q?OOAGGN34(,AGG$%AF.WT]AsK5 ^^^s   <H9O??P	c           	     (   \         P                  p\         P                  pV! R 4      pR F?  p\        W44      pV P	                  \
        VRR7       V P	                  \
        VRRR7       KA  	  R F?  p\        W44      pV P	                  \
        VRR7       V P	                  \
        VRRR7       KA  	  V P	                  \
        VP                  R. R7       V P	                  \
        VP                  / . R7       V P	                  \
        VP                  . . 4       V P	                  \
        VP                  R. R7       V P	                  \
        VP                  / . R7       V P	                  \
        VP                  . . 4       V P	                  \
        VP                  R. R7       V P	                  \
        VP                  / . R7       V P	                  \
        VP                  . . 4       V P	                  \
        VP                  ^^RR7       V P	                  \
        VP                  ^^RRR7       V P	                  \
        VP                  ^. RR7       V P	                  \
        VP                  ^. RR7       V P	                  \
        VP                  ^. . 4       V! 4       pV P	                  \
        VP                  ^^RR7       V P	                  \
        VP                  ^RRR7       V P	                  \
        VP                  R^RR7       R# )	10001111111r  rW  Nr_  r  )mod)r`  rh   rp   r`  ra  rb  r^   rx   rz   r   rL   r   r   )rs  rN   rH   r~   r  rt   r  rv   r   rd  re  rf  )r   r   r+   r   ry  r3  rh  r   r   rg  ri  r  )r   r   r+   r  r$   funcr  s   &      r   test_va_args_exceptions!CWhitebox.test_va_args_exceptions  s   ))))M"KD 1#Dis;isDAKDD 1#Dis;isDAD 	)Q]]T2N)Q]]RL)Q]]B;)Q%8%84QST)Q%8%82rR)Q%8%8"bA)Q%8%84QST)Q%8%82rR)Q%8%8"bA)QUUAq#>)QUUAq#tD)QZZBE)QZZBF)QZZB;I)QWWa<)QWWa$?)QWWc1$?r&   c                   V P                  \        P                  P                  \        P                  \        P
                  ,          \        P                  ,          \        P                  ,          \        P                  ,          4       V P                  \        P                  P                  \        P                  \        P
                  ,          \        P                  ,          4       R # r   )
rA  r   rU  r  r1  r%  r.  r0  r6   r  r   s   &r   test_c_context_templates"CWhitebox.test_c_context_templates;  s    NN!!%%a&9&99!--GNN<<(	

 	##%%a&9&99!--G	
r&   c                  a  \         P                  p\         P                  p\         P                  p\         P                  p\         P
                  p\         P                  p\         P                  p\         P                  p\         P                  p	\         P                  p
\         P                  p\         P                  p\         P                  p\         P                  pV 3R  lpVP                  4       pS P!                  VVP"                  9   4       VP%                  4        VP"                  P'                  4        F  pRVP"                  V&   K  	  VP"                  P)                  4        F  pS P!                  V4       K  	  VP%                  4        VP"                  P+                  4        F  w  ppS P-                  V4       K  	  S P-                  VP.                  P1                  V4      4       S P3                  VP.                  P1                  R4      R4       S P5                  VP.                  P1                  RR4      R4       S P7                  \8        VP.                  P0                  RRR4       S P5                  \;        VP.                  4      \;        VP"                  4      4       \<        P>                  ! VP.                  4      p\<        P>                  ! VP"                  4      pVP.                  PA                  4       pVPC                  4        VVn"        S P!                  VP.                  V,          4       VP%                  4        VVn#        S P!                  VP"                  V,          4       VPC                  4        VP.                  P                  4       pRVV&   VVn        V! VVP.                  4       VP%                  4        VP"                  P                  4       pRVV&   VVn        V! VVP"                  4       V\         P                  V	\         PH                  V
\         PJ                  V\         PL                  V\         PN                  V\         PP                  V\         PR                  V\         PT                  V\         P                  /	p\         PV                  \         PX                  \         PZ                  \         P\                  \         P                  \         P^                  \         P`                  .p\;        \b        \         ,          4      p\e        V4       EF5  p\e        V4       EF!  p\f         EF  p\h        Pj                  ! \b        \         ,          V4      p\h        Pj                  ! \b        \         ,          V4      p\h        Pl                  ! ^R4      p\h        Pl                  ! R^ 4      p\h        Pl                  ! ^ R4      p\h        Pl                  ! ^ ^4      p \h        Pl                  ! ^ ^4      p!\h        Pl                  ! ^ ^4      p"V! VVVVV!V \o        V4      \o        V4      R7      pS P5                  VPp                  V4       S P5                  VPr                  V4       S P5                  VPt                  V4       S P5                  VPv                  V4       S P5                  VPx                  V!4       S P5                  VPz                  V 4       ^ p#V F  p$V#VV$,          ,          p#K  	  S P5                  VPD                  V#4       ^ p#V F  p$V#VV$,          ,          p#K  	  S P5                  VPF                  V#4       EK  	  EK$  	  EK8  	  V F?  p%V%Vn"        S P!                  VPD                  V,          4       V! VVP.                  4       KA  	  V F?  p%V%Vn#        S P!                  VPF                  V,          4       V! VVP"                  4       KA  	  R# )	c                    < V F9  pW 8X  d   SP                  W,          4       K"  SP                  W,          4       K;  	  R # r   )r    rt  )r1  signal_dictr{  r   s   && r   assertIsExclusivelySet<CWhitebox.test_c_signal_dict.<locals>.assertIsExclusivelySet\  s2    "=OOK$45$$[%56	 #r&   Tr  Nr  rj  r  r  i)>r   r+   r  r   r  r   r   r   r   r   r   r   r6   r+  r1  rS   r    r*   rK  r
  valuesr  rt  rU  r  r  rA  ry  r3  rD  rz  	getsizeofr  r0  r  r  r  r)  r/  r0  r.  r%  r-  r&  r'  r(  r*  r,  r$  r:  r  r  r/  sampler  r  r(   r)   r^  rd  rc  rF   )&r   r+   r  r   r  r   r   r   r   r   r   r   r6   r+  r1  r  r  r!  r   r   r   
IntSignalsIntCondlimr  r   r"  rU  r*   r(   r  r  rF   r  crr   r  r4  s&   f                                     r   test_c_signal_dictCWhitebox.test_c_signal_dictG  s    ))))--))))::KK	KK	))))))\\
33"#";";	7 ! 	AGG+,	AAGGAJ  !AOOA "	GGMMODAqQ $ 	X./aggkk#&-S#.4)QWW[[#sC@QWWs177|4MM!''"MM!''"GG 	
()	& 012 	
GGLLN .~qww7	GGLLN)y!''2 1<<
1<<
1<<
Q^^
Q^^
AMM
!--
!--
A55


 
!
!1#9#91==


q44a6F6F



 .#$sA3Z*]E"MM.*;Q?E"MM.*;Q?E!++Au5D!++FA6D!++Au5D",,Q2E!++Aq1D))!Q/BTE4)-U$u+&*5k3A $$QVVT2$$QZZ7$$QVVT2$$QVVT2$$QZZ6$$QWWe4A"Z]* #$$QXXq1A"Z]* #$$QXXq19 +   @ DAHOOAHH%<<="#3QWW= 
 DAHOOAHH%<<="#3QWW= r&   c                  a \         P                  o ^ RIHp R pRV3R llpRRRV! . RO4      R	R/pRR
RV! . RO4      R	R/pRRRV! . RO4      R	R/pX^8X  d   V P                  \        VRVR4       V P                  \        VRVR4       V P                  \        VRVR4       R#   \         d    T P                  R4        Li ; i)r  r  r  c                 `    R P                  V  Uu. uF  p\        V4      NK  	  up4      # u upi r  )r  r  )r  r  s   & r   r  6CWhitebox.test_invalid_override.<locals>.make_grouping  s'    77C0CqCFC0110s   +Nc                 2   < S! V 4      P                  W!4      # r   )r  )r  r  r  r   s   &&&r   r  0CWhitebox.test_invalid_override.<locals>.get_fmt  s    1:((77r&   r  r  r  r  xxxxxr  yyyyyr  r~  r  )   r  r  r  )r   r   r  r  r  r  ry  r  )r   r  r  r  invalid_groupinginvalid_dotinvalid_sepr   s   &      @r   test_invalid_overrideCWhitebox.test_invalid_override  s    ))	;'	2	8 c}5c
 gy1c
 cy1g
 s?j'5.5 	*guk3G*guk3G=  	;MM9:	;s   B( (CCc                D   \         P                  p\         P                  p\         P                  pV! 4       ;_uu_ 4       pR VP                  V&   R\
        P                  ,          pV P                  W1V4       R\
        P                  ) ^,
          ,          pV P                  W1V4       R\
        P                  ,          pV P                  W1V4       R\
        P                  ) ^,
          ,          pV P                  W1V4       RRR4       R#   + '       g   i     R# ; i)Tz0e%dz1e%dN)r   r   r  r   r*   rz  rh  ry  r  s   &     r   test_exact_conversionCWhitebox.test_exact_conversion  s    ))~~--^^q(,AGG$% $A.;3;;,q.)A.; $A.; 3;;,q.)A.;# ^^^s    CDD	c           	        \         P                  p\         P                  p\         P                  p\         P                  p\         P
                  pV! 4       ;_uu_ 4       p^	Vn        RVP                  V&   RVP                  V&   RVP                  V&   ^R\        P                  3pV P                  \        VP                  V4      4      R4       V P                  W1V4       ^R\        P                  3pV P                  WFP                  V4       V P                  W1V4       ^R\        P                  ) ^,
          3pV P                  \        VP                  V4      4      R4       V P                  W1V4       ^R\        P                  ) ^,
          3pV P                  WVP                  V4       V P                  W1V4       ^R\        P                  ^,           3pV P                  \        VP                  V4       V P                  \        W4       ^R\        P                  ) ^,
          3pV P                  \        VP                  V4       V P                  \        W4       R	pV P                  \        V! V4      4      R4       R
pV P                  \        V! V4      4      R4       RpV P                  \        V! V4      4      R4       RRR4       R#   + '       g   i     R# ; i)r  Tz
-0E+999999z-0E-1000007r  z-sNaN1Nr   )r  r"  r  r9  )r"  r  r  )r"  ro  r  )r   r   r  r   r   r   r(   r*   rz  rh  rA  r<  r   ry  r   )r   r   r  r   r   r   r  r  s   &       r   test_from_tupleCWhitebox.test_from_tuple
  sO   ))~~--::KK	^^qAF(,AGG$% $AGGH!%AGGI B$AS!1!1!!45|D.;Is{{+Ah(8(8!<.; BQ'AS!1!1!!45}E.;I|A~.Ai)9)91=.; BA&AmQ-=-=qAmW8BQ'AmQ-=-=qAmW8 AS_g6AS_g6 AS_h7Q ^^^s    I1KK,	c                   \         P                  p\         P                  R 8  pV P                  V! ^ 4      P	                  4       ^ 4       V'       dU   V! ^
R,          4      P	                  4       pV! ^
R,          4      P	                  4       pV P                  WC^,           4       R# V! ^
^,          4      P	                  4       pV! ^
^,          4      P	                  4       pV P                  WC^,           4       R# )r   Nr  i  )r   r   rY  r  
__sizeof__rA  )r   r   rN  r  r  s   &    r   test_sizeofCWhitebox.test_sizeof;  s    ))**y071:002A6U$//1AU$//1AQ!$T
#..0AT
#..0AQ!$r&   c                (  a \         P                  p ! R  R\        4      p ! R R\        4      p ! R R\        4      o ! V3R lR\        4      pW#V3 F9  pV P	                  VP                  V! R4      4      VP                  R4      4       K;  	  R	# )
c                   ,   a  ] tR tRt o R tR tRtV tR# )<CWhitebox.test_internal_use_of_overridden_methods.<locals>.XiM  c                    ^# r"  r   r   s   &r   rA  MCWhitebox.test_internal_use_of_overridden_methods.<locals>.X.as_integer_ratioN  s    r&   c                    V # r   r   r   s   &r   r  DCWhitebox.test_internal_use_of_overridden_methods.<locals>.X.__abs__P      r&   r   Nr   rh  ri  rj  rA  r  rl  rm  rn  s   @r   Xr  M  s      r&   r  c                   &   a  ] tR tRt o R tRtV tR# )<CWhitebox.test_internal_use_of_overridden_methods.<locals>.YiS  c                    ^.^,          # r  r   r   s   &r   r  DCWhitebox.test_internal_use_of_overridden_methods.<locals>.Y.__abs__T      s3wr&   r   N)r   rh  ri  rj  r  rl  rm  rn  s   @r   Yr  S        r&   r  c                   &   a  ] tR tRt o R tRtV tR# )<CWhitebox.test_internal_use_of_overridden_methods.<locals>.IiW  c                    ^.^,          # r  r   r   s   &r   
bit_lengthGCWhitebox.test_internal_use_of_overridden_methods.<locals>.I.bit_lengthX  r  r&   r   N)r   rh  ri  rj  r  rl  rm  rn  s   @r   Ir  W  r  r&   r  c                   4   <a  ] tR tRt o V3R ltR tRtV tR# )<CWhitebox.test_internal_use_of_overridden_methods.<locals>.Zi[  c                $   < S! ^4      S! ^4      3# r  r   )r   r  s   &r   rA  MCWhitebox.test_internal_use_of_overridden_methods.<locals>.Z.as_integer_ratio\  s    !ad|#r&   c                    V # r   r   r   s   &r   r  DCWhitebox.test_internal_use_of_overridden_methods.<locals>.Z.__abs__^  r  r&   r   Nr  )ro  r  s   @r   Zr  [  s     $ r&   r  gfffffFY@N)r   r   r  r  rA  r  )r   r   r  r  r  r"   r  s   &     @r   'test_internal_use_of_overridden_methods1CWhitebox.test_internal_use_of_overridden_methodsI  sy    ))	 		 		 		 	 7CW//E
;$//68 r&   c           
        \        \        P                  4       P                  4      pVP                  ^ ,          p\        \        P                  4       4      pVV\        P                  \        P                  3pV FT  pV P                  VR7      ;_uu_ 4        V P                  \        R4      ;_uu_ 4        ^Vn
        RRR4       RRR4       KV  	  R#   + '       g   i     L; i  + '       g   i     K~  ; i)r  )tp	immutableN)r;  r   r+   rU  	__bases__r  r   subTestassertRaisesRegexr3  foo)r   
SignalDictSignalDictMixinContextManagertypesr  s   &     r   test_c_immutable_types CWhitebox.test_c_immutable_typese  s    !))+++,
$..q1ann./IIII	
 B$$++I{CCBF D %$ CC %$$s$   C)8C C)C&!C))C:c                V    \        \        P                  4       4      p\        W4       R # r   )r;  r   r  r   )r   r  s   & r   test_c_disallow_instantiation'CWhitebox.test_c_disallow_instantiationt  s    ann./$T:r&   c                L   \        \        P                  4       P                  4      pV! 4       pR pV P	                  \
        V4      ;_uu_ 4        \        V4       RRR4       V P	                  \
        V4      ;_uu_ 4        \        V4       RRR4       V P	                  \
        V4      ;_uu_ 4        \        V4       RRR4       V P	                  \
        V4      ;_uu_ 4        RV\        P                  &   RRR4       V P	                  \
        V4      ;_uu_ 4        V\        P                  ,           RRR4       V P	                  \
        V4      ;_uu_ 4        V\        P                  4       P                  8H   RRR4       V P	                  \
        V4      ;_uu_ 4        \        P                  4       P                  V8H   RRR4       V P	                  \
        V4      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELz; i  + '       g   i     ELT; i  + '       g   i     EL*; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)zinvalid signal dictNT)r;  r   r+   rU  r  r  rD  iterr@  r   rS   )r   r  sderr_msgs   &   r   test_c_signaldict_segfault$CWhitebox.test_c_signaldict_segfaultx  s   !))+++,
\'##J88G 9 ##J88H 9 ##J88H 9 ##J88%)Bq!!" 9 ##J88q!!" 9 ##J88!))+### 9 ##J88IIK# 9 ##J88GGI 98+ 988 988 988 988 988 98 98 988s`   HH3H0%II"I,%"I?-JH	H-	0I	I	I)	,I<	?J	J#	c                   \         P                  R 4      pV P                  \        VR4      R4       \         P	                  ^ R7      ;_uu_ 4        V P                  \        VR4      R 4       RRR4       R#   + '       g   i     R# ; i)z6.09e+23r:   z6.09E+23r  N)r   r   rA  r  r  )r   r  s   & r   test_format_fallback_capitals'CWhitebox.test_format_fallback_capitals  s^     IIj!34^^Q^''VAs^Z8 ('''s   A77B	c                2   \         P                  R 4      pV P                  \        VR4      R4       \         P	                  \         P
                  R7      ;_uu_ 4        V P                  \        VR4      R4       RRR4       R#   + '       g   i     R# ; i)z6.09z#.1fz6.1r  z6.0N)r   r   rA  r  r  r   )r   r  s   & r   test_format_fallback_rounding'CWhitebox.test_format_fallback_rounding  sb    IIf6*E2^^Q\\^22VAv.6 3222s   BB	r   N)"r   rh  ri  rj  rk  r:  r=  rA  rD  rR  rU  r6  rY  r_  rb  re  ri  rm  rq  rw  rz  r  r  r  r  r  r  r  r  r  r  r  rl  rm  rn  s   @r   r8  r8    s     ''":	7:c"J	2 "(@ "(@T$1L "& "&)0-U>9Lv*@X "	
 "	
 "C> "C>J#HJ<0/8b%88;<97 7r&   r8  c                   0   a  ] tR tRt o RtR tR tRtV tR# )SignatureTesti  zFunction signaturesc                   \        \        4       EF  pVP                  R 4      '       d   K  \        \        V4      p\        \        V4      pVR8X  g&   VR8X  g   \
        P                  ! V4      '       g   Ki  \
        P                  ! V4      p\
        P                  ! V4      p\        VP                  P                  4       4      pVP                  P                  4        Uu. uF  pVP                  R 4      '       d   K  VNK   	  ppV P                  WhRV,          R7       VP                  P                  4        Uu. uF  qwP                  NK  	  p	pVP                  P                  4        Uu. uF6  pV^ ,          P                  R 4      '       d   K#  V^,          P                  NK8  	  p
pVR8w  g   EK  V P                  WRV,          R7       EK  	  R# u upi u upi u upi )r  r   r+   parameter name mismatch in %smsgr0   parameter kind mismatch in %sN)r  r
  r  r   r   inspect
isfunction	signaturer  
parametersr
  rA  r  kindr  )r   r$   p_funcc_funcp_sigc_sigc_namesr  p_namesc_kindp_kinds   &          r   test_inspect_module!SignatureTest.test_inspect_module  s   FDs##Q%FQ%F	!TY%6""6**))&1))&1 u//4467&+&6&6&;&;&= .&=<<, 1&= .   %Dv%M ! O +0*:*:*A*A*CD*CQ&&*CD-2-=-=-C-C-E 0-EA$//#. $!A$))-E 0 <'$$V)H6)Q % S1 . E0s   $GG G 2 G%G%c                J  a aaaaa \         P                  P                  o\         P                  P                  o\        R \        P                  ^4      R\        P                  ^4      R\        P                  ^4      R\        P                  ^4      R\        P                  ^4      R\        P                  ^4      R\        P                  ^4      R\        P                  ^4      R\        P                  ^4      R	\        P                  ^4      R
RRRR\        P                  R\        P                  4       /\        R \        P                  ^4      R\        P                  ^4      R\        P                  ^4      R\        P                  ^4      R\        P                  ^4      R\        P                  ^4      R	\        P                  ^4      R
RRRR\        P                  R\        P                  4       //oVVV3R loR oVVVV V3R lpV! R4       V! R4       R# )r'  r  r  r  rj  r  r  r  r`  r  numr  r   r  r)   r#   c                 *  < . p/ pVP                   P                  4        Fn  w  rEVR 8X  d   K  VP                  S8X  d"   VP                  SV ,          V,          4       K@  VP                  S8X  d   SV ,          V,          W4&   Ke  \	        R4      h	  W#3# )r   zunexpected parameter kind)r  r  r  r9  r   )	moduler{  r  kwargsnameparamPOSPOS_KWDpdicts	   &&    r   mkargs0SignatureTest.test_inspect_types.<locals>.mkargs  s    DF"~~3356>8::$KKfd 34ZZ7*#(=#6FL$%@AA  6 <r&   c                <    V R8X  d   R# V R8X  d   R# V R8X  d   R# V # )zhThe C Context docstrings use 'x' in order to prevent confusion
with the article 'a' in the descriptions.r  r  r  r  rj  r  r   )r   s   &r   tr,SignatureTest.test_inspect_types.<locals>.tr  s$     CxCxCxHr&   c           
      x  < \        \        V 4      p\        \        V 4      p\        V4       EF-  pVP	                  R 4      '       d   K  \        W4      p\        W#4      p\
        P                  ! V4      '       g   KQ  \
        P                  ! V4      p\
        P                  ! V4      p\        VP                  P                  4       4      pVP                  P                  4        U	u. uF  p	S! V	4      NK  	  p
p	SP                  WRV,          R7       VP                  P                  4        U	u. uF  qP                  NK  	  pp	VP                  P                  4        U	u. uF  qP                  NK  	  pp	SP                  V^ ,          S4       SP                  V^ ,          S4       V R8X  d+   SP                  VR,          VR,          RV,          R7       M-SP                  \        V4      \        V4      RV,          R7       S! \        V4      w  r \        V! ^	4      V4      ! V/ VB  S! \        T4      w  r \        T! ^	4      T4      ! T/ TB  EK0  	  R	# u up	i u up	i u up	i   \          d    \#        RT: RT: RT: 24      hi ; i  \          d    \#        RT: RT: RT: 24      hi ; i)
r  r  r  r   r!  r  zinvalid signature for z: r  N)r   r
  r   r  r  r  r  r  r  r  r
  rA  r  r  r  rD  rW  r   )typ_typec_typer$   r  r  r  r  r  r  r  r  r  r  kwdsr  r  r  r   r  s   &              r   rA  .SignatureTest.test_inspect_types.<locals>.doit  sj   Q^FQ^FF??3'' . .%%f--#--f5E#--f5E #5#3#3#8#8#:;G.3.>.>.C.C.EF.Er!u.EGF$$W)H6)Q % S /4.>.>.E.E.GH.Gff.GFH.3.>.>.E.E.GH.Gff.GFH MM&)W5MM&)S1 Y((VBZ-Lv-U ) W ((Vc&k-Lv-U ) W "(5!1JDcq	40$?$? "(5!1JDcq	40$?$?Q $ G
 IH$ % c(fVZ\`)abbc % c(fVZ\`)abbcs*   )I!2I&$I+I0J0#J#J9r   r+   N)	r  _ParameterKindPOSITIONAL_ONLYPOSITIONAL_OR_KEYWORDr   r   r   r  r
  )r   rA  r  r  r  r  r  s   f @@@@@r   test_inspect_types SignatureTest.test_inspect_types  s~   $$44((>> Waiilaiil!))A,!))A,!))A,!))A,!))A,!))A,AIIaLqyy|C#0 Waiilaiil!))A,!))A,!))A,AIIaLqyy|C#
014	 	-	c -	c^ 	YYr&   r   N)	r   rh  ri  rj  rk  r  r  rl  rm  rn  s   @r   r  r    s      S8e er&   r  c           
        a \         e   V P                  4       p\        P                  ! \        4       Fm  pRV9  g   VP                  R4      '       d   K#  VP                  R4      w  rE\         e   V\         9  d   KK  V3R lp\        \        RV,           V4       ????Ko  	  R\        3R\        33 FY  w  rxV'       g   K  \        VR,           \        \        P                  3RV/4      p	VP                  V P                  V	4      4       K[  	  \         f   ^ R	IHp
Hp \&        P(                  ! 4       P+                  4       o\        \        3 Fn  pV'       g   K  V3R
 lpV3V3R llpV\        J d   TM^ pV\,        P.                  R&   VP                  V
! WVVR7      4       \&        \,        P.                  R&   Kp  	  V# )Nz.decTestr  c                 :    V P                  \        V,           4      # r   )r   	directory)r   r   s   &&r   r  load_tests.<locals>.<lambda>:  s    $..Q*Gr&   test_r   Pyr8   r   )DocTestSuiteIGNORE_EXCEPTION_DETAILc                 B    V\         P                  R &   \        V4       R# r   N)rz  r  r3   )slfru  s   &&r   r   load_tests.<locals>.setUpK  s    ),I&S	r&   c                    < \         \        P                  R &   VP                  \        V,          P                  4       4       \         P                  ! SP                  4       4       R# r  )orig_sys_decimalrz  r  r0   ORIGINAL_CONTEXTrS   )r  ru  orig_contexts   &&r   r  load_tests.<locals>.tearDownN  sC    )9I&/499;< ++L,=,=,?@r&   )r   r  optionflags)
TODO_TESTS
suiteClassoslistdirr  r  r	  r[  r8   r   r
  r;  r   TestCaseaddTestloadTestsFromTestCasedoctestr  r  r  r  rS   rz  r  )r  testspatternr  headtailtesterprefixru  
test_classr  r  r   r  r  r  s   &&&            @r   
load_testsr/  -  s   !!# JJy)X%)<)<S)A)A^^C(
!d*&< (Ggnf5dD& * Qx$*&>1'):):;$c*,
 	f22:>? + A'22499;a4C"  #& A 69AX11K%(CKK	"MM,s(/:< =%5CKK	"  Lr&   c                  x    \        \        4       \        \        4       \        e	   \        sR # \	        R4      sR # )Nr   )r3   r   r
  ARITHr   r.  r   r&   r   setUpModuler2  Y  s$    GG)uH/B9/MHr&   c                     \         '       d3   \         P                  \        \         ,          P                  4       4       \        P                  \        \        ,          P                  4       4       \         '       g*   \
        P                  ! \        4      P                  R 4       \        \        P                  R,          J g   \        R4      hR# )z*C tests skipped: no module named _decimal.r   zGInternal error: unbalanced number of changes to sys.modules['decimal'].N)r   r0   r  rS   r
  logging	getLoggerr   warningr  rz  r  r   r   r&   r   tearDownModuler7  _  s    q!,,'*//1
2LL!!$))+,1(#++8	
 s{{955 3 4 	4 6r&   c                l    V s VsVs\        P                  ! \
        V'       d   ^M^R\
        .R7       R# )zvExecute the tests.

Runs all arithmetic tests if arith is True or if the "decimal" resource
is enabled in regrtest.py
F)	verbosityexitargvN)r1  r   r1  r   mainr   arithverbose
todo_testsdebugs   &&&&r   testrB  p  s+     EJEMM(7aXJWr&   z:test_decimal.py [--debug] [{--skip | test1 [test2 [...]]}]z--debugz-d
store_truez2shows the test number and context before each test)actionhelpz--skipz-sz%skip over 90% of the arithmetic tests)r>  r?  r=  )NNNN)rk  r4  r  r"  rz  rV  warningsr  rS   r   r  r  test.supportr   r   r   r   r   r   r   r	   test.support.import_helperr
   r   r   r/  r  r  r  rL  r   r
  r   r  
cfractionsr  
pfractionsr   
skipUnlessrequires_cdecimalrB  r  rU  r
  r/   r   r   r   r   r   r   r   r   r  r:  r%   r   r   r   r   r   r   r,   r   r  r  r3   TESTDATADIRr   r;  r   r  pathdirnamecurdirtestdirsepr  isdirr   r8  hasattrEXTRA_FUNCTIONALITYr6  skipIfskip_if_extra_functionalityr8   rq  r$  r  r  r  ra  rc  re  r!  r#  r%  rj  rl  r|  r  requires_working_threadingr  r  r  r  rs  ru  r  r  r  r  r  r  r  r  r  r  rO  rQ  rS  re  rg  ri  ru  rw  ry  r  r  r  r  r  r  r  r  r  r  r  r  r8  r  r/  r2  r7  r1  r.  r   r1  rB  optparseOptionParserrL  
add_option
parse_argsoptr  skiprA  r   r&   r   <module>r_     s  "         8 85 5 ; ) (     <<8n- 	*6	J<8 " ![MB
I  [MB
I z1Z(	)I ''+DE  1U1<<>$$&'$U1<<>$$&'  iiAIIq{{AKKjj!""A$6$6"&aiiAIIq{{AKKjj!""A$6$6	H ::\\
mm####\\
 J{/ aQ\\^TQ\\^ %  z88A;DD
''//$

,
,299bff{*RVV3	GGMM),,   &a66dE '22G I &oo46 a# a#L`< `<D  8(:K:K  !98;L;L K1 K1Z  8(:K:K  !98;L;L B9 B9H *h//  :x00 hA hAT	 68I8I   79J9J 
%'N*0Z ,,./( /( //(d ]H$5$5  mX%6%6 pE pEd ]H$5$5  
mX%6%6 
[H [Hz
 nh&7&7  ~x'8'8 WC WCr (9(9  ):): b bH 0(2C2C  183D3D I0 I0V L("3"3  \8#4#4 N N` (9(9  ):): <; <;| 4h6G6G  5x7H7H k. k.Z ,h.?.?  -x/@/@ %9 %9N L("3"3  \8#4#4  1h'' 1  1>F  F P (++  
8,, 
>h'' >0ZM"" ZMx)CX&& )CV \7!! \7 \7| DH%% D  DN*XN	4 	
X zZ[ALLD<pLqLLD<cLd,,.KS$
xxx5$'	4$ciiH4& r&   