Ë
    Bü´jót  ã            	       ó  — d dl Z d dlmZ d dlmZ d dlZd dlZd dlm	Z	m
Z
mZmZmZmZ d dlmZmZmZ ej&                  ej(                  ej*                  ej,                  ej.                  ej0                  ej2                  ej4                  ej6                  f	Zd„ Zdd„Zd„ Zdd	„Z e G d
„ d«      «       Z! G d„ d«      Z" G d„ de"«      Z# G d„ de"«      Z$ G d„ de"«      Z% G d„ de"«      Z& G d„ de"«      Z' G d„ de"«      Z(y)é    N)Ú	dataclass)Úpartial)ÚMT19937ÚPCG64Ú	PCG64DXSMÚSFC64Ú	GeneratorÚPhilox)Úassert_Úassert_array_equalÚassert_equalc                 óP  —  | «       }t        t        j                  |«      «        | d«      }t        |j                  dk(  «        | d«      }t        |j                  dk(  «        | d«      }t        |j                  dk(  «        | d¬«      }t        |j                  dk(  «       y )Né
   ©r   ©r   r   ©r   r   r   )é   r   ©Úsize)r   ÚnpÚisscalarÚshape)ÚfÚvals     ú[/root/workspace/ytshorts/venv/lib/python3.12/site-packages/numpy/random/tests/test_smoke.pyÚparams_0r      s‚   € Ù
‹#€CÜŒB�K‰K˜ÓÔÙ
ˆB‹%€CÜˆC�I‰I˜ÑÔÙ
ˆH‹+€CÜˆC�I‰I˜Ñ!Ô"Ù
ˆL‹/€CÜˆC�I‰I˜Ñ%Ô&Ù
�Œ.€CÜˆC�I‰I˜ÑÕ ó    c                 ó´  — d}t        j                  dd«      }t        j                  dd«      j                  d«      }t        j                  dd«      j                  d«      }t        j                  ddg«      }t        j                  dd«      j                  d	«      }|rpd
}|d|j	                  «       z  z  }|d|j	                  «       z  z  }|d|j	                  «       z  z  }|d|j	                  «       z  z  }|d|j	                  «       z  z  } | |«        | |d¬«        | |«        | |«        | |«        | |d¬«        | |d¬«        | |d¬«       y )Ng      @ç       @g      (@ç     €Y@r   g     P�@r   ç      @)é   r   r"   ç      à?g      ø?r   r   ©r   é   )r   ÚarangeÚreshapeÚarrayÚmax)r   ÚboundedÚaÚbÚcÚdÚeÚgs           r   Úparams_1r1      s+  € Ø€AÜ
�	‰	�#�tÓ€AÜ
�	‰	�#�uÓ×%Ñ% hÓ/€AÜ
�	‰	�#�vÓ×&Ñ& |Ó4€AÜ
�‰�#�s�Ó€AÜ
�	‰	�#�tÓ×$Ñ$ ZÓ0€AÙØˆØ��q—u‘u“w‘ÑˆØ��q—u‘u“w‘ÑˆØ��q—u‘u“w‘ÑˆØ��q—u‘u“w‘ÑˆØ��q—u‘u“w‘Ñˆñ €a„Dá€aˆhÕá€a„Dá€a„Dá€a„Dá€aˆb…Má€aˆgÕá€aˆlÖr   c                 ó¶  — d}t        | t        «      r| D ]  }|t        | |   ||   «      z  }Œ |S t        | «      t        |«      ur|t        | «      t        |«      u z  }|S t        | t        t
        t        j                  f«      rJt        |t        t
        t        j                  f«      r%t        | |«      D ]  \  }}|t        ||«      z  }Œ |S || |k(  z  }|S )NT)	Ú
isinstanceÚdictÚ
comp_stateÚtypeÚlistÚtupler   ÚndarrayÚzip)Ústate1Ústate2Ú	identicalÚkeyÚs1Ús2s         r   r5   r5   =   sê   € Ø€IÜ�&œ$ÔØò 	>ˆCØœ F¨3¡K°¸±Ó=Ñ=‰Ið	>ð Ðô 
ˆf‹œT &›\Ñ	)Ø”T˜&“\¤T¨&£\Ð1Ñ1ˆ	ð Ðô �Vœd¤E¬2¯:©:Ð6Ô
7¼JØ”Tœ5¤"§*¡*Ð-ô=/ä˜& &Ó)ò 	,‰FˆB�Øœ B¨Ó+Ñ+‰Ið	,ð Ðð 	�V˜vÑ%Ñ%ˆ	ØÐr   c                 óŽ  — |€#dt         j                  j                  dd«      z   }| j                  |«       | j                  |«       | j                  |t         j                  ¬«       | j                  |t         j                  ¬«       | j                  dd|t         j                  ¬«       | j                  dd|t         j                  ¬«       | j                  d|«       | j                  d|t         j                  ¬«       | j                  |t         j                  ¬«       | j                  |t         j                  ¬«       y )Né   r   é   ©Údtypeé   l          g      &@)	r   ÚrandomÚrandintÚstandard_normalÚfloat32ÚintegersÚuint64Ústandard_gammaÚfloat64)ÚrgÚns     r   ÚwarmuprQ   M   sí   € Ø€yØ”—‘×"Ñ" 1 bÓ)Ñ)ˆØ×Ñ�qÔØ×Ñ�qÔØ×Ñ�q¤§
¡
ÐÔ+Ø×Ñ�q¤§
¡
ÐÔ+Ø‡K�K��7˜A¤R§Y¡Y€KÔ/Ø‡K�K��7˜A¤R§Y¡Y€KÔ/Ø×Ñ�d˜AÔØ×Ñ�d˜A¤R§Z¡ZÐÔ0Ø‡I�Iˆa”r—z‘z€IÔ"Ø‡I�Iˆa”r—z‘z€IÕ"r   c                   ót   — e Zd ZU eej
                  j                     ed<   eed<   e	e   ed<   e
