+
    Bi,<                         ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt Rt	^t
 ! R R4      t ! R R	]P                  4      t]R
8X  d   ]P                  ! 4        R# R# )    N)dedent)captured_stdout)captured_stderri@B c                   F   a  ] tR t^t o RtR	R ltR tR tR tR t	Rt
V tR# )
	FakeTimerg      E@c                D    ^ V n         ^ V n        Wn        V \        n        R# )r   N)countsetup_callsseconds_per_incrementtimeit_fake_timer)selfr   s   &&'/usr/lib/python3.14/test/test_timeit.py__init__FakeTimer.__init__   s    
#8"!    c                ^    V P                   V P                  V P                  ,          ,           # N)	BASE_TIMEr	   r   r   s   &r   __call__FakeTimer.__call__   s     ~~

T-G-G GGGr   c                8    V ;P                   ^,          un         R#    N)r	   r   s   &r   incFakeTimer.inc!   s    

a
r   c                8    V ;P                   ^,          un         R# r   )r
   r   s   &r   setupFakeTimer.setup$   s    Ar   c                    Wn         V # )z3Records 'timer' and returns self as callable timer.)saved_timer)r   timers   &&r   
wrap_timerFakeTimer.wrap_timer'   s     r   )r	   r"   r   r
   N)      ?)__name__
__module____qualname____firstlineno__r   r   r   r   r   r$   __static_attributes____classdictcell____classdict__s   @r   r   r      s)     I"H r   r   c                     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R8R ltR tR tR tR tR tR tR tR8R ltR tR tR tR tR tR tR tR t R t!R  t"R!t#R9R" lt$R# t%R$ t&R% t'R& t(R' t)R( t*R) t+R* t,R+ t-].P^                  ! ]0Pb                  Pd                  ^8  R,4      R- 4       t3R. t4R/ t5R0 t6R1 t7R2 t8R:R3 lt9R4 t:R5 t;R6 t<R7t=V t>R# );
TestTimeitc                8     \         =R #   \         d     R # i ; ir   )r   r   AttributeErrorr   s   &r   tearDownTestTimeit.tearDown.   s    	" 		s   
 c                    V P                  \        P                  ! R ^ 4      R 4       V P                  \        P                  ! R ^4      R 4       R# ) NassertEqualr   reindentr   s   &r   test_reindent_emptyTestTimeit.test_reindent_empty4   s8    Q/4Q/4r   c                    V P                  \        P                  ! R ^ 4      R 4       V P                  \        P                  ! R ^4      R 4       R# )passNr7   r   s   &r   test_reindent_singleTestTimeit.test_reindent_single8   s8    3V<3V<r   c                    V P                  \        P                  ! R ^ 4      R 4       V P                  \        P                  ! R ^4      R4       R# )z

z

    
    Nr7   r   s   &r   test_reindent_multi_empty$TestTimeit.test_reindent_multi_empty<   s8    3V<3^Dr   c                    V P                  \        P                  ! R ^ 4      R 4       V P                  \        P                  ! R ^4      R4       R# )zprint()
pass
breakzprint()
    pass
    breakNr7   r   s   &r   test_reindent_multiTestTimeit.test_reindent_multi@   sF    "A'"	$ 	"A'*	,r   c                   V P                  \        \        P                  R R7       V P                  \        \        P                  RR7       V P                  \        \        P                  RR7       V P                  \        \        P                  RR7       V P                  \        \        P                  RR7       V P                  \        \        P                  RR7       V P                  \        \        P                  RR7       V P                  \        \        P                  RR7       V P                  \        \        P                  R	R
R7       R # )Nstmtreturnyieldyield from ()breakcontinuefrom timeit import *  passzwhile False:
  passz  break)r   rH   assertRaises
