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-2.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�p�	t|�D�cgc]}|jj���c}Scc}w�N)�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�!3c�"�|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__r3r1r$r�MySeedr/+s��
r$r7)
Nr����l F�x:^V��� F�x:^VFT���Q�	@�ay�?@r�r8)�one��)
�objectrr�tuple�assertRaises�	TypeError�listr�dict�type)rr7�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�yr)�NotImplementedError�side_effectrI)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&�r8r?r=)r�shuffler(rrE�zip�len�set�
assertTruerCrD)	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�choicerC�
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��eZdZ	d�Zy)�/TestBasicOps.test_choice_with_numpy.<locals>.NAc��t�r)�RuntimeErrorr2s r�__bool__z8TestBasicOps.test_choice_with_numpy.<locals>.NA.__bool__ys��"�"r$N)r4r5r6ror1r$r�NArlws
��-�
#r$rprcrdre)rrfrErCrgr(rh)rrfrps   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�dr8rr9)	rr�sampler(rXrYrZrC�
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	rBrrtrX�fail)rr�pop�trialsrw�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)rrtr�strrBr2s 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?)rCrDrrtrF�fromkeysr2s 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|�rw)rCrDrrt)rrvs  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��||_yr��_items)r�itemss  r�__init__z<TestBasicOps.test_sample_on_seqsets.<locals>.SeqSet.__init__�s	��#��r$c�,�t|j�Sr)rXr�r2s r�__len__z;TestBasicOps.test_sample_on_seqsets.<locals>.SeqSet.__len__�s���4�;�;�'�'r$c� �|j|Srr�)r�indexs  r�__getitem__z?TestBasicOps.test_sample_on_seqsets.<locals>.SeqSet.__getitem__�s���{�{�5�)�)r$N)r4r5r6r�r�r�r1r$r�SeqSetr��s��
$�
(�
*r$r�)r?r@r8r=�errorr?r�)	r�Sequence�Set�warnings�catch_warnings�simplefilter�DeprecationWarningrrt)rr�rvs   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|rr8���countsrwr��xrT�)r�)r�r�r�)���i����i����r?)rrrr�r��r8)r8r?r=r@)
rrtr
r(�sum�valuesrW�assertLessEqual�assertNotInrXrCrDru)	rrt�colorsr�rw�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�)rwrv�weights)rwrv�cum_weightsr?rr9g@)r�rwr8rT)�rTrdr�)g333333.@gffffff$@g3333339@g�����L>@r=�)TFTF�r�rw)r8rrrr<)rr8rr�b)rrr8r�c)rrrr8�d)r�choicesrrYr(rXrGrErZrCrDrurrg)rr��data�str_data�
range_data�set_datartr�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)Nr8r?g�)rvr�rw)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��rCrurr�r2s 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=���r8r�r2s 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)rCrurr��floatr2s 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)r8�r�i�i90i@�i�	rr8)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)	Nr8r&rr?)r8r?r=r@�� r��4�5�6�w���rsr9g333333$@)rrZr�getrandbitsr(rCrDru)	rrw�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)Nr8rT)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?Nr1)�.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)rrrwrs   @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)Nr8rTrr$r?r9��?)
rr�	randbytesr(rG�bytesrXrCrDru)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�yr)�assertIsInstancer�
normalvariater�r�r2s 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)"r4r5r6rr#r,rIrL�unittest�mock�patchrQrarirqrzr�r�r�r�r�r�r�r�r�r�r�r�rr
rr!r&r*r1r$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�yr�rrr2s rr#z'SystemRandom_TestBasicOps.test_autoseed�s�����
�
�r$c��|jt|jj�|jt|jjd�yr)rCrNrrr'r2s rr,z*SystemRandom_TestBasicOps.test_saverestore�s:�����-�t�x�x�/@�/@�A����-�t�x�x�/@�/@�$�Gr$c�:�|jjd�y�Nrsr1r2s rrIz'SystemRandom_TestBasicOps.test_seedargs�s�����
�
�c�r$c��d|j_|jjd�|j|jjd�yr4)r�
gauss_nextrr(r2s rr�z$SystemRandom_TestBasicOps.test_gauss�s8��"��������
�
�c��������,�,�d�3r$c��ttjdz�D]2}|jttj
|j|��4y)Nr8)rrrrCrNrr)rr	s  rr
z'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�Nlrrsr8�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�rrsr8�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����)llrs�r(rYrrr�rrLrMrs    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/���rrsi��*r��n��!	@�@r8�3gW�}W�@�@r?�2r|r#)rrCrurrrDr)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&rs)�step)rrrCrD)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�Nr8r&gr�Z|
�?r?r��rr(rhrZ�r�_logrrr�numbitsrws       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)r4r5r6r�SystemRandomrr#r,rIr�r
r<rBrNrUrZrdrgrrrnr1r$rr/r/�s_��
�&�
�
�
�C��H��4�
R�&�	&�M�K�
"�&%�P,�),��1r$r/c�|�eZdZejj
d��Zejj
d��Zy)�TestRawMersenneTwisterc��ddl}ttjdz�D]8}|j	�}|jttj||��:y)Nrr8)�_randomrrr�RandomrCrDr)rrtr	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��_�)rtrurr(r)rrt�r1�r2s    r�test_bug_42008z%TestRawMersenneTwister.test_bug_42008EsI��	�
�^�^�
��
�����
�^�^�G�
$���������b�i�i�k�2r$N)r4r5r6�testr
�cpython_onlyrvr{r1r$rrrrr<s>��	�\�\���A��A�
�\�\���3��3r$rrc����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��4r8��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�nofarr8r�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��yrr1r2s r�__abs__zCMersenneTwister_TestBasicOps.test_bug_31478.<locals>.BadInt.__abs__ss��r$N)r4r5r6r�r1r$r�BadIntr�rs��
r$r�)rrrrD)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)Nsnofarr8r�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)r8NN)rCrurr'r2s 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)r8)r�)r9rsr8r�r9c3�2K�|]}t|����y�wr)r)rr�s  rrzHMersenneTwister_TestBasicOps.test_setstate_middle_arg.<locals>.<genexpr>�s����.��A��Q���s�)rrrCrDr'ru�
OverflowErrorr�r(rEr�)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)Nr8i�8r1)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
�yr9r: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?r@rAs     rrBz)MersenneTwister_TestBasicOps.test_bigrand�rCr$c��dD]�}|jjd|dz
z�}|jjd|z�}||kr�H|j||jj||�cxkxr|knc���yrErJrKs    rrNz0MersenneTwister_TestBasicOps.test_bigrand_rangesrOr$c
���dD]d\}}|jtt||��ttd�D�cgc]}|jj	||��� c}���fycc}wrQrSrTs    rrUz-MersenneTwister_TestBasicOps.test_rangelimitsrVrWc���t�|��|jjd�|j	|jjd�d�y)N��rs�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(rr2s 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���yrirjrks       rrnz1MersenneTwister_TestBasicOps.test_randbelow_logic&ror$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)	Nr8�ignore)�maxsizeir\�{�G�z�?rr?)r�BPFr�r�r��UserWarningr�_randbelow_without_getrandbitsr+r,r-rArurOr(�
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)�r:i8���r)rrrZr()rrLrMrfr�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�rxr}r�r8r�)�Red�Black�Green)�r�r?)r��$�&r�r�r�r�r?i�߉)rr�rrr()
rr�rr<r�r�rvr�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)
Nrxs3��f��6���oe��rr$r@r=c3�T�K�|]}�jjd����!y�w)r8N�rr$�r�_rs  �rrz>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>��!�����!J��A�$�(�(�"4�"4�Q�"7����%(c3�4�K�|]}�|dz|dz���y�w)r?r@Nr1�rrr�s  �rrz>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>��)�����B�&@��&�a�!�e�Q��U�3�&@���c3�T�K�|]}�jjd����!y�w)r?Nr�r�s  �rrz>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>�r�r�c3�4�K�|]}�|dz|dz���y�w)r8r@Nr1r�s  �rrz>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>�r�r�c3�T�K�|]}�jjd����!y�w)r=Nr�r�s  �rrz>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)	rrurrrr(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|r8r�rxr�r��	abcdefghi)	rTr�r��r�r|r@r=r?r�r�)	rrtrrWrr(rXr�r�)rrtrr�r�rw�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%)r4r5r6rrurr�r�r�r�r�r�r�r�r�r<rBrNrUrr�rrrnr�r�r�r&r�r��
__classcell__)r�s@rrrOs����
�&�-�-�/�C�	>�>�$	�>�6J�J�<2�>3�,�&�	&�M�K�
8�8�),��1�* 8�D+��B&$�PL�!r$rr`��?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��@r`g���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|r8rTr#r�gi@r^�UUUUUU�?)rrurr�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�r8)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)rrurr�rrrrrrrr�rrX�appendrgr�r4)
rr
r)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)Nrs)rrr)rrrr�r�r^)rr�)r�r�r#)rr�r)rTr�)rTr#rT)r�r)rrurrrr�rr�r	r)�binomialvariaterrrr()rr
r)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)1Nr9)rr8g�)r�prrTr�rr#r >rr8g�������?>r>r8r|��?r�g�?rs�ec3�0�K�|]
}�dd����y�w)r@rNr1�rr�Bs  �rrz9TestDistributions.test_binomialvariate.<locals>.<genexpr>Ts�����7��1�A�a��J����ri�sii�i��i��i�Jr?i6Zi�
r=i >rr8r?r=r@c3�0�K�|]
}�dd����y�w)rsrNr1r"s  �rrz9TestDistributions.test_binomialvariate.<locals>.<genexpr>]s�����9�.�Q�A�c�4�L�.�r$i��r�r����iF�i��!i�g�������?i@o@i@Ni��l)
rrrCrur(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)Nrs)r�rg������@g������@)r��ffffff@g@@rzCvonmisesvariate({}, {}) produced a result {} out of range [0, 2*pi])r)rrurrrZ�TWOPI�format)rr
r)r�kappar�rts       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)rrr2s r�test_von_mises_large_kappaz,TestDistributions.test_von_mises_large_kappaus"�����q�$�'����q�%�(r$c�4�|jttjdd�|jttjdd�|jttjdd�|jttjdd�y)Nr9r=rr?r8r�)rCrurr
r2s 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=@�rOrr
r��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	�?r7r8s   r�!test_gammavariate_alpha_equal_onez3TestDistributions.test_gammavariate_alpha_equal_one�s1��$(�&����,�,�S�$�7�����~�/@�Ar$c��d}ddg|_tjd|�}tjd|z�}|j	||�y)Nr;r6r#)rOrr
rr�)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�_exprlrOr
r�)rr�rCrDrl�alphar>r�r�ryrzr9s            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)r4r5r6rrrr*r0r2r4r+r,r-r:r<rArFrJr1r$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|�yr)rrur�)r�newargs  rr�zQTestRandomSubclassing.test_random_subclass_with_kwargs.<locals>.Subclass.__init__�s���
�
�&�&�t�,r$r)r4r5r6r�r1r$r�SubclassrO�s��
-r$rRr8)rQ)rru)rrRs  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��addrru�r�calleds �rrzRTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass1.random�%����
�
�-�.��}�}�+�+�D�1�1r$c�f���jd�tjj||�S)N�SubClass1.getrandbits�rYrrur��rrr[s  �rr�zWTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass1.getrandbits	�'����
�
�2�3��}�}�0�0��q�9�9r$N)r4r5r6rr��r[s�r�	SubClass1rVs
���
2�
:r$rcr\r^c���eZdZ�fd�Zy)�KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass2c�d���jd�tjj|�S)N�SubClass2.randomrXrZs �rrzRTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass2.randomr\r$N�r4r5r6rrbs�r�	SubClass2re����
2r$rirgc���eZdZ�fd�Zy)�KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass3c�f���jd�tjj||�S)N�SubClass3.getrandbitsr_r`s  �rr�zWTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass3.getrandbitsrar$N�r4r5r6r�rbs�r�	SubClass3rl����
:r$rprnc���eZdZ�fd�Zy)�KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass4c�d���jd�tjj|�S)N�SubClass4.randomrXrZs �rrzRTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass4.random&r\r$Nrhrbs�r�	SubClass4rs%rjr$rvruc���eZdZ�fd�Zy)�HTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin1c�d���jd�tjj|�S)N�
Mixin1.randomrXrZs �rrzOTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin1.random0s$����
�
�?�+��}�}�+�+�D�1�1r$Nrhrbs�r�Mixin1rx/rjr$r{c���eZdZ�fd�Zy)�HTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin2c�f���jd�tjj||�S)N�Mixin2.getrandbitsr_r`s  �rr�zTTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin2.getrandbits4s'����
�
�/�0��}�}�0�0��q�9�9r$Nrorbs�r�Mixin2r}3rqr$r�c��eZdZy)�KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass5N�r4r5r6r1r$r�	SubClass5r�8���r$r�rzc��eZdZy)�KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass6Nr�r1r$r�	SubClass6r�>r�r$r�rc��eZdZy)�KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass7Nr�r1r$r�	SubClass7r�Dr�r$r�c��eZdZy)�KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass8Nr�r1r$r�	SubClass8r�Jr�r$r�)rrurYrr()rrcrirprvr{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)r4r5r6rSr�r1r$rrLrL�s
���R9r$rLc�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_MAGICCONSTr2s r�testMagicConstantszTestModule.testMagicConstantsRsY�����v�3�3�5E�F����v�|�|�]�;����v�{�{�,<�=����v�3�3�5E�Fr$c��|jttj�tt	t��k�yr)rZrYr�__all__�dirr2s 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�readr r
�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)	r4r5r6r�r�r|r
�
requires_forkr�r1r$rr�r�Qs/��G�A�
�\�\���!�2�"�2r$r��__main__)'r+�
unittest.mockrr�rrr��test.supportr|�	functoolsrr�rrrrrr	r
�	fractionsr�collectionsrr
rrp�SystemRandom_availablerN�
skipUnless�TestCaser/rrrr�rrLr�r4�mainr1r$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