ed<   eed<   y)ÚRNGDataÚbit_generatorÚadvanceÚseedrO   Úseed_vector_bitsN)Ú__name__Ú
__module__Ú__qualname__r6   r   rG   ÚBitGeneratorÚ__annotations__Úintr7   r	   © r   r   rS   rS   \   s0   … à˜Ÿ	™	×.Ñ.Ñ/Ó/ØƒLØ
ˆs‰)ƒOØƒMØÔr   rS   c                   óh  — e Zd Zed„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d „ Z#d!„ Z$d"„ Z%d#„ Z&d$„ Z'd%„ Z(d&„ Z)d'„ Z*d(„ Z+d)„ Z,d*„ Z-d+„ Z.d,„ Z/d-„ Z0d.„ Z1d/„ Z2d0„ Z3d1„ Z4d2„ Z5d3„ Z6d4„ Z7d5„ Z8d6„ Z9d7„ Z:d8„ Z;d9„ Z<d:„ Z=d;„ Z>d<„ Z?d=„ Z@d>„ ZAd?„ ZBd@„ ZCdA„ ZDeEjŒ                  j�                  dBeH«      dC„ «       ZIeEjŒ                  j�                  dBeH«      dD„ «       ZJeEjŒ                  j�                  dBeH«      dE„ «       ZKyF)GÚRNGc                 óV   — t         }d }dg}t         ||Ž «      }d}t        |||||«      S )Né90  é@   ©r   r	   rS   ©ÚclsrT   rU   rV   rO   rW   s         r   Ú_create_rngzRNG._create_rngf   s>   € ô ˆØˆØˆwˆÜ‘} dÐ+Ó,ˆØÐÜ�} g¨t°RÐ9IÓJÐJr   c                 ó¬  — | j                  «       }t        |j                  «       «      |_        |j                  j                  j                  }|j                  j                  d«       |j                  j                  d«       ||j                  j                  _        |j                  j                  j                  }t        t        ||«      «       y )Nr"   )rg   r	   rT   rO   ÚstaterI   r   r5   )ÚselfÚdatari   Ú	new_states       r   Ú	test_initzRNG.test_initp   s”   € Ø×ÑÓ!ˆÜ˜D×.Ñ.Ó0Ó1ˆŒØ—‘×%Ñ%×+Ñ+ˆØ�‰×Ñ Ô"Ø�‰×Ñ Ô"Ø&+ˆ�‰×ÑÔ#Ø—G‘G×)Ñ)×/Ñ/ˆ	Ü”
˜5 )Ó,Õ-r   c                 óð  — | j                  «       }|j                  j                  j                  }t	        |j                  j                  d«      rd|j                  j                  j                  |j
                  «       t        t        ||j                  j                  j                  «       «       y |j                  j                  j                  j                  }t        j                  d|› �«       y )NrU   zAdvance is not supported by )rg   rO   rT   ri   ÚhasattrrU   r   r5   Ú	__class__rX   ÚpytestÚskip)rj   rk   ri   Úbitgen_names       r   Útest_advancezRNG.test_advancez   s¦   € Ø×ÑÓ!ˆØ—‘×%Ñ%×+Ñ+ˆÜ�4—7‘7×(Ñ(¨)Ô4Ø�G‰G×!Ñ!×)Ñ)¨$¯,©,Ô7Üœ
 5¨$¯'©'×*?Ñ*?×*EÑ*EÓFÐFÕGàŸ'™'×/Ñ/×9Ñ9×BÑBˆKÜ�K‰KÐ6°{°mÐDÕEr   c                 óX  — | j                  «       j                  }|j                  j                  }t	        |j                  d«      rš|j                  j                  «       }|j                  }t        t        ||«       «       |j                  d«       ||j                  _        |j                  j                  «       }|j                  }t        t        ||«      «       y |j                  j                  j                  }|dvrt        d|› �«      ‚t        j                  d|› �«       y )NÚjumpedi.Ê )r   zno "jumped" in zJump is not supported by )rg   rO   rT   ri   ro   rv   r   r5   rG   rp   rX   ÚAttributeErrorrq   rr   )rj   rO   ri   Úbit_gen2Újumped_stateÚbit_gen3Úrejumped_staters   s           r   Ú	test_jumpzRNG.test_jump„   sò   € Ø×ÑÓ×"Ñ"ˆØ× Ñ ×&Ñ&ˆÜ�2×#Ñ# XÔ.Ø×'Ñ'×.Ñ.Ó0ˆHØ#Ÿ>™>ˆLÜœ
 5¨,Ó7Ð7Ô8Ø�I‰IÐ2Ô3Ø%*ˆB×ÑÔ"Ø×'Ñ'×.Ñ.Ó0ˆHØ%Ÿ^™^ˆNÜ”J˜|¨^Ó<Õ=à×*Ñ*×4Ñ4×=Ñ=ˆKØ *Ñ,Ü$ °{°mÐ%DÓEÐEÜ�K‰KÐ3°K°=ÐAÕBr   c                 óþ   — | j                  «       j                  }|j                  ddd¬«      }t        t	        |«      dk(  «       t        |dkD  j                  «       «       t        |dk  j                  «       «       y )Nç      ð¿ç        r   r   éÿÿÿÿr   )rg   rO   Úuniformr   ÚlenÚall©rj   rO   Úrs      r   Útest_uniformzRNG.test_uniform–   s^   € Ø×ÑÓ×"Ñ"ˆØ�J‰J�t˜S rˆJÓ*ˆÜ”�A“˜"‘ÔÜ��R‘—‘“ÔÜ��a‘—‘“Õr   c                 óB  — | j                  «       j                  }|j                  t        j                  dgdz  «      dd¬«      }t        t        |«      dk(  «       t        |dkD  j                  «       «       t        |dk  j                  «       «       |j                  t        j                  dgdz  «      t        j                  dgdz  «      d¬«      }t        t        |«      dk(  «       t        |dkD  j                  «       «       t        |dk  j                  «       «       |j                  dt        j                  dgdz  «      d¬«      }t        t        |«      dk(  «       t        |dkD  j                  «       «       t        |dk  j                  «       «       y )Nr~   r   r   r   r€   r   )rg   rO   r�   r   r(   r   r‚   rƒ   r„   s      r   Útest_uniform_arrayzRNG.test_uniform_array�   s0  € Ø×ÑÓ×"Ñ"ˆØ�J‰J”r—x‘x  ¨¡Ó,¨c¸ˆJÓ;ˆÜ”�A“˜"‘ÔÜ��R‘—‘“ÔÜ��a‘—‘“ÔØ�J‰J”r—x‘x  ¨¡Ó,ÜŸH™H c U¨R¡ZÓ0°rð ó ;ˆä”�A“˜"‘ÔÜ��R‘—‘“ÔÜ��a‘—‘“ÔØ�J‰J�tœRŸX™X s e¨b¡jÓ1¸ˆJÓ;ˆÜ”�A“˜"‘ÔÜ��R‘—‘“ÔÜ��a‘—‘“Õr   c                 ó®   — | j                  «       j                  }t        t        |j	                  d«      «      dk(  «       t        |j                  «       y ©Nr   )rg   rO   r   r‚   rG   r   ©rj   rO   s     r   Útest_randomzRNG.test_random­   s<   € Ø×ÑÓ×"Ñ"ˆÜ”�B—I‘I˜b“MÓ" bÑ(Ô)Ü�—‘Õr   c                 ó„   — | j                  «       j                  }t        t        |j	                  d«      «      dk(  «       y rŠ   )rg   rO   r   r‚   rI   r‹   s     r   Útest_standard_normal_zigzRNG.test_standard_normal_zig²   s3   € Ø×ÑÓ×"Ñ"ˆÜ”�B×&Ñ& rÓ*Ó+¨rÑ1Õ2r   c                 ó®   — | j                  «       j                  }t        t        |j	                  d«      «      dk(  «       t        |j                  «       y rŠ   )rg   rO   r   r‚   rI   r   r‹   s     r   Útest_standard_normalzRNG.test_standard_normal¶   óA   € Ø×ÑÓ×"Ñ"ˆÜ”�B×&Ñ& rÓ*Ó+¨rÑ1Ô2Ü�×#Ñ#Õ$r   c           
      ó,  — | j                  «       j                  }t        t        |j	                  dd«      «      dk(  «       t        t        |j	                  t        j                  dgdz  «      d«      «      dk(  «       t        |j                  «       y rŠ   )rg   rO   r   r‚   rM   r   r(   r1   r‹   s     r   Útest_standard_gammazRNG.test_standard_gamma»   sq   € Ø×ÑÓ×"Ñ"ˆÜ”�B×%Ñ% b¨"Ó-Ó.°"Ñ4Ô5Ü”�B×%Ñ%¤b§h¡h°¨t°b©yÓ&9¸2Ó>Ó?À2ÑEÔFÜ�×"Ñ"Õ#r   c                 ó®   — | j                  «       j                  }t        t        |j	                  d«      «      dk(  «       t        |j                  «       y rŠ   )rg   rO   r   r‚   Ústandard_exponentialr   r‹   s     r   Útest_standard_exponentialzRNG.test_standard_exponentialÁ   sA   € Ø×ÑÓ×"Ñ"ˆÜ”�B×+Ñ+¨BÓ/Ó0°BÑ6Ô7Ü�×(Ñ(Õ)r   c                 ó
  — | j                  «       j                  }|j                  dd¬«      }t        t	        |«      dk(  «       |j
                  t        j                  k(  sJ ‚t        t        |j                  d¬«      «       y )Nr   rJ   rD   ©
rg   rO   r•   r   r‚   rE   r   rJ   r   r   ©rj   rO   Úrandomss      r   Útest_standard_exponential_floatz#RNG.test_standard_exponential_floatÆ   sg   € Ø×ÑÓ×"Ñ"ˆØ×)Ñ)¨"°IÐ)Ó>ˆÜ”�G“ Ñ"Ô#Ø�}‰}¤§
¡
Ò*Ð*Ð*Ü”˜×0Ñ0¸	ÔBÕCr   c                 ó  — | j                  «       j                  }|j                  ddd¬«      }t        t	        |«      dk(  «       |j
                  t        j                  k(  sJ ‚t        t        |j                  dd¬«      «       y )Nr   rJ   Úinv)rE   Úmethodr˜   r™   s      r   Ú#test_standard_exponential_float_logz'RNG.test_standard_exponential_float_logÍ   su   € Ø×ÑÓ×"Ñ"ˆØ×)Ñ)¨"°IØ6;ð *ó =ˆä”�G“ Ñ"Ô#Ø�}‰}¤§