ValueErrorr   TimerSyntaxErrorr   s   &r   test_timer_invalid_stmt"TestTimeit.test_timer_invalid_stmtH   s    *fll>+v||(C+v||'B+v||/J+v||'B+v||*E+v||:PQ+v||(C+v|| 6Y 	 	Hr   c                f   V P                  \        \        P                  R R7       V P                  \        \        P                  RR7       V P                  \        \        P                  RR7       V P                  \        \        P                  RR7       V P                  \        \        P                  RR7       V P                  \        \        P                  RR7       V P                  \        \        P                  RR7       V P                  \        \        P                  RR7       R # )	N)r   rI   rJ   rK   rL   rM   rN   rO   rP   r   s   &r   test_timer_invalid_setup#TestTimeit.test_timer_invalid_setupT   s    *fll$?+v||8D+v||7C+v||?K+v||7C+v||:F+v||;QR+v||8Dr   c                    \         P                  ! R R7       \         P                  ! RR7       \         P                  ! RR7       R# )r6   rG   z 
	z	# commentN)r   rS   r   s   &r   test_timer_empty_stmt TestTimeit.test_timer_empty_stmt^   s&    ")$+&r   z(import timeit
timeit._fake_timer.setup()z&import timeit
timeit._fake_timer.inc()c                :    V P                   P                  4        R # r   )
fake_timerr   r   s   &r   fake_callable_setupTestTimeit.fake_callable_setupf   s    r   c                :    V P                   P                  4        R # r   )r^   r   r   s   &r   fake_callable_stmtTestTimeit.fake_callable_stmti   s    r   Nc                j   \        4       V n        \        P                  ! WV P                  VR 7      p/ pVf   \        pMW6R&   VP                  ! R/ VB pV P                  V P                  P                  ^4       V P                  V P                  P                  V4       V P                  Ws4       R# ))rH   r   r#   globalsNnumber )r   r^   r   rS   DEFAULT_NUMBERr8   r
   r	   )r   rH   r   rf   re   tkwargs
