
    (ph	                     *   S r SSKrSSKJr  SSKrSSKrS\S\SS4S jr	S\S\S\4S	 jr
S
/r\S:X  a`  \" S5        SSKr\" S5       H?  r\R"                  " 5       u  rr\(       a    O#\S-  S:X  d  M+  \(       d  M4  \" S\-  5        MA     \" S5        gg)zFunctions for parallel computation on multiple cores.

Introduced in Python-RSA 3.1.

.. note::

    Requires Python 2.6 or newer.

    N)
Connectionnbitspipereturnc                      [         R                  R                  U 5      n[         R                  R	                  U5      (       a  UR                  U5        g MW  )N)rsarandnumread_random_odd_intprimeis_primesend)r   r   integers      ?/var/www/html/venv/lib/python3.13/site-packages/rsa/parallel.py_find_primer       sD    
++11%8 99g&&IIg     poolsizec                    [         R                  " SS9u  p# [        U5       Vs/ s H  n[         R                  " [        X4S9PM     nnU H  nUR                  5         M     UR                  5       nUR                  5         UR                  5         U H  nUR                  5         M     U$ s  snf ! UR                  5         UR                  5         f = f)a%  Returns a prime number that can be stored in 'nbits' bits.

Works in multiple threads at the same time.

>>> p = getprime(128, 3)
>>> rsa.prime.is_prime(p-1)
False
>>> rsa.prime.is_prime(p)
True
>>> rsa.prime.is_prime(p+1)
False

>>> from rsa import common
>>> common.bit_size(p) == 128
True

F)duplex)targetargs)	mpPiperangeProcessr   startrecvclose	terminate)r   r   	pipe_recv	pipe_send_procspresults           r   getprimer%   *   s    &  WWE2Y	RWX`RabRaQ;e5GHRabAGGI  ! 	  M c 	s   B4 $B/	+B4 /B4 4"Cr%   __main__z'Running doctests 1000x or until failured   
   z%i timeszDoctests done)__doc__multiprocessingr   multiprocessing.connectionr   	rsa.primer   rsa.randnumintr   r%   __all____name__printdoctestr   counttestmodfailurestests r   r   <module>r8      s     1  s *  %C %3 %3 %P ,z	
34s#OO-52:?uu*u$%  
/ r   