¡
Ò*Ð*Ð*Ü”˜×0Ñ0¸	Ø %ô'õ 	(r   c                 ó®   — | j                  «       j                  }t        t        |j	                  d«      «      dk(  «       t        |j                  «       y rŠ   )rg   rO   r   r‚   Ústandard_cauchyr   r‹   s     r   Útest_standard_cauchyzRNG.test_standard_cauchyÖ   r‘   r   c                 ó°   — | j                  «       j                  }t        t        |j	                  dd«      «      dk(  «       t        |j                  «       y rŠ   )rg   rO   r   r‚   Ú
standard_tr1   r‹   s     r   Útest_standard_tzRNG.test_standard_tÛ   s?   € Ø×ÑÓ×"Ñ"ˆÜ”�B—M‘M " bÓ)Ó*¨bÑ0Ô1Ü�—‘Õr   c                 ó°   — | j                  «       j                  }t        |j                  dd«      dk\  «       t        |j                  dd«      dk\  «       y )Nr   r#   r   éè  )rg   rO   r   Úbinomialr‹   s     r   Útest_binomialzRNG.test_binomialà   sF   € Ø×ÑÓ×"Ñ"ˆÜ�—‘˜B Ó# qÑ(Ô)Ü�—‘˜D "Ó%¨Ñ*Õ+r   c                 óæ   — | j                  «       j                  }|j                  j                  }|j	                  d«      }||j                  _        |j	                  d«      }t        ||k(  «       y )Nl        )rg   rO   rT   ri   rK   r   )rj   rO   ri   Úint_1Úint_2s        r   Útest_reset_statezRNG.test_reset_stateå   s]   € Ø×ÑÓ×"Ñ"ˆØ× Ñ ×&Ñ&ˆØ—‘˜EÓ"ˆØ!&ˆ×ÑÔØ—‘˜EÓ"ˆÜ�˜‘Õr   c                 óô   — | j                  «       j                  }t         |«       «      }t         |«       «      }t        t	        |j                  j
                  |j                  j
                  «       «       y ©N)rg   rT   r	   r   r5   ri   )rj   rT   rO   Úrg2s       r   Útest_entropy_initzRNG.test_entropy_inití   s_   € Ø×(Ñ(Ó*×8Ñ8ˆÜ‘}“Ó'ˆÜ™›Ó(ˆÜ”J˜r×/Ñ/×5Ñ5Ø"×0Ñ0×6Ñ6ó8ð 8õ 	9r   c                 óf  — | j                  «       }t         |j                  |j                  Ž «      }t         |j                  |j                  Ž «      }|j	                  «        |j	                  «        t        t        |j                  j                  |j                  j                  «      «       y r¯   )rg   r	   rT   rV   rG   r   r5   ri   )rj   rk   rO   r°   s       r   Ú	test_seedzRNG.test_seedô   s�   € Ø×ÑÓ!ˆÜÐ)�t×)Ñ)¨4¯9©9Ð5Ó6ˆÜÐ*˜×*Ñ*¨D¯I©IÐ6Ó7ˆØ
�	‰	ŒØ�
‰
ŒÜ”
˜2×+Ñ+×1Ñ1°3×3DÑ3D×3JÑ3JÓKÕLr   c                 óh  — | j                  «       }t         |j                  |j                  Ž «      }|j	                  «        |j                  j
                  }|j	                  d¬«      }t        |j                  «       «      }||j                  _        |j	                  d¬«      }t        ||«       y )Nr   r   )rg   r	   rT   rV   rI   ri   r   ©rj   rk   rO   ri   Ún1r°   Ún2s          r   Útest_reset_state_gausszRNG.test_reset_state_gaussü   sš   € Ø×ÑÓ!ˆÜÐ)�t×)Ñ)¨4¯9©9Ð5Ó6ˆØ
×ÑÔØ× Ñ ×&Ñ&ˆØ×Ñ RÐÓ(ˆÜ˜×*Ñ*Ó,Ó-ˆØ"'ˆ×ÑÔØ× Ñ  bÐ Ó)ˆÜ˜2˜rÕ"r   c                 óÒ  — | j                  «       }t         |j                  |j                  Ž «      }|j	                  dddt
        j                  ¬«       |j                  j                  }|j	                  dddt
        j                  ¬«      }t        |j                  «       «      }||j                  _        |j	                  dddt
        j                  ¬«      }t        ||«       y )Nr   rF   éx   rD   r   )	rg   r	   rT   rV   rK   r   Úuint32ri   r   rµ   s          r   Útest_reset_state_uint32zRNG.test_reset_state_uint32  s´   € Ø×ÑÓ!ˆÜÐ)�t×)Ñ)¨4¯9©9Ð5Ó6ˆØ
�‰�A�w ¬2¯9©9ˆÔ5Ø× Ñ ×&Ñ&ˆØ�[‰[˜˜G R¬r¯y©yˆ[Ó9ˆÜ˜×*Ñ*Ó,Ó-ˆØ"'ˆ×ÑÔØ�\‰\˜!˜W b´·	±	ˆ\Ó:ˆÜ˜2˜rÕ"r   c                 ó�  — | j                  «       }t         |j                  |j                  Ž «      }|j	                  d¬«       |j                  j
                  }|j	                  dd¬«      }t        |j                  «       «      }||j                  _        |j	                  dd¬«      }t        ||k(  j                  «       «       y )NrJ   rD   r   ©r   rE   )rg   r	   rT   rV   rG   ri   r   rƒ   rµ   s          r   Útest_reset_state_floatzRNG.test_reset_state_float  s£   € Ø×ÑÓ!ˆÜÐ)�t×)Ñ)¨4¯9©9Ð5Ó6ˆØ
