
    BwgM                     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      U/var/www/horilla/myenv/lib/python3.12/site-packages/numpy/random/tests/test_direct.pyr   r   '   sk     .fSk4(vc{F3K8sRZZ0vc{F3K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HHQ"))B-'ryy9EIIj!EHHQYbii0E__eU^,224F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
		!bii
++,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>    rz$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   ^   sw    
((3q6Q;
C1c!fa  @aDAIa!eHM:~)-??AF@ Jr   c                 F    | j                  t        j                        dz
  S )N      ?)viewr   doubler6   s    r   uniform_from_dsfmtrW   g   s    66"))s""r   c                    |dv rt        |       }n|dk(  rt        |       }nt        |       }g }d}dx}}t        |      |k  rd}|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MB
e*q.Ci29ws|#c)BwsQw''#-Bb27"B1HC	 Ci29 GGD266":%*+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 
eBi6Q	?BHHRL		!	!B288$&&(=(=> )]+)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      sx    ))


!C



$
$CYYq\F388<aS]]aT)<M<!'(AAKK(M999%%a(G38B<@aS]]aT)@M@,34bBKK!!4EEEyy|H38R=AaS]]aT)AMABJK3###,,66KJK&&& A; HQK$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    88G5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
3C	y(E	F 		! 
y(E	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    !II	'!#"$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    (^ 	Ks<<>D::c?D/3ABx8!C	1%8D8D AC

3 3 9 9 ;Q?@A "((4syy*IJ	K 	K 9	K 	K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    ***DJJv,>?((.UDJJv./***DJJv,>?((*UDJJv.q12***DJJv,>?((.UDJJv./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    ***DJJv,>?(((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    +++TZZ-?@A""1%'

6(:AtyyI	K +++TZZ-?@A""2&'

6(:Atyy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!3TYY?99SY'$'X^^RZZ0)t))4::f+=>? F!3TYY?99SY'$'X^^RZZ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#5tyyA99SYbjj99$'X^^RZZ0)t))4::f+=>?"4::f#5tyyA99SYbjj99$'X^^RZZ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+=>?d2h&&&R&##%--c374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%%../3r7:::R&##%--c37s2w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    ***DJJv,>?##\\-0
<<
+!9]3CCDI$X.>>tD	FH,,,>51#\\&,,r*+RXXrxx(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     	***DJJv,>?##fll=9:RXXv||,RWWfkk*$$R(fll=9:RXXv||,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?  sH    ***DJJv,>?]]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  s[    ***DJJv,>?##!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  sP    **)) 	#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  sU    **** 	#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  sl    ***DJJv,>?  #  H-]]:& 	1$$Q0	1 	1 	1s   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    ***DJJv,>?&++.)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    ***DJJv,>?(//*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    ***DJJv,>?##!..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    IIEEE% % 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    "II	MM346	MM346	'!##/tQ#XPQ\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    ***DJJv,>?##""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    !II	MM$s,H"IJ	MM$s,H"IJ	)95"(D6)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=Kvu1/ c              3   &   K   | ]	  }d |z    ywrI   Nrm   .0rP   s     r   	<genexpr>z/TestPCG64.test_advange_large.<locals>.<genexpr>       C1C   `   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    %II	MM$s,L"MN	MM$s,L"MN	)95"(D6)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mO1X9} 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    #II	MM$s,J"KL	MM$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!3RXXruug5FGi!3!3RXXvh5GHi!3!3RXXruuruufo5NOi!3!3RXXq"%%j5IJi!3!3beeW=i!3!3a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&_%uW~e'<W~e$&!W%VW%Hn!W%VW%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|    !II	MM235	MM235	)95"(D6)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oTMQ l   *,!;l   aE]yg    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     ))
 GGMM"''//(";<Q?	77<<	63GHYYx  	"B++b/C	" #u%%%SYYw'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@    'T4L?; 	7Dd#Bb..666	7r   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by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 II//1	8_
		##B'YY##_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 99 L 	ggoobggooh/0.D%  "&=#2&&:,#$u6 u6n= =,$0 $0P$0D $0N!&$ !&H#B #BL/ /c  L  Ns$    D D DDD)(D)