Ë
    ÷U.j8P  ã                   óX  — d dl 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
 d dlZd dlmZmZmZmZmZmZmZmZmZ d dlmZ 	 d dlZdZ	 d dlZdZej:                  j<                  dkD  rdZe j>                  jA                  e j>                  jC                  e"«      «      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„ Z1 G d„ d«      Z2 G d„ de2«      Z3 G d„ de2«      Z4 G d„ de2«      Z5 G d„ d e2«      Z6 G d!„ d"e2«      Z7 G d#„ d$«      Z8y# e$ r dZY ŒÕw xY w# e$ r dZY ŒÛw xY w)%é    N)Újoin)Úassert_equalÚassert_allcloseÚassert_array_equalÚassert_raises)	Ú	GeneratorÚMT19937ÚPCG64Ú	PCG64DXSMÚPhiloxÚRandomStateÚSeedSequenceÚSFC64Údefault_rng)Ú	interfaceFTé   c                 óØ   — | D ]e  }t        | |   t        «      rt        | |   ||   «       Œ)t        | |   t        j                  «      rt        | |   ||   «       ŒY| |   ||   k(  rŒeJ ‚ y ©N)Ú
isinstanceÚdictÚassert_state_equalÚnpÚndarrayr   )ÚactualÚtargetÚkeys      ú`C:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\numpy/random/tests/test_direct.pyr   r   '   sf   € ÛˆÜ�f˜S‘k¤4Ô(Ü˜v c™{¨F°3©KÕ8Ü˜˜s™¤R§Z¡ZÔ0Ü˜v c™{¨F°3©KÕ8à˜#‘; &¨¡+Ó-Ð-Ð-ñ ó    c                 ór   — | t        j                  d«      z	  dz  j                  t         j                  «      S )Né   g      p>)r   Úuint32ÚastypeÚfloat32)Úus    r   Úuint32_to_float32r%   1   s)   € Ø”"—)‘)˜A“,Ñ ;Ñ/×7Ñ7¼¿
¹
ÓCÐCr   c                 ó|  — t        j                  | «      } t        j                  | t        j                  d«      z	  t         j                  ¬«      }t        j                  d«      }t        j                  | |z  t         j                  ¬«      }t        j                  ||g«      j                  «       }t        |«      S )Né    ©Údtypeì   ÿÿ )r   Úuint64Úarrayr!   Úcolumn_stackÚravelr%   )ÚxÚupperÚlowerÚjoineds       r   Úuniform32_from_uint64r3   5   s|   € Ü
�	‰	�!‹€AÜ�H‰H�Qœ"Ÿ)™) B›-Ñ'¬r¯y©yÔ9€EÜ�I‰I�jÓ!€EÜ�H‰H�Q˜‘Y¤b§i¡iÔ0€EÜ�_‰_˜e U˜^Ó,×2Ñ2Ó4€FÜ˜VÓ$Ð$r   c                 óÄ   — t        j                  | «      t        j                  d«      z	  } t        j                  | t        j                  d«      z  «      } t        | «      S )Né   r*   )r   r+   r!   r%   ©r/   s    r   Úuniform32_from_uint53r7   >   sC   € Ü
�	‰	�!‹œŸ	™	 "›Ñ%€AÜ
�	‰	�!”b—i‘i 
Ó+Ñ+Ó,€AÜ˜QÓÐr   c                 ó   — t        | «      S r   )r%   r6   s    r   Úuniform32_from_uint32r9   D   s   € Ü˜QÓÐr   c                 ón   — |dk(  rt        | «      S |dk(  rt        | «      S |dk(  rt        | «      S t        ‚)Né@   é5   r'   )r3   r7   r9   ÚNotImplementedError©r/   Úbitss     r   Úuniform32_from_uintr@   H   s>   € Øˆr‚zÜ$ QÓ'Ð'Ø	�ŠÜ$ QÓ'Ð'Ø	�ŠÜ$ QÓ'Ð'ä!Ð!r   c                 óB   — |dv rt        | «      S |dk(  rt        | «      S y )N)r;   é?   r<   r'   )Úuniform_from_uint64Úuniform_from_uint32r>   s     r   Úuniform_from_uintrE   S   s,   € Øˆ|ÑÜ" 1Ó%Ð%Ø	�ŠÜ" 1Ó%Ð%ð 
r   c                 ó8   — | t        j                  d«      z	  dz  S )Né   g       <)r   r+   r6   s    r   rC   rC   Z   s   € Ø”—‘˜2“ÑÐ#;Ñ<Ð<r   c                 óÆ   — t        j                  t        | «      dz  «      }t        dt        | «      d«      D ]&  }| |   dz	  }| |dz      dz	  }|dz  |z   dz  ||dz  <   Œ( |S )Né   r   é   r   é   g      �Ag      @C)r   ÚemptyÚlenÚrange)r/   ÚoutÚiÚaÚbs        r   rD   rD   ^   sp   € Ü
�(‰(”3�q“6˜Q‘;Ó
€CÜ�1”c˜!“f˜aÖ ˆØˆa‰D�A‰IˆØˆa�!‰e‰H˜‰MˆØ˜:‘~¨Ñ)Ð-?Ñ?ˆˆA�‰FŠð !ð €Jr   c                 óF   — | j                  t        j                  «      dz
  S )Nç      ð?)Úviewr   Údoubler6   s    r   Úuniform_from_dsfmtrW   g   s   € Ø�6‰6”"—)‘)Ó˜sÑ"Ð"r   c                 óÜ  — |dv rt        | «      }n|dk(  rt        | «      }nt        | «      }g }d}dx}}t        |«      |k  r¦d}|dk\  s|dk(  r5d||   z  dz
  }d||dz      z  dz
  }||z  ||z  z   }|dz  }|dk\  rŒ/|dk(  rŒ5t	        j
                  d	t	        j                  |«      z  |z  «      }	|j                  |	|z  «       |j                  |	|z  «       t        |«      |k  rŒ¦|d | S )
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   k   s  € ØˆxÑÜ% aÓ(‰Ø	�ŠÜ% aÓ(‰ä$ QÓ'ˆØ€EØ
€CØ€M€BˆÜ
ˆe‹*�qŠ.ØˆØ�CŠi˜2 š9Ø�w˜s‘|Ñ# cÑ)ˆBØ�w˜s Q™wÑ'Ñ'¨#Ñ-ˆBØ�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                  óÔ  — ddl m} m}m} t	        t        d«      dd¬«      }|j                  d«       t	        di |j                  ¤Ž}t        |j                  |j                  «       t        |j                  |j                  «       t        t        | «       t        t        |«        |«       }t        t        |j                  d«       t        |j                  d«      «      dk(  sJ ‚y )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³   € ÷Bñ Bô 
”e˜B“i¨6¸QÔ	?€BØ‡H�HˆR„LÜ	Ñ	!˜Ÿ™Ñ	!€BÜ�—‘˜2Ÿ8™8Ô$Ü�×&Ñ&¨×(=Ñ(=Ô>ô ”)˜]Ô+Ü”)Ð3Ô4Ù Ó"€EÜÔ% u×';Ñ';¸RÔ@Üˆu�{‰{˜2‹Ó 2Ò%Ð%Ñ%r   c                  óT  — t         j                  j                  «       } | j                  j                  }|j                  d«      }t        d«      D �cg c]  }|j                  |fz   ‘Œ }}|D �cg c]  }|j                  ‘Œ c}|k(  sJ ‚| j                  j                  d«      }t        dd«      D �cg c]  }|j                  |fz   ‘Œ }}|D �cg c]  }|j                  j                  ‘Œ c}|k(  sJ ‚| j                  d«      }t        dd«      D �cg c]  }|j                  |fz   ‘Œ }}|D � cg c]"  } | j                  j                  j                  ‘Œ$ }	} |	|k(  sJ ‚|d   j                  «       |d   j                  «       k7  sJ ‚yc c}w c c}w c c}w c c}w c c}w c c} w )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‡   —   s„  € ô �)‰)×
Ñ
Ó
!€CØ
×
Ñ
×
$Ñ
$€CØ�Y‰Y�q‹\€FÜ38¸´8Ó<±8¨a�S—]‘] a TÓ)°8€MÐ<Ù!'Ó(¡˜AˆA�K‹K Ñ(¨MÒ9Ð9Ð9à×Ñ×%Ñ% aÓ(€GÜ38¸¸B´<Ó@±<¨a�S—]‘] a TÓ)°<€MÐ@Ù,3Ó4©G bˆB�K‰K×!Ó!¨GÑ4¸ÒEÐEÐEà�y‰y˜‹|€HÜ38¸¸R´=ÓA±=¨a�S—]‘] 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Á0FÂ4FÃFÄF Ä2'F%c                  ó¦  — ddl m}   G d„ d«      }| j                  |«       t        j                  j                   |«       «      }t        j                  t        d¬«      5  |j                  d«       d d d «       t        j                  t        d¬«      5  |j                  j                  d«       d d d «       y # 1 sw Y   ŒIxY w# 1 sw Y   y xY w)Nr   )rg   c                   ó*   — e Zd Zej                  fd„Zy)ú,test_non_spawnable.<locals>.FakeSeedSequencec                 ó0   — t        j                  ||¬«      S )Nr(   )r   Úzeros)ÚselfÚn_wordsr)   s      r   rs   z;test_non_spawnable.<locals>.FakeSeedSequence.generate_state±   s   € Ü—8‘8˜G¨5Ô1Ð1r   N)Ú__name__Ú
__module__Ú__qualname__r   r!   rs   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   Á!B;ÂCÂ;CÃCc                   ó2  — e Zd Zej                  Zi xZZe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ej4                  j7                  ed¬«      d„ «       Zej4                  j7                  ed¬«      d„ «       Zd„ Z y)ÚBasec                 ó„   — t         | _        d| _        t        j                  | _        t        | _        g | _        g | _	        y )Nr;   )
r
   r{   r?   r   r+   r)   rr   Úseed_error_typeÚinvalid_init_typesÚinvalid_init_values©Úclss    r   Úsetup_classzBase.setup_classÃ   s4   € ä!ˆÔØˆŒÜ—I‘IˆŒ	Ü'ˆÔØ!#ˆÔØ"$ˆÕr   c           	      ó´  — t        |«      5 }|j                  «       }|j                  d«      }|dd  D �cg c]  }t        |j	                  «       d«      ‘Œ }}g }|D ]=  }|j                  t        |j                  d«      d   j	                  «       d«      «       Œ? |t        j                  || j                  ¬«      dœcd d d «       S c c}w # 1 sw Y   y xY w)NÚ,r   r   éÿÿÿÿr(   )ÚseedÚdata)	ÚopenÚreadlineÚsplitÚintÚstripr\   r   r,   r)   )rŸ   ÚfilenameÚcsvr¤   Úsr¥   Úlines          r   Ú	_read_csvz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¸s¿y¹yÔ*IÑJ÷ ‰^ùò 9÷ ˆ^ús   Œ)Cµ!C	ÁA)CÃ	CÃCc                 ó¬  —  | j                   | j                  d   Ž }|j                  d«      }t        || j                  d   «        | j                   | j                  d   Ž }|j                  «       }t        || j                  d   d   «        | j                   | j                  d   Ž }|j                  d«      }t        || j                  d   «       y )Nr¤   éè  r¥   r   )r{   Údata1Ú
random_rawr   Údata2©r�   r{   Úuintss      r   Útest_rawzBase.test_raw×   s¿   € Ø*˜×*Ñ*¨D¯J©J°vÑ,>Ð?ˆØ×(Ñ(¨Ó.ˆÜ�U˜DŸJ™J vÑ.Ô/à*˜×*Ñ*¨D¯J©J°vÑ,>Ð?ˆØ×(Ñ(Ó*ˆÜ�U˜DŸJ™J vÑ.¨qÑ1Ô2à*˜×*Ñ*¨D¯J©J°vÑ,>Ð?ˆØ×(Ñ(¨Ó.ˆÜ�U˜DŸJ™J vÑ.Õ/r   c                 ó–   —  | j                   | j                  d   Ž }|j                  d¬«      }|�J ‚|j                  dd¬«      }|�J ‚y )Nr¤   F)Úoutputr±   )r{   r²   r³   rµ   s      r   Útest_random_rawzBase.test_random_rawä   sY   € Ø*˜×*Ñ*¨D¯J©J°vÑ,>Ð?ˆØ×(Ñ(°Ð(Ó6ˆØˆ}Ðˆ}Ø×(Ñ(¨°eÐ(Ó<ˆØˆ}Ð‰}r   c                 ó˜  — d}t         | j                  | j                  d   Ž «      }|j                  |«      }t	        |t        | j                  d   || j                  «      «       t         | j                  | j                  d   Ž «      }|j                  d«      }t	        |t        | j                  d   || j                  «      «       y )Né   r¤   r¥   )r   r{   r²   Ústandard_normalr   re   r?   r´   )r�   r]   Úrsr_   s       r   Útest_gauss_invzBase.test_gauss_invë   s³   € ØˆÜÐ+˜×+Ñ+¨T¯Z©Z¸Ñ-?Ð@ÓAˆØ×"Ñ" 1Ó%ˆÜ˜Ü'¨¯
©
°6Ñ(:¸A¸t¿y¹yÓIô	Kô Ð+˜×+Ñ+¨T¯Z©Z¸Ñ-?Ð@ÓAˆØ×"Ñ" 2Ó&ˆÜ˜Ü'¨¯
©
°6Ñ(:¸A¸t¿y¹yÓIõ	Kr   c                 óL  — t         | j                  | j                  d   Ž «      }t        | j                  d   | j                  «      }|j                  t        |«      «      }t        ||«       t        |j                  t        j                  «       t         | j                  | j                  d   Ž «      }t        | j                  d   | j                  «      }|j                  t        |«      «      }t        ||«       t        |j                  t        j                  «       y )Nr¤   r¥   )r   r{   r²   rE   r?   rz   rM   r   r   r)   r   Úfloat64r´   ©r�   r¾   ÚvalsÚuniformss       r   Útest_uniform_doublez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                 óŒ  — t         | j                  | j                  d   Ž «      }t        | j                  d   | j                  «      }|j                  t        |«      t        j                  ¬«      }t        ||«       t        |j                  t        j                  «       t         | j                  | j                  d   Ž «      }t        | j                  d   | j                  «      }|j                  t        |«      t        j                  ¬«      }t        ||«       t        |j                  t        j                  «       y )Nr¤   r¥   r(   )r   r{   r²   r@   r?   rz   rM   r   r#   r   r   r)   r´   rÂ   s       r   Útest_uniform_floatz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                 óÜ   — t         | j                  | j                  d   Ž «      }dt        |«      v sJ ‚t	        |«      d›j                  «       j                  dd«      t        |«      v sJ ‚y ©Nr¤   r   z#xÚXr/   )r   r{   r²   ÚreprÚidr0   Úreplace©r�   r¾   s     r   Ú	test_reprzBase.test_repr  se   € ÜÐ)�t×)Ñ)¨4¯:©:°fÑ+=Ð>Ó?ˆØœd 2›hÑ&Ð&Ð&Ü�R“&˜�×#Ñ#Ó%×-Ñ-¨c°3Ó7¼4À»8ÑCÐCÑCr   c                 ó4  — t         | j                  | j                  d   Ž «      }dt        |«      v sJ ‚t        | j                  j                  «      t        |«      v sJ ‚t        |«      d›j                  «       j                  dd«      t        |«      vsJ ‚y rÉ   )r   r{   r²   Ústrr�   rÌ   r0   rÍ   rÎ   s     r   Útest_strzBase.test_str  sˆ   € ÜÐ)�t×)Ñ)¨4¯:©:°fÑ+=Ð>Ó?ˆØœc "›gÑ%Ð%Ð%Ü�4×%Ñ%×.Ñ.Ó/´3°r³7Ñ:Ð:Ð:Ü�R“&˜�×#Ñ#Ó%×-Ñ-¨c°3Ó7¼sÀ2»wÑFÐFÑFr   c                 óê  — dd l } | j                  | j                  d   Ž }|j                  }|j	                  |«      }|j                  |«      }|j                  }t        t        |«      j                  d«      t        |«      j                  d«      «       ||usJ ‚t        ||«       t        d«      }|j                  |j	                  |«      «      }t        |j                  |j                  «       y )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_picklezBase.test_pickle  sÉ   € Ûà*˜×*Ñ*¨D¯J©J°vÑ,>Ð?ˆØ×#Ñ#ˆØ—\‘\ -Ó0ˆ
Ø—<‘< 
Ó+ˆØ!Ÿ™ˆÜœ9 ]Ó3×CÑCÀDÓIÜ$ XÓ.×>Ñ>¸tÓDô	Fà HÑ,Ð,Ð,Ü˜>¨5Ô1ä˜#ÓˆØ�\‰\˜&Ÿ,™, rÓ*Ó+ˆÜ�R—X‘X˜rŸx™xÕ(r   c                 óB  — dd l } | j                  | j                  d   Ž }|j                  }|j	                  |j                  |«      «      }|j                  }t        |j                  |j                  «       t        |j                  |j                  «       |j                  j                  d«       |j	                  |j                  |«      «      }|j                  }t        |j                  |j                  «       t        |j                  |j                  «       y )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_sequencez(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                 ó¨   —  | j                   | j                  d   Ž }t        j                  t        «      5  dh|_        d d d «       y # 1 sw Y   y xY w)Nr¤   Ú1)r{   r²   r•   r–   rr   rp   ©r�   r{   s     r   Útest_invalid_state_typezBase.test_invalid_state_type?  s?   € Ø*˜×*Ñ*¨D¯J©J°vÑ,>Ð?ˆÜ�]‰]œ9Õ%Ø#& %ˆMÔ÷ &×%Ñ%ús   ¶	AÁAc                 óÈ   —  | j                   | j                  d   Ž }|j                  }d|d<   t        j                  t
        «      5  ||_        d d d «       y # 1 sw Y   y xY w)Nr¤   ÚotherBitGeneratorr{   )r{   r²   rp   r•   r–   Ú
ValueError)r�   r{   rp   s      r   Útest_invalid_state_valuezBase.test_invalid_state_valueD  sR   € Ø*˜×*Ñ*¨D¯J©J°vÑ,>Ð?ˆØ×#Ñ#ˆØ!4ˆˆoÑÜ�]‰]œ:Õ&Ø"'ˆMÔ÷ '×&Ñ&ús   ÁAÁA!c                 ó¤   — | j                   }| j                  D ])  }t        j                  t        «      5   ||Ž  d d d «       Œ+ y # 1 sw Y   Œ6xY wr   )r{   rœ   r•   r–   rr   ©r�   r{   Ústs      r   Útest_invalid_init_typezBase.test_invalid_init_typeK  s@   € Ø×*Ñ*ˆØ×)Ô)ˆBÜ—‘œyÕ)Ù˜rÑ"÷ *Ð)ñ *ß)Ð)ús   µAÁA	c                 ó°   — | j                   }| j                  D ]/  }t        j                  t        t
        f«      5   ||Ž  d d d «       Œ1 y # 1 sw Y   Œ<xY wr   )r{   r�   r•   r–   ré   ÚOverflowErrorrì   s      r   Útest_invalid_init_valueszBase.test_invalid_init_valuesQ  sE   € Ø×*Ñ*ˆØ×*Ô*ˆBÜ—‘¤
¬MÐ:Õ;Ù˜rÑ"÷ <Ð;ñ +ß;Ð;ús   »AÁA	c                 ó  —  | j                   | j                  d   Ž }|j                  d«       |j                  dd«       t        j                  t
        «      5  |j                  dd«       d d d «       y # 1 sw Y   y xY w)Nr¤   r   rV   Úint32)r{   r²   Ú
_benchmarkr•   r–   ré   rå   s     r   Útest_benchmarkzBase.test_benchmarkW  sc   € Ø*˜×*Ñ*¨D¯J©J°vÑ,>Ð?ˆØ× Ñ  Ô#Ø× Ñ   HÔ-Ü�]‰]œ:Õ&Ø×$Ñ$ Q¨Ô0÷ '×&Ñ&ús   ÁA5Á5A>zcffi not available)Úreasonc                 óœ   —  | j                   | j                  d   Ž }|j                  }t        |t        «      sJ ‚|j                  }||u sJ ‚y ©Nr¤   )r{   r²   Úcffir   r   )r�   r{   Úcffi_interfaceÚother_cffi_interfaces       r   Ú	test_cffizBase.test_cffi^  sR   € à*˜×*Ñ*¨D¯J©J°vÑ,>Ð?ˆØ&×+Ñ+ˆÜ˜.¬)Ô4Ð4Ð4Ø,×1Ñ1ÐØ# ~Ñ5Ð5Ñ5r   zctypes not availablec                 óœ   —  | j                   | j                  d   Ž }|j                  }t        |t        «      sJ ‚|j                  }||u sJ ‚y rø   )r{   r²   Úctypesr   r   )r�   r{   Úctypes_interfaceÚother_ctypes_interfaces       r   Útest_ctypeszBase.test_ctypesf  sU   € à*˜×*Ñ*¨D¯J©J°vÑ,>Ð?ˆØ(×/Ñ/ÐÜÐ*¬IÔ6Ð6Ð6Ø!.×!5Ñ!5ÐØ%Ð)9Ñ9Ð9Ñ9r   c                 óà   —  | j                   | j                  d   Ž }|j                  }|j                  «       }t	        |t
        «      sJ ‚t        ||d   «       t	        |d   t        «      sJ ‚y )Nr¤   r   r   )r{   r²   rp   Ú__getstate__r   Útupler   r   )r�   r{   rp   Ú	alt_states       r   Útest_getstatezBase.test_getstaten  sh   € Ø*˜×*Ñ*¨D¯J©J°vÑ,>Ð?ˆØ×#Ñ#ˆØ!×.Ñ.Ó0ˆ	Ü˜)¤UÔ+Ð+Ð+Ü˜5 )¨A¡,Ô/Ü˜) A™,¬Ô5Ð5Ñ5r   N)!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  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                   ó"   — e Zd Zed„ «       Zd„ Zy)Ú
TestPhiloxc                 ó,  — t         | _        d| _        t        j                  | _        | j                  t        t        d«      «      | _	        | j                  t        t        d«      «      | _
        t        | _        g | _        ddd d ddz  dz   fg| _        y )	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    zTestPhilox.setup_classw  s�   € ä"ˆÔØˆŒÜ—I‘IˆŒ	Ø—M‘MÜ”Ð3Ó4ó6ˆŒ	à—M‘MÜ”Ð3Ó4ó6ˆŒ	ä'ˆÔØ!#ˆÔØ#/°¸¸tÀQÈ#ÁXÐPQÁ\Ð8RÐ"SˆÕr   c                 óÒ   —  | j                   | j                  d   Ž }|j                  }| j                  |d   d   |d   d   ¬«      }t        |j                  |j                  «       y )Nr¤   rp   Úcounterr   )r  r   )r{   r²   rp   r   )r�   r{   rp   Úkeyeds       r   Útest_set_keyzTestPhilox.test_set_key„  sh   € Ø*˜×*Ñ*¨D¯J©J°vÑ,>Ð?ˆØ×#Ñ#ˆØ×"Ñ"¨5°©>¸)Ñ+DØ',¨W¡~°eÑ'<ð #ó >ˆä˜=×.Ñ.°·±Õ<r   N)r�   r�   r‘   r  r    r  rm   r   r   r  r  v  s   „ Øñ
Tó ð
Tó=r   r  c                   ó(   — e Zd Zed„ «       Zd„ Zd„ Zy)Ú	TestPCG64c                 ó,  — t         | _        d| _        t        j                  | _        | j                  t        t        d«      «      | _	        | j                  t        t        d«      «      | _
        t        t        f| _        dd gfdg| _        dg| _        y )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    z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                 ó  — t         | j                  | j                  d   Ž «      }|j                  j                  }d}|j                  j	                  |«       |j                  d«      }||j                  _        |j                  j	                  ddz  |z   «       |j                  d«      }||j                  _        |j                  j	                  dddz  z  |z   «       |j                  d«      }||k(  sJ ‚||k(  sJ ‚y ©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_symmetryzTestPCG64.test_advance_symmetry˜  óé   € ÜÐ)�t×)Ñ)¨4¯:©:°fÑ+=Ð>Ó?ˆØ× Ñ ×&Ñ&ˆØ2ˆØ
×Ñ× Ñ  Ô&Ø—+‘+˜b“/ˆØ!&ˆ×ÑÔØ
×Ñ× Ñ   C¡¨$¡Ô/Ø—+‘+˜b“/ˆØ!&ˆ×ÑÔØ
×Ñ× Ñ   a¨¡f¡¨tÑ!3Ô4Ø—+‘+˜b“/ˆØ˜'Ò!Ð!Ð!Ø˜'Ò!Ð!Ñ!r   c                 óþ   — t        | j                  d«      «      }|j                  }|j                  d   }d}|d   |k(  sJ ‚|j                  t	        d„ dD «       «      «       |j                  d   }d}|d   |k(  sJ ‚y )Nì   ï%”@
 rp   ì	   Ír%4=KÆv±uÅ1¹/Ø c              3   ó&   K  — | ]	  }d |z  –— Œ y­w©rI   Nrm   ©Ú.0rP   s     r   Ú	<genexpr>z/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   r  Úsum©r�   r¾   Úpcgrp   Úinitial_stateÚadvanced_states         r   Útest_advange_largezTestPCG64.test_advange_large§  s„   € Ü�t×)Ñ)¨.Ó9Ó:ˆØ×ÑˆØ—	‘	˜'Ñ"ˆØ?ˆØ�W‰~ Ò.Ð.Ð.Ø�‰”CÑCÑ&BÓCÓCÔDØ—	‘	˜'Ñ"ˆØ@ˆØ�W‰~ Ò/Ð/Ñ/r   N©r�   r�   r‘   r  r    r%  r:  rm   r   r   r  r  Œ  ó   „ Øñ*ó ð*ò"ó	0r   r  c                   ó(   — e Zd Zed„ «       Zd„ Zd„ Zy)ÚTestPCG64DXSMc                 ó,  — t         | _        d| _        t        j                  | _        | j                  t        t        d«      «      | _	        | j                  t        t        d«      «      | _
        t        t        f| _        dd gfdg| _        dg| _        y )Nr;   z./data/pcg64dxsm-testset-1.csvz./data/pcg64dxsm-testset-2.csvr  r  r  )r   r{   r?   r   r+   r)   r¯   r   r  r²   r´   ré   rr   r›   rœ   r�   rž   s    r   r    z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                 ó  — t         | j                  | j                  d   Ž «      }|j                  j                  }d}|j                  j	                  |«       |j                  d«      }||j                  _        |j                  j	                  ddz  |z   «       |j                  d«      }||j                  _        |j                  j	                  dddz  z  |z   «       |j                  d«      }||k(  sJ ‚||k(  sJ ‚y r  r  r   s          r   r%  z#TestPCG64DXSM.test_advance_symmetryÀ  r&  r   c                 óþ   — t        | j                  d«      «      }|j                  }|j                  }d}|d   d   |k(  sJ ‚|j                  t	        d„ dD «       «      «       |j                  d   }d}|d   |k(  sJ ‚y )Nr(  r)  rp   c              3   ó&   K  — | ]	  }d |z  –— Œ y­wr+  rm   r,  s     r   r.  z3TestPCG64DXSM.test_advange_large.<locals>.<genexpr>Õ  r/  r0  r1  l	   oF‚	œ[UmO1X·9}Ð r4  r6  s         r   r:  z TestPCG64DXSM.test_advange_largeÏ  s„   € Ü�t×)Ñ)¨.Ó9Ó:ˆØ×ÑˆØ—	‘	ˆØ?ˆØ�W‰~˜gÑ&¨-Ò7Ð7Ð7Ø�‰”CÑCÑ&BÓCÓCÔDØ—	‘	˜'Ñ"ˆØ@ˆØ�W‰~ Ò/Ð/Ñ/r   Nr;  rm   r   r   r>  r>  ´  r<  r   r>  c                   ó(   — e Zd Zed„ «       Zd„ Zd„ Zy)ÚTestMT19937c                 ó  — t         | _        d| _        t        j                  | _        | j                  t        t        d«      «      | _	        | j                  t        t        d«      «      | _
        t        | _        g | _        dg| _        y )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    zTestMT19937.setup_classÜ  sf   € ä#ˆÔØˆŒÜ—I‘IˆŒ	Ø—M‘M¤$¤sÐ,JÓ"KÓLˆŒ	Ø—M‘M¤$¤sÐ,JÓ"KÓLˆŒ	Ü(ˆÔØ!#ˆÔØ#( 'ˆÕr   c                 óº  — t        t        | j                  t        j                  t        j
                  g«      «       t        t        | j                  t        j                  t        j
                   g«      «       t        t        | j                  t        j                  t        j
                  t        j
                   g«      «       t        t        | j                  t        j                  dt        j
                  g«      «       t        t        | j                  t        j
                  g«       t        t        | j                  dt        j
                  g«       y )Nr   )r   rr   r{   r   r,   Úpi)r�   s    r   Útest_seed_float_arrayz!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                 ób  — t         | j                  | j                  d   Ž «      }|j                  }|j                  }|j	                  d«      }|d   |d   d   |d   d   f}||_        |j	                  d«      }t        ||«       |dz   }||_        |j	                  d«      }t        ||«       y )Nr¤   i   r{   rp   r   Úpos)r   rY   )r   r{   r²   rp   r  r   )r�   r¾   r{   rp   ÚdesiredÚtupr   s          r   Útest_state_tuplezTestMT19937.test_state_tupleï  s¶   € ÜÐ)�t×)Ñ)¨4¯:©:°fÑ+=Ð>Ó?ˆØ×(Ñ(ˆØ×#Ñ#ˆØ—+‘+˜gÓ&ˆØ�_Ñ% u¨W¡~°eÑ'<Ø�W‰~˜eÑ$ð&ˆà!ˆÔØ—‘˜WÓ%ˆÜ�V˜WÔ%Ø�H‰nˆØ!ˆÔØ—‘˜WÓ%ˆÜ�V˜WÕ%r   N)r�   r�   r‘   r  r    rH  rM  rm   r   r   rD  rD  Û  s   „ Øñ*ó ð*òAó&r   rD  c                   ó"   — e Zd Zed„ «       Zd„ Zy)Ú	TestSFC64c                 ó,  — t         | _        d| _        t        j                  | _        | j                  t        t        d«      «      | _	        | j                  t        t        d«      «      | _
        t        t        f| _        dd gfdg| _        dg| _        y )Nr;   z./data/sfc64-testset-1.csvz./data/sfc64-testset-2.csvr  r  r  )r   r{   r?   r   r+   r)   r¯   r   r  r²   r´   ré   rr   r›   rœ   r�   rž   s    r   r    zTestSFC64.setup_class   s|   € ä!ˆÔØˆŒÜ—I‘IˆŒ	Ø—M‘MÜ”Ð2Ó3ó5ˆŒ	à—M‘MÜ”Ð2Ó3ó5ˆŒ	ä)¬9Ð5ˆÔØ"(¨D¨6¨)°YÐ!?ˆÔØ#( 'ˆÕr   c                 óô  — dd l }dd l}t        j                  g d¢t        j                  ¬«      }t
        j                  j                  t
        j                  j                  t        «      «      d   }t
        j                  j                  |dd«      }|j                  |«      5 }|j                  |«      }d d d «       t        t        «      sJ ‚t        |j                   d   d   |«       y # 1 sw Y   Œ8xY w)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�   rS  rÕ   Úexpected_stateÚ	base_pathÚpkl_fileÚgzÚsfcs           r   Útest_legacy_picklez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   Â%C.Ã.C7N)r�   r�   r‘   r  r    r^  rm   r   r   rO  rO  ÿ  s   „ Øñ
*ó ð
*óBr   rO  c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestDefaultRNGc                 óh   — dddddgffD ]&  }t        |Ž }t        |j                  t        «      rŒ&J ‚ y )Nrm   r   )éÒ  rb  i.  )r   r   r{   r
   )r�   ÚargsÚrgs      r   Ú	test_seedzTestDefaultRNG.test_seed&  s;   € Ø˜ '¨T°4¨L¨?Ó;ˆDÜ˜dÐ#ˆBÜ˜b×.Ñ.´Õ6Ð6Ð6ñ <r   c                 ó�   — t        «       }t        |«      }|j                  |u sJ ‚t        |«      }||u sJ ‚|j                  |u sJ ‚y r   )r   r   r{   )r�   r„   rd  Úrg2s       r   Útest_passthroughzTestDefaultRNG.test_passthrough+  sO   € Ü‹XˆÜ˜‹_ˆØ×Ñ 2Ñ%Ð%Ð%Ü˜"‹oˆØ�b‰yÐˆyØ× Ñ  BÑ&Ð&Ñ&r   c                 óè  — t        d«      }t        |«      }t        |j                  t        «      sJ ‚|j                  |j
                  u sJ ‚t        j                  j                  «       }t        d«      }t        j                  j                  |«       t        j                  j                  j                  }t        |«      }|j                  |u sJ ‚t        j                  j                  |«       y )Nrb  iT¼ )r   r   r   r{   r	   Ú_bit_generatorr   rz   Úget_bit_generatorr
   Úset_bit_generatorÚmtrandÚ_rand)r�   r¾   rd  Ú	_originalr„   s        r   Ú#test_coercion_RandomState_Generatorz2TestDefaultRNG.test_coercion_RandomState_Generator3  sº   € ä˜ÓˆÜ˜‹_ˆÜ˜"×*Ñ*¬GÔ4Ð4Ð4Ø×Ñ 2×#4Ñ#4Ñ4Ð4Ð4ô —I‘I×/Ñ/Ó1ˆ	Ü�8‹_ˆÜ
�	‰	×#Ñ# BÔ'Ü�Y‰Y×Ñ×#Ñ#ˆÜ˜‹_ˆØ×Ñ 2Ñ%Ð%Ð%ô 	�	‰	×#Ñ# IÕ.r   N)r�   r�   r‘   re  rh  rp  rm   r   r   r`  r`  %  s   „ ò7ò
'ó/r   r`  )9rT  Úos.pathr   ÚsysÚnumpyr   Únumpy.testingr   r   r   r   r•   Únumpy.randomr   r	   r
   r   r   r   r   r   r   Únumpy.random._commonr   rù   r
  ÚImportErrorrþ   r  ÚflagsÚoptimizerU  ÚdirnamerV  rW  r  r   r%   r3   r7   r9   r@   rE   rC   rD   rW   re   rw   r‡   r—   r™   r  r  r>  rD  rO  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ôP$0�Dô $0ôN!&�$ô !&ôH#B�ô #B÷L/ò /øðc ò Ø‚Lðûð ò Ø‚Nðús$   Á D ÁD ÄDÄDÄD)Ä(D)