�	‰	˜	ˆ	Ô"Ø× Ñ ×&Ñ&ˆØ�Y‰Y˜B iˆYÓ0ˆÜ˜×*Ñ*Ó,Ó-ˆØ"'ˆ×ÑÔØ�Z‰Z˜R yˆZÓ1ˆÜ��r‘—‘Ó Õ!r   c                 óÀ   — | j                  «       j                  }t        j                  ddd«      }|j	                  |«      }t        ||k7  j                  «       «       y ©NéÈ   r   r€   ©rg   rO   r   r&   Úpermutationr   Úany©rj   rO   ÚoriginalÚpermuteds       r   Útest_shufflezRNG.test_shuffle  óL   € Ø×ÑÓ×"Ñ"ˆÜ—9‘9˜S ! RÓ(ˆØ—>‘> (Ó+ˆÜ�˜XÑ%×*Ñ*Ó,Õ-r   c                 óÀ   — | j                  «       j                  }t        j                  ddd«      }|j	                  |«      }t        ||k7  j                  «       «       y rÁ   rÃ   rÆ   s       r   Útest_permutationzRNG.test_permutation#  rÊ   r   c                 óì  — | j                  «       j                  }|j                  ddd«      }t        t	        |«      dk(  «       |j                  t        j                  dgdz  «      d«      }t        t	        |«      dk(  «       |j                  dt        j                  dgdz  «      «      }t        t	        |«      dk(  «       |j                  t        j                  dgdz  «      t        j                  dgdz  «      «      }t        t	        |«      dk(  «       |j                  t        j                  dgdz  «      t        j                  dggdz  «      «      }t        |j                  dk(  «       y )Nr   r   r   )rg   rO   Úbetar   r‚   r   r(   r   ©rj   rO   Úvalss      r   Ú	test_betazRNG.test_beta)  s  € Ø×ÑÓ×"Ñ"ˆØ�w‰w�s˜C Ó$ˆÜ”�D“	˜R‘Ô Ø�w‰w”r—x‘x  ¨¡
Ó+¨SÓ1ˆÜ”�D“	˜R‘Ô Ø�w‰w�sœBŸH™H c U¨R¡ZÓ0Ó1ˆÜ”�D“	˜R‘Ô Ø�w‰w”r—x‘x  ¨¡
Ó+¬R¯X©X°s°e¸b±jÓ-AÓBˆÜ”�D“	˜R‘Ô Ø�w‰w”r—x‘x  ¨¡
Ó+¬R¯X©X¸°u°gÀ±lÓ-CÓDˆÜ�—
‘
˜hÑ&Õ'r   c                 óˆ   — | j                  «       j                  }|j                  d«      }t        t	        |«      dk(  «       y rŠ   )rg   rO   Úbytesr   r‚   rÏ   s      r   Ú
test_byteszRNG.test_bytes6  s3   € Ø×ÑÓ×"Ñ"ˆØ�x‰x˜‹|ˆÜ”�D“	˜R‘Õ r   c                 ó´   — | j                  «       j                  }|j                  dd«      }t        t	        |«      dk(  «       t        |j                  «       y ©Nr   r   )rg   rO   Ú	chisquarer   r‚   r1   rÏ   s      r   Útest_chisquarezRNG.test_chisquare;  sB   € Ø×ÑÓ×"Ñ"ˆØ�|‰|˜C Ó$ˆÜ”�D“	˜R‘Ô Ü�—‘Õr   c                 ó´   — | j                  «       j                  }|j                  dd«      }t        t	        |«      dk(  «       t        |j                  «       y rÖ   )rg   rO   Úexponentialr   r‚   r1   rÏ   s      r   Útest_exponentialzRNG.test_exponentialA  sB   € Ø×ÑÓ×"Ñ"ˆØ�~‰~˜c 2Ó&ˆÜ”�D“	˜R‘Ô Ü�—‘Õ r   c                 óŒ   — | j                  «       j                  }|j                  ddd«      }t        t	        |«      dk(  «       y )Né   r§   r   )rg   rO   r   r   r‚   rÏ   s      r   Útest_fz
RNG.test_fG  s8   € Ø×ÑÓ×"Ñ"ˆØ�t‰t�A�t˜RÓ ˆÜ”�D“	˜R‘Õ r   c                 óŒ   — | j                  «       j                  }|j                  ddd«      }t        t	        |«      dk(  «       y )NrÝ   r%   r   )rg   rO   Úgammar   r‚   rÏ   s      r   Ú
test_gammazRNG.test_gammaL  s8   € Ø×ÑÓ×"Ñ"ˆØ�x‰x˜˜1˜bÓ!ˆÜ”�D“	˜R‘Õ r   c                 ó¸   — | j                  «       j                  }|j                  dd«      }t        t	        |«      dk(  «       t        |j                  d¬«       y )Nr#   r   T©r*   )rg   rO   Ú	geometricr   r‚   r1   rÚ   rÏ   s      r   Útest_geometriczRNG.test_geometricQ  sD   € Ø×ÑÓ×"Ñ"ˆØ�|‰|˜C Ó$ˆÜ”�D“	˜R‘Ô Ü�—‘¨Ö.r   c                 óŒ   — | j                  «       j                  }|j                  ddd«      }t        t	        |«      dk(  «       y rÖ   )rg   rO   Úgumbelr   r‚   rÏ   s      r   Útest_gumbelzRNG.test_gumbelW  s8   € Ø×ÑÓ×"Ñ"ˆØ�y‰y˜˜c 2Ó&ˆÜ”�D“	˜R‘Õ r   c                 óŒ   — | j                  «       j                  }|j                  ddd«      }t        t	        |«      dk(  «       y rÖ   )rg   rO   Úlaplacer   r‚   rÏ   s      r   Útest_laplacezRNG.test_laplace\  s8   € Ø×ÑÓ×"Ñ"ˆØ�z‰z˜#˜s BÓ'ˆÜ”�D“	˜R‘Õ r   c                 óŒ   — | j                  «       j                  }|j                  ddd«      }t        t	        |«      dk(  «       y rÖ   )rg   rO   Úlogisticr   r‚   rÏ   s      r   Útest_logiticzRNG.test_logitica  s8   € Ø×ÑÓ×"Ñ"ˆØ�{‰{˜3  RÓ(ˆÜ”�D“	˜R‘Õ r   c                 óŠ   — | j                  «       j                  }|j                  dd«      }t        t	        |«      dk(  «       y )Nr#   r   )rg   rO   Ú	logseriesr   r‚   rÏ   s      r   Útest_logserieszRNG.test_logseriesf  s6   € Ø×ÑÓ×"Ñ"ˆØ�|‰|˜C Ó$ˆÜ”�D“	˜R‘Õ r   c                 óŒ   — | j                  «       j                  }|j                  ddd«      }t        t	        |«      dk(  «       y ©Nr   çš™™™™™É?)rg   rO   Únegative_binomialr   r‚   rÏ   s      r   Útest_negative_binomialzRNG.test_negative_binomialk  s:   € Ø×ÑÓ×"Ñ"ˆØ×#Ñ# B¨¨RÓ0ˆÜ”�D“	˜R‘Õ r   c                 óŒ   — | j                  «       j                  }|j                  ddd«      }t        t	        |«      dk(  «       y )Nr   r%   )rg   rO   Únoncentral_chisquarer   r‚   rÏ   s      r   Útest_noncentral_chisquarezRNG.test_noncentral_chisquarep  s:   € Ø×ÑÓ×"Ñ"ˆØ×&Ñ& r¨1¨bÓ1ˆÜ”�D“	˜R‘Õ r   c                 ó  — | j                  «       j                  }|j                  dddd«      }t        t	        |«      dk(  «       |j                  t        j                  dgdz  «      dd«      }t        t	        |«      dk(  «       |j                  dt        j                  dgdz  «      d«      }t        t	        |«      dk(  «       |j                  ddt        j                  dgdz  «      «      }t        t	        |«      dk(  «       y )NrÝ   r§   r%   r   )rg   rO   Únoncentral_fr   r‚   r   r(   rÏ   s      r   Útest_noncentral_fzRNG.test_noncentral_fu  sÍ   € Ø×ÑÓ×"Ñ"ˆØ�‰˜q $¨¨2Ó.ˆÜ”�D“	˜R‘Ô Ø�‰œrŸx™x¨¨¨b©Ó1°4¸Ó;ˆÜ”�D“	˜R‘Ô Ø�‰˜q¤"§(¡(¨D¨6°B©;Ó"7¸Ó;ˆÜ”�D“	˜R‘Ô Ø�‰˜q $¬¯©°!°°r±Ó(:Ó;ˆÜ”�D“	˜R‘Õ r   c                 óŒ   — | j                  «       j                  }|j                  ddd«      }t        t	        |«      dk(  «       y ró   )rg   rO   Únormalr   r‚   rÏ   s      r   Útest_normalzRNG.test_normal€  s8   € Ø×ÑÓ×"Ñ"ˆØ�y‰y˜˜S "Ó%ˆÜ”�D“	˜R‘Õ r   c                 óŠ   — | j                  «       j                  }|j                  dd«      }t        t	        |«      dk(  «       y )Nr!   r   )rg   rO   Úparetor   r‚   rÏ   s      r   Útest_paretozRNG.test_pareto…  s6   € Ø×ÑÓ×"Ñ"ˆØ�y‰y˜˜bÓ!ˆÜ”�D“	˜R‘Õ r   c                 ó2  — | j                  «       j                  }|j                  dd«      }t        t	        |«      dk(  «       |j                  t        j                  dgdz  «      «      }t        t	        |«      dk(  «       t        |j                  «       y rŠ   )rg   rO   Úpoissonr   r‚   r   r(   r1   rÏ   s      r   Útest_poissonzRNG.test_poissonŠ  so   € Ø×ÑÓ×"Ñ"ˆØ�z‰z˜"˜bÓ!ˆÜ”�D“	˜R‘Ô Ø�z‰zœ"Ÿ(™( B 4¨"¡9Ó-Ó.ˆÜ”�D“	˜R‘Ô Ü�—‘Õr   c                 óŠ   — | j                  «       j                  }|j                  dd«      }t        t	        |«      dk(  «       y )Nrô   r   )rg   rO   Úpowerr   r‚   rÏ   s      r   Ú
test_powerzRNG.test_power’  s6   € Ø×ÑÓ×"Ñ"ˆØ�x‰x˜˜RÓ ˆÜ”�D“	˜R‘Õ r   c                 óŒ   — | j                  «       j                  }|j                  ddd«      }t        t	        |«      dk(  «       y )Nr   rC   )rg   rO   rK   r   r‚   rÏ   s      r   Útest_integerszRNG.test_integers—  s8   € Ø×ÑÓ×"Ñ"ˆØ�{‰{˜2˜r 2Ó&ˆÜ”�D“	˜R‘Õ r   c                 ó¸   — | j                  «       j                  }|j                  dd«      }t        t	        |«      dk(  «       t        |j                  d¬«       y )Nrô   r   Trã   )rg   rO   Úrayleighr   r‚   r1   rÏ   s      r   Útest_rayleighzRNG.test_rayleighœ  sD   € Ø×ÑÓ×"Ñ"ˆØ�{‰{˜3 Ó#ˆÜ”�D“	˜R‘Ô Ü�—‘ dÖ+r   c                 óŒ   — | j                  «       j                  }|j                  ddd«      }t        t	        |«      dk(  «       y ró   )rg   rO   Úvonmisesr   r‚   rÏ   s      r   Útest_vonmiseszRNG.test_vonmises¢  s8   € Ø×ÑÓ×"Ñ"ˆØ�{‰{˜2˜s BÓ'ˆÜ”�D“	˜R‘Õ r   c                 óŒ   — | j                  «       j                  }|j                  ddd«      }t        t	        |«      dk(  «       y ©Nç      ð?r   )rg   rO   Úwaldr   r‚   rÏ   s      r   Ú	test_waldzRNG.test_wald§  s8   € Ø×ÑÓ×"Ñ"ˆØ�w‰w�s˜C Ó$ˆÜ”�D“	˜R‘Õ r   c                 óŠ   — | j                  «       j                  }|j                  dd«      }t        t	        |«      dk(  «       y r  )rg   rO   Úweibullr   r‚   rÏ   s      r   Útest_weibullzRNG.test_weibull¬  s6   € Ø×ÑÓ×"Ñ"ˆØ�z‰z˜#˜rÓ"ˆÜ”�D“	˜R‘Õ r   c                 ó0  — | j                  «       j                  }t        j                  dd«      }t        j                  dd«      d d d …f   }t        j                  ddd«      j	                  d«      }|j                  dd«      }t        t        |«      dk(  «       |j                  |«      }t        t        |«      dk(  «       |j                  |«      }t        |j                  dk(  «       |j                  |«      }t        |j                  dk(  «       y )Nr   r    g{®Gáz„?)éd   r  r   r  )r"   r  )	rg   rO   r   r&   r'   Úzipfr   r‚   r   )rj   rO   Úvec_1dÚvec_2dÚmatrÐ   s         r   Ú	test_zipfzRNG.test_zipf±  sÕ   € Ø×ÑÓ×"Ñ"ˆÜ—‘˜3 Ó&ˆÜ—‘˜3 Ó& tªQ wÑ/ˆÜ�i‰i˜˜U DÓ)×1Ñ1°*Ó=ˆØ�w‰w�r˜2‹ˆÜ”�D“	˜R‘Ô Ø�w‰w�v‹ˆÜ”�D“	˜SÑ Ô!Ø�w‰w�v‹ˆÜ�—
‘
˜hÑ&Ô'Ø�w‰w�s‹|ˆÜ�—
‘
˜jÑ(Õ)r   c                 ó  — | j                  «       j                  }|j                  ddd«      }t        t	        j
                  |«      «       |j                  t	        j                  dgdz  «      dd«      }t        |j                  dk(  «       y )Né   rC   r   r   )rg   rO   Úhypergeometricr   r   r   r(   r   rÏ   s      r   Útest_hypergeometriczRNG.test_hypergeometric¿  so   € Ø×ÑÓ×"Ñ"ˆØ× Ñ   R¨Ó,ˆÜ”—‘˜DÓ!Ô"Ø× Ñ ¤§¡¨2¨$°©)Ó!4°b¸"Ó=ˆÜ�—
‘
˜eÑ#Õ$r   c                 ó  — | j                  «       j                  }|j                  ddd«      }t        t	        j
                  |«      «       |j                  dt	        j                  dgdz  «      d«      }t        |j                  dk(  «       y )Néûÿÿÿr   r   r   r   )rg   rO   Ú
