Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_random.cpython-312.opt-1.pyc

�

'Μg����z�ddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZm
Z
mZmZmZmZddlmZddlmZddlmZmZGd�d�Z	ej2�j�d	Zej8ed�Gd�d
eej:��ZGd�dej:�ZGd�deej:�Z dezdzfd�Z!Gd�dej:�Z"Gd�dej:�Z#Gd�dej:�Z$e%dk(rejL�yy#e$rd
ZY��wxYw)�N)�partial)�log�exp�pi�fsum�sin�	factorial)�support)�Fraction)�abc�Counterc���eZdZd�Zd�Zd�Zd�Zd�Zejjd�d��Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!y)�TestBasicOpsc�n�t|�D�cgc]}|jj���c}Scc}w)z0Helper function to make a list of random numbers)�range�gen�random)�self�n�is   �-/usr/local/lib/python3.12/test/test_random.py�
randomlistzTestBasicOps.randomlists)��+0��8�4�8�a������!�8�4�4��4s�!2c�"�|jj�|jj�}tjd�|jj�|jj�}|j||�y)N皙�����?)r�seed�getstate�time�sleep�assertNotEqual)r�state1�state2s   r�
test_autoseedzTestBasicOps.test_autoseeds[�����
�
�����"�"�$���
�
�3�����
�
�����"�"�$�����F�F�+�c�
�d}|jj�|jj�}|j|�}|jj	|�|j||j|��y)N��)rrrr�setstate�assertEqual)r�N�state�randseqs    r�test_saverestorezTestBasicOps.test_saverestore!s_�������
�
�����!�!�#���/�/�!�$�������%� �����$�/�/�!�"4�5r#c�p�Gd�dt�}dD]}|jj|��dtd�|�fD];}|j	t
�5|jj|�ddd��=t
td��td��fD]-}|j	t
|jj|��/|j	t
|jjdd	dd
�|j	t
t|j�g�y#1swY��xYw)Nc��eZdZd�Zy)�*TestBasicOps.test_seedargs.<locals>.MySeedc��y)Ni?�����rs r�__hash__z3TestBasicOps.test_seedargs.<locals>.MySeed.__hash__,s��r#N)�__name__�
__module__�__qualname__r2r0r#r�MySeedr.+s��
r#r6)
Nr����l F�x:^V��� F�x:^VFT���Q�	@�ay�?@r�r7)�one��)
�objectrr�tuple�assertRaises�	TypeError�listr�dict�type)rr6�args   r�
test_seedargszTestBasicOps.test_seedargs)s���	�V�	�,�C��H�H�M�M�#��,��%��,���1�C��"�"�9�-����
�
�c�"�.�-�2���q��N�D�Q�K�0�C����i�������<�1����)�T�X�X�]�]�A�q�!�Q�?����)�T�$�(�(�^�R�8�
.�-�s�D,�,D5	c��td�}|jj|�|j|td��y)Ns1234)�	bytearrayrrr')rr;s  r�test_seed_no_mutate_bug_44018z*TestBasicOps.test_seed_no_mutate_bug_44018;s1���g������
�
�a������I�g�.�/r#zrandom._urandomc�:�t|_|j�y�N)�NotImplementedError�side_effectrH)r�urandom_mocks  r�*test_seed_when_randomness_source_not_foundz7TestBasicOps.test_seed_when_randomness_source_not_found@s��$7�� ����r#c�$�|jj}g}||�|j|g�dg}||�|j|dg�td�D�cgc]}t	t|����}}td�D�cgc]}t	t|����}}|D]
}||��t||�D]M\}}|jt
|�t
|��|jt|�t|���Ot	td��}t	td��}||�|j||k7�||�|j||k7�|jt|d�ycc}wcc}w)N�%�
r%�r7r>r<)r�shuffler'rrD�zip�len�set�
assertTruerBrC)	rrV�lstr�seqs�
shuffled_seqs�shuffled_seq�seq�shuffled_lsts	         r�test_shufflezTestBasicOps.test_shuffleJsP���(�(�"�"�����������b�!��d���������r�d�#�(-�b�	�2�	�1��U�1�X��	��2�16�r��;��A��e�A�h���
�;�)�L��L�!�*�#&�t�]�#;��S�,����S��X�s�<�'8�9����S��X�s�<�'8�9�$<��5��;����E�$�K�(���������|�+�,��������|�+�,����)�W�i�8��/3��;s�F�F
c��|jj}|jt�5|g�ddd�|j	|dg�d�|j|ddg�ddg�y#1swY�?xYw)N�2��K)r�choicerB�
IndexErrorr'�assertIn)rrfs  r�test_choicezTestBasicOps.test_choiceksc��������
�
�
�z�
*��2�J�+��������r�*��
�
�f�b�"�X�&��R��1�+�
*�s�	A3�3A<c�@�|jj}Gd�dt�}|jt�5||g��ddd�|j||dg��d�|j
||ddg��ddg�y#1swY�KxYw)Nc��eZdZdZd�Zy)�/TestBasicOps.test_choice_with_numpy.<locals>.NAzSimulate numpy.array() behaviorc��t�rM)�RuntimeErrorr1s r�__bool__z8TestBasicOps.test_choice_with_numpy.<locals>.NA.__bool__ys��"�"r#N)r3r4r5�__doc__ror0r#r�NArlws
��-�
#r#rqrcrdre)rrfrDrBrgr'rh)rrfrqs   r�test_choice_with_numpyz#TestBasicOps.test_choice_with_numpyrs���������	#��	#�
�
�
�z�
*��2�b�6�N�+������B�4��)�2�.��
�
�f�R��R��\�*�R��H�5�+�
*�s�B�Bc�F�d}t|�}t|dz�D]|}|jj||�}|jt	|�|�t|�}|jt	|�|�|j
|t|�k��~|j|jjgd�g�|jt|jj||dz�|jt|jjgd�y)N�dr7rr8)	rr�sampler'rXrYrZrB�
ValueError)rr(�
population�k�s�uniqs      r�test_samplezTestBasicOps.test_sample�s���
���1�X�
��q��s��A������
�A�.�A����S��V�Q�'��q�6�D����S��Y��*��O�O�D�C�
�O�3�4��	
���������Q�/��4����*�d�h�h�o�o�z�1�Q�3�G����*�d�h�h�o�o�r�2�>r#c
�*�d}t|�}d}t|�D]v}t|�t||z
�z}i}t|�D]:}d|t|jj	||��<t|�|k(s�:�f|j
��xy)N��')rr	rArrurX�fail)rr�pop�trialsrx�expected�permsrs        r�test_sample_distributionz%TestBasicOps.test_sample_distribution�s���
���A�h�����q��A� ��|�y��1��~�5�H��E��6�]��8<��e�D�H�H�O�O�C��3�4�5��u�:��)��#�
�	�	��r#c�,�|jjtd�d�|jjtd�d�|jjtd�d�|jjt	d�d�y)N�r>�abcdefghijklmnopqrst)rrur�strrAr1s r�test_sample_inputszTestBasicOps.test_sample_inputs�s^��������b�	�1�%�������b�	�1�%�������2�3�Q�7�������4�5�q�9r#c��|jt|jjtjd�d�y)N�abcdefr>)rBrCrrurE�fromkeysr1s r�test_sample_on_dictsz!TestBasicOps.test_sample_on_dicts�s'�����)�T�X�X�_�_�d�m�m�H�6M�q�Qr#c��|jt�5hd�}|jj|d��ddd�y#1swYyxYw)N>rTr���(rc�<�Fr}�rx)rBrCrru)rrws  r�test_sample_on_setsz TestBasicOps.test_sample_on_sets�s5��
�
�
�y�
)�5�J��H�H�O�O�J�!�O�,�*�
)�
)�s�"A�A
c�(�Gd�dtjtj�}|gd��}tj�5tj
dt�|jj|d��ddd�y#1swYyxYw)Nc��eZdZd�Zd�Zd�Zy)�3TestBasicOps.test_sample_on_seqsets.<locals>.SeqSetc��||_yrM��_items)r�itemss  r�__init__z<TestBasicOps.test_sample_on_seqsets.<locals>.SeqSet.__init__�s	��#��r#c�,�t|j�SrM)rXr�r1s r�__len__z;TestBasicOps.test_sample_on_seqsets.<locals>.SeqSet.__len__�s���4�;�;�'�'r#c� �|j|SrMr�)r�indexs  r�__getitem__z?TestBasicOps.test_sample_on_seqsets.<locals>.SeqSet.__getitem__�s���{�{�5�)�)r#N)r3r4r5r�r�r�r0r#r�SeqSetr��s��
$�
(�
*r#r�)r>r?r7r<�errorr>r�)	r�Sequence�Set�warnings�catch_warnings�simplefilter�DeprecationWarningrru)rr�rws   r�test_sample_on_seqsetsz#TestBasicOps.test_sample_on_seqsets�sa��	*�S�\�\�3�7�7�	*��L�)�
�
�
$�
$�
&��!�!�'�+=�>��H�H�O�O�J�!�O�,�'�
&�
&�s�8B�Bc���|jj}gd�}gd�}d}t||||���}|jt	|j��|�t
||�D]\}}|j|||��|jd|�t	|�}t||||���}|jt	|j��|�t
||�D]\}}|j|||��|jd|�t|dgdgd���}|j|td�	��t|�}t||dg|zd|z���}|j|td|z��|jt�5|gd
�dd��ddd�|jt�5|gd
�gd�d��ddd�|jt�5|gd
�gd
�d��ddd�|jt�5|ddgddgd��ddd�|jt�5|gd
�ddgd��ddd�|jt�5|gd
�gd�d��ddd�y#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY�gxYw#1swYyxYw)N)�red�green�blue�orange�black�brown�amber)����r�rTr}rr7���countsrxr��xrT�)r�)r�r�r�)���i����i����r>)rrrr�r��r7)r7r>r<r?)
rrur
r'�sum�valuesrW�assertLessEqual�assertNotInrXrBrCrv)	rru�colorsr�rx�summary�color�weight�ncs	         r�test_sample_with_countsz$TestBasicOps.test_sample_with_counts�sg��������O��N�����&���!�<�=������W�^�^�-�.��2� ���0�M�E�6�� � �����8�1�����'�*�
��K���&���!�<�=������W�^�^�-�.��2� ���0�M�E�6�� � �����8�1�����'�*��&�#���t�q�9�:������'�A�,�/���[���&����R��2�b�5�A�B������'�"�V�)�"4�5��
�
�y�
)��+�B�"�=�*�
�
�
�z�
*��+�L�A�F�+�
�
�
�z�
*��+�I��C�+�
�
�
�z�
*��E�7�#�R��H��;�+�
�
�
�z�
*��+�Q��F�a�@�+�
�
�
�z�
*��+�L�A�F�+�
*�*�
)��
*�
*��
*�
*��
*�
*��
*�
*��
*�
*�sH�'J�J+�?J7�,K�K�K�J(�+J4�7K�K�K�K$c
���|jj}gd�}d}td�}ttd��}||d��||td�d��|d|td���|d|td���fD]b}|j	t|�d�|j	t
|�t�|jt|�t|�k��d|jt�5|d�ddd�|j	||d	��g�|j	||d
��g�|jt�5||d��ddd�|jt||d���t|�k�|jt||d���t|�k�|jt�5||d��ddd�|jt||dd���t|�k�|jt||dd���t|�k�|jt�5||d
dgd��ddd�|jt�5||dd��ddd�|jt�5||dgdzd��ddd�gd�gd�td
d�tdd�tdd�tdd�ggd�fD]1}|jt|||d���t|�k��3|jt�5||d
dgd��ddd�|jt�5||dd��ddd�|jt�5||dgdzd��ddd�|jt�5||td�td�d��ddd�gd�gd�td
d�tdd�tdd�tdd�gfD]1}|jt|||d���t|�k��3|j	|dgd��dg�|j	|dgd��dg�|j	|dgd��dg�|j	|dgd��dg�|jt�5|gd
��ddd�|jt�5|ggd
��ddd�|jt�5|ggd��ddd�y#1swY��FxYw#1swY���xYw#1swY���xYw#1swY��xYw#1swY���xYw#1swY���xYw#1swY��>xYw#1swY��"xYw#1swY��xYw#1swY���xYw#1swY��xYw#1swY��xYw#1swYyxYw)N)r�r�r��yellow�abcdr?r}r�)rxrw�weights)rxrw�cum_weightsr>rr8g@)r�rxr7rT)�rTrdr�)g333333.@gffffff$@g3333339@g�����L>@r<�)TFTF�r�rx)r7rrrr;)rr7rr�b)rrr7r�c)rrrr7�d)r�choicesrrYr'rXrFrDrZrBrCrvrrg)rr��data�str_data�
range_data�set_datarur�s        r�test_choiceszTestBasicOps.test_choices�s����(�(�"�"��1�����1�X�
��u�Q�x�=��
�D�A���D�%��(�a�(��a�D�%��(�;��a�D�e�A�h�?�	
�F�
���S��[�!�,����T�&�\�4�0��O�O�C��K�3�t�9�4�5�
��
�
�y�
)��A�J�*�	
������+�R�0�������,�b�1�
�
�
�y�
)��D�C� �*�	
����G�H��2�3�s�8�}�D�E�����G�J�!�4�5��Z��H�I�
�
�
�y�
)��H��"�*�	
����G�D�$�!�4�5��T��B�C�����G�D�$�!�<�=��T��J�K�
�
�
�z�
*��D�1�Q�%�1�%�+�
�
�
�y�
)��D�"��"�*�
�
�
�y�
)��D�4�&��(�a�(�*�!�(��!�Q���!�Q���!�Q���!�Q��P�*�	
�G�
�O�O�C���g�� ;�<��D�	�I�J�

��
�
�z�
*��D�q��e�q�1�+�
�
�
�y�
)��D�b�A�.�*�
�
�
�y�
)��D�t�f�Q�h�!�4�*�
�
�
�y�
)��D�%��(��a��A�>�*�!�(��!�Q���!�Q���!�Q���!�Q��P�
�G�

�O�O�C���'�Q� G�H�C�PT�I�U�V�
�	
������6���>�������6���>�������6���>�������6���>��
�
�z�
*��B�!��+�
�
�
�z�
*��B��a�(�+�
�
�
�z�
*��B�B�!�,�+�
*�o*�
)��
*�
)��
*�
)��
+�
*��
)�
)��
)�
)��+�
*��
)�
)��
)�
)��
)�
)�� +�
*��
*�
*��
*�
*�s��:	U�U�U!�U.�	U;�2V�V�6V"�V/�V<�!W	�	W�2W!�U�U�!U+�.U8�;V�V�V�"V,�/V9�<W�	W�W�!W*c�N�|jj}|ddgddgd��y)Nr7r>g�)rwr�rx)rr�)rr�s  r�test_choices_subnormalz#TestBasicOps.test_choices_subnormal9s(��
�(�(�"�"���A�q�6�F�F�+;�t�Dr#c��|jt�5|jjdddg�ddd�y#1swYyxYw)N�AB��rBrvrr�r1s r�"test_choices_with_all_zero_weightsz/TestBasicOps.test_choices_with_all_zero_weightsAs4��
�
�
�z�
*��H�H���T�C��:�.�+�
*�
*��	�>�Ac��|jt�5|jjdgd��ddd�y#1swYyxYw)N�ABC)r<���r7r�r1s r�test_choices_negative_totalz(TestBasicOps.test_choices_negative_totalFs0��
�
�
�z�
*��H�H���U�J�/�+�
*�
*�r�c�B�|jt�5|jjdt	d�g�ddd�|jt�5|jjddt	d�g�ddd�|jt�5|jjdt	d�dg�ddd�|jt�5|jjddt	d�g�ddd�|jt�5|jjdt	d�t	d�g�ddd�y#1swY��)xYw#1swY��xYw#1swY��xYw#1swY�}xYw#1swYyxYw)N�A�infr�r��{�nanz-inf)rBrvrr��floatr1s r�test_choices_infinite_totalz(TestBasicOps.test_choices_infinite_totalJs��
�
�
�z�
*��H�H���S�5��<�.�1�+�
�
�
�z�
*��H�H���T�C��u��#6�7�+�
�
�
�z�
*��H�H���T�U�5�\�M�3�#7�8�+�
�
�
�z�
*��H�H���T�C��u��#6�7�+�
�
�
�z�
*��H�H���T�E�&�M�5��<�#@�A�+�
*�+�
*��
*�
*��
*�
*��
*�
*��
*�
*�s;�'E$�(E1�)E=�%(F	�*1F�$E.�1E:�=F�	F�Fc��dD]�}|jj|�|jj�}|jjdd�}|jj|�|jj�}|jjdd�}|j	||�|j	||���y)N)r7�r�i�i90i@�i�	rr7)rrr�gaussr')rr�x1�y1�x2�y2s      r�
test_gausszTestBasicOps.test_gaussVs���
<�D��H�H�M�M�$�������"�B�������1�%�B��H�H�M�M�$�������"�B�������1�%�B����R��$����R��$�<r#c�.�tdd�D]=}|jd|jj|�cxkxrd|zknc��?|j	|jjd�d�|jj}dD]W}d|zdz
}d}d}td�D]}||�}||z}|||zz}�|j	||�|j	||��Y|jt|jj�|jt|jjdd�|jt|jjd�|jt|jjd�y)	Nr7r%rr>)r7r>r<r?�� r��4�5�6�w���rtr8g333333$@)rrZr�getrandbitsr'rBrCrv)	rrx�getbits�span�all_bits�cum�cpl_cumr�vs	         r�test_getrandbitszTestBasicOps.test_getrandbitsgsO���q�$��A��O�O�A����!5�!5�a�!8�?�1�a�4�?�@� �������-�-�a�0�!�4��(�(�&�&��L�D��$�w�q�y�H��C��G��3�Z���D�M���q����8�a�<�'�� �
���S�(�+����W�h�/�M�	
���)�T�X�X�%9�%9�:����)�T�X�X�%9�%9�1�a�@����*�d�h�h�&:�&:�B�?����)�T�X�X�%9�%9�4�@r#c��ttjdz�D]�}tj|j|�}td�D�cgc]}|jj���}}tj|�}td�D�cgc]}|j���}}|j||���ycc}wcc}w)Nr7rT)r�pickle�HIGHEST_PROTOCOL�dumpsrr�loadsr')r�protor)r�origseq�newgen�restoredseqs       r�
test_picklingzTestBasicOps.test_pickling�s����6�2�2�Q�6�7�E��L�L����5�1�E�27��)�<�)�Q�t�x�x���(�)�G�<��\�\�%�(�F�49�"�I�>�I�q�6�=�=�?�I�K�>����W�k�2�8��<��>s�
!C�Cc�
�gd�}|D]n\}}ttj|�d�5}tj|�}ddd�|jt
j�dz�|��py#1swY�8xYw)N))z
randv2_32.pcki)z
randv2_64.pckib)z
randv3.pckiW�rbr%)�openr
�findfiler�loadr'�intr)r�files�file�value�f�rs      r�test_bug_1727780zTestBasicOps.test_bug_1727780�sh��&��!�K�D�%��g�&�&�t�,�T�2�a��K�K��N��3����S�����D��1�5�9�!�2�2�s�A9�9B	c���d}|jj�t�fd�t|�D��}|j	d||zcxkxrdknc||z�y)N順c3�:�K�|]}�d�dzdk(���y�w)l�r<r>Nr0)�.0r�	randranges  �r�	<genexpr>z-TestBasicOps.test_bug_9025.<locals>.<genexpr>�s"�����G�h��	�*�+�a�/�1�4�h�s��333333�?g�G�z��?)rrr�rrZ)rrrxrs   @r�
test_bug_9025zTestBasicOps.test_bug_9025�sM���
���H�H�&�&�	��G�e�A�h�G�G������q��s�(�S�(�1�Q�3�0r#c�~�tdd�D]W}|jj|�}|jt	|�t
�|jt
|�|��Y|j|jjd�d�|jt|jj�|jt|jjdd�|jt|jjd�|jt|jjd�y)Nr7rTrr#r>r8��?)
rr�	randbytesr'rF�bytesrXrBrCrv)rrr�s   r�test_randbyteszTestBasicOps.test_randbytes�s����q�"��A��8�8�%�%�a�(�D����T�$�Z��/����S��Y��*��
	
������+�+�A�.��4�	
���)�T�X�X�%7�%7�8����)�T�X�X�%7�%7��A�>����*�d�h�h�&8�&8�"�=����)�T�X�X�%7�%7��=r#c��|j|jj�t�|j|jj	�t�yrM)�assertIsInstancer�
normalvariater�r�r1s r�test_mu_sigma_default_argsz'TestBasicOps.test_mu_sigma_default_args�s:�����d�h�h�4�4�6��>����d�h�h�n�n�.��6r#N)"r3r4r5rr"r+rHrK�unittest�mock�patchrQrarirrr{r�r�r�r�r�r�r�r�r�r�r�r�rrrr"r'r+r0r#rrrs���
5�,�6�9�$0�
�]�]���*�+��,��9�B2�
6�?� � :�R�-�
-� *G�XK-�ZE�/�
0�
B�%�"A�23�
:�1�
>�7r#rTFz!random.SystemRandom not availablec��eZdZej�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd�Z
d	�Zd
�Zd�Zd�Zeefd
�Zy)�SystemRandom_TestBasicOpsc�8�|jj�yrM�rrr1s rr"z'SystemRandom_TestBasicOps.test_autoseed�s�����
�
�r#c��|jt|jj�|jt|jjd�yrM)rBrNrrr&r1s rr+z*SystemRandom_TestBasicOps.test_saverestore�s:�����-�t�x�x�/@�/@�A����-�t�x�x�/@�/@�$�Gr#c�:�|jjd�y�Nrtr2r1s rrHz'SystemRandom_TestBasicOps.test_seedargs�s�����
�
�c�r#c��d|j_|jjd�|j|jjd�yr5)r�
gauss_nextrr'r1s rr�z$SystemRandom_TestBasicOps.test_gauss�s8��"��������
�
�c��������,�,�d�3r#c��ttjdz�D]2}|jttj
|j|��4y)Nr7)rrrrBrNrr)rr
s  rrz'SystemRandom_TestBasicOps.test_pickling�s9���6�2�2�Q�6�7�E����1�6�<�<����5�Q�8r#c��d}d}td�D]+}|t|jj�|z�z}�-|j	||dz
�y�Nlrrtr7�rrrrr'�rr�rrs    r�test_53_bits_per_floatz0SystemRandom_TestBasicOps.test_53_bits_per_float��M�������s��A��3�t�x�x���(�4�/�0�0�C������d�1�f�%r#c���ddz}d}td�D]A}|jj|�}|jd|cxkxr|knc�||z}�C|j	||dz
�y�Nr>r�rrtr7�rrrrZr'�rr�rrrs     r�test_bigrandz&SystemRandom_TestBasicOps.test_bigrand��g���C�x�����s��A����"�"�4�(�A��O�O�A��M�T�M�*��1�H�C��	
����d�1�f�%r#c��dD]�}|jjd|dz
z�}|jjd|z�}||kr�H|j||jj||�cxkxr|knc���y�N)	r��P�r����iwii&r>�rrrZ�rr�start�stops    r�test_bigrand_rangesz-SystemRandom_TestBasicOps.test_bigrand_ranges��q��;�A��H�H�&�&�q�Q�q�S�z�2�E��8�8�%�%�a�1�f�-�D��u�}���O�O�E�T�X�X�%7�%7��t�%D�K�t�K�L�<r#c
���dD]d\}}|jtt||��ttd�D�cgc]}|jj	||��� c}���fycc}w�N))���r)l����l����)llrt�r'rYrrr�rrMrNrs    r�test_rangelimitsz*SystemRandom_TestBasicOps.test_rangelimits��]��K�K�E�4����S��u�T�!2�3��U�3�Z�H�Z��T�X�X�'�'��d�3�Z�H�I�
K�L��H��#A+c��|jjddd�}|j|d�|jjddd�}|j|d�y)NrrTr>)rr>r?r�r�)rrrhr')r�rints  r�test_randrange_nonunit_stepz5SystemRandom_TestBasicOps.test_randrange_nonunit_step�sP���x�x�!�!�!�R��+���
�
�d�O�,��x�x�!�!�!�Q��*������q�!r#c���t|jt|jj�}t|jt
|jj�}|dd�|d�|ddd�|ddd�|ddd�|ddd�|d�|d	�|t
dd
��|d�|dd�|dd
�|dt
dd
��|dd�|ddd�|dd�|d
d�|t
dd
�d�|dd�|ddd�|ddd�|ddd	�|ddt
dd
��|ddd�|ddd�|ddd�y)Nr<i/���rrti��*r��n��!	@�@r7�3gW�}W�@�@r>�2r}r$)rrBrvrrrCr)r�raises_value_error�raises_type_errors   r�test_randrange_errorsz/SystemRandom_TestBasicOps.test_randrange_errors�st��$�T�%6�%6�
�D�H�H�DV�DV�W��#�D�$5�$5�y�$�(�(�BT�BT�U��	�1�a� ��4� ��1�c�3�'�	�1�b�!�$��!�R��%��!�Q��$�	�'�"��#���(�1�a�.�)��#���!�W�%��!�S�!��!�X�a��^�,��!�S�!��!�W�a�(�	�'�1�%��#�q�!��(�1�a�.�!�,��#�q�!��'�1�a�(�	�!�R��)��!�R��%��!�R��!�Q��0��!�R��%��!�R��%��!�Q��$r#c��|jj}|jt�5|dd��ddd�|jt�5|ddd��ddd�y#1swY�3xYw#1swYyxYw)Nr%rt)�step)rrrBrC)rrs  r�test_randrange_stepz-SystemRandom_TestBasicOps.test_randrange_steps`���H�H�&�&�	�
�
�
�y�
)��d��%�*�
�
�
�y�
)��d�D�s�+�*�
)�*�
)��
)�
)�s�A)�A5�)A2�5A>c��tdd�D]�}d|z}|dz}|d||d�z�}|j||�|j|d|dz
z�||dz
z
}|d||d�z�}|j|||dzg�|jd|z|cxkDxrd|dz
zkDnc�||dz	z}|d||d�z�}|j||�|jd|z|cxkDxrd|dz
zkDnc���y�Nr7r%gr�Z|
�?r>r��rr'rhrZ�r�_logrrr�numbitsrxs       r�test_randbelow_logicz.SystemRandom_TestBasicOps.test_randbelow_logic&����q�$��A��Q��A���c�G��G�d�1�a�j�(�)�A����Q��(����Q��A�a�C��)�
��Q��J�A��G�d�1�a�j�(�)�A��M�M�!�g�w�q�y�1�2��O�O�A�q�D�1�/�q�1�Q�3�x�/�0�
��b��L�A��G�d�1�a�j�(�)�A����Q��(��O�O�A�q�D�1�/�q�1�Q�3�x�/�0� r#N)r3r4r5r�SystemRandomrr"r+rHr�rr=rCrOrVr[rerhrrror0r#rr0r0�s_��
�&�
�
�
�C��H��4�
R�&�	&�M�K�
"�&%�P,�),��1r#r0c�|�eZdZejj
d��Zejj
d��Zy)�TestRawMersenneTwisterc��ddl}ttjdz�D]8}|j	�}|jttj||��:y)Nrr7)�_randomrrr�RandomrBrCr)rrur
rs    r�test_bug_41052z%TestRawMersenneTwister.test_bug_41052=sE��	��6�2�2�Q�6�7�E���� �A����i����q�%�@�8r#c���ddl}|j�}|jd�|jd�}|j|j	�|j	��y)Nr��_�)rurvrr'r)rru�r1�r2s    r�test_bug_42008z%TestRawMersenneTwister.test_bug_42008EsI��	�
�^�^�
��
�����
�^�^�G�
$���������b�i�i�k�2r#N)r3r4r5�testr
�cpython_onlyrwr|r0r#rrsrs<s>��	�\�\���A��A�
�\�\���3��3r#rsc����eZdZej�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd�Z
d	�Zd
�Zd�Zd�Zd
�Z�fd�Zd�Zeefd�Zd�Zd�Zd�Z�fd�Zd�Zd�Z�xZS)�MersenneTwister_TestBasicOpsc���|jjdd��|jtd�D�cgc]*}|jj	�j���,c}gd��|jjdd��|jtd�D�cgc]*}|jj	�j���,c}gd��ycc}wcc}w)	Ni��4r7��versionr?)z0x1.ac362300d90d2p-1z0x1.9d16f74365005p-1z0x1.1ebb4352e4c4dp-1z0x1.1a7422abf9c11p-1zthe quick brown foxr>)z0x1.1239ddfb11b7cp-3z0x1.b3cbb5c51b120p-4z0x1.8c4f55116b60fp-1z0x1.63eb525174a27p-1�rrr'rr�hex�rrs  r�test_guaranteed_stablez3MersenneTwister_TestBasicOps.test_guaranteed_stableRs������
�
�g�q�
�)����5��8�D�8�a�$�(�(�/�/�+�/�/�1�8�D�
=�	>�	
���
�
�+�Q�
�7����5��8�D�8�a�$�(�(�/�/�+�/�/�1�8�D�
=�	>��	E��Es�/C�$/C#c��|jjdd��|jtd�D�cgc]*}|jj	�j���,c}gd��|jjdd��|jtd�D�cgc]*}|jj	�j���,c}gd��|jjdd��|jtd�D�cgc]*}|jj	�j���,c}gd	��ycc}wcc}wcc}w)
N�nofarr7r�r?�z0x1.8645314505ad7p-1z0x1.afb1f82e40a40p-5z0x1.2a59d2285e971p-1z0x1.56977142a7880p-6�rachel�z0x1.0b294cc856fcdp-1z0x1.2ad22d79e77b8p-3z0x1.3052b9c072678p-2z0x1.578f332106574p-3��z0x1.b0580f98a7dbep-1z0x1.84129978f9c1ap-1z0x1.aeaa51052e978p-2z0x1.092178fb945a6p-2r�r�s  r�test_bug_27706z+MersenneTwister_TestBasicOps.test_bug_27706]s
��	
���
�
�g�q�
�)����5��8�D�8�a�$�(�(�/�/�+�/�/�1�8�D�
=�	>�	
���
�
�h��
�*����5��8�D�8�a�$�(�(�/�/�+�/�/�1�8�D�
=�	>�	
���
�
�b�!�
�$����5��8�D�8�a�$�(�(�/�/�+�/�/�1�8�D�
=�	>��E��
E��
Es�/E�$/E�/Ec��Gd�dt�}	|jj|��y#t$rYywxYw)Nc��eZdZd�Zy)�;MersenneTwister_TestBasicOps.test_bug_31478.<locals>.BadIntc��yrMr0r1s r�__abs__zCMersenneTwister_TestBasicOps.test_bug_31478.<locals>.BadInt.__abs__ss��r#N)r3r4r5r�r0r#r�BadIntr�rs��
r#r�)rrrrC)rr�s  r�test_bug_31478z+MersenneTwister_TestBasicOps.test_bug_31478os7��	�S�	�	��H�H�M�M�&�(�#���	��	�s� 2�	>�>c��|jjdd��|jtd�D�cgc]*}|jj	�j���,c}gd��|jjdd��|jtd�D�cgc]*}|jj	�j���,c}gd��|jjdd��|jtd�D�cgc]*}|jj	�j���,c}gd	��d
}|jj|d��|jtd�D�cgc]*}|jj	�j���,c}gd��ycc}wcc}wcc}wcc}w)Nsnofarr7r�r?r�srachelr�r#r�s	 @`�����)z0x1.52c2fde444d23p-1z0x1.875174f0daea4p-2z0x1.9e9b2c50e5cd2p-1z0x1.fa57768bd321cp-2r�)rrr�s   r�test_bug_31482z+MersenneTwister_TestBasicOps.test_bug_31482zsg��	
���
�
�h��
�*����5��8�D�8�a�$�(�(�/�/�+�/�/�1�8�D�
=�	>�	
���
�
�i��
�+����5��8�D�8�a�$�(�(�/�/�+�/�/�1�8�D�
=�	>�	
���
�
�c�1�
�%����5��8�D�8�a�$�(�(�/�/�+�/�/�1�8�D�
=�	>�
4�����
�
�a��
�#����5��8�D�8�a�$�(�(�/�/�+�/�/�1�8�D�
=�	>��!E��
E��
E��Es�/F<�$/G�/G�/Gc�Z�|jt|jjd�y)N)r7NN)rBrvrr&r1s r�test_setstate_first_argz4MersenneTwister_TestBasicOps.test_setstate_first_arg�s�����*�d�h�h�&7�&7��Ir#c��|jj�}|jt|jjd�|jt
|jjd�|jt|jjdddzdf�|jt|jjdddzdzdf�|jt
tf�5|jj	dddzd	zdf�ddd�|jt
tf�5|jj	dddzd
zdf�ddd�|jjd�}|jj	|�|j|jjd�|�|jj�d}t|�}td
�|d<d�|D�}|jt|jjd|df�y#1swY��!xYw#1swY��xYw)N)r>NN)r>rUNr>)r;�q)rip)r7)r�)r8rtr7r�r8c3�2K�|]}t|����y�wrM)r)rr�s  rr zHMersenneTwister_TestBasicOps.test_setstate_middle_arg.<locals>.<genexpr>�s����.��A��Q���s�)rrrBrCr&rv�
OverflowErrorr�r'rDr�)r�start_state�bits100�state_valuesr)s     r�test_setstate_middle_argz5MersenneTwister_TestBasicOps.test_setstate_middle_arg�s����h�h�'�'�)�����)�T�X�X�%6�%6��H����*�d�h�h�&7�&7�9K�L����)�T�X�X�%6�%6��F�3�J��8M�N����)�T�X�X�%6�%6��D��H�V�O�T�8R�S�
�
�
�
�M�:�
;��H�H���q�$�s�(�6�/�4�8�9�<�
�
�
�
�M�:�
;��H�H���q�$�s�(�5�.�$�7�8�<��(�(�&�&�s�+�������+�&�������-�-�c�2�G�<��x�x�(�(�*�1�-���L�)�� ��<��R��.��.�����)�T�X�X�%6�%6��E�4�8H�I�#<�
;��
;�
;�s�1%H5�9%I�5H?�Ic��gd�}|jjd�|jd�dd}t||�D]\}}|j	||d���y)N)
g>F��dV�?g�wR1ۉ�?g�Q�"��?g~��5��?g�mb�?g�Y�KbX�?gH,r̊��?g�V���8�?g�O��ֶ?g�4�Ԗ�?�#q`&�'R������)�places)rrrrW�assertAlmostEqual)rr��actualr;�es     r�test_referenceImplementationz9MersenneTwister_TestBasicOps.test_referenceImplementation�s[��	)��	
���
�
�C�D�����&�s�t�,�����)�D�A�q��"�"�1�Q�b�"�1�*r#c	���ddlm}gd�}|jjd�|j	d�dd}t||�D]'\}}|j
t||d��|��)y)Nr)�ldexp)
l#�1�,ul�w�bl'�l�J�X�l�u�ak~[l@"p1ylsV�%bX$l�E3EJl�V�b�l�a�oekl�4�)[v�r�r�r�r�)�mathr�rrrrWr'r)rr�r�r�r;r�s      r�$test_strong_reference_implementationzAMersenneTwister_TestBasicOps.test_strong_reference_implementation�sf��
	�	&��	