delta_times   &&&&&   r   r   TestTimeit.timeitl   s    #+LLdt!>#F%8XX''
44a8..7,r   c                V    V P                  V P                  V P                  ^ R7       R# r   rf   Nr   	fake_stmt
fake_setupr   s   &r   test_timeit_zero_iters!TestTimeit.test_timeit_zero_iters~       DNNDOOA>r   c                V    V P                  V P                  V P                  ^R7       R#    ro   Nrp   r   s   &r   test_timeit_few_iters TestTimeit.test_timeit_few_iters   ru   r   c                V    V P                  V P                  V P                  ^R7       R# rw   )r   rb   rr   r   s   &r   test_timeit_callable_stmt$TestTimeit.test_timeit_callable_stmt   s    D++T__QGr   c                V    V P                  V P                  V P                  ^R7       R# rw   )r   rq   r_   r   s   &r   test_timeit_callable_setup%TestTimeit.test_timeit_callable_setup   s    DNND$<$<QGr   c                V    V P                  V P                  V P                  ^R7       R# rw   )r   rb   r_   r   s   &r   #test_timeit_callable_stmt_and_setup.TestTimeit.test_timeit_callable_stmt_and_setup   s&    D++(( 	 	4r   c                    \         P                   ! V P                  V P                  ^ \        4       R7      pV P	                  V^ 4       R# )r   rf   r#   N)r   rq   rr   r   r8   )r   rk   s   & r   test_timeit_function_zero_iters*TestTimeit.test_timeit_function_zero_iters   s3    ]]4>>4??1k#
Q'r   c                :   \        4       s\        P                  ! R \        R7      pV P	                  \
        VP                  ^R7       \        P                  ! R \        \        4       ^R7       \        4       p\        P                  ! RV\        4       ^R7       R# )z_global_timer.inc())rH   r#   ro   )rH   r#   re   rf   zlocal_timer.inc()N)r   _global_timerr   rS   rQ   	NameErrorre   locals)r   ri   local_timers   &  r   test_timeit_globals_args#TestTimeit.test_timeit_globals_args   sj    !LL3=I)QXXa80%i	3k.k$hq	2r   c                   \        4       V n        \        P                  ! WV P                  R 7      p/ pVf   \        pMW6R&   Vf   \
        pMWFR&   VP                  ! R/ VB pV P                  V P                  P                  V4       V P                  V P                  P                  W4,          4       V P                  Ws\        V4      .,          4       R# )rH   r   r#   Nrepeatrf   rg   )r   r^   r   rS   DEFAULT_REPEATrh   r   r8   r
   r	   float)r   rH   r   r   rf   ri   rj   delta_timess   &&&&&   r   r   TestTimeit.repeat   s    #+LLdtG>#F%8>#F%8hh((44f=..@f&>?r   c                V    V P                  V P                  V P                  ^ R7       R# )r   )r   Nr   rq   rr   r   s   &r   test_repeat_zero_reps TestTimeit.test_repeat_zero_reps   ru   r   c                V    V P                  V P                  V P                  ^ R7       R# rn   r   r   s   &r   test_repeat_zero_iters!TestTimeit.test_repeat_zero_iters   ru   r   c                X    V P                  V P                  V P                  ^^R7       R# rx   )r   rf   Nr   r   s   &r   test_repeat_few_reps_and_iters)TestTimeit.test_repeat_few_reps_and_iters   s    DNNDOOAaHr   c                X    V P                  V P                  V P                  ^^R7       R# r   )r   rb   rr   r   s   &r   test_repeat_callable_stmt$TestTimeit.test_repeat_callable_stmt   s&    D++T__ 	 	$r   c                X    V P                  V P                  V P                  ^^R7       R# r   )r   rq   r_   r   s   &r   test_repeat_callable_setup%TestTimeit.test_repeat_callable_setup   s&    DNND$<$< 	 	$r   c                X    V P                  V P                  V P                  ^^R7       R# r   )r   rb   r_   r   s   &r   #test_repeat_callable_stmt_and_setup.TestTimeit.test_repeat_callable_stmt_and_setup   s(    D++T-E-E 	 	$r   c                    \         P                  ! V P                  V P                  ^ \	        4       R7      pV P                  V. 4       R# )r   )r   r#   N)r   r   rq   rr   r   r8   r   r   s   & r   test_repeat_function_zero_reps)TestTimeit.test_repeat_function_zero_reps   s3    mmDNNDOOAk#b)r   c                    \         P                  ! V P                  V P                  ^ \	        4       R7      pV P                  V\        R.,          4       R# )r   r   g        N)r   r   rq   rr   r   r8   r   r   s   & r   test_repeat_function_zero_iters*TestTimeit.test_repeat_function_zero_iters   s:    mmDNNDOOAk#nu&<=r   c                    VP                  4       pV P                  \        V4      ^4       V P                  V^ ,          R4       V P                  VR,          V4       R# )   	TracebackN)
splitlinesassertGreaterlenassertStartsWith)r   
exc_stringexpected_exc_name	exc_liness   &&& r   assert_exc_stringTestTimeit.assert_exc_string   sM    ))+	3y>1-ilK8im->?r   c                    \         P                  ! 4       p\        P                  ! R 4      p VP                  4        T P                  TP                  4       R4       R#    TP	                  T4        L7; i)1/0ZeroDivisionErrorN)ioStringIOr   rS   	print_excr   getvalue)r   sri   s   &  r   test_print_excTestTimeit.test_print_exc   sT    KKMLL	HHJ 	qzz|-@A	KKNs   A A4z"1 loop, best of 5: 1 sec per loop
c                   Vf   \        VR7      pVf   . pM	VR,          pVP                  V P                  4       \        P                  R,          p\        4       ;_uu_ 4       p\        P                  ! WCP                  R7       R R R 4       VR,          \        P                  R&   XP                  4       #   + '       g   i     L:; i)Nr   :NNN)args_wrap_timer)
r   appendrq   syspathr   r   mainr$   r   )r   r   switchesr#   r   orig_sys_pathr   s   &&&&   r   run_mainTestTimeit.run_main   s    =4IJEDA;DDNN#!KKT/?/?@ #A&zz| s   %"B99C		c                b    V P                  R .R7      pV P                  V\        R4      4       R# )z--bad-switchr   zk            option --bad-switch not recognized
            use -h/--help for command line help
            Nr   r8   r   r   r   s   & r   test_main_bad_switchTestTimeit.test_main_bad_switch   s1    MMN#3M4F $  	r   c                N    V P                  R R7      pV P                  VR4       R# )g      @r   z$1 loop, best of 5: 5.5 sec per loop
Nr   r8   r   s   & r   test_main_secondsTestTimeit.test_main_seconds  s#    MMM4CDr   c                N    V P                  R R7      pV P                  VR4       R# )gI+v?r   z'50 loops, best of 5: 5.5 msec per loop
Nr   r   s   & r   test_main_milliseconds!TestTimeit.test_main_milliseconds	  s#    MMM7FGr   c                R    V P                  R R.R7      pV P                  VR4       R# )gh㈵>z-n100r   r   z(100 loops, best of 5: 2.5 usec per loop
Nr   r   s   & r   test_main_microseconds!TestTimeit.test_main_microseconds  s'    MM	WIMNGHr   c                R    V P                  R R.R7      pV P                  VR4       R# )       @-n35r   $35 loops, best of 5: 2 sec per loop
Nr   r   s   & r   test_main_fixed_iters TestTimeit.test_main_fixed_iters  s'    MMvhMGCDr   c                x    V P                  R . ROR7      pV P                  VR\        ,          R,           4       R# )r   r   CustomSetup
r   N)r   -szprint("CustomSetup")r   r8   r   r   s   & r   test_main_setupTestTimeit.test_main_setup  s:    MM?  AOn<78 	9r   c                x    V P                  R . ROR7      pV P                  VR\        ,          R,           4       R# )r   r   r   r   N)r   r   za = "CustomSetup"r   zprint(a)r   r   s   & r   test_main_multiple_setups$TestTimeit.test_main_multiple_setups  s:    MMN  POn<78 	9r   c                R    V P                  R R.R7      pV P                  VR4       R# )      N@z-r9r   z#1 loop, best of 9: 60 sec per loop
Nr   r   s   & r   test_main_fixed_repsTestTimeit.test_main_fixed_reps!  s'    MMwMGBCr   c                R    V P                  R R.R7      pV P                  VR4       R# )r   z-r-5r   z#1 loop, best of 1: 60 sec per loop
Nr   r   s   & r   test_main_negative_reps"TestTimeit.test_main_negative_reps%  s'    MMxMHBCr   zneed __doc__c                l    V P                  R .R7      pV P                  V\        P                  4       R# )z-hr   N)r   r8   r   __doc__r   s   & r   test_main_helpTestTimeit.test_main_help)  s(    MMD6M*FNN+r   c                b    V P                  R .R7      pV P                  V\        R4      4       R# )z-vr   z                1 loop -> 1 secs

                raw times: 1 sec, 1 sec, 1 sec, 1 sec, 1 sec

                1 loop, best of 5: 1 sec per loop
            Nr   r   s   & r   test_main_verboseTestTimeit.test_main_verbose.  s0    MMD6M*F $  	r   c                d    V P                  R R.R7      pV P                  V\        R4      4       R# )giUMu>z-vvr   a                  1 loop -> 3e-05 secs
                2 loops -> 6e-05 secs
                5 loops -> 0.00015 secs
                10 loops -> 0.0003 secs
                20 loops -> 0.0006 secs
                50 loops -> 0.0015 secs
                100 loops -> 0.003 secs
                200 loops -> 0.006 secs
                500 loops -> 0.015 secs
                1000 loops -> 0.03 secs
                2000 loops -> 0.06 secs
                5000 loops -> 0.15 secs
                10000 loops -> 0.3 secs

                raw times: 300 msec, 300 msec, 300 msec, 300 msec, 300 msec

                10000 loops, best of 5: 30 usec per loop
            Nr   r   s   & r   test_main_very_verbose!TestTimeit.test_main_very_verbose8  s2    MM	UGMLF $  	r   c                   V P                  R RR.R7      pV P                  VR4       V P                  R RR.R7      pV P                  VR4       V P                  R RR.R7      pV P                  VR4       \        4       ;_uu_ 4       pV P                  R RR	.R7      pR
R
R
4       V P                  XP                  4       R4       R
#   + '       g   i     L2; i)g~jth?z-usecr   z)100 loops, best of 5: 0.003 sec per loop
msecz&100 loops, best of 5: 3 msec per loop
usecz*100 loops, best of 5: 3e+03 usec per loop
parsecNz;Unrecognized unit. Please select nsec, usec, msec, or sec.
)r   r8   r   r   )r   unit_sec	unit_msec	unit_usecerror_stringioinvalids   &     r   test_main_with_time_unit#TestTimeit.test_main_with_time_unitN  s    ==u ! (<	>MM " )	9	;MM " )	=	? .mm%"H- $ /G  	002R	T s   CC	c                    \        4       ;_uu_ 4       pV P                  R .R7      pRRR4       V P                  XP                  4       R4       R#   + '       g   i     L2; i)r   r   Nr   r   r   r   r   r   r  r   s   &  r   test_main_exceptionTestTimeit.test_main_exceptionb  sG    .w/A ~668:MN s   AA!	c                    \        4       ;_uu_ 4       pV P                  R R.R7      pRRR4       V P                  XP                  4       R4       R#   + '       g   i     L2; i)z-n1r   r   Nr   r  r  s   &  r   test_main_exception_fixed_reps)TestTimeit.test_main_exception_fixed_repsg  sI    .u~6A ~668:MN s   AA"	c                    \        VR 7      p\        P                  ! V P                  V P                  VR7      pVP                  V4      # )r   r   )r   r   rS   rq   rr   	autorange)r   r   callbackr#   ri   s   &&&  r   r  TestTimeit.autorangel  s6    0EFLLdnnDOO5Q{{8$$r   c                r    V P                  4       w  rV P                  VR 4       V P                  VR4       R# )  N     @?r  r8   r   	num_loops
time_takens   &  r   test_autorangeTestTimeit.test_autorangeq  s1     $ 0	C(X.r   c                v    V P                  R R7      w  rV P                  V^4       V P                  VR 4       R# )r&   r   Nr   r!  s   &  r   test_autorange_second TestTimeit.test_autorange_secondv  s5     $S I	A&S)r   c                   R  p\        4       ;_uu_ 4       pV P                  VR7      w  r4RRR4       V P                  XR4       V P                  XR4       RpV P                  XP                  4       V4       R#   + '       g   i     LX; i)c                 :    \        R P                  W4      4       R# )z	{} {:.3f}N)printformat)abs   &&r   r  9TestTimeit.test_autorange_with_callback.<locals>.callback|  s    +$$Q*+r   )r  Nr  zQ1 0.001
2 0.002
5 0.005
10 0.010
20 0.020
50 0.049
100 0.098
200 0.195
500 0.488
r  )r   r  r8   r   )r   r  r   r"  r#  expecteds   &     r   test_autorange_with_callback'TestTimeit.test_autorange_with_callback{  sr    	,!$(NNHN$E!I C(X." 	x0 s   A;;B	)r^   )NN)r&   NN)g      P?N)?r'   r(   r)   r*   r3   r:   r>   rA   rD   rU   rX   r[   rr   rq   r_   rb   r   rs   ry   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   MAIN_DEFAULT_OUTPUTr   r   r   r   r   r   r   r   r   r   unittestskipIfr   flagsoptimizer   r   r  r  r  r  r  r$  r'  r1  r+   r,   r-   s   @r   r0   r0   ,   sO    5=E,
HE'
 =J9I -$??HH4(
	2@*??I$$$*
>
@B @EHIE99DD __SYY''1,n=, >,,T(O
O
%
/
*
1 1r   r0   __main__)r   r4  r   r   textwrapr   test.supportr   r   rh   r   r   TestCaser0   r'   r   rg   r   r   <module>r<     s_      
 	  ( (   ,_1"" _1D zMMO r   