ó
    �œ‘hP  ã                   ó^  • S SK r S SKrS SKJr  S SKrS SKrS SKJrJ	r	J
r
JrJrJrJrJrJr  S SKJr  S SKJrJrJrJr   S SKrSr S SKrSr\R:                  R<                  S:”  a  Sr\ R>                  RA                  \ R>                  RC                  \"5      5      r#S	 r$S
 r%S r&S r'S r(S r)S r*S r+S r,S r-S r.S r/S r0S r1 " S S5      r2 " S S\25      r3 " S S\25      r4 " S S\25      r5 " S S \25      r6 " S! S"\25      r7 " S# S$5      r8g! \ a    Sr N×f = f! \ a    Sr NÞf = f)%é    N)Újoin)	ÚMT19937ÚPCG64Ú	PCG64DXSMÚSFC64Ú	GeneratorÚPhiloxÚRandomStateÚSeedSequenceÚdefault_rng)Ú	interface)Úassert_allcloseÚassert_array_equalÚassert_equalÚassert_raisesFTé   c                 óæ   • U  Hk  n[        X   [        5      (       a  [        X   X   5        M,  [        X   [        R                  5      (       a  [        X   X   5        M_  X   X   :X  a  Mk   e   g ©N)Ú
isinstanceÚdictÚassert_state_equalÚnpÚndarrayr   )ÚactualÚtargetÚkeys      ÚbC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\numpy/random/tests/test_direct.pyr   r   2   s\   € ÛˆÜ�f‘k¤4×(Ñ(Ü˜v™{¨F©KÖ8Ü˜™¤R§Z¡Z×0Ñ0Ü˜v™{¨F©KÖ8à‘; &¡+Õ-Ð-Ð-ò ó    c                 ót   • U [         R                  " S5      -	  S-  R                  [         R                  5      $ )Né   g      p>)r   Úuint32ÚastypeÚfloat32)Úus    r   Úuint32_to_float32r%   <   s)   € Ø”"—)’)˜A“,Ñ ;Ñ/×7Ñ7¼¿
¹
ÓCÐCr   c                 óx  • [         R                  " U 5      n [         R                  " U [         R                  " S5      -	  [         R                  S9n[         R                  " S5      n[         R                  " X-  [         R                  S9n[         R                  " X!/5      R                  5       n[        U5      $ )Né    ©Údtypeì   ÿÿ )r   Úuint64Úarrayr!   Úcolumn_stackÚravelr%   )ÚxÚupperÚlowerÚjoineds       r   Úuniform32_from_uint64r3   @   sx   € Ü
�	Š	�!‹€AÜ�HŠH�Qœ"Ÿ)š) B›-Ñ'¬r¯y©yÑ9€EÜ�IŠI�jÓ!€EÜ�HŠH�Q‘Y¤b§i¡iÑ0€EÜ�_Š_˜e˜^Ó,×2Ñ2Ó4€FÜ˜VÓ$Ð$r   c                 óÌ   • [         R                  " U 5      [         R                  " S5      -	  n [         R                  " U [         R                  " S5      -  5      n [        U 5      $ )Né   r*   )r   r+   r!   r%   ©r/   s    r   Úuniform32_from_uint53r7   I   sC   € Ü
�	Š	�!‹œŸ	š	 "›Ñ%€AÜ
�	Š	�!”b—i’i 
Ó+Ñ+Ó,€AÜ˜QÓÐr   c                 ó   • [        U 5      $ r   )r%   r6   s    r   Úuniform32_from_uint32r9   O   s   € Ü˜QÓÐr   c                 ót   • US:X  a  [        U 5      $ US:X  a  [        U 5      $ US:X  a  [        U 5      $ [        e)Né@   é5   r'   )r3   r7   r9   ÚNotImplementedError©r/   Úbitss     r   Úuniform32_from_uintr@   S   s>   € ØˆrƒzÜ$ QÓ'Ð'Ø	�‹Ü$ QÓ'Ð'Ø	�‹Ü$ QÓ'Ð'ä!Ð!r   c                 óH   • US;   a  [        U 5      $ US:X  a  [        U 5      $ g )N)r;   é?   r<   r'   )Úuniform_from_uint64Úuniform_from_uint32r>   s     r   Úuniform_from_uintrE   ^   s,   € Øˆ|ÓÜ" 1Ó%Ð%Ø	�‹Ü" 1Ó%Ð%ð 
r   c                 ó:   • U [         R                  " S5      -	  S-  $ )Né   g       <)r   r+   r6   s    r   rC   rC   e   s   € Ø”—’˜2“ÑÐ#;Ñ<Ð<r   c                 óÆ   • [         R                  " [        U 5      S-  5      n[        S[        U 5      S5       H$  nX   S-	  nXS-      S-	  nUS-  U-   S-  XS-  '   M&     U$ )Né   r   é   r   é   g      �Ag      @C)r   ÚemptyÚlenÚrange)r/   ÚoutÚiÚaÚbs        r   rD   rD   i   sj   € Ü
�(Š(”3�q“6˜Q‘;Ó
€CÜ�1”c˜!“f˜aÖ ˆØ‰D�A‰IˆØ�!‰e‰H˜‰MˆØ˜:‘~¨Ñ)Ð-?Ñ?ˆ�‰F‹ñ !ð €Jr   c                 óF   • U R                  [        R                  5      S-
  $ )Nç      ð?)Úviewr   Údoubler6   s    r   Úuniform_from_dsfmtrW   r   s   € Ø�6‰6”"—)‘)Ó˜sÑ"Ð"r   c                 óê  • US;   a  [        U 5      nOUS:X  a  [        U 5      nO[        U 5      n/ nSnS=pg[        U5      U:  aª  SnUS:¼  d  US:X  a5  SX5   -  S-
  nSX5S-      -  S-
  nXf-  Xw-  -   nUS-  nUS:¼  a  M-  US:X  a  M5  [        R
                  " S	[        R                  " U5      -  U-  5      n	UR                  X—-  5        UR                  X–-  5        [        U5      U:  a  Mª  US U $ )
N)r;   rB   r'   r   ç        rI   rT   g       @r   g       À)rC   rD   rW   rM   r   ÚsqrtÚlogÚappend)
r/   Únr?   ÚdoublesÚgaussÚlocÚx1Úx2Úr2Úfs
             r   Úgauss_from_uintre   v   s  € ØˆxÓÜ% aÓ(‰Ø	�‹Ü% aÓ(‰ä$ QÓ'ˆØ€EØ
€CØ€M€BÜ
ˆe‹*�q‹.ØˆØ�C‹i˜2 ›9Ø�w‘|Ñ# cÑ)ˆBØ�w Q™wÑ'Ñ'¨#Ñ-ˆBØ‘˜2™7Ñ"ˆBØ�1‰HˆCð	 �C�i˜2 �9ô �GŠG�Dœ2Ÿ6š6 "›:Ñ%¨Ñ*Ó+ˆØ�‰�Q‘VÔØ�‰�Q‘VÔô ˆe‹*�q�.ð ��!ˆ9Ðr   c                  óÐ  • SSK Jn JnJn  [	        [        S5      SSS9nUR                  S5        [	        S0 UR                  D6n[        UR                  UR                  5        [        UR                  UR                  5        [        [        U 5        [        [        U5        U" 5       n[        [        UR                  S5        [        UR                  S5      5      S:X  d   eg )Nr   )ÚISeedSequenceÚISpawnableSeedSequenceÚSeedlessSeedSequenceé
   )r   rI   rK   )Ú	spawn_keyÚ	pool_size© )Únumpy.random.bit_generatorrg   rh   ri   r   rN   ÚspawnÚstater   Ún_children_spawnedr   Ú	TypeErrorr=   Úgenerate_staterM   )rg   rh   ri   Ús1Ús2Údummys         r   Útest_seedsequencerw   �   s±   € ÷ñ ô 
”e˜B“i¨6¸QÑ	?€BØ‡H�HˆR„LÜ	Ñ	!˜Ÿ™Ñ	!€BÜ�—‘˜2Ÿ8™8Ô$Ü�×&Ñ&¨×(=Ñ(=Ô>ô ”)˜]Ô+Ü”)Ð3Ô4Ù Ó"€EÜÔ% u×';Ñ';¸RÔ@Üˆu�{‰{˜2‹Ó 2Ó%Ð%Ñ%r   c                  ór  • [         R                  R                  5       n U R                  R                  nUR                  S5      n[        S5       Vs/ s H  o1R                  U4-   PM     nnU Vs/ s H  oUR                  PM     snU:X  d   eU R                  R                  S5      n[        SS5       Vs/ s H  o1R                  U4-   PM     nnU Vs/ s H  owR                  R                  PM     snU:X  d   eU R                  S5      n[        SS5       Vs/ s H  o1R                  U4-   PM     nnU V s/ s H"  o R                  R                  R                  PM$     n	n X”:X  d   eUS   R                  5       US   R                  5       :w  d   egs  snf s  snf s  snf s  snf s  snf s  sn f )z>Test spawning new generators and bit_generators directly.
    rJ   rj   é   r   r   N)	r   Úrandomr   Úbit_generatorÚseed_seqro   rN   rk   Úuniform)
ÚrngÚseqÚnew_ssrP   Úexpected_keysÚcÚnew_bgsÚbgÚnew_rngsÚ
found_keyss
             r   Útest_generator_spawningr‡   ¤   sv  € ô �)‰)×
Ñ
Ó
!€CØ
×
Ñ
×
$Ñ
$€CØ�Y‰Y�q‹\€FÜ38¸´8Ó<²8¨a—]‘] a TÔ)±8€MÐ<Ù!'Ó(¢˜A�KŒK¡Ñ(¨MÓ9Ð9Ð9à×Ñ×%Ñ% aÓ(€GÜ38¸¸B´<Ó@²<¨a—]‘] a TÔ)±<€MÐ@Ù,3Ó4ªG b�K‰K×!Ô!©GÑ4¸ÓEÐEÐEà�y‰y˜‹|€HÜ38¸¸R´=ÓA²=¨a—]‘] a TÔ)±=€MÐAÙBJÓKÂ(¸3×#Ñ#×,Ñ,×6Ô6Á(€JÐKØÓ&Ð&Ð&ð �A‰;×ÑÓ  H¨Q¡K×$7Ñ$7Ó$9Ó9Ð9Ñ9ùò =ùÚ(ùò AùÚ4ùò BùÚKs$   ÁFÁ2F Â9F%ÃF*ÄF/Ä>)F4c                  ó²  • SSK Jn    " S S5      nU R                  U5        [        R                  R                  U" 5       5      n[        R                  " [        SS9   UR                  S5        S S S 5        [        R                  " [        SS9   UR                  R                  S5        S S S 5        g ! , (       d  f       NL= f! , (       d  f       g = f)Nr   )rg   c                   ó4   • \ rS rSr\R
                  4S jrSrg)Ú,test_non_spawnable.<locals>.FakeSeedSequenceé½   c                 ó*   • [         R                  " XS9$ )Nr(   )r   Úzeros)ÚselfÚn_wordsr)   s      r   rs   Ú;test_non_spawnable.<locals>.FakeSeedSequence.generate_state¾   s   € Ü—8’8˜GÑ1Ð1r   rm   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r!   rs   Ú__static_attributes__rm   r   r   ÚFakeSeedSequencerŠ   ½   s   † Ø02·	±	÷ 	2r   r–   zThe underlying SeedSequence)ÚmatchrJ   )rn   rg   Úregisterr   rz   r   ÚpytestÚraisesrr   ro   r{   )rg   r–   r~   s      r   Útest_non_spawnabler›   º   sš   € Ý8÷2ñ 2ð ×ÑÐ+Ô,ä
�)‰)×
Ñ
Ñ 0Ó 2Ó
3€Cä	�Š”yÐ(EÓ	FØ�	‰	�!Œ÷ 
Gô 
�Š”yÐ(EÓ	FØ×Ñ×Ñ Ô"÷ 
GÐ	F÷ 
GÕ	Fú÷ 
GÕ	Fús   ÁB7ÂCÂ7
CÃ
Cc                   ó.  • \ rS rSr\R
                  r0 =rr\	S 5       r
\	S 5       rS rS rS rS rS rS	 rS
 rS rS rS rS rS rS rS r\R6                  R9                  \SS9S 5       r\R6                  R9                  \SS9S 5       r S r!Sr"g)ÚBaseéÌ   c                 ó„   • [         U l        SU l        [        R                  U l        [        U l        / U l        / U l	        g )Nr;   )
r   r{   r?   r   r+   r)   rr   Úseed_error_typeÚinvalid_init_typesÚinvalid_init_values©Úclss    r   Úsetup_classÚBase.setup_classÐ   s4   € ä!ˆÔØˆŒÜ—I‘IˆŒ	Ü'ˆÔØ!#ˆÔØ"$ˆÕr   c           	      óÂ  • [        U5       nUR                  5       nUR                  S5      nUSS   Vs/ s H  n[        UR	                  5       S5      PM     nn/ nU H>  nUR                  [        UR                  S5      S   R	                  5       S5      5        M@     U[        R                  " XPR                  S9S.sS S S 5        $ s  snf ! , (       d  f       g = f)NÚ,r   r   éÿÿÿÿr(   )ÚseedÚdata)	ÚopenÚreadlineÚsplitÚintÚstripr\   r   r,   r)   )r¤   ÚfilenameÚcsvrª   Úsr«   Úlines          r   Ú	_read_csvÚBase._read_csvÙ   s«   € ä�(Œ^˜sØ—<‘<“>ˆDØ—:‘:˜c“?ˆDØ/3°A°B©xÓ8ªx¨!”C˜Ÿ™›	 1Ö%©xˆDÐ8ØˆDÛ�Ø—‘œC §
¡
¨3£°Ñ 3× 9Ñ 9Ó ;¸QÓ?Ö@ñ à ¬"¯(ª(°4¿y¹yÑ*IÑJ÷ ‰^ùò 9÷ �^ús   Œ)Cµ$CÁA(CÃCÃ
Cc                 ó¦  • U R                   " U R                  S   6 nUR                  S5      n[        X R                  S   5        U R                   " U R                  S   6 nUR                  5       n[        X R                  S   S   5        U R                   " U R                  S   6 nUR                  S5      n[        X R                  S   5        g )Nrª   éè  r«   r   )r{   Údata1Ú
random_rawr   Údata2©rŽ   r{   Úuintss      r   Útest_rawÚBase.test_rawä   s³   € Ø×*Ò*¨D¯J©J°vÑ,>Ð?ˆØ×(Ñ(¨Ó.ˆÜ�UŸJ™J vÑ.Ô/à×*Ò*¨D¯J©J°vÑ,>Ð?ˆØ×(Ñ(Ó*ˆÜ�UŸJ™J vÑ.¨qÑ1Ô2à×*Ò*¨D¯J©J°vÑ,>Ð?ˆØ×(Ñ(¨Ó.ˆÜ�UŸJ™J vÑ.Õ/r   c                 óŽ   • U R                   " U R                  S   6 nUR                  SS9nUb   eUR                  SSS9nUb   eg )Nrª   F)Úoutputr¸   )r{   r¹   rº   r¼   s      r   Útest_random_rawÚBase.test_random_rawñ   sW   € Ø×*Ò*¨D¯J©J°vÑ,>Ð?ˆØ×(Ñ(°Ð(Ð6ˆØ‰}Ðˆ}Ø×(Ñ(¨°eÐ(Ð<ˆØ‰}Ð‰}r   c                 ó”  • Sn[        U R                  " U R                  S   6 5      nUR                  U5      n[	        U[        U R                  S   XR                  5      5        [        U R                  " U R                  S   6 5      nUR                  S5      n[	        U[        U R                  S   XR                  5      5        g )Né   rª   r«   )r
   r{   r¹   Ústandard_normalr   re   r?   r»   )rŽ   r]   Úrsr_   s       r   Útest_gauss_invÚBase.test_gauss_invø   s©   € ØˆÜ˜×+Ò+¨T¯Z©Z¸Ñ-?Ð@ÓAˆØ×"Ñ" 1Ó%ˆÜ˜Ü'¨¯
©
°6Ñ(:¸A¿y¹yÓIô	Kô ˜×+Ò+¨T¯Z©Z¸Ñ-?Ð@ÓAˆØ×"Ñ" 2Ó&ˆÜ˜Ü'¨¯
©
°6Ñ(:¸A¿y¹yÓIõ	Kr   c                 óH  • [        U R                  " U R                  S   6 5      n[        U R                  S   U R                  5      nUR                  [        U5      5      n[        X25        [        UR                  [        R                  5        [        U R                  " U R                  S   6 5      n[        U R                  S   U R                  5      nUR                  [        U5      5      n[        X25        [        UR                  [        R                  5        g )Nrª   r«   )r   r{   r¹   rE   r?   rz   rM   r   r   r)   r   Úfloat64r»   ©rŽ   rÇ   ÚvalsÚuniformss       r   Útest_uniform_doubleÚBase.test_uniform_double  sÈ   € Ü�t×)Ò)¨4¯:©:°fÑ+=Ð>Ó?ˆÜ  §¡¨FÑ!3°T·Y±YÓ?ˆØ—9‘9œS ›YÓ'ˆÜ˜Ô'Ü�X—^‘^¤R§Z¡ZÔ0ä�t×)Ò)¨4¯:©:°fÑ+=Ð>Ó?ˆÜ  §¡¨FÑ!3°T·Y±YÓ?ˆØ—9‘9œS ›YÓ'ˆÜ˜Ô'Ü�X—^‘^¤R§Z¡ZÕ0r   c                 ó|  • [        U R                  " U R                  S   6 5      n[        U R                  S   U R                  5      nUR                  [        U5      [        R                  S9n[        X25        [        UR                  [        R                  5        [        U R                  " U R                  S   6 5      n[        U R                  S   U R                  5      nUR                  [        U5      [        R                  S9n[        X25        [        UR                  [        R                  5        g )Nrª   r«   r(   )r   r{   r¹   r@   r?   rz   rM   r   r#   r   r   r)   r»   rÌ   s       r   Útest_uniform_floatÚBase.test_uniform_float  sØ   € Ü�t×)Ò)¨4¯:©:°fÑ+=Ð>Ó?ˆÜ" 4§:¡:¨fÑ#5°t·y±yÓAˆØ—9‘9œS ›Y¬b¯j©j�9Ð9ˆÜ˜Ô'Ü�X—^‘^¤R§Z¡ZÔ0ä�t×)Ò)¨4¯:©:°fÑ+=Ð>Ó?ˆÜ" 4§:¡:¨fÑ#5°t·y±yÓAˆØ—9‘9œS ›Y¬b¯j©j�9Ð9ˆÜ˜Ô'Ü�X—^‘^¤R§Z¡ZÕ0r   c                 óä   • [        U R                  " U R                  S   6 5      nS[        U5      ;   d   e[	        U5      S R                  5       R                  SS5      [        U5      ;   d   eg ©Nrª   r   z#xÚXr/   )r   r{   r¹   ÚreprÚidr0   Úreplace©rŽ   rÇ   s     r   Ú	test_reprÚBase.test_repr  sb   € Ü�t×)Ò)¨4¯:©:°fÑ+=Ð>Ó?ˆØœd 2›hÓ&Ð&Ð&Ü�R“&˜�×#Ñ#Ó%×-Ñ-¨c°3Ó7¼4À»8ÓCÐCÑCr   c                 ó@  • [        U R                  " U R                  S   6 5      nS[        U5      ;   d   e[        U R                  R                  5      [        U5      ;   d   e[        U5      S R                  5       R                  SS5      [        U5      ;  d   eg rÕ   )r   r{   r¹   Ústrr‘   rØ   r0   rÙ   rÚ   s     r   Útest_strÚBase.test_str#  s…   € Ü�t×)Ò)¨4¯:©:°fÑ+=Ð>Ó?ˆØœc "›gÓ%Ð%Ð%Ü�4×%Ñ%×.Ñ.Ó/´3°r³7Ó:Ð:Ð:Ü�R“&˜�×#Ñ#Ó%×-Ñ-¨c°3Ó7¼sÀ2»wÓFÐFÑFr   c                 óè  • SS K nU R                  " U R                  S   6 nUR                  nUR	                  U5      nUR                  U5      nUR                  n[        [        U5      R                  S5      [        U5      R                  S5      5        X%Ld   e[        Xc5        [        S5      nUR                  UR	                  U5      5      n[        UR                  UR                  5        g )Nr   rª   r¸   éd   )Úpickler{   r¹   rp   ÚdumpsÚloadsr   r   rÆ   r   r   r   )	rŽ   rã   r{   rp   Ú
bitgen_pklÚreloadedÚreloaded_stateÚssÚaas	            r   Útest_pickleÚBase.test_pickle)  sÃ   € Ûà×*Ò*¨D¯J©J°vÑ,>Ð?ˆØ×#Ñ#ˆØ—\‘\ -Ó0ˆ
Ø—<‘< 
Ó+ˆØ!Ÿ™ˆÜœ9 ]Ó3×CÑCÀDÓIÜ$ XÓ.×>Ñ>¸tÓDô	FàÒ,Ð,Ð,Ü˜>Ô1ä˜#ÓˆØ�\‰\˜&Ÿ,™, rÓ*Ó+ˆÜ�R—X‘X˜rŸx™xÕ(r   c                 óB  • SS K nU R                  " U R                  S   6 nUR                  nUR	                  UR                  U5      5      nUR                  n[        UR                  UR                  5        [        UR                  UR                  5        UR                  R                  S5        UR	                  UR                  U5      5      nUR                  n[        UR                  UR                  5        [        UR                  UR                  5        g )Nr   rª   rj   )rã   r{   r¹   r|   rå   rä   r   rp   Úpoolro   rq   )rŽ   rã   r{   ré   Úbg_plkÚss_plks         r   Ú#test_pickle_preserves_seed_sequenceÚ(Base.test_pickle_preserves_seed_sequence:  sË   € ó 	à×*Ò*¨D¯J©J°vÑ,>Ð?ˆØ×#Ñ#ˆØ—‘˜fŸl™l¨=Ó9Ó:ˆØ—‘ˆÜ�R—X‘X˜vŸ|™|Ô,Ü�R—W‘W˜fŸk™kÔ*à×Ñ×$Ñ$ RÔ(Ø—‘˜fŸl™l¨=Ó9Ó:ˆØ—‘ˆÜ�R—X‘X˜vŸ|™|Ô,Ü�R×*Ñ*¨F×,EÑ,EÕFr   c                 ó´   • U R                   " U R                  S   6 n[        R                  " [        5         S1Ul        S S S 5        g ! , (       d  f       g = f)Nrª   Ú1)r{   r¹   r™   rš   rr   rp   ©rŽ   r{   s     r   Útest_invalid_state_typeÚBase.test_invalid_state_typeL  s=   € Ø×*Ò*¨D¯J©J°vÑ,>Ð?ˆÜ�]Š]œ9Õ%Ø#& %ˆMÔ÷ &×%Ö%ús   ·	A	Á	
Ac                 óÒ   • U R                   " U R                  S   6 nUR                  nSUS'   [        R                  " [
        5         X!l        S S S 5        g ! , (       d  f       g = f)Nrª   ÚotherBitGeneratorr{   )r{   r¹   rp   r™   rš   Ú
ValueError)rŽ   r{   rp   s      r   Útest_invalid_state_valueÚBase.test_invalid_state_valueQ  sN   € Ø×*Ò*¨D¯J©J°vÑ,>Ð?ˆØ×#Ñ#ˆØ!4ˆˆoÑÜ�]Š]œ:Õ&Ø"'Ô÷ '×&Ö&ús   ÁAÁ
A&c                 ó¶   • U R                   nU R                   H+  n[        R                  " [        5         U" U6   S S S 5        M-     g ! , (       d  f       M?  = fr   )r{   r¡   r™   rš   rr   ©rŽ   r{   Ústs      r   Útest_invalid_init_typeÚBase.test_invalid_init_typeX  s@   € Ø×*Ñ*ˆØ×)Ô)ˆBÜ—’œyÕ)Ù˜rÑ"÷ *Ñ)ò *ß)Ö)ús   ¶A	Á	
A	c                 óÂ   • U R                   nU R                   H1  n[        R                  " [        [
        45         U" U6   S S S 5        M3     g ! , (       d  f       ME  = fr   )r{   r¢   r™   rš   rú   ÚOverflowErrorrþ   s      r   Útest_invalid_init_valuesÚBase.test_invalid_init_values^  sE   € Ø×*Ñ*ˆØ×*Ô*ˆBÜ—’¤
¬MÐ:Õ;Ù˜rÑ"÷ <Ñ;ò +ß;Ö;ús   ¼AÁ
A	c                 ó  • U R                   " U R                  S   6 nUR                  S5        UR                  SS5        [        R                  " [
        5         UR                  SS5        S S S 5        g ! , (       d  f       g = f)Nrª   r   rV   Úint32)r{   r¹   Ú
_benchmarkr™   rš   rú   rõ   s     r   Útest_benchmarkÚBase.test_benchmarkd  sa   € Ø×*Ò*¨D¯J©J°vÑ,>Ð?ˆØ× Ñ  Ô#Ø× Ñ   HÔ-Ü�]Š]œ:Õ&Ø×$Ñ$ Q¨Ô0÷ '×&Ö&ús   ÁA6Á6
Bzcffi not available)Úreasonc                 ó¦   • U R                   " U R                  S   6 nUR                  n[        U[        5      (       d   eUR                  nX2L d   eg ©Nrª   )r{   r¹   Úcffir   r   )rŽ   r{   Úcffi_interfaceÚother_cffi_interfaces       r   Ú	test_cffiÚBase.test_cffik  sQ   € à×*Ò*¨D¯J©J°vÑ,>Ð?ˆØ&×+Ñ+ˆÜ˜.¬)×4Ñ4Ð4Ð4Ø,×1Ñ1ÐØ#Ò5Ð5Ñ5r   zctypes not availablec                 ó¦   • U R                   " U R                  S   6 nUR                  n[        U[        5      (       d   eUR                  nX2L d   eg r  )r{   r¹   Úctypesr   r   )rŽ   r{   Úctypes_interfaceÚother_ctypes_interfaces       r   Útest_ctypesÚBase.test_ctypess  sS   € à×*Ò*¨D¯J©J°vÑ,>Ð?ˆØ(×/Ñ/ÐÜÐ*¬I×6Ñ6Ð6Ð6Ø!.×!5Ñ!5ÐØ%Ò9Ð9Ñ9r   c                 óò   • U R                   " U R                  S   6 nUR                  nUR                  5       n[	        U[
        5      (       d   e[        X#S   5        [	        US   [        5      (       d   eg )Nrª   r   r   )r{   r¹   rp   Ú__getstate__r   Útupler   r   )rŽ   r{   rp   Ú	alt_states       r   Útest_getstateÚBase.test_getstate{  sj   € Ø×*Ò*¨D¯J©J°vÑ,>Ð?ˆØ×#Ñ#ˆØ!×.Ñ.Ó0ˆ	Ü˜)¤U×+Ñ+Ð+Ð+Ü˜5¨A¡,Ô/Ü˜) A™,¬×5Ñ5Ð5Ñ5r   rm   N)#r‘   r’   r“   r”   r   r+   r)   r»   r¹   Úclassmethodr¥   rµ   r¾   rÂ   rÈ   rÏ   rÒ   rÛ   rß   rë   rñ   rö   rû   r   r  r	  r™   ÚmarkÚskipifÚMISSING_CFFIr  ÚMISSING_CTYPESr  r  r•   rm   r   r   r�   r�   Ì   sà   † Ø�I‰I€EØÐ€EˆEàñ%ó ð%ð ñKó ðKò0òò
Kò1ò1òDò
Gò)ò"Gò$(ò
(ò#ò#ò1ð ‡[�[×Ñ˜Ð-AÐÐBñ6ó Cð6ð ‡[�[×Ñ˜Ð/EÐÐFñ:ó Gð:õ6r   r�   c                   ó*   • \ rS rSr\S 5       rS rSrg)Ú
TestPhiloxiƒ  c                 ó,  • [         U l        SU l        [        R                  U l        U R                  [        [        S5      5      U l	        U R                  [        [        S5      5      U l
        [        U l        / U l        SSS S SS-  S-   4/U l        g )	Nr;   z./data/philox-testset-1.csvz./data/philox-testset-2.csv)r   Nr   ©r©   rI   i  r   )r	   r{   r?   r   r+   r)   rµ   r   Úpwdr¹   r»   rr   r    r¡   r¢   r£   s    r   r¥   ÚTestPhilox.setup_class„  s�   € ä"ˆÔØˆŒÜ—I‘IˆŒ	Ø—M‘MÜ”Ð3Ó4ó6ˆŒ	à—M‘MÜ”Ð3Ó4ó6ˆŒ	ä'ˆÔØ!#ˆÔØ#/°¸¸tÀQÈ#ÁXÐPQÁ\Ð8RÐ"SˆÕr   c                 óÌ   • U R                   " U R                  S   6 nUR                  nU R                  US   S   US   S   S9n[        UR                  UR                  5        g )Nrª   rp   Úcounterr   )r+  r   )r{   r¹   rp   r   )rŽ   r{   rp   Úkeyeds       r   Útest_set_keyÚTestPhilox.test_set_key‘  sf   € Ø×*Ò*¨D¯J©J°vÑ,>Ð?ˆØ×#Ñ#ˆØ×"Ñ"¨5°©>¸)Ñ+DØ',¨W¡~°eÑ'<ð #ð >ˆä˜=×.Ñ.°·±Õ<r   rm   N)r‘   r’   r“   r”   r  r¥   r-  r•   rm   r   r   r%  r%  ƒ  s   † Øñ
Tó ð
Tõ=r   r%  c                   ó0   • \ rS rSr\S 5       rS rS rSrg)Ú	TestPCG64i™  c                 ó,  • [         U l        SU l        [        R                  U l        U R                  [        [        S5      5      U l	        U R                  [        [        S5      5      U l
        [        [        4U l        SS /4S/U l        S/U l        g )Nr;   z./data/pcg64-testset-1.csvz./data/pcg64-testset-2.csv©gš™™™™™	@©r   Nr'  )r   r{   r?   r   r+   r)   rµ   r   r(  r¹   r»   rú   rr   r    r¡   r¢   r£   s    r   r¥   ÚTestPCG64.setup_classš  sv   € ä!ˆÔØˆŒÜ—I‘IˆŒ	Ø—M‘M¤$¤sÐ,HÓ"IÓJˆŒ	Ø—M‘M¤$¤sÐ,HÓ"IÓJˆŒ	Ü)¬9Ð5ˆÔØ"(¨D¨6¨)°YÐ!?ˆÔØ#( 'ˆÕr   c                 ó   • [        U R                  " U R                  S   6 5      nUR                  R                  nSnUR                  R	                  U5        UR                  S5      nX!R                  l        UR                  R	                  SS-  U-   5        UR                  S5      nX!R                  l        UR                  R	                  SSS-  -  U-   5        UR                  S5      nXE:X  d   eXe:X  d   eg ©Nrª   l÷ÿÿÿ        PAOi_n¼ž rj   rI   é€   ©r   r{   r¹   rp   ÚadvanceÚintegers©rŽ   rÇ   rp   ÚstepÚval_negÚval_posÚval_bigs          r   Útest_advance_symmetryÚTestPCG64.test_advance_symmetry¥  óÞ   € Ü�t×)Ò)¨4¯:©:°fÑ+=Ð>Ó?ˆØ× Ñ ×&Ñ&ˆØ2ˆØ
×Ñ× Ñ  Ô&Ø—+‘+˜b“/ˆØ!&×ÑÔØ
×Ñ× Ñ   C¡¨$¡Ô/Ø—+‘+˜b“/ˆØ!&×ÑÔØ
×Ñ× Ñ   a¨¡f¡¨tÑ!3Ô4Ø—+‘+˜b“/ˆØÓ!Ð!Ð!ØÓ!Ð!Ñ!r   c                 ó  • [        U R                  S5      5      nUR                  nUR                  S   nSnUS   U:X  d   eUR                  [	        S S 5       5      5        UR                  S   nSnUS   U:X  d   eg )Nì   ï%”@
 rp   ì	   Ír%4=KÆv±uÅ1¹/Ø c              3   ó,   #   • U  H
  nS U-  v •  M     g7f©rI   Nrm   ©Ú.0rP   s     r   Ú	<genexpr>Ú/TestPCG64.test_advange_large.<locals>.<genexpr>º  ó   é € ÐCÒ&B ˜˜1žÒ&Bùó   ‚©é`   r;   r'   r5   r    é   rI   r   l	   ÿ@H}.|z³KLf�be ©r   r{   rp   r9  Úsum©rŽ   rÇ   Úpcgrp   Úinitial_stateÚadvanced_states         r   Útest_advange_largeÚTestPCG64.test_advange_large´  s„   € Ü�t×)Ñ)¨.Ó9Ó:ˆØ×ÑˆØ—	‘	˜'Ñ"ˆØ?ˆØ�W‰~ Ó.Ð.Ð.Ø�‰”CÑCÑ&BÓCÓCÔDØ—	‘	˜'Ñ"ˆØ@ˆØ�W‰~ Ó/Ð/Ñ/r   rm   N©	r‘   r’   r“   r”   r  r¥   r@  rW  r•   rm   r   r   r0  r0  ™  ó   † Øñ*ó ð*ò"õ	0r   r0  c                   ó0   • \ rS rSr\S 5       rS rS rSrg)ÚTestPCG64DXSMiÀ  c                 ó,  • [         U l        SU l        [        R                  U l        U R                  [        [        S5      5      U l	        U R                  [        [        S5      5      U l
        [        [        4U l        SS /4S/U l        S/U l        g )Nr;   z./data/pcg64dxsm-testset-1.csvz./data/pcg64dxsm-testset-2.csvr2  r3  r'  )r   r{   r?   r   r+   r)   rµ   r   r(  r¹   r»   rú   rr   r    r¡   r¢   r£   s    r   r¥   ÚTestPCG64DXSM.setup_classÁ  sv   € ä%ˆÔØˆŒÜ—I‘IˆŒ	Ø—M‘M¤$¤sÐ,LÓ"MÓNˆŒ	Ø—M‘M¤$¤sÐ,LÓ"MÓNˆŒ	Ü)¬9Ð5ˆÔØ"(¨D¨6¨)°YÐ!?ˆÔØ#( 'ˆÕr   c                 ó   • [        U R                  " U R                  S   6 5      nUR                  R                  nSnUR                  R	                  U5        UR                  S5      nX!R                  l        UR                  R	                  SS-  U-   5        UR                  S5      nX!R                  l        UR                  R	                  SSS-  -  U-   5        UR                  S5      nXE:X  d   eXe:X  d   eg r6  r8  r;  s          r   r@  Ú#TestPCG64DXSM.test_advance_symmetryÌ  rB  r   c                 ó  • [        U R                  S5      5      nUR                  nUR                  nSnUS   S   U:X  d   eUR                  [	        S S 5       5      5        UR                  S   nSnUS   U:X  d   eg )NrD  rE  rp   c              3   ó,   #   • U  H
  nS U-  v •  M     g7frG  rm   rH  s     r   rJ  Ú3TestPCG64DXSM.test_advange_large.<locals>.<genexpr>á  rL  rM  rN  l	   oF‚	œ[UmO1X·9}Ð rQ  rS  s         r   rW  Ú TestPCG64DXSM.test_advange_largeÛ  s„   € Ü�t×)Ñ)¨.Ó9Ó:ˆØ×ÑˆØ—	‘	ˆØ?ˆØ�W‰~˜gÑ&¨-Ó7Ð7Ð7Ø�‰”CÑCÑ&BÓCÓCÔDØ—	‘	˜'Ñ"ˆØ@ˆØ�W‰~ Ó/Ð/Ñ/r   rm   NrY  rm   r   r   r\  r\  À  rZ  r   r\  c                   ó0   • \ rS rSr\S 5       rS rS rSrg)ÚTestMT19937iç  c                 ó  • [         U l        SU l        [        R                  U l        U R                  [        [        S5      5      U l	        U R                  [        [        S5      5      U l
        [        U l        / U l        S/U l        g )Nr'   z./data/mt19937-testset-1.csvz./data/mt19937-testset-2.csvr'  )r   r{   r?   r   r!   r)   rµ   r   r(  r¹   r»   rú   r    r¡   r¢   r£   s    r   r¥   ÚTestMT19937.setup_classè  sf   € ä#ˆÔØˆŒÜ—I‘IˆŒ	Ø—M‘M¤$¤sÐ,JÓ"KÓLˆŒ	Ø—M‘M¤$¤sÐ,JÓ"KÓLˆŒ	Ü(ˆÔØ!#ˆÔØ#( 'ˆÕr   c                 óÂ  • [        [        U R                  [        R                  " [        R
                  /5      5        [        [        U R                  [        R                  " [        R
                  * /5      5        [        [        U R                  [        R                  " [        R
                  [        R
                  * /5      5        [        [        U R                  [        R                  " S[        R
                  /5      5        [        [        U R                  [        R
                  /5        [        [        U R                  S[        R
                  /5        g )Nr   )r   rr   r{   r   r,   Úpi)rŽ   s    r   Útest_seed_float_arrayÚ!TestMT19937.test_seed_float_arrayó  sÄ   € Ü”i ×!3Ñ!3´R·X²X¼r¿u¹u¸gÓ5FÔGÜ”i ×!3Ñ!3´R·X²XÄÇÁ¸v¸hÓ5GÔHÜ”i ×!3Ñ!3´R·X²X¼r¿u¹uÄrÇuÁuÀf¸oÓ5NÔOÜ”i ×!3Ñ!3´R·X²X¸qÄ"Ç%Á%¸jÓ5IÔJÜ”i ×!3Ñ!3´b·e±e°WÔ=Ü”i ×!3Ñ!3°a¼¿¹°ZÕ@r   c                 óZ  • [        U R                  " U R                  S   6 5      nUR                  nUR                  nUR	                  S5      nUS   US   S   US   S   4nXRl        UR	                  S5      n[        Xd5        US-   nXRl        UR	                  S5      n[        Xd5        g )Nrª   i   r{   rp   r   Úpos)r   rY   )r   r{   r¹   rp   r:  r   )rŽ   rÇ   r{   rp   ÚdesiredÚtupr   s          r   Útest_state_tupleÚTestMT19937.test_state_tupleû  s«   € Ü�t×)Ò)¨4¯:©:°fÑ+=Ð>Ó?ˆØ×(Ñ(ˆØ×#Ñ#ˆØ—+‘+˜gÓ&ˆØ�_Ñ% u¨W¡~°eÑ'<Ø�W‰~˜eÑ$ð&ˆà!ÔØ—‘˜WÓ%ˆÜ�VÔ%Ø�H‰nˆØ!ÔØ—‘˜WÓ%ˆÜ�VÕ%r   rm   N)	r‘   r’   r“   r”   r  r¥   rk  rq  r•   rm   r   r   rf  rf  ç  s   † Øñ*ó ð*òAõ&r   rf  c                   ó*   • \ rS rSr\S 5       rS rSrg)Ú	TestSFC64i  c                 ó,  • [         U l        SU l        [        R                  U l        U R                  [        [        S5      5      U l	        U R                  [        [        S5      5      U l
        [        [        4U l        SS /4S/U l        S/U l        g )Nr;   z./data/sfc64-testset-1.csvz./data/sfc64-testset-2.csvr2  r3  r'  )r   r{   r?   r   r+   r)   rµ   r   r(  r¹   r»   rú   rr   r    r¡   r¢   r£   s    r   r¥   ÚTestSFC64.setup_class  s|   € ä!ˆÔØˆŒÜ—I‘IˆŒ	Ø—M‘MÜ”Ð2Ó3ó5ˆŒ	à—M‘MÜ”Ð2Ó3ó5ˆŒ	ä)¬9Ð5ˆÔØ"(¨D¨6¨)°YÐ!?ˆÔØ#( 'ˆÕr   c                 ó  • SS K nSS Kn[        R                  " / SQ[        R                  S9n[
        R                  R                  [
        R                  R                  [        5      5      S   n[
        R                  R                  USS5      nUR                  U5       nUR                  U5      nS S S 5        [        W[        5      (       d   e[        UR                   S   S   U5        g ! , (       d  f       NB= f)Nr   )l   …VoTM‹Q l    Ì*,!;l   ¢aºE]yÀg é   r(   r«   zsfc64_np126.pkl.gzrp   )Úgziprã   r   r,   r+   ÚosÚpathr®   ÚabspathÚ__file__r   r¬   Úloadr   r   r   rp   )rŽ   ry  rã   Úexpected_stateÚ	base_pathÚpkl_fileÚgzÚsfcs           r   Útest_legacy_pickleÚTestSFC64.test_legacy_pickle  s·   € ãÛäŸšòô —)‘)ñ
ˆô —G‘G—M‘M¤"§'¡'§/¡/´(Ó";Ó<¸QÑ?ˆ	Ü—7‘7—<‘< 	¨6Ð3GÓHˆØ�Y‰Y�xÔ  BØ—+‘+˜b“/ˆC÷ !ô ˜#œu×%Ñ%Ð%Ð%Ü�S—Y‘Y˜wÑ'¨Ñ0°.ÕA÷	 !Õ ús   Â#C1Ã1
C?rm   N)r‘   r’   r“   r”   r  r¥   r„  r•   rm   r   r   rt  rt    s   † Øñ
*ó ð
*õBr   rt  c                   ó&   • \ rS rSrS rS rS rSrg)ÚTestDefaultRNGi1  c                 óv   • SSSSS/44 H,  n[        U6 n[        UR                  [        5      (       a  M,   e   g )Nrm   r   )éÒ  r‰  i.  )r   r   r{   r   )rŽ   ÚargsÚrgs      r   Ú	test_seedÚTestDefaultRNG.test_seed2  s>   € Ø˜ '¨T°4¨L¨?Ó;ˆDÜ˜dÐ#ˆBÜ˜b×.Ñ.´×6Ó6Ð6Ð6ò <r   c                 ó”   • [        5       n[        U5      nUR                  UL d   e[        U5      nX2L d   eUR                  UL d   eg r   )r	   r   r{   )rŽ   r„   r‹  Úrg2s       r   Útest_passthroughÚTestDefaultRNG.test_passthrough7  sM   € Ü‹XˆÜ˜‹_ˆØ×Ñ 2Ò%Ð%Ð%Ü˜"‹oˆØŠyÐˆyØ× Ñ  BÒ&Ð&Ñ&r   c                 óö  • [        S5      n[        U5      n[        UR                  [        5      (       d   eUR                  UR
                  L d   e[        R                  R                  5       n[        S5      n[        R                  R                  U5        [        R                  R                  R                  n[        U5      nUR                  UL d   e[        R                  R                  U5        g )Nr‰  iT¼ )r
   r   r   r{   r   Ú_bit_generatorr   rz   Úget_bit_generatorr   Úset_bit_generatorÚmtrandÚ_rand)rŽ   rÇ   r‹  Ú	_originalr„   s        r   Ú#test_coercion_RandomState_GeneratorÚ2TestDefaultRNG.test_coercion_RandomState_Generator?  s½   € ä˜ÓˆÜ˜‹_ˆÜ˜"×*Ñ*¬G×4Ñ4Ð4Ð4Ø×Ñ 2×#4Ñ#4Ò4Ð4Ð4ô —I‘I×/Ñ/Ó1ˆ	Ü�8‹_ˆÜ
�	‰	×#Ñ# BÔ'Ü�Y‰Y×Ñ×#Ñ#ˆÜ˜‹_ˆØ×Ñ 2Ò%Ð%Ð%ô 	�	‰	×#Ñ# IÕ.r   rm   N)r‘   r’   r“   r”   rŒ  r�  r™  r•   rm   r   r   r‡  r‡  1  s   † ò7ò
'õ/r   r‡  )9rz  ÚsysÚos.pathr   r™   Únumpyr   Únumpy.randomr   r   r   r   r   r	   r
   r   r   Únumpy.random._commonr   Únumpy.testingr   r   r   r   r  r"  ÚImportErrorr  r#  ÚflagsÚoptimizer{  Údirnamer|  r}  r(  r   r%   r3   r7   r9   r@   rE   rC   rD   rW   re   rw   r‡   r›   r�   r%  r0  r\  rf  rt  r‡  rm   r   r   Ú<module>r¥     sT  ðÛ 	Û 
Ý ã ã ÷
÷ 
õ 
õ +÷ó ðÛà€LðÛà€Nð ‡9�9×Ñ˜Óð €Lð 	‡g�g‡o�o�b—g‘g—o‘o hÓ/Ó0€ò.òDò%ò ò ò"ò&ò=òò#òò2&ò*:ò,#÷$u6ñ u6ôn=�ô =ô,$0�ô $0ôN$0�Dô $0ôN!&�$ô !&ôH#B�ô #B÷L/ò /øðe ó Ø‚Lðûð ó Ø‚Nðús$   Á D ÁD! ÄDÄDÄ!D,Ä+D,