triangularr   r   r   r(   r   rÏ   s      r   Útest_triangularzRNG.test_triangularÆ  sk   € Ø×ÑÓ×"Ñ"ˆØ�}‰}˜R  AÓ&ˆÜ”—‘˜DÓ!Ô"Ø�}‰}˜R¤§¡¨1¨#°©(Ó!3°QÓ7ˆÜ�—
‘
˜eÑ#Õ$r   c                 óŠ  — | j                  «       j                  }ddg}ddgddgg}|j                  ||d«      }t        |j                  dk(  «       |j                  ||d«      }t        |j                  dk(  «       |j                  ||d«      }t        |j                  dk(  «       t        ||k7  j                  «       «       y )Nr   r"   r  éˆ  )r)  r%   )rg   rO   Úmultivariate_normalr   r   rÅ   )rj   rO   ÚmeanÚcovÚxÚx_zigÚx_invs          r   Útest_multivariate_normalzRNG.test_multivariate_normalÍ  sµ   € Ø×ÑÓ×"Ñ"ˆØ�1ˆvˆØ�1ˆv˜˜3�xÐ ˆØ×"Ñ" 4¨¨dÓ3ˆÜ�—‘˜9Ñ$Ô%Ø×&Ñ& t¨S°$Ó7ˆÜ�—‘˜9Ñ$Ô%Ø×&Ñ& t¨S°$Ó7ˆÜ�—‘˜9Ñ$Ô%Ü�˜%‘×$Ñ$Ó&Õ'r   c                 óì   — | j                  «       j                  }|j                  dddg«      }t        |j                  dk(  «       |j                  dddgd¬«      }t        |j                  dk(  «       y )Nr  gUUUUUUÕ?gUUUUUUå?)r%   r   r   r$   )rg   rO   Úmultinomialr   r   rÏ   s      r   Útest_multinomialzRNG.test_multinomialÙ  sf   € Ø×ÑÓ×"Ñ"ˆØ�~‰~˜c G¨WÐ#5Ó6ˆÜ�—
‘
˜dÑ"Ô#Ø�~‰~˜c G¨WÐ#5¸Bˆ~Ó?ˆÜ�—
‘
˜gÑ%Õ&r   c                 óŒ   — | j                  «       j                  }|j                  dd«      }t        |j                  dk(  «       y )N)r   r   rÝ   rC   )rC   rÝ   )rg   rO   Ú	dirichletr   r   )rj   rO   Úss      r   Útest_dirichletzRNG.test_dirichletà  s7   € Ø×ÑÓ×"Ñ"ˆØ�L‰L˜ RÓ(ˆÜ�—‘˜7Ñ"Õ#r   c                 óP  — | j                  «       j                  }t        j                  |«      }t        j                  |«      }t        t        |«      t        |«      u «       t        t        |j                  j                  |j                  j                  «      «       t        j                  |«      }t        j                  |«      }t        t        |«      t        |«      u «       t        t        |j                  j                  |j                  j                  «      «       y r¯   )
rg   rO   ÚpickleÚdumpsÚloadsr   r6   r5   rT   ri   )rj   rO   ÚpickÚunpicks       r   Útest_picklezRNG.test_pickleå  sÒ   € Ø×ÑÓ×"Ñ"ˆÜ�|‰|˜BÓˆÜ—‘˜dÓ#ˆÜ”�R“œD ›LÐ(Ô)Ü”
˜2×+Ñ+×1Ñ1Ø!×/Ñ/×5Ñ5ó7ô 	8ô �|‰|˜BÓˆÜ—‘˜dÓ#ˆÜ”�R“œD ›LÐ(Ô)Ü”
˜2×+Ñ+×1Ñ1Ø!×/Ñ/×5Ñ5ó7õ 	8r   c                 ó�  — | j                  «       }|j                  €.|j                  j                  }t	        j
                  d|› �«       |j                  dk(  rt        j                  }nt        j                  }t        j                  dg|¬«      }|j                  |«      }|j                  }|j                  d«      }|j                  }t        t        ||«      «       t        j                  d|¬«      }|j                  |«      }|j                  }|j                  |d   «      }|j                  }t        t        ||«       «       t        j                  d|¬«      }|j                  |«      }|j                  }|j                  |d   «      }|j                  }t        t        ||«       «       dt        j                  t        j                  d|¬«      |j                  dz
  «      z  dz   }|j                  |«      }|j                  }|j                  |d   «      }|j                  }t        t        ||«       «       y )	Nz#Vector seeding is not supported by é    r"   rD   é   r   iÜ  r%   )rg   rW   rT   rX   rq   rr   r   r»   rL   r(   ri   r   r5   r&   Úmod)rj   rk   rs   rE   rV   Úbgr;   r<   s           r   Útest_seed_arrayzRNG.test_seed_arrayó  sä  € Ø×ÑÓ!ˆØ× Ñ Ð(Ø×,Ñ,×5Ñ5ˆKÜ�K‰KÐ=¸k¸]ÐKÔLà× Ñ  BÒ&Ü—I‘I‰Eä—I‘IˆEÜ�x‰x˜˜ 5Ô)ˆØ×Ñ Ó%ˆØ—‘ˆØ×Ñ Ó"ˆØ—‘ˆÜ”
˜6 6Ó*Ô+ä�y‰y˜ %Ô(ˆØ×Ñ Ó%ˆØ—‘ˆØ×Ñ  Q¡Ó(ˆØ—‘ˆÜ”J˜v vÓ.Ð.Ô/ä�y‰y˜ UÔ+ˆØ×Ñ Ó%ˆØ—‘ˆØ×Ñ  Q¡Ó(ˆØ—‘ˆÜ”J˜v vÓ.Ð.Ô/à”B—F‘Fœ2Ÿ9™9 T°Ô7Ø×0Ñ0°1Ñ4ó6ñ 6Ø89ñ:ˆà×Ñ Ó%ˆØ—‘ˆØ×Ñ  Q¡Ó(ˆØ—‘ˆÜ”J˜v vÓ.Ð.Õ/r   c                 óR  — | j                  «       j                  }t         |d«      «      }t        |«       |j                  j                  }|j                  dt        j                  ¬«      }t         |«       «      }t        |«       ||j                  _        |j                  dt        j                  ¬«      }t        ||«       t        |j                  t        j                  «       t        t        |j                  j                  |j                  j                  «      «       y )Nrb   rB   rD   )rg   rT   r	   rQ   ri   rG   r   rJ   r   r   rE   r   r5   ©rj   rT   rO   ri   Úr1r°   Úr2s          r   Útest_uniform_floatzRNG.test_uniform_float  sÍ   € Ø×(Ñ(Ó*×8Ñ8ˆÜ‘} UÓ+Ó,ˆÜˆrŒ
Ø× Ñ ×&Ñ&ˆØ�Y‰Y�r¤§¡ˆYÓ,ˆÜ™›Ó(ˆÜˆsŒØ"'ˆ×ÑÔØ�Z‰Z˜¤"§*¡*ˆZÓ-ˆÜ˜2˜rÔ"Ü�R—X‘XœrŸz™zÔ*Ü”
˜2×+Ñ+×1Ñ1°3×3DÑ3D×3JÑ3JÓKÕLr   c                 óT  — | j                  «       j                  }t         |«       «      }t        |«       |j                  j                  }|j                  ddt        j                  ¬«      }t         |«       «      }t        |«       ||j                  _        |j                  ddt        j                  ¬«      }t        ||«       t        |j                  t        j                  «       t        t        |j                  j                  |j                  j                  «      «       y )Ng      @rB   rD   )rg   rT   r	   rQ   ri   rM   r   rJ   r   r   rE   r   r5   rF  s          r   Útest_gamma_floatszRNG.test_gamma_floats(  sÔ   € Ø×(Ñ(Ó*×8Ñ8ˆÜ‘}“Ó'ˆÜˆrŒ
Ø× Ñ ×&Ñ&ˆØ×Ñ˜s B¬b¯j©jÐÓ9ˆÜ™›Ó(ˆÜˆsŒØ"'ˆ×ÑÔØ×Ñ  R¬r¯z©zÐÓ:ˆÜ˜2˜rÔ"Ü�R—X‘XœrŸz™zÔ*Ü”
˜2×+Ñ+×1Ñ1°3×3DÑ3D×3JÑ3JÓKÕLr   c                 óP  — | j                  «       j                  }t         |«       «      }t        |«       |j                  j                  }|j                  dt        j                  ¬«      }t         |«       «      }t        |«       ||j                  _        |j                  dt        j                  ¬«      }t        ||«       t        |j                  t        j                  «       t        t        |j                  j                  |j                  j                  «      «       y ©NrB   rD   ©rg   rT   r	   rQ   ri   rI   r   rJ   r   r   rE   r   r5   rF  s          r   Útest_normal_floatszRNG.test_normal_floats6  óÐ   € Ø×(Ñ(Ó*×8Ñ8ˆÜ‘}“Ó'ˆÜˆrŒ
Ø× Ñ ×&Ñ&ˆØ×Ñ ¬"¯*©*ÐÓ5ˆÜ™›Ó(ˆÜˆsŒØ"'ˆ×ÑÔØ× Ñ  ¬2¯:©:Ð Ó6ˆÜ˜2˜rÔ"Ü�R—X‘XœrŸz™zÔ*Ü”
˜2×+Ñ+×1Ñ1°3×3DÑ3D×3JÑ3JÓKÕLr   c                 óP  — | j                  «       j                  }t         |«       «      }t        |«       |j                  j                  }|j                  dt        j                  ¬«      }t         |«       «      }t        |«       ||j                  _        |j                  dt        j                  ¬«      }t        ||«       t        |j                  t        j                  «       t        t        |j                  j                  |j                  j                  «      «       y rM  rN  rF  s          r   Útest_normal_zig_floatszRNG.test_normal_zig_floatsD  rP  r   c                 óæ  — | j                  «       j                  }|j                  j                  }d}t	        j
                  |«      }||j                  _        |j                  |¬«       ||j                  _        |j                  |¬«      }t        ||«       t	        j
                  |«      }||j                  _        |j                  ||j                  ¬«       t	        j
                  |t        j                  ¬«      }||j                  _        |j                  |t        j                  ¬«       ||j                  _        |j                  |t        j                  ¬«      }t        ||«       y )N©é   é   éa   ©Úoutr   )rY  r   rD   ©rY  rE   r¾   )
rg   rO   rT   ri   r   ÚemptyrI   r   r   rJ   )rj   rO   ri   r   ÚexistingÚdirectÚsizeds          r   Útest_output_fillzRNG.test_output_fillR  s  € Ø×ÑÓ×"Ñ"ˆØ× Ñ ×&Ñ&ˆØˆÜ—8‘8˜D“>ˆØ!&ˆ×ÑÔØ
×Ñ˜xÐÔ(Ø!&ˆ×ÑÔØ×#Ñ#¨Ð#Ó.ˆÜ�V˜XÔ&ä—‘˜“ˆØ!&ˆ×ÑÔØ
×Ñ˜u¨5¯;©;ÐÔ7ä—8‘8˜D¬¯
©
Ô3ˆØ!&ˆ×ÑÔØ
×Ñ˜x¬r¯z©zÐÔ:Ø!&ˆ×ÑÔØ×#Ñ#¨´R·Z±ZÐ#Ó@ˆÜ�V˜XÕ&r   c                 ó`  — | j                  «       j                  }|j                  j                  }d}t	        j
                  |«      }||j                  _        |j                  |¬«       ||j                  _        |j                  |¬«      }t        ||«       t	        j
                  |t        j                  ¬«      }||j                  _        |j                  |t        j                  ¬«       ||j                  _        |j                  |t        j                  ¬«      }t        ||«       y ©NrT  rX  r   rD   rZ  r¾   )	rg   rO   rT   ri   r   r[  rG   r   rJ   ©rj   rO   ri   r   r\  r]  s         r   Útest_output_filling_uniformzRNG.test_output_filling_uniformh  sá   € Ø×ÑÓ×"Ñ"ˆØ× Ñ ×&Ñ&ˆØˆÜ—8‘8˜D“>ˆØ!&ˆ×ÑÔØ
�	‰	�hˆ	ÔØ!&ˆ×ÑÔØ—‘ �Ó%ˆÜ�V˜XÔ&ä—8‘8˜D¬¯
©
Ô3ˆØ!&ˆ×ÑÔØ
�	‰	�h¤b§j¡jˆ	Ô1Ø!&ˆ×ÑÔØ—‘ ¬B¯J©J�Ó7ˆÜ�V˜XÕ&r   c                 ó`  — | j                  «       j                  }|j                  j                  }d}t	        j
                  |«      }||j                  _        |j                  |¬«       ||j                  _        |j                  |¬«      }t        ||«       t	        j
                  |t        j                  ¬«      }||j                  _        |j                  |t        j                  ¬«       ||j                  _        |j                  |t        j                  ¬«      }t        ||«       y ra  )	rg   rO   rT   ri   r   r[  r•   r   rJ   rb  s         r   Útest_output_filling_exponentialz#RNG.test_output_filling_exponentialz  sí   € Ø×ÑÓ×"Ñ"ˆØ× Ñ ×&Ñ&ˆØˆÜ—8‘8˜D“>ˆØ!&ˆ×ÑÔØ
×Ñ HÐÔ-Ø!&ˆ×ÑÔØ×(Ñ(¨dÐ(Ó3ˆÜ�V˜XÔ&ä—8‘8˜D¬¯
©
Ô3ˆØ!&ˆ×ÑÔØ
×Ñ H´B·J±JÐÔ?Ø!&ˆ×ÑÔØ×(Ñ(¨d¼"¿*¹*Ð(ÓEˆÜ�V˜XÕ&r   c                 óh  — | j                  «       j                  }|j                  j                  }d}t	        j
                  |«      }||j                  _        |j                  d|¬«       ||j                  _        |j                  d|¬«      }t        ||«       t	        j
                  |t        j                  ¬«      }||j                  _        |j                  d|t        j                  ¬«       ||j                  _        |j                  d|t        j                  ¬«      }t        ||«       y )NrT  r  rX  r   rD   rZ  r¾   )	rg   rO   rT   ri   r   ÚzerosrM   r   rJ   rb  s         r   Útest_output_filling_gammazRNG.test_output_filling_gammaŒ  sõ   € Ø×ÑÓ×"Ñ"ˆØ× Ñ ×&Ñ&ˆØˆÜ—8‘8˜D“>ˆØ!&ˆ×ÑÔØ
×Ñ˜# 8ÐÔ,Ø!&ˆ×ÑÔØ×"Ñ" 3¨TÐ"Ó2ˆÜ�V˜XÔ&ä—8‘8˜D¬¯
©
Ô3ˆØ!&ˆ×ÑÔØ
×Ñ˜# 8´2·:±:ÐÔ>Ø!&ˆ×ÑÔØ×"Ñ" 3¨T¼¿¹Ð"ÓDˆÜ�V˜XÕ&r   c                 ó˜  — | j                  «       j                  }|j                  j                  }d}t	        j
                  d«      dz   }t	        j                  |«      }||j                  _        |j                  ||¬«       ||j                  _        |j                  ||¬«      }t        ||«       t	        j                  |t        j                  ¬«      }||j                  _        |j                  ||t        j                  ¬«       ||j                  _        |j                  ||t        j                  ¬«      }t        ||«       y )	NrT  g     @X@r  rX  r   rD   rZ  r¾   )
rg   rO   rT   ri   r   r&   rg  rM   r   rJ   )rj   rO   ri   r   Úmur\  r]  s          r   Ú#test_output_filling_gamma_broadcastz'RNG.test_output_filling_gamma_broadcastž  s  € Ø×ÑÓ×"Ñ"ˆØ× Ñ ×&Ñ&ˆØˆÜ�Y‰Y�t‹_˜sÑ"ˆÜ—8‘8˜D“>ˆØ!&ˆ×ÑÔØ
×Ñ˜" (ÐÔ+Ø!&ˆ×ÑÔØ×"Ñ" 2¨DÐ"Ó1ˆÜ�V˜XÔ&ä—8‘8˜D¬¯
©
Ô3ˆØ!&ˆ×ÑÔØ
×Ñ˜" (´"·*±*ÐÔ=Ø!&ˆ×ÑÔØ×"Ñ" 2¨D¼¿
¹
Ð"ÓCˆÜ�V˜XÕ&r   c                 óŽ  — | j                  «       j                  }d}t        j                  |«      }t	        j
                  t        «      5  |j                  |t        j                  ¬«       d d d «       t	        j
                  t        «      5  |j                  |d d d…   ¬«       d d d «       t        j                  |t        j                  ¬«      }t	        j
                  t        «      5  |j                  |t        j                  ¬«       d d d «       t        j                  |t        j                  ¬«      }t	        j
                  t        «      5  |j                  d|t        j                  ¬«       d d d «       t	        j
                  t        «      5  |j                  d|d d d…   t        j                  ¬«       d d d «       t        j                  |t        j                  ¬«      }t	        j
                  t        «      5  |j                  d|t        j                  ¬«       d d d «       t	        j
                  t        «      5  |j                  d|d d d…   ¬«       d d d «       y # 1 sw Y   �ŒxY w# 1 sw Y   �Œ×xY w# 1 sw Y   �Œ|xY w# 1 sw Y   �Œ xY w# 1 sw Y   ŒâxY w# 1 sw Y   Œ…xY w# 1 sw Y   y xY w)NrT  rZ  rÝ   rX  rD   r  )rg   rO   r   r[  rq   ÚraisesÚ	TypeErrorrI   rJ   Ú
ValueErrorrN   rg  rM   )rj   rO   r   r\  s       r   Útest_output_fill_errorzRNG.test_output_fill_error±  s  € Ø×ÑÓ×"Ñ"ˆØˆÜ—8‘8˜D“>ˆÜ�]‰]œ9Ó%ñ 	?Ø×Ñ 8´2·:±:ÐÔ>÷	?ä�]‰]œ:Ó&ñ 	2Ø×Ñ 8©C¨a¨C¡=ÐÔ1÷	2ä—8‘8˜D¬¯
©
Ô3ˆÜ�]‰]œ9Ó%ñ 	?Ø×Ñ 8´2·:±:ÐÔ>÷	?ô —8‘8˜D¬¯
©
Ô3ˆÜ�]‰]œ9Ó%ñ 	CØ×Ñ˜c x´r·z±zÐÔB÷	Cä�]‰]œ:Ó&ñ 	HØ×Ñ˜c x±°!°¡}¼B¿J¹JÐÔG÷	Hä—8‘8˜D¬¯
©
Ô3ˆÜ�]‰]œ9Ó%ñ 	CØ×Ñ˜c x´r·z±zÐÔB÷	Cä�]‰]œ:Ó&ñ 	6Ø×Ñ˜c x±°!°¡}ÐÔ5÷	6ð 	6÷!	?ñ 	?ú÷	2ñ 	2ú÷	?ñ 	?ú÷	Cñ 	Cú÷	Hð 	Hú÷	Cð 	Cú÷	6ð 	6úsT   Á"I/ÂI<Ã-"J	Å#JÆ)J#È#J/ÉJ;É/I9É<JÊ	JÊJ Ê#J,Ê/J8Ê;KrE   c                 ó  ‡— | j                  «       j                  }|j                  j                  Šˆfd„}|t        j
                  k(  rd}d}n9t	        j                  |«      }t        |j                  «      dz   }|j                  } ||«       ‰|j                  _        |j                  ||gdz  |¬«      } ||«       |j                  |gdz  ||¬«      }t        ||«        ||«       |j                  ||d|¬«      }	t        ||	«        ||«       |j                  t	        j                  |gdz  «      t	        j                  |gt        ¬«      d|¬«      }
t        ||
«        ||«       |j                  t	        j                  |gdz  «      t	        j                  |gdz  «      d|¬«      }t        ||«        ||«       |j                  d|d|¬«      } ||«       |j                  |gdz  |¬«      }t        ||«       y )Nc                 ó(   •— ‰| j                   _        y r¯   )rT   ri   )ÚrngÚinitial_states    €r   Úreset_statez0RNG.test_integers_broadcast.<locals>.reset_stateÍ  s   ø€ Ø&3ˆC×ÑÕ#r   r%   r   r"   r   rD   r¾   )rg   rO   rT   ri   r   ÚboolÚiinfor]   r)   ÚminrK   r   r(   Úobject)rj   rE   rO   ru  ÚupperÚlowerÚinfor+   r,   r-   r.   r/   rt  s               @r   Útest_integers_broadcastzRNG.test_integers_broadcastÈ  sÑ  ø€ à×ÑÓ×"Ñ"ˆØ×(Ñ(×.Ñ.ˆô	4ð ”B—G‘GÒØˆEØ‰Eä—8‘8˜E“?ˆDÜ˜Ÿ™“M AÑ%ˆEØ—H‘HˆEÙ�BŒØ!.ˆ×ÑÔØ�K‰K˜ ˜w¨™|°5ˆKÓ9ˆÙ�BŒØ�K‰K˜˜ "™ e°5ˆKÓ9ˆÜ�Q˜ÔÙ�BŒØ�K‰K˜˜u¨2°UˆKÓ;ˆÜ�Q˜ÔÙ�BŒØ�K‰KœŸ™ØˆG�b‰LóÜŸ8™8 U G´6Ô:ÀØð ó ˆô 	�Q˜ÔÙ�BŒØ�K‰KÜ�H‰H�e�W˜r‘\Ó"¤B§H¡H¨e¨W°r©\Ó$:ÀØð ó ˆô 	�Q˜Ôá�BŒØ�K‰K˜˜5 r°ˆKÓ7ˆÙ�BŒØ�K‰K˜˜ "™¨EˆKÓ2ˆÜ�Q˜Õr   c                 óz  — | j                  «       j                  }t        j                  dg«      }t        j                  dg«      }|j	                  |||¬«      }|j
                  dk(  sJ ‚|j	                  |d   ||¬«      }|j
                  dk(  sJ ‚|j	                  ||d   |¬«      }|j
                  dk(  sJ ‚y )Nr"   r   rD   )r"   )rg   rO   r   r(   rK   r   )rj   rE   rO   ÚhighÚlowrY  s         r   Útest_integers_numpyzRNG.test_integers_numpyñ  s®   € à×ÑÓ×"Ñ"ˆÜ�x‰x˜˜‹}ˆÜ�h‰h˜�s‹mˆà�k‰k˜#˜t¨5ˆkÓ1ˆØ�y‰y˜DÒ Ð Ð à�k‰k˜#˜a™& $¨eˆkÓ4ˆØ�y‰y˜DÒ Ð Ð à�k‰k˜#˜t A™w¨eˆkÓ4ˆØ�y‰y˜DÒ Ð Ñ r   c                 ó  — | j                  «       j                  }|t        j                  k(  rd}d}n9t        j                  |«      }t        |j                  «      dz   }|j                  }t        j                  t        «      5  |j                  ||dz   gdz  |¬«       d d d «       t        j                  t        «      5  |j                  |dz
  |gdz  |¬«       d d d «       t        j                  t        «      5  |j                  |dz
  g|gdz  |¬«       d d d «       t        j                  t        «      5  |j                  dgdg|¬«       d d d «       y # 1 sw Y   Œ½xY w# 1 sw Y   ŒŒxY w# 1 sw Y   ŒZxY w# 1 sw Y   y xY w)Nr%   r   r"   r   rD   )rg   rO   r   rv  rw  r]   r)   rx  rq   rm  ro  rK   )rj   rE   rO   rz  r{  r|  s         r   Útest_integers_broadcast_errorsz"RNG.test_integers_broadcast_errors   sN  € à×ÑÓ×"Ñ"ˆØ”B—G‘GÒØˆEØ‰Eä—8‘8˜E“?ˆDÜ˜Ÿ™“M AÑ%ˆEØ—H‘HˆEÜ�]‰]œ:Ó&ñ 	>Ø�K‰K˜ ¨¡	˜{¨RÑ/°uˆKÔ=÷	>ä�]‰]œ:Ó&ñ 	>Ø�K‰K˜ ™	 E 7¨R¡<°uˆKÔ=÷	>ä�]‰]œ:Ó&ñ 	@Ø�K‰K˜ ™˜ e W¨r¡\¸ˆKÔ?÷	@ä�]‰]œ:Ó&ñ 	/Ø�K‰K˜˜˜a˜S¨ˆKÔ.÷	/ð 	/÷	>ð 	>ú÷	>ð 	>ú÷	@ð 	@ú÷	/ð 	/ús0   ÂEÃE)Ã?E5Ä=FÅE&Å)E2Å5E>ÆF
N)LrX   rY   rZ   Úclassmethodrg   rm   rt   r|   r†   rˆ   rŒ   rŽ   r�   r“   r–   r›   rŸ   r¢   r¥   r©   r­   r±   r³   r¸   r¼   r¿   rÉ   rÌ   rÑ   rÔ   rØ   rÛ   rÞ   rá   rå   rè   rë   rî   rñ   rö   rù   rü   rÿ   r  r  r  r
  r  r  r  r  r  r#  r'  r0  r3  r7  r>  rD  rI  rK  rO  rR  r_  rc  re  rh  rk  rp  rq   ÚmarkÚparametrizeÚDTYPES_BOOL_INT_UINTr}  r�  rƒ  r^   r   r   r`   r`   e   sÒ  „ ØñKó ðKò.òFòCò$ ò ò ò
3ò%ò
$ò*ò
Dò(ò%ò
 ò
,ò
 ò9òMò	#ò	#ò	"ò.ò.ò(ò!ò
ò!ò!ò
!ò
/ò!ò
!ò
!ò
!ò
!ò
!ò
	!ò!ò
!ò
ò!ò
!ò
,ò!ò
!ò
!ò
*ò%ò%ò
(ò'ò$ò
8ò%0òNMòMòMòMò'ò,'ò$'ò$'ò$'ò&6ð. ‡[�[×Ñ˜WÐ&:Ó;ñ&ó <ð&ðP ‡[�[×Ñ˜WÐ&:Ó;ñ!ó <ð!ð ‡[�[×Ñ˜WÐ&:Ó;ñ/ó <ñ/r   r`   c                   ó"   — e Zd Zed„ «       Zd„ Zy)ÚTestMT19937c                 óV   — t         }d }dg}t         ||Ž «      }d}t        |||||«      S )Ni! ! r@  )r   r	   rS   re   s         r   rg   zTestMT19937._create_rng  s=   € äˆØˆØ.Ð/ˆÜ‘} dÐ+Ó,ˆØÐÜ�} g¨t°RÐ9IÓJÐJr   c                 ó|  — | j                  «       j                  }t        j                  j	                  «       }|j                  d«       |j                  «       }||j                  _        |j                  j                  }t        |d   |d   d   k(  j                  «       «       t        |d   |d   d   k(  «       y )Néc   r"   ri   r>   r%   Úpos)rg   rO   r   rG   ÚRandomStaterI   Ú	get_staterT   ri   r   rƒ   )rj   rO   Únprgri   r<   s        r   Útest_numpy_statezTestMT19937.test_numpy_state  sž   € Ø×ÑÓ×"Ñ"ˆÜ�y‰y×$Ñ$Ó&ˆØ×Ñ˜RÔ Ø—‘Ó ˆØ!&ˆ×ÑÔØ×!Ñ!×'Ñ'ˆÜ��q‘˜V G™_¨UÑ3Ñ3×8Ñ8Ó:Ô;Ü��a‘˜F 7™O¨EÑ2Ñ2Õ3r   N)rX   rY   rZ   r„  rg   r‘  r^   r   r   r‰  r‰    s   „ ØñKó ðKó4r   r‰  c                   ó   — e Zd Zed„ «       Zy)Ú
TestPhiloxc                 óV   — t         }d}dg}t         ||Ž «      }d}t        |||||«      S ©Nl         rb   rc   )r
   r	   rS   re   s         r   rg   zTestPhilox._create_rng*  s<   € äˆØ+ˆØˆwˆÜ‘} dÐ+Ó,ˆØÐÜ�} g¨t°RÐ9IÓJÐJr   N©rX   rY   rZ   r„  rg   r^   r   r   r“  r“  )  ó   „ ØñKó ñKr   r“  c                   ó   — e Zd Zed„ «       Zy)Ú	TestSFC64c                 óV   — t         }d }dg}t         ||Ž «      }d}t        |||||«      S )Nrb   éÀ   )r   r	   rS   re   s         r   rg   zTestSFC64._create_rng5  s<   € äˆØˆØˆwˆÜ‘} dÐ+Ó,ˆØÐÜ�} g¨t°RÐ9IÓJÐJr   Nr–  r^   r   r   r™  r™  4  r—  r   r™  c                   ó   — e Zd Zed„ «       Zy)Ú	TestPCG64c                 óV   — t         }d}dg}t         ||Ž «      }d}t        |||||«      S r•  rd   re   s         r   rg   zTestPCG64._create_rng@  s<   € äˆØ+ˆØˆwˆÜ‘} dÐ+Ó,ˆØÐÜ�} g¨t°RÐ9IÓJÐJr   Nr–  r^   r   r   r�  r�  ?  r—  r   r�  c                   ó   — e Zd Zed„ «       Zy)ÚTestPCG64DXSMc                 óV   — t         }d}dg}t         ||Ž «      }d}t        |||||«      S r•  )r   r	   rS   re   s         r   rg   zTestPCG64DXSM._create_rngK  s<   € ä!ˆØ+ˆØˆwˆÜ‘} dÐ+Ó,ˆØÐÜ�} g¨t°RÐ9IÓJÐJr   Nr–  r^   r   r   r   r   J  r—  r   r   c                   ó(   — e Zd Zed„ «       Zd„ Zd„ Zy)ÚTestDefaultRNGc                 ór   — t         }d}dg}t        j                  j                  |Ž }d}t	        |||||«      S r•  )r   r   rG   Údefault_rngrS   re   s         r   rg   zTestDefaultRNG._create_rngV  sC   € ô ˆØ+ˆØˆwˆÜ�Y‰Y×"Ñ" DÐ)ˆØÐÜ�} g¨t°RÐ9IÓJÐJr   c                 ó~   — | j                  «       j                  }t        t        |j                  t
        «      «       y r¯   )rg   rO   r   r3   rT   r   r‹   s     r   Útest_default_is_pcg64z$TestDefaultRNG.test_default_is_pcg64a  s-   € ð ×ÑÓ×"Ñ"ˆÜ”