���
�
�C�D�����&�s�t�,�����)�D�A�q����S��q�"��.��2�*r#c�J�ddzdz
}|jj|�y)Nr7i�8r2)rrs  r�test_long_seedz+MersenneTwister_TestBasicOps.test_long_seed�s#���i� �A�%�����
�
�d�r#c��d}d}td�D]+}|t|jj�|z�z}�-|j	||dz
�yr:r;r<s    rr=z3MersenneTwister_TestBasicOps.test_53_bits_per_float�r>r#c���ddz}d}td�D]A}|jj|�}|jd|cxkxr|knc�||z}�C|j	||dz
�yr@rArBs     rrCz)MersenneTwister_TestBasicOps.test_bigrand�rDr#c��dD]�}|jjd|dz
z�}|jjd|z�}||kr�H|j||jj||�cxkxr|knc���yrFrKrLs    rrOz0MersenneTwister_TestBasicOps.test_bigrand_rangesrPr#c
���dD]d\}}|jtt||��ttd�D�cgc]}|jj	||��� c}���fycc}wrRrTrUs    rrVz-MersenneTwister_TestBasicOps.test_rangelimitsrWrXc���t�|��|jjd�|j	|jjd�d�y)N��rt�S!m�.vFXO)�superrrrr'r�)r�	__class__s �rrz-MersenneTwister_TestBasicOps.test_getrandbitssB���
�� �"�	
���
�
�g��������-�-�c�2�6�	8r#c��|jjd�|j|jjddz�d�y)Nr�r>�cr�)rrr'rr1s r�test_randrange_uses_getrandbitsz<MersenneTwister_TestBasicOps.test_randrange_uses_getrandbitss<��	
���
�
�g��	
������+�+�A�r�E�2�6�	8r#c��tdd�D]�}d|z}|dz}|d||d�z�}|j||�|j|d|dz
z�||dz
z
}|d||d�z�}|j|||dzg�|jd|z|cxkDxrd|dz
zkDnc�||dz	z}|d||d�z�}|j||�|jd|z|cxkDxrd|dz
zkDnc���yrjrkrls       rroz1MersenneTwister_TestBasicOps.test_randbelow_logic&rpr#c�r�dtjz}tj�5tjdt
�|jj|dz|��ddd�|jjd|��d}d}|||zz
|z}tjjjtjd�5}||z||z
g|_
|jj||��|j|jd�ddd�y#1swY��xYw#1swYyxYw)	Nr7�ignore)�maxsizeir]�{�G�z�?rr>)r�BPFr�r�r��UserWarningr�_randbelow_without_getrandbitsr,r-r.r@rvrOr'�
call_count)rr�r�epsilon�limit�random_mocks      r�"test_randbelow_without_getrandbitsz?MersenneTwister_TestBasicOps.test_randbelow_without_getrandbits;s���V�Z�Z�-��
�
$�
$�
&��!�!�(�K�8��H�H�3�3���	�7�
4�
�'�	
���/�/��g�/�F� 
�����G�a�K�(�G�3��
�]�]�
 �
 �
