
    Q%d                     R    d dl Z d dlZddlT ddlT ddZedk    r e             dS dS )    N   )*c                 L   | dk    rd nd  d           t          dt                      z             t          dt                      z             d t                      t	                      k    sJ d }d	 }fd
}d fd}fd}fd}t          d          }|                    |g           g k    sJ |                    |g                                           dk    sJ |	                    |g           dk    sJ t          |                    |t          g                               g k    sJ t          |                    |t          g                               g k    sJ |                    |g                                           g k    sJ t          |                    |t          g                                                               g k    sJ t          |                    |t          g                                                               g k    sJ |                    |d          }|                    d          dk    sJ t          |                    |t#          d                              t          t          |t#          d                              k    sJ |                    |t#          d                    }	t%          |	          dk    sJ t%          |	          dk    sJ t%          |	          dk    sJ  |             |                    |d          } ||fd           |                                J fd}
t          |                    |t#          ddd          d                    t          t          t&          t#          ddd                              k    sJ t)          |                    |t#          ddd                              t)          t          t&          t#          ddd                              k    sJ  |             |                    |t#          d          |
          } ||d             |                                            |             |                    |t#          dd          |
          } ||d            |                                D ]} d|            d            |                                D ]} d!|            |             |                    |t#          ddd          |
          } ||d"            |                                D ]} d#|           |                                D ]} d!|           |                                }|D ]} d$|           |D ]} d%|           |D ]} d&|           |                    |t#          d'd(d          |
          }t+          j        d           	 |                                D ]} d)|           n"# t.          t0          f$ r  d*           Y nw xY w|                    |t#          d'd(d          |
          }t+          j        d           	 |                                D ]} d)|           n"# t.          t0          f$ r  d*           Y nw xY w|                                 |                                 d S )+Nz-vc                      t          |   d S N)printxs    (lib/python3.11/site-packages/tbb/test.pysayztest.<locals>.say9   s    1IIII    c                      d S r    r	   s    r   r   ztest.<locals>.say<   s    Dr   zStart Pool testingzoneTBB version is %szoneTBB interface version is %sc                  2    t          j                    j        S r   )	threadingcurrent_threadidentr   r   r   <lambda>ztest.<locals>.<lambda>B   s    i.006 r   c                      dS )N*   r   r   r   r   return42ztest.<locals>.return42F   s    rr   c                     | | z  S r   r   r	   s    r   fztest.<locals>.fI   s    1ur   c                     t          |           }| dk     r|  }  d             | dz  fz             t          j        | dz              d             | dz  fz             |S )Nr   z[%d] Start to work for %fms...
   g      Y@z[%d] Work done (%fms).)strtimesleep)msecondsresget_tidr   s     r   workztest.<locals>.workL   s    (mma<< yH,		8B;/GGHHH
8D=!!!$		8B;'??@@@
r   c                      d             z             rt          j        d            d             z             | d k    rt          |           nd S )Nz[%d] Spin wait work start...g-C6?z[%d] Work done.)r   r   r   )paramr!   r   	spin_flags    r   timeout_workztest.<locals>.timeout_workW   su    *WWYY6777 	Jv  			)***"d]]s5zzz4r   c                      d d S )NTr   )r%   s   r   prepare_timeout_exceptionz'test.<locals>.prepare_timeout_exception^   s    			r   c                 n    	  ||            J d            # t           $ r  d           Y nw xY wdd S )NFzExpected exception !z%Good. Got expected timeout exception.)TimeoutError)pool_objectfuncr   r%   s     r   check_timeout_exceptionz%test.<locals>.check_timeout_exceptionb   sh    	1D 10000  	9 	9 	9C788888	9 			s    00   r   )r   r   timeoutd   r   r   r   c                 B     |                      d                    S )Nr   r/   get)resultr   s    r   r   ztest.<locals>.<lambda>   s    CC

1
8M8M4N4N r   c                 $     d| z             d S )NzResult ready: %sr   )sr   s    r   cbztest.<locals>.cb   s    "#####r      )	chunksize)callbackc                 .    |                      d          S Ng{Gz?r/   r3   r5   s    r   r   ztest.<locals>.<lambda>       FJJtJ4L4L r   c                 .    |                      d          S r>   r3   r?   s    r   r   ztest.<locals>.<lambda>   r@   r   zItem:z### Loop again:zItem2:c                 .    |                      d          S r>   r3   r?   s    r   r   ztest.<locals>.<lambda>   r@   r   zItem1:zItem3:zItem4:zItem5:   iz	Got item:zGood. Got expected exception)r   runtime_versionruntime_interface_versiondefault_num_threadsthis_task_arena_max_concurrencyPoolmapapply_asyncr4   applylistimapiterimap_unordered	map_async
imap_asyncimap_unordered_asyncrangenextr   sortedr   r   IOError
ValueError	terminatejoin)argr   r   r"   r&   r(   r-   poolr5   itr8   irr!   r   r%   s                @@@r   testr_   7   sO   
d{{	 	 	 		 	 	C	
 ?#4#4
4555	
*-F-H-H
HIII66G  $C$E$EEEEE          I5 5 5 5 5 5 5          77D 88Hb!!R''''Hb))--//25555::h##r))))		(DHH--.."4444##Hd2hh7788B>>>>>>(B''++--3333$r((337799::b@@@@))(DHH==AACCDDJJJJ a''F::a:  C''''E"II&&''4AuRyy0A0A+B+BBBBB	1eBii	 	 B88q====88q====88q==== lG44FF$N$N$N$NOOO::<<$ $ $ $ $ 		$b!R 0 0A	>>??4U2q"I I D  D          $%%dE"a,<,<==>>&U2q"J J C  C          ^^L%))b^AAFF$L$LMMMC

 __\5B<<"_EEFF$L$LMMMZZ\\  GQCZZ\\  Ha &&|U2q"5E5EPR&SSFF$L$LMMMZZ\\  HaZZ\\  Ha

A  Ha  Ha  Ha &&tU1c2->->&LLFJqMMM, 	  	 ACQ	 Z  , , ,*+++++, __T5C#4#4r_BBFJqMMM, 	  	 ACQ	 Z  , , ,*+++++, 	NNIIKKKKKs$   4#Y Y76Y76#[ [98[9__main__r   )r   r   apir[   r_   __name__r   r   r   <module>rc      sr   `             T T T Tl zDFFFFF r   