˜2×+Ñ+¬UÓ3Õ4r   c                 ó²  — t         j                  j                  «        t         j                  j                  d «       t         j                  j                  d«       t         j                  j                  d«       t         j                  j                  d«       t         j                  j                  ddg«       t        j                  t
        «      5  t         j                  j                  d«       d d d «       t        j                  t
        «      5  t         j                  j                  ddg«       d d d «       y # 1 sw Y   ŒMxY w# 1 sw Y   y xY w)Nrb   r   l	   -µtE+�IÌ6Í%ÆYl  l	   )	Ë�~¬eR :TI* 6Ò r€   )r   rG   r¥  rq   rm  ro  )rj   s    r   r³   zTestDefaultRNG.test_seedg  sé   € Ü
�	‰	×ÑÔÜ
�	‰	×Ñ˜dÔ#Ü
�	‰	×Ñ˜eÔ$Ü
�	‰	×Ñ˜aÔ Ü
�	‰	×ÑÐDÔEÜ
�	‰	×ÑÐEØFðHô 	Iä�]‰]œ:Ó&ñ 	&Ü�I‰I×!Ñ! "Ô%÷	&ä�]‰]œ:Ó&ñ 	/Ü�I‰I×!Ñ! 5¨" +Ô.÷	/ð 	/÷	&ð 	&ú÷	/ð 	/ús   Ã EÄ"EÅE
ÅEN)rX   rY   rZ   r„  rg   r§  r³   r^   r   r   r£  r£  U  s    „ ØñKó ðKò5ó/r   r£  )Fr¯   ))r9  Údataclassesr   Ú	functoolsr   rq   Únumpyr   Únumpy.randomr   r   r   r   r	   r
   Únumpy.testingr   r   r   rv  Úint8Úint16Úint32Úint64Úuint8Úuint16r»   rL   r‡  r   r1   r5   rQ   rS   r`   r‰  r“  r™  r�  r   r£  r^   r   r   ú<module>r´     sì   ðÛ Ý !Ý ã ã ß L× Lß CÑ CàŸ™ §¡¨"¯(©(°B·H±H¸b¿h¹hØŸ™ "§)¡)¨R¯Y©Y¸¿	¹	ðCÐ ò
!óòBó #ð ÷ð ó ð÷l
/ñ l
/ô^4�#ô 4ô*K�ô KôK�ô KôK�ô KôK�Cô Kô/�Sõ /r   