'�
'��
�
�x�
@�K�',�w�����&H�K�#��H�H�3�3�A�w�3�G����[�3�3�Q�7�A�
@�3'�
&��2A�
@�s�;D!�A	D-�!D*�-D6c��d}d}d}|jj|||�}|j||cxkxr|knc�|j||z|zd�y)NlJ)�r9i8���r)rrrZr')rrMrNrgr�s     r�test_randrange_bug_1590891z7MersenneTwister_TestBasicOps.test_randrange_bug_1590891]sW����%�����H�H���u�d�D�1������q�)�E�)�*����!�D�&�$���*r#c��|jj}d}|jjd�|jjt|�d��}|jjd�|jjt|�dg|zd��}|j	||�|jjd�|jjt|�td|dz�d��}|j	||�gd�}gd�}gd	�}d
gdzdgdzzd
gdzz}	|jjd�|jj|	d��}|jjd�|jj||d��}|j	||�|jjd�|jj||d��}|j	||�y)Ni�ryr~r�r7r�)�Red�Black�Green)�r�r>)r��$�&r�r�r�r�r>i�߉)rr�rrr')
rr�rr;r�r�rwr�r��expanded_populations
          r�test_choices_algorithmsz4MersenneTwister_TestBasicOps.test_choices_algorithmses����(�(�"�"�������
�
�g���H�H���U�1�X���/�����
�
�g���H�H���U�1�X��s�1�u���6������A�����
�
�g���H�H���U�1�X�5��A�a�C�=�E��J������A��/�
���"��$�g��l�g�Y��^�;�w�i�!�m�K�����
�
�g���H�H���0�E��:�����
�
�g���H�H���Z��E��:������A�����
�
�g���H�H���Z�[�E��J������A�r#c
�����t����d}d��jj|��j	�jjd����jj|��j	�jjd�d��j	�jjd����jj|��j	dj
td�D�cgc]}�jjd���c}����jj|��ddd�}�j	dj
�fd�td�D��|��jj|�dj
�fd	�tdt��d�D��}�j	dj
�fd
�td�D��|��jj|�dj
�fd�tdt��d�D��}�j	dj
�fd�td�D��|�ycc}w)
Nrys3��f��6���oe��rr#r?r<c3�T�K�|]}�jjd����!y�w)r7N�rr%�r�_rs  �rr z>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>��!�����!J��A�$�(�(�"4�"4�Q�"7����%(c3�4�K�|]}�|dz|dz���y�w)r>r?Nr0�rrr�s  �rr z>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>��)�����B�&@��&�a�!�e�Q��U�3�&@���c3�T�K�|]}�jjd����!y�w)r>Nr�r�s  �rr z>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>�r�r�c3�4�K�|]}�|dz|dz���y�w)r7r?Nr0r�s  �rr z>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>�r�r�c3�T�K�|]}�jjd����!y�w)r<Nr�r�s  �rr z>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>�r�r�)	r�r'rrr'r%�joinrrX)rrr��	expected1�	expected2�	expected3r�r�s`     @�rr'z+MersenneTwister_TestBasicOps.test_randbytes�s����
��� ���G�����
�
�d��������+�+�B�/��:�	
���
�
�d��������+�+�A�.��4�������+�+�B�/��:�	
���
�
�d��������%��(�"K�(�Q�4�8�8�#5�#5�a�#8�(�"K�L�!�	#�
	
���
�
�d���Q�T��T�N�	�������!J��q��!J�J�"�	$�	
���
�
�d���H�H�B�&+�A�s�8�}�a�&@�B�B�	�������!J��q��!J�J�"�	$�	
���
�
�d���H�H�B�&+�A�s�8�}�a�&@�B�B�	�������!J��q��!J�J�"�	$��'#Ls�"Jc�B�d}tj�}|jj|�|j|�t	d�D]O}|j|jj
|�|j|dz�j|d���Qy)Nl�O�S�	r��little)	rrvrrrr'r%r��to_bytes)rr�gen2rs    r�test_randbytes_getrandbitsz7MersenneTwister_TestBasicOps.test_randbytes_getrandbits�sz�����}�}������
�
�d���	�	�$���q��A����T�X�X�/�/��2�!�-�-�a�!�e�4�=�=�a��J�
L�r#c
���|jj}|jj}gd�}gd�}d}|d�||||��}|d�t||�D���	cgc]\}}t	|�D]}	|���}
}}}	|jt
|
�t|��||
|��}|j||�d}gd�}|d�d	j|||d
���}d	jt||�D�
��	cgc]\}
}t	|�D]}	|
���c}	}}
�}
|d�d	j||
d
���}|j||�ycc}	}}wcc}	}}
w)N)r�r�r�r�r�r�)r�r�r�rTr}r7r�ryr�r��	abcdefghi)	rTr�r��r�r}r?r<r>r�r�)	rrurrWrr'rXr�r�)rrurr�r�rx�s1r��countr�expanded�s2r��letters              r�test_sample_counts_equivalencez;MersenneTwister_TestBasicOps.test_sample_counts_equivalence�sE���������x�x�}�}��F��E�����W�
�
�F�6�Q�
/���W�
�03�F�F�0C�Z�0C�n�u�e�U�SX�\��E�\�E�0C��Z�����X���F��4�
�H��
"������R� ���-���W�
�
�W�W�V�C��"�5�
6���7�7�#�c�6�:J�a�:J����TY�Z_�T`�q�F�T`�F�:J�a�b���W�
�
�W�W�V�H��+�
,������R� ��[��bs�"E�E%)r3r4r5rrvrr�r�r�r�r�r�r�r�r�r=rCrOrVrr�rrror�r�r�r'r�r��
__classcell__)r�s@rr�r�Os����
�&�-�-�/�C�	>�>�$	�>�6J�J�<2�>3�,�&�	&�M�K�
8�8�),��1�* 8�D+��B&$�PL�!r#r�ra��?c��|dkr(ttt|z�ztd|z
�zS|dz}||dz
zt|�z|zt	dd|zd|dzzd|dzzd	|d
zzd|dzzd
|dzzd|dzzd|dzzg	�zS)Nr�r$g@g
����?g�
ö)$�@g&Ԏ����g
t�a��@rag���Q�f�r_g>@~�)@g@gA~������@g�~\���>g@g���i�E�>g@)rr�gammarr)�z�sqrt2pi�azs   rr�r��s����3�w��C��1��I�~��c�!�e��,�,�	
�i��B�
�!�C�%�=�3�r�7�"�W�,�t���A���a��e�$��Q�s�U�#��a��e�$��Q�s�U�#��q��u�%��!�C�%�(��!�C�%�(�
5�
0�
�
r#c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	e
jjd�d	��Z
e
jjd�d
��Ze
jjd�d��Ze
jjd�d��Ze
jjd
�d��Zy)�TestDistributionsc��tj�}td�D�cgc]}|j���c}dgdzz}|ddj|_|j	dd�|ddj|_|jd�|ddj|_|j
d�|ddj|_|j
�|ddj|_|jdd�|ddj|_|jdd�|ddj|_|jdd�|ddj|_|jdd�|ddj|_|jdd�|ddj|_|jdd�|ddj|_|jdd�|ddj|_|jdd�|ddj|_|jdd�|ddj|_|jd	d	�|ddj|_|jddd
�ycc}w)Nrcr�r}r7rTr$r�gi@r_�UUUUUU�?)rrvrr��uniform�
paretovariate�expovariate�weibullvariate�vonmisesvariater*r��lognormvariate�gammavariate�betavariate�
triangular)r�grr�s    r�test_zeroinputsz!TestDistributions.test_zeroinputs�s����M�M�O��!&�r��+��A�Q�X�X�Z��+�s�e�A�g�5���Q�4�8�8���Q�Y�Y�q��_��Q�4�8�8���Q�_�_�S�1��Q�4�8�8���Q�]�]�3�/��Q�4�8�8���Q�]�]�_��Q�4�8�8���Q�-�-�c�3�7��Q�4�8�8���Q�.�.�s�C�8��Q�4�8�8���Q�_�_�S�#�6��Q�4�8�8���Q�W�W�S�#�.��Q�4�8�8���Q�-�-�c�3�7��Q�4�8�8���Q�.�.�s�C�8��Q�4�8�8���Q�^�^�D�#�6��Q�4�8�8���Q�^�^�C��5��Q�4�8�8���Q�^�^�E�3�7��Q�4�8�8���Q�]�]�3��4��Q�4�8�8���Q�\�\�#�s�G�<��
,s�I;c�>�tj�}d}td|�D�cgc]}|t|�z��}}|jdddf|j
dddf|jd	d
df|jdttdzd
zf|jdddf|jdtd�td�td�dzz
ffD]�\}}}}|ddj|_g}	tt|��D]}	|	j||���dx}
}|	D]}|
|z
}
|||z
dzz
}�t|	�}|j!|
|z|d|j"�|����|j!||dz
z|d|j"�|������ycc}w#t$rY��wxYw)Nr�r7)r$�$@g@g@)r�r$rg�q�q�?g�<ݚ�?)��?gUUUUUU�?)g�G�z��?rr>r<)r�g�?g�������?)r$r_gUUUUUU�?g�������?r)r��msg)rrvrr�rr
rr	rrrr�r�rX�appendrgr�r3)
rrr(rr��variate�args�mu�	sigmasqrd�yr�r�r�s
             r�test_avg_stdzTestDistributions.test_avg_std�s���
�M�M�O����!&�q���,��A�Q�u�Q�x�Z���,����J��6F�G����2�G�\�J������x�8��"�"�I�r�2�q�5��7�;����&�+�":�<��!�!�:�u�W�~�"'��.��w���1B�"B�D�-F�(�G�T�2�y���t�x�x�A�H��A��3�q�6�]����H�H�W�d�^�,�#�
�K�B�����a����q�2�v�!�m�#����A��A��"�"�2�a�4��A�18�1A�1A�4�'H�
#�
J��"�"�2�q��s�8�Y�q�18�1A�1A�4�'H�
#�
J�/-F��
-��"����s�F�=F�	F�Fc��tj�}d}|jddf|jddf|jddf|jtd�fdf|jdtd�fdf|jddf|jd	d
f|jtd�dfdf|jddf|jddf|jd
df|jddf|jtd�fd
f|jdtd�fdf|jddffD]+\}}}t|�D]}|j||�|���-y)Nrt)rrr)rrrr�r�r_)rr�)r�r�r$)rr�r)rTr�)rTr$rT)r�r)rrvrr
rr�r	r�r
r*�binomialvariaterrrr')rrr(rrr�rs       r�
test_constantzTestDistributions.test_constantsU���M�M�O�������L�$�/����|�T�2����1�4�8�����u����5��"�"�S�%��,�$7��=����+�t�,��!�!�:�s�3��!�!�U�5�\�M�3�#7��=����+�t�4��"�"�H�a�0��"�"�I�q�1��"�"�I�r�2����5��<�/�3�7��!�!�D�%��,�#7��>��!�!�;��4�(�#�G�T�8�"�1�X��� � ��$���:��#(r#c�j��tj�|jt�5�d��ddd�|jt�5�dd��ddd�|jt�5�dd��ddd�|j	�dd�d	�|j	�dd
�d�|j�dd�dv�|j�dd
�dv�|j�dd�dv�|j�dd
�dv�|j�dd�t
td��v�|j�dd�t
td��v�|j�dd�t
td��v�|j�dd�t
td��v�t�fd�td�D��}|jd|d	cxkxrdknc|�|jd|dcxkxrdknc�|jd|dcxkxrdknc�|jd|d cxkxrd!knc�|j	t
|�hd"��t�fd#�td�D��}|jd$|d%|d&z|d'z|d(z|d)zcxkxrd*knc�|jt
|�t
td��k�|j	|j�d�|jd+�d,d-�cxkxrd.knc�|jd/�d,d
�cxkxr
d0k�yc�y#1swY��_xYw#1swY��DxYw#1swY��)xYw)1Nr8)rr7g�)r�prrTr�rr$r!>rr7g�������?>r>r7r}��?r�g�?rt�ec3�0�K�|]
}�dd����y�w)r?r Nr0�rr�Bs  �rr z9TestDistributions.test_binomialvariate.<locals>.<genexpr>Ts�����7��1�A�a��J����ri�sii�i��i��i�Jr>i6Zi�
r<i >rr7r>r<r?c3�0�K�|]
}�dd����y�w)rtr Nr0r#s  �rr z9TestDistributions.test_binomialvariate.<locals>.<genexpr>]s�����9�.�Q�A�c�4�L�.�r%i��r�r����iF�i��!i�g�������?i@o@i@Ni��l)
rrrBrvr'rZrYrr
�total)rr�r$s  @r�test_binomialvariatez&TestDistributions.test_binomialvariate2s�����"�"���
�
�z�
*�
��G�+�
�
�
�z�
*�
��T�N�+�
�
�
�z�
*�
��S�M�+�����2�s��Q�'�����2�s��R�(�����!�S�	�V�+�,�����!�S�	�V�+�,�����!�S�	�S�(�)�����!�S�	�S�(�)�	
����!�T�
�c�%��(�m�3�4�	
����!�T�
�c�%��(�m�3�4�	
����#�t���E�#�J��7�8�	
����#�t���E�#�J��7�8�
�7��g��7�7������!�A�$�0�&�0�!�4�����!�A�$�0�&�0�1�����!�A�$�0�&�0�1�����!�A�$�/�%�/�0�����Q���1�
�9�%��.�9�9������!�B�%��"��+�a��e�"3�A�b�E�"9�!�B�%�"?�I�6�I�J�����A��#�e�C�j�/�1�2��������G�,�	
���
�a��S�&9�G�Z�G�H����
�a��S�&9�G�Z�G�H�G�H�]+�
*��
*�
*��
*�
*�s#�
N�N�6N(�N�N%�(N2c��tj�}d}dD]k}dD]d}t|�D]T}|j||�}|j	d|cxkxrtj
kncdj
|||����V�f�my)Nrt)r�rg������@g������@)r��ffffff@g@@rzCvonmisesvariate({}, {}) produced a result {} out of range [0, 2*pi])r)rrvrr	rZ�TWOPI�format)rrr(r�kappar�rus       r�test_von_mises_rangez&TestDistributions.test_von_mises_rangegs~��
�M�M�O����$�B�(���q��A��.�.�r�5�9�F��O�O��V�3�v�|�|�3�3�4:�F�2�u�f�4M�$�O�"�)�%r#c�\�tjdd�tjdd�y)Nrg4&�kCg}Ô%�I�T)rr	r1s r�test_von_mises_large_kappaz,TestDistributions.test_von_mises_large_kappaus"�����q�$�'����q�%�(r#c�4�|jttjdd�|jttjdd�|jttjdd�|jttjdd�y)Nr8r<rr>r7r�)rBrvrrr1s r�test_gammavariate_errorsz*TestDistributions.test_gammavariate_errorszsj�����*�f�&9�&9�2�q�A����*�f�&9�&9�1�a�@����*�f�&9�&9�1�a�@����*�f�&9�&9�1�b�Ar#zrandom.Random.randomc�f�gd�|_tjdd�}|j|d�y)N)�:�0�yE>r�r!g�������?r-g=
ףp=@�rOrrr��rr��returned_values   r�#test_gammavariate_alpha_greater_onez5TestDistributions.test_gammavariate_alpha_greater_one�s.��#3����,�,�S�#�6�����~�t�4r#c�d�dg|_tjdd�}|j|d�y)Ng�������?r$r:g�/qr	�?r8r9s   r�!test_gammavariate_alpha_equal_onez3TestDistributions.test_gammavariate_alpha_equal_one�s1��$(�&����,�,�S�$�7�����~�/@�Ar#c��d}ddg|_tjd|�}tjd|z�}|j	||�y)Nr:r7r$)rOrrrr�)rr��beta�gammavariate_returned_value�expovariate_returned_values     r�4test_gammavariate_alpha_equal_one_equals_expovariatezFTestDistributions.test_gammavariate_alpha_equal_one_equals_expovariate�sO��
��#'��,���&,�&9�&9�#�t�&D�#�%+�%7�%7��d�
�%C�"����:�<V�Wr#c�h�tj}tj}tj}d}d}||z|z}d}d}	d}
|	|
|z|	|
g|_tj
||�}|j
|d�d}	d}
|	|
|z|	|
g|_tj
||�}|j
|d	�y)
Ngffffff�?g333333�?r�gX� �Y�?g=�,6V��?g�.3333�?g�l%�t��?g�K,	�9�?g7SvT�?)r�_e�_exprmrOrr�)rr�rDrErm�alphar?r�r�rzr{r:s            r�,test_gammavariate_alpha_between_zero_and_onez>TestDistributions.test_gammavariate_alpha_between_zero_and_one�s���F�Y�Y���{�{���{�{������
�%�Z��O����
��
��
$&�r�G�|�R��"<����,�,�U�D�9�����~�/A�B���
��
$&�r�G�|�R��"<����,�,�U�D�9�����~�/A�Br#zrandom.Random.gammavariatec�^�d|_|jdtjdd��y)Nr�g����	�@r^)�return_valuer'rr)r�gammavariate_mocks  r�test_betavariate_return_zeroz.TestDistributions.test_betavariate_return_zero�s*��*-��&�����f�0�0��'�B�Cr#N)r3r4r5rrrr+r1r3r5r,r-r.r;r=rBrGrKr0r#rrr�s���=�(J�@;�.2I�jO�)�
B��]�]���/�0�5�1�5��]�]���/�0�B�1�B��]�]���/�0�X�1�X��]�]���/�0�CC�1�CC�J�]�]���5�6�D�7�Dr#rc��eZdZd�Zd�Zy)�TestRandomSubclassingc�H�Gd�dtj�}|d��y)Nc��eZdZdd�Zy)�HTestRandomSubclassing.test_random_subclass_with_kwargs.<locals>.SubclassNc�B�tjj|�yrM)rrvr�)r�newargs  rr�zQTestRandomSubclassing.test_random_subclass_with_kwargs.<locals>.Subclass.__init__�s���
�
�&�&�t�,r#rM)r3r4r5r�r0r#r�SubclassrP�s��
-r#rSr7)rR)rrv)rrSs  r� test_random_subclass_with_kwargsz6TestRandomSubclassing.test_random_subclass_with_kwargs�s��	-�v�}�}�	-�	��r#c����G�fd�dtj�}t��|�jd�|j	�dh�G�fd�dtj�}t��|�jd�|j	�dh�G�fd�d	|�}t��|�jd�|j	�d
h�G�fd�d|�}t��|�jd�|j	�d
h�G�fd�d�}G�fd�d�}Gd�d|tj�}t��|�jd�|j	�dh�Gd�d|tj�}t��|�jd�|j	�dh�Gd�d||tj�}	t��|	�jd�|j	�dh�Gd�d||tj�}
t��|
�jd�|j	�dh�y)Nc�"��eZdZ�fd�Z�fd�Zy)�KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass1c�d���jd�tjj|�S)NzSubClass1.random��addrrv�r�calleds �rrzRTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass1.random�%����
�
�-�.��}�}�+�+�D�1�1r#c�f���jd�tjj||�S)N�SubClass1.getrandbits�rZrrvr��rrr\s  �rr�zWTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass1.getrandbits	�'����
�
�2�3��}�}�0�0��q�9�9r#N)r3r4r5rr��r\s�r�	SubClass1rWs
���
2�
:r#rdr]r_c���eZdZ�fd�Zy)�KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass2c�d���jd�tjj|�S)N�SubClass2.randomrYr[s �rrzRTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass2.randomr]r#N�r3r4r5rrcs�r�	SubClass2rf����
2r#rjrhc���eZdZ�fd�Zy)�KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass3c�f���jd�tjj||�S)N�SubClass3.getrandbitsr`ras  �rr�zWTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass3.getrandbitsrbr#N�r3r4r5r�rcs�r�	SubClass3rm����
:r#rqroc���eZdZ�fd�Zy)�KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass4c�d���jd�tjj|�S)N�SubClass4.randomrYr[s �rrzRTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass4.random&r]r#Nrircs�r�	SubClass4rt%rkr#rwrvc���eZdZ�fd�Zy)�HTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin1c�d���jd�tjj|�S)N�
Mixin1.randomrYr[s �rrzOTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin1.random0s$����
�
�?�+��}�}�+�+�D�1�1r#Nrircs�r�Mixin1ry/rkr#r|c���eZdZ�fd�Zy)�HTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin2c�f���jd�tjj||�S)N�Mixin2.getrandbitsr`ras  �rr�zTTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin2.getrandbits4s'����
�
�/�0��}�}�0�0��q�9�9r#Nrprcs�r�Mixin2r~3rrr#r�c��eZdZy)�KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass5N�r3r4r5r0r#r�	SubClass5r�8���r#r�r{c��eZdZy)�KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass6Nr�r0r#r�	SubClass6r�>r�r#r�r�c��eZdZy)�KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass7Nr�r0r#r�	SubClass7r�Dr�r#r�c��eZdZy)�KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass8Nr�r0r#r�	SubClass8r�Jr�r#r�)rrvrYrr')rrdrjrqrwr|r�r�r�r�r�r\s           @r�"test_subclasses_overriding_methodsz8TestRandomSubclassing.test_subclasses_overriding_methods�s����	:��
�
�	:��������b�!�����"9�!:�;�	2��
�
�	2��������b�!�����"4�!5�6�	:�	�	:��������b�!�����"9�!:�;�	2�	�	2��������b�!�����"4�!5�6�	2�	2�	:�	:�
	���
�
�	��������b�!�����/�!2�3�	���
�
�	��������b�!�����"6�!7�8�	����
�
�	��������b�!�����/�!2�3�	����
�
�	��������b�!�����"6�!7�8r#N)r3r4r5rTr�r0r#rrMrM�s
���R9r#rMc�X�eZdZd�Zd�Zejj�d��Zy)�
TestModulec��|jtjd�|jtjd�|jtjd�|jtj
d�y)Ng�3?�r�?g�.DT�!@g�9��B.�?g�t�Y@)r�r�
NV_MAGICCONSTr.�LOG4�
SG_MAGICCONSTr1s r�testMagicConstantszTestModule.testMagicConstantsRsY�����v�3�3�5E�F����v�|�|�]�;����v�{�{�,<�=����v�3�3�5E�Fr#c��|jttj�tt	t��k�yrM)rZrYr�__all__�dirr1s r�test__all__zTestModule.test__all__Xs%������F�N�N�+�s�3�v�;�/?�?�@r#c��tj�\}}tj�}|dk(r[	tjd�}t|d�5}|j
t|��ddd�tjd�ytj|�tjd�}t|d�5}t|j��}ddd�|j|�tj|d��y#1swY��xYw#tjd�wxYw#1swY�YxYw)Nrr��wr)�exitcode)�os�pipe�forkrr�r�writer��_exit�close�eval�readrr
�wait_process)rrr��pid�valr�	child_vals       r�test_after_forkzTestModule.test_after_fork\s����w�w�y���1��g�g�i���!�8�
��(�(��-���!�S�\�Q��G�G�C��H�%�"������
�H�H�Q�K��$�$�S�)�C��a���� �����N�	������Y�/�� � ��q�1�"�\��������
��s/�!D�D�.D�D4�D�D�D1�4D=N)	r3r4r5r�r�r}r
�
requires_forkr�r0r#rr�r�Qs/��G�A�
�\�\���!�2�"�2r#r��__main__)'r,�
unittest.mockrr�rrr��test.supportr}�	functoolsrr�rrrrrr	r
�	fractionsr�collectionsrr
rrq�SystemRandom_availablerN�
skipUnless�TestCaser0rsr�r�rrMr�r3�mainr0r#r�<module>r�sC����
�	��
����3�3���$�]7�]7�@
"��F���� � �"�"������+�-P�Q�A1��h�.?�.?�A1�R�A1�H3�X�.�.�3�&B!�<��1B�1B�B!�J�"�f�s�]��$KD��)�)�KD�\Z9�H�-�-�Z9�z 2��"�"� 2�F�z���H�M�M�O���E�#�"��#�s�D0�0D:�9D:

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists