zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
U
P±dáSã    @sàddlZddlZddlZddlZddlZddlZddlmZm    Z    m
Z
m Z m Z m Z mZmZmZddlmZmZddlmZddddde d    ¡d
fd d d dœZe e¡jdkrÄdddddddddœZndddddddd dœZejd!ed"d#d$„ƒZejd%d&„ƒZd'd(„ZGd)d*„d*ƒZGd+d,„d,ƒZ Gd-d.„d.ƒZ!Gd/d0„d0ƒZ"Gd1d2„d2ƒZ#Gd3d4„d4ƒZ$Gd5d6„d6ƒZ%ej&j'ed7d8Gd9d:„d:ƒƒZ(Gd;d<„d<ƒZ)d=d>„Z*d?d@„Z+dAdB„Z,dCdD„Z-dEdF„Z.dGdH„Z/dIdJ„Z0dKdL„Z1dMdN„Z2dS)OéN)    Úassert_Ú assert_raisesÚ assert_equalÚ assert_warnsÚassert_no_warningsÚassert_array_equalÚassert_array_almost_equalÚsuppress_warningsÚIS_WASM)ÚMT19937ÚPCG64)Úrandom)gY@g333333ã?)çà?)éré
rég@)édr)ç$@)é)ÚbinomialÚ    geometricÚhypergeometricÚ    logseriesÚ multinomialÚnegative_binomialÚpoissonÚzipfìZ@2fbead005fc63942decb5326d36a1f32fe2c9d32c904ee61e46866b88447c263Z@23ead5dcde35d4cfd4ef2c105e4c3d43304b45dc1b1444b7823b9ee4fa144ebbZ@0d764db64f5c3bad48c8c33551c13b4d07a1e7b470f77629bef6c985cac76fcfZ@7b59bf2f1691626c5815cdcd9a49e1dd68697251d4521575219e4d2a1b8b2c67Z@d754fa5b92943a38ec07630de92362dd2e02c43577fc147417dc5b9db94ccdd3Z@8eb216f7cb2a63cf55605422845caaff002fddc64a7dc8b2d45acd477a49e824Z@70c891d76104013ebd6f6bcf30d403a9074b886ff62e4e6b8eb605bf1a4673b7Z@01f074f97517cd5d21747148ac6ca4074dde7fcb7acbaec0a936606fecacd93f)rrrrrrrrZ@8626dd9d052cb608e93d8868de0a7b347258b199493871a1dc56e2a26cacb112Z@8edd53d272e49c4fc8fbbe6c7d08d563d62e482921f3131d0a0e068af30f0db9Z@83496cc4281c77b786c9b7ad88b74d42e01603a55c60577ebab81c3ba8d45657Z@65878a38747c176bc00e930ebafebb69d4e1e16cd3a704e264ea8f5e24f548dbZ@7a984ae6dca26fd25374479e118b22f55db0aedccd5a0f2584ceada33db98605Z@d636d968e6a24ae92ab52fe11c46ac45b0897e98714426764e820a7d77602a61Z@956552176f77e7c9cb20d0118fc9cf690be488d790ed4b4c4747b965e61b0bb4Z@f84ba7feffda41e606e20b28dfc0f1ea9964a74574513d4a4cbc98433a8bfa45Úmodule)ZscopeÚparamscCs|jt|jt|jfS©N)ÚparamÚ    INT_FUNCSÚINT_FUNC_HASHES)Úrequest©r%úZd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/random/tests/test_randomstate.pyÚint_func2s ÿr'ccs tj ¡}dVtj |¡dS)z:Ensures that the singleton bitgen is restored after a testN)Únpr Úget_bit_generatorÚset_bit_generator)Z orig_bitgenr%r%r&Úrestore_singleton_bitgen8s
r+cCsnt|d|dƒt|dd|ddƒt|dd|ddƒt|d|dƒt|d|dƒdS)NÚ bit_generatorÚstateÚkeyÚposÚ    has_gaussÚgauss)rr)ÚaÚbr%r%r&Úassert_mt19937_state_equal@s
r4c@sDeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dS)ÚTestSeedcCs8t d¡}t| d¡dƒt d¡}t| d¡dƒdS)Nréèi¬ìÿÿi£)r Ú RandomStaterÚrandint©ÚselfÚsr%r%r&Ú test_scalarIs
 
zTestSeed.test_scalarcCszt tdƒ¡}t| d¡dƒt t d¡¡}t| d¡dƒt dg¡}t| d¡dƒt dg¡}t| d¡dƒdS)Nrr6iÔriÍr7i    )r r8Úrangerr9r(Úaranger:r%r%r&Ú
test_arrayOs  zTestSeed.test_arraycCs tttjdƒtttjdƒdS)Nçà¿éÿÿÿÿ©rÚ    TypeErrorr r8Ú
ValueError©r;r%r%r&Útest_invalid_scalarYszTestSeed.test_invalid_scalarcCs\tttjdgƒtttjdgƒtttjdgƒtttjdddgƒtttjdddgƒdS)NrArBréréþÿÿÿrCrFr%r%r&Útest_invalid_array^s
zTestSeed.test_invalid_arraycCsRtttjtjgtjdƒtttjdddggƒtttjdddgdddggƒdS)N©ÚdtyperHrééér)rrEr r8r(ÚarrayÚint64rFr%r%r&Útest_invalid_array_shapefsÿÿz!TestSeed.test_invalid_array_shapec    Cs0t tdƒ¡}ttƒ| d¡W5QRXdS)NréÒ)r r8r rrDÚseed)r;Úrsr%r%r&Útest_cannot_seedns
zTestSeed.test_cannot_seedcCstttjtƒdSr )rrEr r8r rFr%r%r&Útest_invalid_initializationssz$TestSeed.test_invalid_initializationN)
Ú__name__Ú
__module__Ú __qualname__r=r@rGrJrRrVrWr%r%r%r&r5Hs
r5c@seZdZdd„Zdd„ZdS)Ú TestBinomialcCsBtjddd}dD]*}tt d|¡dkƒtt ||¡|ƒqdS)NrÚintrK)rrrHr)r(Úzerosrr rr)r;r]Úpr%r%r&Ú test_n_zeroxszTestBinomial.test_n_zerocCstttjdtjƒdS)NrH)rrEr rr(ÚnanrFr%r%r&Ú test_p_is_nanszTestBinomial.test_p_is_nanN)rXrYrZr_rar%r%r%r&r[ws    r[c@sLeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dS)ÚTestMultinomialcCst dddg¡dS)Nr皙™™™™É?皙™™™™é?©r rrFr%r%r&Ú
test_basic‡szTestMultinomial.test_basiccCst ddddddg¡dS)NrrcrdçrerFr%r%r&Útest_zero_probabilityŠsz%TestMultinomial.test_zero_probabilitycCsZtdt dd¡kodknƒt ddd¡}tt d|k¡ƒtt |dk¡ƒdS)NéûÿÿÿrBrO)rr r9r(Úall©r;Úxr%r%r&Útest_int_negative_intervals$z*TestMultinomial.test_int_negative_intervalcCsÂddg}tt d|t d¡¡jdƒtt d|t d¡¡jdƒtt d|t d¡¡jdƒtt d|ddg¡jdƒtt d|d¡jdƒtt d|t d¡¡jdƒtttjd|t    dƒƒdS)NrrH©rHrr©rrr©rr)
rr rr(Úuint32ÚshaperPrrDÚfloat©r;r^r%r%r&Ú    test_size“sÿ ÿzTestMultinomial.test_sizecCs,tttjdddgƒtttjdddgƒdS)Nr皙™™™™ñ?rc皙™™™™¹¿çÍÌÌÌÌÌì?©rrEr rrFr%r%r&Útest_invalid_prob¡sz!TestMultinomial.test_invalid_probcCstttjdddgƒdS)NrBrdrcryrFr%r%r&Útest_invalid_n¥szTestMultinomial.test_invalid_ncCstt d¡}|t |ddd…¡}|ddd…}t d¡tjd|d}t d¡tjdt |¡d}t||ƒdS)Ng.@rHrMiÛ iUr)Úpvals)r(r?Úsumr rTrÚascontiguousarrayr)r;r^r|Ú
non_contigÚcontigr%r%r&Útest_p_non_contiguous¨s
 
 
z%TestMultinomial.test_p_non_contiguousc Cs^tjddddddddddg
tjd}|| ¡}d}tjt|dt d|¡W5QRXdS)Ng®Gáz®ï?g•Ö&è .>rKz-[\w\s]*pvals array is cast to 64-bit floating©ÚmatchrH)    r(rPÚfloat32r}ÚpytestÚraisesrEr r)r;rlr|rƒr%r%r&Útest_multinomial_pvals_float32²sÿÿ z.TestMultinomial.test_multinomial_pvals_float32N) rXrYrZrfrhrmrurzr{rr‡r%r%r%r&rb†s
rbc@sdeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z dS)Ú TestSetStatecCs$d|_t |j¡|_|j ¡|_dS©NiÒ–I)rTr r8Ú random_stateÚ    get_stater-rFr%r%r&Ú setup_method¼szTestSetState.setup_methodcCs<|j d¡}|j |j¡|j d¡}tt ||k¡ƒdS)Né)rŠÚtomaxintÚ    set_stater-rr(rj©r;ÚoldÚnewr%r%r&rfÁs  zTestSetState.test_basiccCs@|jjdd}|j |j¡|jjdd}tt ||k¡ƒdS©NrM©Úsize)rŠÚstandard_normalrr-rr(rjrr%r%r&Útest_gaussian_resetÇsz TestSetState.test_gaussian_resetcCsR|j ¡|j ¡}|jjdd}|j |¡|jjdd}tt ||k¡ƒdSr“)rŠr–r‹rrr(rj)r;r-r‘r’r%r%r&Ú test_gaussian_reset_in_media_resÎs 
 
 z-TestSetState.test_gaussian_reset_in_media_rescCsz|jdd…}|jjdd}|j |¡|jjdd}|j |j¡|jjdd}tt ||k¡ƒtt ||k¡ƒdS)NrIrr”)r-rŠr–rrr(rj)r;Ú    old_stateÚx1Zx2Zx3r%r%r&Útest_backwards_compatibilityÙs z)TestSetState.test_backwards_compatibilitycCs|j dd¡dS©Nr)rŠrrFr%r%r&Útest_negative_binomialåsz#TestSetState.test_negative_binomialc    Csbt tƒ¡}tƒF}| t¡}| ¡}tt|ƒdkƒt    |t
ƒsDt ‚|ddksTt ‚W5QRXdS)NrHr,r ) r r8r r    ÚrecordÚRuntimeWarningr‹rÚlenÚ
isinstanceÚdictÚAssertionError)r;rUÚsupÚwr-r%r%r&Útest_get_state_warningês 
z#TestSetState.test_get_state_warningcCsl|j ¡}d|dd…}tt|jj|ƒtt|jjtj|tdƒ|jjdd}|d=tt|jj|ƒdS)N)ÚUnknownrHrKF©Úlegacyr,)    rŠr‹rrErrDr(rPÚobject)r;r-Ú    new_stater%r%r&Ú!test_invalid_legacy_state_settingós
 
 ÿz.TestSetState.test_invalid_legacy_state_settingcCsj|j d¡|j d¡|j ¡|jjdd}t|ddƒt t |j¡¡}|jdd}t    ||ƒdS)NrrFr¨r0rH)
rŠrTÚ random_sampler–r‹rÚpickleÚloadsÚdumpsr4)r;ZpickledZ    rs_unpickZ    unpickledr%r%r&Ú test_pickleýs  
 zTestSetState.test_picklecCs<|j ¡}|j ¡|j |¡|jjdd}t||ƒdS)NFr¨)rŠÚ __getstate__r–Ú __setstate__r‹r4)r;Z
attr_stater-r%r%r&Útest_state_settings
 
 
 zTestSetState.test_state_settingcCst|jƒ d¡st‚dS)NzRandomState(MT19937))ÚreprrŠÚ
startswithr£rFr%r%r&Ú    test_reprszTestSetState.test_reprN)rXrYrZrŒrfr—r˜r›rr¦r¬r±r´r·r%r%r%r&rˆ»s      
 
rˆc    @sžeZdZejZejejej    ej
ej ej ej ejejg    Zdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zejje d ¡jdkdddd„ƒZdd„Zdd„ZdS)Ú TestRandintcCstt|jdtddS©NrHrK)rrDÚrfuncrsrFr%r%r&Útest_unsupported_typesz!TestRandint.test_unsupported_typecCs |jD]”}|tjkrdn
t |¡j}|tjkr2dnt |¡jd}tt|j|d||dtt|j||d|dtt|j|||dtt|jdd|dqdS)NrrrHrK)    Úityper(Úbool_ÚiinfoÚminÚmaxrrErº)r;ÚdtÚlbndÚubndr%r%r&Útest_bounds_checkings
z TestRandint.test_bounds_checkingcCs´|jD]¨}|tjkrdn
t |¡j}|tjkr2dnt |¡jd}|d}t|j||dd|d|ƒ|}t|j||dd|d|ƒ||d}t|j||dd|d|ƒqdS)NrrrHr6©r•rL)r¼r(r½r¾r¿rÀrrº)r;rÁrÂrÃÚtgtr%r%r&Útest_rng_zero_and_extremes&s
 z&TestRandint.test_rng_zero_and_extremesc Cs|jD]„}|tjkrdn
t |¡j}|tjkr2dnt |¡jd}z|j|||dWqtk
rˆ}ztdt    |ƒƒ‚W5d}~XYqXqdS)NrrrHrKzMNo error should have been raised, but one was with the following message:
 
%s)
r¼r(r½r¾r¿rÀrºÚ    Exceptionr£Ústr)r;rÁrÂrÃÚer%r%r&Útest_full_range4s
þzTestRandint.test_full_rangecCst ¡|jdd…D]@}dD]6}|jd|d|d}t| ¡|kƒt| ¡dkƒqq|jdddtjd}t| ¡dkƒt| ¡dkƒdS)NrH)rNérrirÅr)    r rTr¼rºrrÀr¿r(r½)r;rÁrÃÚvalsr%r%r&Útest_in_bounds_fuzzBszTestRandint.test_in_bounds_fuzzc
Csæddddddddddœ    }|jdd…D]p}t d¡tjd    krR|jd
d d |d }n|jd
d d |d  ¡}t |     t
j ¡¡  ¡}t |t
 |¡j|kƒq&t d¡|jd
dd td      t
j ¡}t |¡  ¡}t |t
 t¡j|kƒdS)NZ@509aea74d792fb931784c4b0135392c65aec64beee12b0cc167548a2c3d31e71Z@7b07f1a920e46f6d0fe02314155a2330bcfd7635e708da50e536c5ebb631a7d4Z@e577bfed6c935de944424667e3da285012e741892dcb7051a8f1ce68ab05c92fZ@0fbead0b06759df2cfb55e43148822d4a1ff953c7eb19a5b08445a63bb64fa9eZ@001aac3a5acb935a9b186cbe14a1ca064b8bb2dd0b045d48abeacf74d0203404)    ÚboolÚint16Úint32rQÚint8Úuint16rqÚuint64Úuint8rHrSÚlittlerrr6rÅr)r¼r rTÚsysÚ    byteorderrºÚbyteswapÚhashlibÚsha256Úviewr(rÒÚ    hexdigestrrLÚnamerÏ)r;rÆrÁÚvalÚresr%r%r&Útest_repeatabilityQs*ø
 
 
 
zTestRandint.test_repeatabilityÚlrzCannot test with 32-bit C long©Úreasonc Csàt dddgdddgddd    ggd
d d gd ddgdddggdddgdddgdddggdddgdd d!gd"d#d$ggd%d&d'gd(d)d*gd+d,d-ggg¡}d.D]J}t d/¡|jd0gd1gd2ggd3d4d5g|d6}t||dk    rÐ|n|d1ƒqdS)7NláQö[ldm¬"lë0l;¡ilvlÔmliXpi\L¹_løZ NiwU¬'lÏ<Ô~lÈ20liPð?iÒfi¦ØwLl@
Volðo“\i„‘´wiý
1]i{„YSlr=ï|i˜ßlâ0llÊiû&ã}lQZî)lœ(q l'}åQlWqV1iêM l'ßti nMløbþ"l)i“Äal³ÑlS"fi¸d‘i9 8lÙnDkl¬J ci¹á”-lši¬MiŸ'ñ*läl¼,)N)rOrMrMi90rBrrHr7rlr”)r(rPr rTrºr)r;Údesiredr•rlr%r%r&Ú.test_repeatability_32bit_boundary_broadcastingqs6 þþþþþô
ÿz:TestRandint.test_repeatability_32bit_boundary_broadcastingcCs^tj}t tj¡j}t t tj¡j¡}t t tj¡jd¡}tj|||d}t||ƒdSr¹)r(rQr¾rÀrÔr r9r)r;rÁrÆrÂrÃÚactualr%r%r&Útest_int64_uint64_corner_case‰s z)TestRandint.test_int64_uint64_corner_casecCsà|jD]^}|tjkrdn
t |¡j}|tjkr2dnt |¡jd}|j|||d}t|jt |¡ƒqt    t
tj j fD]f}|t    kr„dn
t |¡j}|t    krœdnt |¡jd}|j|||d}t t|dƒ ƒtt|ƒ|ƒqtdS)NrrrHrKrL)r¼r(r½r¾r¿rÀrºrrLrÏr\ÚcompatÚlongrÚhasattrÚtype)r;rÁrÂrÃÚsampler%r%r&Útest_respect_dtype_singleton s
z(TestRandint.test_respect_dtype_singletonN)rXrYrZr r9rºr(r½rÒrÕrÐrÓrÑrqrQrÔr¼r»rÄrÇrËrÎrár…ÚmarkÚskipifr¾rÀrærèrîr%r%r%r&r¸s&ÿ     ÿ
r¸c@s¼eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„Z d=d>„Z!d?d@„Z"dAdB„Z#dCdD„Z$dEdF„Z%dGdH„Z&dIdJ„Z'dKdL„Z(dMdN„Z)dOdP„Z*dQdR„Z+dSdT„Z,dUdV„Z-dWdX„Z.dYdZ„Z/d[d\„Z0d]d^„Z1e2j3 4d_e5 6d`da¡dbe5j7dcg¡ddde„ƒZ8dfdg„Z9dhdi„Z:djdk„Z;dldm„Z<dndo„Z=dpdq„Z>drds„Z?dtdu„Z@dvdw„ZAdxdy„ZBdzd{„ZCd|d}„ZDd~d„ZEd€d„ZFd‚dƒ„ZGd„d…„ZHd†d‡„ZIdˆd‰„ZJdŠd‹„ZKdŒd„ZLdŽd„ZMdd‘„ZNd’d“„ZOd”d•„ZPd–d—„ZQd˜d™„ZRdšd›„ZSdœd„ZTdždŸ„ZUd d¡„ZVd¢d£„ZWd¤d¥„ZXd¦d§„ZYd¨d©„ZZdªS)«ÚTestRandomDistcCs
d|_dSr‰©rTrFr%r%r&rŒ·szTestRandomDist.setup_methodcCsFt |j¡t dd¡}t ddgddgddgg¡}t||d    d
dS) NrMrç_®\±*Íã?琛˜¬”îâ?ç<îpì?ç®,º¥oˆì?çˆÂÉHÝ?çZ±­°êæè?é©Údecimal)r rTÚrandr(rPr©r;rçrår%r%r&Ú    test_randºs  
þzTestRandomDist.test_randcCs*t |j¡t ¡}d}t||dddS)Nrórùrú)r rTrürrýr%r%r&Útest_rand_singletonÂs z"TestRandomDist.test_rand_singletoncCslt |j¡t dd¡}t ddgddgddgg¡}t||d    d
t |j¡t ¡}t||d d    d
dS) NrMrçÿ!ã<Oqõ?ç4ðu,Íû?çÁ³½3Ûû÷?çL«I/DÍ¿çà@ËÀŽ?@çÿ HSÓ\@rùrú©rr©r rTZrandnr(rPrrýr%r%r&Ú
test_randnÈs  
þ zTestRandomDist.test_randncCsFt |j¡tjdddd}t ddgddgd    d
gg¡}t||ƒdS) Néÿÿÿéc©rMrr”érMéÌÿÿÿé)éÐÿÿÿé¾ÿÿÿ)r rTr9r(rPrrýr%r%r&Ú test_randintÔs 
þzTestRandomDist.test_randintc    CsÆt |j¡tƒ0}| t¡}tjdddd}tt|ƒdkƒW5QRXt     ddgdd    gd
d gg¡}t
||ƒt |j¡tƒ.}| t¡}tjd dd}tt|ƒdkƒW5QRXt
||d ƒdS)Nr    r
r r”rHr rMr rrréÆr) r rTr    ržÚDeprecationWarningÚrandom_integersrr r(rPr)r;r¤r¥rçrår%r%r&Útest_random_integersÜs  
 
þ
 
z#TestRandomDist.test_random_integerscCsªt |j¡t |j¡}|jdd}t t¡jdkrXtjddgddgdd    ggtj    d
}n"tjd d gd dgddggtj    d
}t
||ƒ| |j¡| ¡}t
||dƒdS)Nr r”iÿÿÿiÁª4Oiÿ˕+i³RºKiriFbÀqi™‡ÀrKlÿK+W+¥ylr&&ÌJÒ]l™;    lÕ‹nBz lž@XÓHŒTlD+l++Ýr) r rTr8rŽr(r¾r\rÀrPrQr)r;rUrçrår%r%r&Ú test_tomaxintîs(   
þþ
þý
 zTestRandomDist.test_tomaxintc    CsÈtƒ<}| t¡}t t d¡jt d¡j¡}tt    |ƒdkƒW5QRXt d¡j}t
||ƒtƒP}| t¡}t  d¡j }t |t d¡jƒ|t d¡jƒ¡}tt    |ƒdkƒW5QRXt
||ƒdS)NrârH) r    ržrr rr(r¾rÀrr rrLrì)r;r¤r¥rçråZtyperr%r%r&Útest_random_integers_max_ints 
 
ÿ 
 
 ÿz+TestRandomDist.test_random_integers_max_intc    CsZt ¡Ht dt¡tttjt d¡j    ƒtttjt d¡j    t d¡j    ƒW5QRXdS)NÚerrorrâ)
ÚwarningsÚcatch_warningsÚ simplefilterrrr rr(r¾rÀrFr%r%r&Útest_random_integers_deprecateds
 
þ
 
þz.TestRandomDist.test_random_integers_deprecatedcCsjt |j¡t d¡}t ddgddgddgg¡}t||dd    t |j¡t ¡}t||d
dd    dS) Nr rórôrõrör÷rørùrúr)r rTr­r(rPrrýr%r%r&Útest_random_sample&s 
 
þ z!TestRandomDist.test_random_samplecCs8t |j¡t dd¡}t ddddg¡}t||ƒdS)NrNrrM©r rTÚchoicer(rPrrýr%r%r&Útest_choice_uniform_replace2s  z*TestRandomDist.test_choice_uniform_replacecCsDt |j¡tjddddddgd}t ddddg¡}t||ƒdS)NrN皙™™™™Ù?皙™™™™¹?©r^rHrrrýr%r%r&Útest_choice_nonuniform_replace8s z-TestRandomDist.test_choice_nonuniform_replacecCs:t |j¡tjdddd}t dddg¡}t||ƒdS)NrNrMF©ÚreplacerrHrrýr%r%r&Útest_choice_uniform_noreplace>s z,TestRandomDist.test_choice_uniform_noreplacecCsDt |j¡tjdddddddgd}t ddd    g¡}t||ƒdS)
NrNrMFr"ç333333Ó?r©r&r^rrHrrýr%r%r&Ú test_choice_nonuniform_noreplaceDs z/TestRandomDist.test_choice_nonuniform_noreplacecCs@t |j¡t ddddgd¡}t ddddg¡}t||ƒdS)Nr2r3ÚcÚdrNrrýr%r%r&Útest_choice_nonintegerJs z%TestRandomDist.test_choice_nonintegerc    CsDtj}tt|ddƒtt|ddƒtt|ddgddggdƒtt|gdƒtt|ddddgdddgddggdtt|ddgdd    d    d
gdtt|ddgdd d gdtt|ddgdd    d    gdtt|dddgdd dtt|dddgdd dtt|dddgdd dtt|dddgdd dtt|dddgdd dddgddS)NrBrMç@rHrrNgÐ?r#r!rcrvrwFr%rI)rB)rBrHrr))r rrrE)r;rír%r%r&Útest_choice_exceptionsPs&ÿÿz%TestRandomDist.test_choice_exceptionsc    Csddg}tt tjddd¡ƒtt tjddd¡ƒtt tjdd|d¡ƒtt tjdd|d¡ƒtt tjddgdd¡ƒttjdgdddkƒt ddg¡}tjdtd    }||d
<ttj|dd|kƒtƒ}tt tjd|dd¡ ƒtt tjd|dd¡ ƒtt tjd|d|d¡ ƒtt tjd|d|d¡ ƒtt tjddg|dd¡ ƒttjdg|ddj    d
kƒt ddg¡}tjdtd    }||d
<ttj||dd 
¡|kƒd }ddddd d g}t tjd|ddj |ƒt tjd|ddj |ƒt tjd|d|dj |ƒt tjd|d|dj |ƒt tjt  d¡|ddj |ƒt tjd
d
ddj dƒt tjd
dd
dj dƒt tjddd
dj dƒt tjd
d
dj dƒt tjgddj dƒt tjddgddj dƒtttjgdƒdS)Nr"rxrTr%Fr)rHrKr)rrMr!rcr)rMrrNr”iöÿÿÿ)rrr2r3)rr(Zisscalarr rrPÚemptyrªÚtupleÚndimÚitemrrrr?r9rrE)r;r^r2Zarrr<r%r%r&Útest_choice_return_shapecsL ÿz'TestRandomDist.test_choice_return_shapecCs0t dddg¡}dddg}tttj||ddS)Né*rHrr#)r(rPrrEr r)r;r2r^r%r%r&Útest_choice_nan_probabilities‘s
z,TestRandomDist.test_choice_nan_probabilitiesc    Cs|t d¡d}d|ddd…<t |j¡tjdd|ddd…d}t |j¡tjddt |ddd…¡d}t||ƒdS)NrrOr.rHrrMr#)r(Úonesr rTrr~r)r;r^rr€r%r%r&Útest_choice_p_non_contiguous–s   z+TestRandomDist.test_choice_p_non_contiguouscCs(t |j¡t d¡}d}t||ƒdS)Nrs
‚Uižÿ—+Wf¥)r rTÚbytesrrýr%r%r&Ú
test_bytesŸs 
zTestRandomDist.test_bytesc Cs¬dd„dd„dd„dd„dd„dd„dd„d    d„d
d„d d„d d„f D]`}t |j¡|d dddddddddg
ƒ}t |¡|}|dd ddddddddg
ƒ}t||ƒqFdS)NcSs
t g¡Sr )r(rP©rlr%r%r&Ú<lambda>¨óz-TestRandomDist.test_shuffle.<locals>.<lambda>cSs|Sr r%r;r%r%r&r<©r=cSst |¡ tj¡Sr )r(ÚasarrayÚastyperÒr;r%r%r&r<ªr=cSst |¡ tj¡Sr )r(r>r?r„r;r%r%r&r<«r=cSst |¡ tj¡Sr )r(r>r?Z    complex64r;r%r%r&r<¬r=cSst |¡ t¡Sr )r(r>r?rªr;r%r%r&r<­r=cSsdd„|DƒS)NcSsg|] }||f‘qSr%r%©Ú.0Úir%r%r&Ú
<listcomp>®súATestRandomDist.test_shuffle.<locals>.<lambda>.<locals>.<listcomp>r%r;r%r%r&r<®r=cSst dd„|Dƒ¡S)NcSsg|] }||g‘qSr%r%r@r%r%r&rC¯srD)r(r>r;r%r%r&r<¯r=cSst ||g¡jSr )r(ZvstackÚTr;r%r%r&r<°r=cSs*t dd„|Dƒdtfdtfg¡ tj¡S)NcSsg|] }||f‘qSr%r%r@r%r%r&rC²srDr2r3)r(r>r\rÜZrecarrayr;r%r%r&r<²sÿþcSs(t dd„|Dƒdtdfdtjdfg¡S)NcSsg|] }||f‘qSr%r%r@r%r%r&rC¶srDr2©rHr3)r(r>rªrÑr;r%r%r&r<¶s
ÿÿrHrrMrNrOrérÌé    r)r rTÚshuffler)r;ÚconvÚalistrçrår%r%r&Ú test_shuffle¥s$ò 
zTestRandomDist.test_shufflecCsÈtj t tdƒd¡ddd¡}tj t d¡ddd¡}| ¡}| ¡}tdƒD]d}t |¡t    t
|j |j ƒt
|j |j ƒƒt |¡t    t
|j |j ƒt
|j |j ƒƒqVdd„}dS)    Nr)rOrNrMrHrBé2cSst d¡}tttj|ƒdS)NrM)r(rPrrDr rIrkr%r%r&Útest_shuffle_invalid_objectsÎs
zHTestRandomDist.test_shuffle_masked.<locals>.test_shuffle_invalid_objects) r(ÚmaZ masked_valuesZreshaper>r?Úcopyr rIrÚsortedÚdataÚmask)r;r2r3Za_origZb_origrBrNr%r%r&Útest_shuffle_maskedÀs " 
ÿ
ÿz"TestRandomDist.test_shuffle_maskedc Cst |j¡ddddddddd    d
g
}t |¡}d
dd    dddddddg
}t||ƒt |j¡t ddddddddd    d
g
¡j}t |¡}t|t |¡jƒt |j¡d }tttj|ƒt |j¡d }tttj|ƒd }d    d
ddddddddg
}t |j¡t |¡}t||ƒdS)NrHrrMrNrOrrGrÌrHrZabcdg333333ó?r)    r rTZ permutationrr(Z
atleast_2drErÚ
IndexError)r;rKrçråZarr_2dZ    bad_x_strZ bad_x_floatZ integer_valr%r%r&Útest_permutationÒs( 
 
  
 
zTestRandomDist.test_permutationcCsJt |j¡tjdddd}t ddgddgd    d
gg¡}t||d d dS) Nr"rxr r”gAàÁKč?g‘ñØhA?g õ҇o¿>gάXfÈ+q?gSâë1Ã$?g'8zXŒ ?rùrú)r rTÚbetar(rPrrýr%r%r&Ú    test_betaís þÿzTestRandomDist.test_betacCslt |j¡tjdddd}t ddgddgd    d
gg¡}t||ƒt |j¡t dd¡}d}t||ƒdS) NgZd;ßY@gÉv¾Ÿ/Ý?r r”é%é+r5é0é.é-)r rTrr(rPrrýr%r%r&Ú test_binomialös 
þ
  zTestRandomDist.test_binomialcCsHt |j¡tjddd}t ddgddgdd    gg¡}t||d
d dS) NrMr r”g+Qð]uðO@gëòìÇ+Q@gY7`´ZqP@gÈe‡(fŒG@gþv¯t€R@gEIȋR@é rú)r rTÚ    chisquarer(rPrrýr%r%r&Útest_chisquares 
þzTestRandomDist.test_chisquarecCsÀt |j¡t ddg¡}tj|dd}t ddgddggd    d
gd d ggd dgddggg¡}t||ddt ddg¡}tttj|ƒt |j¡t ddg¡}t |¡}t||ddddS)Nç“­I<ÝI@ç÷ÉEZßC@r r”gÉi{ ßsá?gn,    åAÝ?göÇ]‹^óã?gpDéBØ?gȧ#¼yªá?gr°¸‡ «Ü?g—«1UÞâ?gÈѨœUCÚ?g£…^,%÷â?g»ôB§µÚ?gډOoX;â?gMì`!O‰Û?rùrúçHáz®Gá?缉ؗ²Òœ¼r)r rTr(rPÚ    dirichletrrrE)r;ÚalpharçråZ    bad_alphar%r%r&Útest_dirichlet s( 
ÿÿÿü 
zTestRandomDist.test_dirichletcCsºt ddg¡}tt |t d¡¡jdƒtt |t d¡¡jdƒtt |t d¡¡jdƒtt |ddg¡jdƒtt |d¡jdƒtt |t d¡¡jdƒtttj|t    dƒƒdS)NrbrcrHrnrrorp)
r(rPrr rfrqrrrrDrsrtr%r%r&Útest_dirichlet_sizesz"TestRandomDist.test_dirichlet_sizecCs t ddg¡}tttj|ƒdS)Nrdre)r(rPrrEr rf)r;rgr%r%r&Útest_dirichlet_bad_alpha*sz'TestRandomDist.test_dirichlet_bad_alphacCsft dddg¡}|ddd…}t |j¡tj|dd}t |j¡tjt |¡dd}t||ƒdS)Nrbgð¿rcrr r”)r(rPr rTrfr~r)r;r2rgrr€r%r%r&Ú#test_dirichlet_alpha_non_contiguous/s   ÿz2TestRandomDist.test_dirichlet_alpha_non_contiguouscCsHt |j¡tjddd}t ddgddgdd    gg¡}t||d
d dS) Ngï8EGrùñ?r r”gN÷·Uñ?gbI0æð?gùVU\õº@gˆ:€ì3ù@g©ºUýå?gŸ"qoû?rùrú)r rTÚ exponentialr(rPrrýr%r%r&Útest_exponential9s 
þzTestRandomDist.test_exponentialcCs&ttjdddƒtttjdddS©Nr©Úscaleç€)rr rlrrErFr%r%r&Útest_exponential_0Asz!TestRandomDist.test_exponential_0cCsJt |j¡tjdddd}t ddgddgd    d
gg¡}t||d d dS) Né éMr r”g7¶„ó?gµ`j‹ü?g6¶"+÷?gܳ2>•‰ó?g‘cÍ>+Yð?g¡_}áS‚õ?rùrú)r rTÚfr(rPrrýr%r%r&Útest_fEs 
þzTestRandomDist.test_fcCsJt |j¡tjdddd}t ddgddgd    d
gg¡}t||d d dS) NrOrMr r”gԏGMçš8@g §â”ÈŒ<@g˜    ´":@gÂvÀñÇ#)@gZQø·?@gr‚‚[•¦@@érú)r rTÚgammar(rPrrýr%r%r&Ú
test_gammaMs 
þzTestRandomDist.test_gammacCs*ttjddddƒtttjddddS)Nr)rrrprq)rr rxrrErFr%r%r&Ú test_gamma_0UszTestRandomDist.test_gamma_0cCsDt |j¡tjddd}t ddgddgddgg¡}t||ƒdS)    Nç_c97ݚ¿?r r”rÌrGérOrs)r rTrr(rPrrýr%r%r&Útest_geometricYs 
þzTestRandomDist.test_geometricc    CsŠtttjdƒtttjdgdƒtttjdƒtttjdgdƒtƒ6}| t¡tttjtjƒtttjtjgdƒW5QRXdS)Nrvrrw)    rrEr rr    ržrŸr(r`©r;r¤r%r%r&Útest_geometric_exceptionsas
z(TestRandomDist.test_geometric_exceptionscCsJt |j¡tjdddd}t ddgddgd    d
gg¡}t||d d dS) Nr{ç@r ©Úlocrpr•gåûؕßÉ?g¨s0íÖ?gÊð#0÷¿gï(ôx”÷¿g-¶KÇD´ñ?géůp`@æ¿rùrú)r rTÚgumbelr(rPrrýr%r%r&Ú test_gumbelks 
þzTestRandomDist.test_gumbelcCs&ttjdddƒtttjdddSrn)rr rƒrrErFr%r%r&Ú test_gumbel_0sszTestRandomDist.test_gumbel_0cCst |j¡tjddddd}t ddgddgddgg¡}t||ƒtjdd    d
d d}t d
d
d
d
g¡}t||ƒtjd d    d d d}t d d d d g¡}t||ƒtjd    dd
d d}t d    d    d    d    g¡}t||ƒtjd    d d d d}t d    d    d    d    g¡}t||ƒdS)Ng333333$@g@rwr r”rrHrOrrMrNrùrs)r rTrr(rPrrýr%r%r&Útest_hypergeometricws& 
þ
 
 
 
z"TestRandomDist.test_hypergeometriccCsJt |j¡tjdddd}t ddgddgd    d
gg¡}t||d d dS) Nr{r€r rgð¥ bÙOå?g¹Â¸ëÉçà?gpJmµú    @g{KÏ*Ët    @g•:^w-š«¿gˆY~oõûû?rùrú)r rTÚlaplacer(rPrrýr%r%r&Ú test_laplace‘s 
þzTestRandomDist.test_laplacecCs&ttjdddƒtttjdddSrn)rr r‡rrErFr%r%r&Útest_laplace_0™szTestRandomDist.test_laplace_0cCsJt |j¡tjdddd}t ddgddgd    d
gg¡}t||d d dS) Nr{r€r rg#€K-zñ?g€îJš¬ë?g92ÄÜ@gرã÷[@gê#+^ÑÀË¿g¢¥-óâ@rùrú)r rTÚlogisticr(rPrrýr%r%r&Ú test_logistics 
þzTestRandomDist.test_logisticcCsJt |j¡tjdddd}t ddgddgd    d
gg¡}t||d d dS) Nr{r€r )ÚmeanÚsigmar•g›ŽòÚɁ0@goÎ,+4FB@gùƒ)Ê­6@g†§5éêæ?gnþxN—nP@g…©)‡úµU@r_rú)r rTÚ    lognormalr(rPrrýr%r%r&Útest_lognormal¥s 
þzTestRandomDist.test_lognormalcCs&ttjdddƒtttjdddS)Nr)rrHrq)rr rŽrrErFr%r%r&Útest_lognormal_0­szTestRandomDist.test_lognormal_0cCsDt |j¡tjddd}t ddgddgddgg¡}t||ƒdS)Ngƀ@õŒí?r )r^r•rrr|rM)r rTrr(rPrrýr%r%r&Útest_logseries±s 
þzTestRandomDist.test_logseriescCst d¡dkst‚dS)NrrH)r rr£rFr%r%r&Útest_logseries_zero¹sz"TestRandomDist.test_logseries_zeroÚvaluergrBçð?g@c
Csžtjddˆt t¡t |¡W5QRXt t¡t t |gd¡¡W5QRXt t¡&t t |gd¡ddd…¡W5QRXW5QRXdS)NÚignore©Úinvalidrr)r(Úerrstater…r†rEr rrP)r;r“r%r%r&Útest_logseries_exceptions¼s    z(TestRandomDist.test_logseries_exceptionsc Cs”t |j¡tjddgddd}t ddddd    d    gdd    d
d    d    d ggddddd dgd    d ddddggddd    dd    dgdddd    ddggg¡}t||ƒdS) NrçUUUUUUÅ?rr r”rNrMrOrrÌrHr)r rTrr(rPrrýr%r%r&Útest_multinomialÈs ÿÿÿüzTestRandomDist.test_multinomialc        Cs®t |j¡d}ddgddgg}d}t |||¡}t ddgddggd    d
gd d ggd dgddggg¡}t||ddt ||¡}t ddg¡}t||ddddg}ddgddgg}tttj||ƒttj||ddt    t
tj||ddtjddgddggtj d}t ƒ.}t ||¡|  t¡}t|ƒdks6t‚W5QRXt d¡}t d¡}t    t
tj||ddt    t
tjt d¡|ƒt    t
tj|t d¡ƒt    t
tj|t d¡ƒdS)N)r{rrHrr g4¸Výj÷?g¾±Ž¥y'@g÷I1‰õù?g—SÙBïŠ#@gû …ªe<@gÒÔ4W(@g6ŠR¿„û?gò9r
v"@g‹–сæ?g{§×ïÂ#@gò4Íx›—¿gÇçú"öf"@rùrúgN}©O6¦ì?gÐÇYM÷W"@rr•)Z check_validÚraiser"rKÚother)rrHrHrM)r rTZmultivariate_normalr(rPrrrŸrrrEr„r    ržr r£r]Zeyer0)    r;rŒZcovr•rçrår¤r¥Úmur%r%r&Útest_multivariate_normalÓsd 
ÿÿÿü 
ÿ ÿ 
 
 
 ÿÿÿÿz'TestRandomDist.test_multivariate_normalcCsFt |j¡tjdddd}t ddgddgd    d
gg¡}t||ƒdS) Nrg|ò°Pkš¿?r )Únr^r•iPiIi|ici i‡)r rTrr(rPrrýr%r%r&rs 
þz%TestRandomDist.test_negative_binomialc    CsJtƒ:}| t¡tttjdtjƒtttjdtjgdƒW5QRXdS)Nrr)    r    ržrŸrrEr rr(r`r~r%r%r&Ú!test_negative_binomial_exceptionss 
 
 
ÿz0TestRandomDist.test_negative_binomial_exceptionscCsÊt |j¡tjdddd}t ddgddgdd    gg¡}t||d
d tjd d dd}t ddgddgddgg¡}t||d
d t |j¡tjdddd}t ddgddgddgg¡}t||d
d dS)NrOr )ÚdfÚnoncr•gôûÖGë7@g!©ÈÜ´*@gž1}“z9?@g¹+驸™0@g26E_r#@g¦I!ó1@rwrúrrcg÷ô‹÷?g’šT¶ˆDÃ?gÀõ?Tƒ?gÍ+òqnlð?gÓ~|òùDÕ?gë°¬òÇÃ?rg›{¿0¾1#@gpާ²rs'@gþ~;ïÑÓ$@g"‹†dIŽ @gö°Õöë÷*@g Ñ}Ÿ'Á,@)r rTÚnoncentral_chisquarer(rPrrýr%r%r&Útest_noncentral_chisquares( 
þ
þ 
þz(TestRandomDist.test_noncentral_chisquarecCsLt |j¡tjddddd}t ddgdd    gd
d gg¡}t||d d dS)NrOrrHr )ÚdfnumÚdfdenr£r•gŒ^ýíå~ö?gƒ/+c¢äÕ?g"¡®.ž @gü†Œ÷Ž´@g×7í§ŸþÛ?g»ŒE·Öò?rwrú)r rTÚ noncentral_fr(rPrrýr%r%r&Útest_noncentral_f*s 
ÿ
þz TestRandomDist.test_noncentral_fcCs0t |j¡tjddtjd}t |¡s,t‚dS)NrOr)r¦r§r£)r rTr¨r(r`Úisnanr£)r;rçr%r%r&Útest_noncentral_f_nan3s z$TestRandomDist.test_noncentral_f_nancCsJt |j¡tjdddd}t ddgddgd    d
gg¡}t||d d dS) Nr{r€r rgíœ&&n@gO»G_Ê @gÜ~w²ø@gtÁÜûw]Õ¿gm&¨5ú½@gŒñ$È>Û@rùrú)r rTÚnormalr(rPrrýr%r%r&Ú test_normal8s 
þzTestRandomDist.test_normalcCs&ttjdddƒtttjdddSrn)rr r¬rrErFr%r%r&Ú test_normal_0@szTestRandomDist.test_normal_0cCsLt |j¡tjddd}t ddgddgdd    gg¡}tjj||d
d dS) Nr{r ©r2r•gÅWò˜ I£@g ùÔ¨y–@gy£Ÿ]Ó0‰Ag1~ÖÒ\AgåËíãša@gÑY„
²7Aé)Znulp)r rTÚparetor(rPZtestingZassert_array_almost_equal_nulprýr%r%r&Ú test_paretoDs þÿ
zTestRandomDist.test_paretocCsDt |j¡tjddd}t ddgddgddgg¡}t||ƒdS)Nr{r )Úlamr•rrH)r rTrr(rPrrýr%r%r&Ú test_poissonSs 
þzTestRandomDist.test_poissonc    Csšt d¡j}d}tttj|ƒtttj|gdƒtttj|ƒtttj|gdƒtƒ6}| t    ¡tttjtj
ƒtttjtj
gdƒW5QRXdS)NrârBr) r(r¾rÀrrEr rr    ržrŸr`)r;ZlambigZlamnegr¤r%r%r&Útest_poisson_exceptions[s 
z&TestRandomDist.test_poisson_exceptionscCsHt |j¡tjddd}t ddgddgdd    gg¡}t||d
d dS) Nr{r r¯gõ;•'û”?gÜ´èwÞ*?g׆5›Ø?gF¡GÙ?gÆËD]?gýÞ$`°ÉÀ?rùrú)r rTÚpowerr(rPrrýr%r%r&Ú
test_powergs 
þzTestRandomDist.test_powercCsHt |j¡tjddd}t ddgddgdd    gg¡}t||d
d dS) Nrr )rpr•g"íu¨ÈÆ+@gîN$MBÄ*@g7v8Bô4@gêÿª55@geãˆ&@g~ŽÓ£ÌZ1@rwrú)r rTÚrayleighr(rPrrýr%r%r&Ú test_rayleighos 
þzTestRandomDist.test_rayleighcCs&ttjdddƒtttjdddSrn)rr r¸rrErFr%r%r&Útest_rayleigh_0wszTestRandomDist.test_rayleigh_0cCsFt |j¡tjdd}t ddgddgddgg¡}t||d    d
dS) Nr r”gMo³DL®è?g6Ï([9ÀgðºrF=òí?gÉM'    -™ÀgóV¼ëûÀgVA:ìQyÇ?rùrú)r rTZstandard_cauchyr(rPrrýr%r%r&Útest_standard_cauchy{s  
þz#TestRandomDist.test_standard_cauchycCsFt |j¡tjdd}t ddgddgddgg¡}t||d    d
dS) Nr r”g°ö–܁Üî?gc!z¨ì?g&N˜¥"@g¬NIàŠÇ@gFÇï>ú’ã?g¡~‚MEø?rùrú)r rTZstandard_exponentialr(rPrrýr%r%r&Útest_standard_exponentialƒs  
þz(TestRandomDist.test_standard_exponentialcCsHt |j¡tjddd}t ddgddgdd    gg¡}t||d
d dS) NrMr )rrr•g)§ž@g¾§Ä¾¤„@gd]‰,qÂ@gP‡kÌ{@g9B #Œ1@gÔÚv÷‡ @rwrú)r rTÚstandard_gammar(rPrrýr%r%r&Útest_standard_gamma‹s 
þz"TestRandomDist.test_standard_gammacCs&ttjdddƒtttjdddS)Nr)rrrq)rr r½rrErFr%r%r&Útest_standard_gamma_0“sz$TestRandomDist.test_standard_gamma_0cCsFt |j¡tjdd}t ddgddgddgg¡}t||d    d
dS) Nr r”rrrrrrrùrú)r rTr–r(rPrrýr%r%r&Útest_standard_normal—s  
þz#TestRandomDist.test_standard_normalcCs0t |j¡t ¡}t d¡}t||dddS)Nrrùrúrrýr%r%r&Útest_randn_singletonŸs 
z#TestRandomDist.test_randn_singletoncCsHt |j¡tjddd}t ddgddgdd    gg¡}t||d
d dS) Nrr )r¢r•g\VÔHÂï?gßhUÍ%›¶¿gÿH$ðMÏõ?güøüL›³á¿gV«qdz¥Ç¿g㖀Õý“ã?rùrú)r rTÚ
standard_tr(rPrrýr%r%r&Útest_standard_t¥s 
þzTestRandomDist.test_standard_tcCsLt |j¡tjddddd}t ddgdd    gd
d gg¡}t||d d dS)Ng{®Gáz@gö(\Âu$@g×£p=
W4@r )ÚleftÚmodeÚrightr•g:§}ŒÂ\)@ghرTjÓ(@g‡Ç¨L‰30@g6ڜ™ÅA0@g6¤õ—sh&@gœí<Šáþ,@rwrú)r rTÚ
triangularr(rPrrýr%r%r&Útest_triangular­s 
ÿ
þzTestRandomDist.test_triangularcCsJt |j¡tjdddd}t ddgddgd    d
gg¡}t||d d dS) Nç®Gáz®ó?g®Gáz%@r )ÚlowÚhighr•g>#¥HÃö@g£¨uºó@g•Ý#@g„}d]#@gø†‰N¶õ@g­w )*ó @rùrú)r rTÚuniformr(rPrrýr%r%r&Ú test_uniform¶s 
þzTestRandomDist.test_uniformcCs–t d¡j}t d¡j}tj}tt|tj dƒtt|dtjƒtt|||ƒtt|tj gdgƒtt|dgtjgƒtjt     |d¡|dddS)NrsrrHg Ø…W4vC)rÊrË)
r(Zfinfor¿rÀr rÌrÚ OverflowErrorÚinfÚ    nextafter)r;ZfminZfmaxÚfuncr%r%r&Útest_uniform_range_bounds¾s  z(TestRandomDist.test_uniform_range_boundscCsjGdd„dtjƒ}t d¡ |¡}tttj||ƒGdd„dtjƒ}t d¡ |¡}tttj|ddƒdS)Nc@seZdZdd„ZdS)zGTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloatcSst‚dSr ©rDrFr%r%r&Ú    __float__ÖszQTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloat.__float__N)rXrYrZrÔr%r%r%r&Ú ThrowingFloatÕsrÕr”c@seZdZdd„ZdS)zITestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingIntegercSst‚dSr rÓrFr%r%r&Ú__int__ÞszQTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingInteger.__int__N)rXrYrZrÖr%r%r%r&ÚThrowingIntegerÝsr×rH)    r(ZndarrayrPrÜrrDr rÌr)r;rÕZthrowing_floatr×Z throwing_intr%r%r&Ú!test_scalar_exception_propagationÎs
ÿz0TestRandomDist.test_scalar_exception_propagationcCsJt |j¡tjdddd}t ddgddgd    d
gg¡}t||d d dS) NrÉç¤p=
×£ø?r ©ržÚkappar•gL×üZI@g¦¢'N"@gÀ·…þkrØ?g”k=mœ@g¹ډó?gÜ^Ì=\ý?rùrú©r rTÚvonmisesr(rPrrýr%r%r&Ú test_vonmisesäs 
þzTestRandomDist.test_vonmisescCs2t |j¡tjdddd}tt |¡ ¡ƒdS)Nrgg g5_PŸG>é@BrÚ)r rTrÝrr(Úisfiniterj©r;Úrr%r%r&Útest_vonmises_smallìs z"TestRandomDist.test_vonmises_smallcCs>t |j¡tjdddd}t dddg¡}t||dd    dS)
NrggÐcArMrÚg AÔü^>?g@’ÌR7?gx¢.¿rÌrúrÜrýr%r%r&Útest_vonmises_largeòs þz"TestRandomDist.test_vonmises_largecCs.t |j¡tjdtjd}tt |¡ƒdS)Nrg)ržrÛ)r rTrÝr(r`rrªrár%r%r&Útest_vonmises_nanûs z TestRandomDist.test_vonmises_nancCsJt |j¡tjdddd}t ddgddgd    d
gg¡}t||d d dS) NrÉrÙr )rŒrpr•gÉZ¥ƒ¢@g-ïŸ g†@g¦8
ÄÖmÖ?gÃÎVP"ø?g`Vô áÎ?gx©^½&3Ì?rwrú)r rTÚwaldr(rPrrýr%r%r&Ú    test_walds 
þzTestRandomDist.test_waldcCsHt |j¡tjddd}t ddgddgdd    gg¡}t||d
d dS) NrÉr r¯g@–Ý6ï?g¦Óé]Aí?g(Ã1Ú¥Rþ?gù¤U þ?g“Í2§_uå?g^}-­Qö?rùrú)r rTÚweibullr(rPrrýr%r%r&Ú test_weibulls 
þzTestRandomDist.test_weibullcCs:t |j¡ttjdddt d¡ƒtttjdddS)Nrrsr¯rq)r2)r rTrrèr(r]rrErFr%r%r&Útest_weibull_0s zTestRandomDist.test_weibull_0cCsDt |j¡tjddd}t ddgddgddgg¡}t||ƒdS)    NrÉr r¯éBérHrMr_)r rTrr(rPrrýr%r%r&Ú    test_zipfs 
þzTestRandomDist.test_zipfN)[rXrYrZrŒrþrÿrrrrrrrr r$r'r*r-r/r4r6r8r:rLrTrVrXr^rarhrirjrkrmrrrvryrzr}rr„r…r†rˆr‰r‹rrr‘r’r…rïZ parametrizer(rÐr`r™r›rŸrr¡r¥r©r«r­r®r²r´rµr·r¹rºr»r¼r¾r¿rÀrÁrÃrÈrÍrÒrØrÞrãrärårçrérêrír%r%r%r&rñ³s¦  .          
 
 
 3             rñc@s eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„Z d=d>„Z!d?d@„Z"dAS)BÚ TestBroadcastcCs
d|_dS)NéÍ[ròrFr%r%r&rŒ!szTestBroadcast.setup_methodcCst |j¡dSr )r rTrFr%r%r&Úset_seed$szTestBroadcast.set_seedcCsndg}dg}tj}t dddg¡}| ¡||d|ƒ}t||dd| ¡|||dƒ}t||dddS)    NrrHçºlö×÷ á?ç_x ¤¥á?ç =å*BNà?rMrwrú)r rÌr(rPrðr)r;rÊrËrÌrårçr%r%r&rÍ'sþzTestBroadcast.test_uniformcCs˜dg}dg}dg}tj}t dddg¡}| ¡||d|ƒ}t||dd    tt||d|ƒ| ¡|||dƒ}t||dd    tt|||dƒdS)
NrrHrBg-rö´@g¦Y®lõ@g-µ`¦wý?rMrwrú)r r¬r(rPrðrrrE)r;r‚rpÚ    bad_scaler¬rårçr%r%r&r­7s þzTestBroadcast.test_normalcCsÂdg}dg}dg}dg}tj}t dddg¡}| ¡||d|ƒ}t||d    d
tt||d|ƒtt||d|ƒ| ¡|||dƒ}t||d    d
tt|||dƒtt|||dƒdS) NrHrrBrIgnÍQVfÉ?gV©‹šKB³?g v®`køÏ?rMrwrú)r rWr(rPrðrrrE)r;r2r3Úbad_aZbad_brWrårçr%r%r&rXJs&þzTestBroadcast.test_betacCsXdg}dg}tj}t dddg¡}| ¡||dƒ}t||ddtt||dƒdS©    NrHrBgö.Ug¬Zè?giPrqè?gçÅE KÌæ?rMrwrú)r rlr(rPrðrrrE)r;rprôrlrårçr%r%r&rm`sþ zTestBroadcast.test_exponentialcCsXdg}dg}tj}t dddg¡}| ¡||dƒ}t||ddtt||dƒdSrö)r r½r(rPrðrrrE)r;rrÚ    bad_shapeZ    std_gammarårçr%r%r&r¾msþ z!TestBroadcast.test_standard_gammacCsÂdg}dg}dg}dg}tj}t dddg¡}| ¡||d|ƒ}t||d    d
tt||d|ƒtt||d|ƒ| ¡|||dƒ}t||d    d
tt|||dƒtt|||dƒdS) NrHrrBrIgö.Ug¬Zø?giPrqø?gçÅE KÌö?rMrwrú)r rxr(rPrðrrrE)r;rrrpr÷rôrxrårçr%r%r&ryzs&þzTestBroadcast.test_gammacCsÂdg}dg}dg}dg}tj}t dddg¡}| ¡||d|ƒ}t||d    d
tt||d|ƒtt||d|ƒ| ¡|||dƒ}t||d    d
tt|||dƒtt|||dƒdS) NrHrrBrIgb—yʜé?g»åoðÄë?gT¹æ7Í@rMrwrú)r rur(rPrðrrrE)r;r¦r§Ú    bad_dfnumÚ    bad_dfdenrurårçr%r%r&rvs&þzTestBroadcast.test_fc
    Csˆdg}dg}dg}dg}dg}dg}tj}t ddd    g¡}| ¡||d||ƒ}    t|    |d
d t t |||tjgdƒ¡¡s„t    ‚t
t ||d||ƒt
t ||d||ƒt
t ||d||ƒ| ¡|||d|ƒ}    t|    |d
d t
t |||d|ƒt
t |||d|ƒt
t |||d|ƒ| ¡||||dƒ}    t|    |d
d t
t ||||dƒt
t ||||dƒt
t ||||dƒdS) NrrMrNrrBrIgÈr±^G"@g/ *@g‹°Ñ†š!@rwrú) r r¨r(rPrðrrjrªr`r£rrE)
r;r¦r§r£rørùÚbad_noncZnonc_frårçr%r%r&r©¦s<þ$zTestBroadcast.test_noncentral_fcCs:| ¡t ddg¡}tjddddd}t||dddS)Ng¬ªaŒ‚z@gn4M;î%é?rxrr”rwrú)rðr(rPr r¨r)r;rårçr%r%r&Útest_noncentral_f_small_dfÉsz(TestBroadcast.test_noncentral_f_small_dfcCsXdg}dg}tj}t dddg¡}| ¡||dƒ}t||ddtt||dƒdS)    NrHrBg~¼}ÐN?â?g‘$FŽŸà?g'rSèÀ?rMrwrú)r r`r(rPrðrrrE)r;r¢Úbad_dfr`rårçr%r%r&raÏsþ zTestBroadcast.test_chisquarecCsÂdg}dg}dg}dg}tj}t dddg¡}| ¡||d|ƒ}t||d    d
tt||d|ƒtt||d|ƒ| ¡|||dƒ}t||d    d
tt|||dƒtt|||dƒdS) NrHrrBrIg©ç wÌ"@g2 øêWR@gˆâRY@rMrwrú)r r¤r(rPrðrrrE)r;r¢r£rürúZnonc_chirårçr%r%r&r¥Üs&þz'TestBroadcast.test_noncentral_chisquarecCsjdg}dg}tj}t dddg¡}| ¡||dƒ}t||ddtt||dƒtttj|dƒdS)    NrHrBgT Äò@g~‹Fžl@gƚtøpð?rMrwrú)r rÂr(rPrðrrrE)r;r¢rüÚtrårçr%r%r&rÃòsþ zTestBroadcast.test_standard_tcCs˜dg}dg}dg}tj}t dddg¡}| ¡||d|ƒ}t||dd    tt||d|ƒ| ¡|||dƒ}t||dd    tt|||dƒdS)
NrrHrBg´®W!è@güOBº¦ÀgÈ}Ç?àý¿rMrwrú)r rÝr(rPrðrrrE)r;ržrÛZ    bad_kapparÝrårçr%r%r&rÞs þzTestBroadcast.test_vonmisescCsjdg}dg}tj}t dddg¡}| ¡||dƒ}t||ddtt||dƒtttj|dƒdS)    NrHrBg&ƒ8¾?ò?geâFXò?gªÕ‹ËŸð?rMrwrú)r r±r(rPrðrrrE)r;r2rõr±rårçr%r%r&r²sþ zTestBroadcast.test_paretocCsjdg}dg}tj}t dddg¡}| ¡||dƒ}t||ddtt||dƒtttj|dƒdSrö)r rèr(rPrðrrrE)r;r2rõrèrårçr%r%r&ré!sþ zTestBroadcast.test_weibullcCsjdg}dg}tj}t dddg¡}| ¡||dƒ}t||ddtt||dƒtttj|dƒdS)    NrHrBrñròrórMrwrú)r r¶r(rPrðrrrE)r;r2rõr¶rårçr%r%r&r·/sþ zTestBroadcast.test_powercCs˜dg}dg}dg}tj}t dddg¡}| ¡||d|ƒ}t||dd    tt||d|ƒ| ¡|||dƒ}t||dd    tt|||dƒdS)
NrrHrBg:¨×BKc±?gÖ3®šk²?gî~qÉÁ“?rMrwrú)r r‡r(rPrðrrrE)r;r‚rprôr‡rårçr%r%r&rˆ=s þzTestBroadcast.test_laplacecCs˜dg}dg}dg}tj}t dddg¡}| ¡||d|ƒ}t||dd    tt||d|ƒ| ¡|||dƒ}t||dd    tt|||dƒdS)
NrrHrBgÈ'£ZyÑ?g÷dSO=Ñ?gÏ3Lõ1³Õ?rMrwrú)r rƒr(rPrðrrrE)r;r‚rprôrƒrårçr%r%r&r„Ps þzTestBroadcast.test_gumbelcCsªdg}dg}dg}tj}t dddg¡}| ¡||d|ƒ}t||dd    tt||d|ƒ| ¡|||dƒ}t||dd    tt|||dƒtt d
d ¡d
ƒdS) NrrHrBg“y±ÕÀ?gªÀJõRÁ?gþ
~Æ&‘£?rMrwrúr”rg)    r rŠr(rPrðrrrEr)r;r‚rprôrŠrårçr%r%r&r‹cs"þzTestBroadcast.test_logisticcCsÀdg}dg}dg}tj}t dddg¡}| ¡||d|ƒ}t||dd    tt||d|ƒtttj|d|ƒ| ¡|||dƒ}t||dd    tt|||dƒtttj||dƒdS)
NrrHrBgÄñòÏH"@g¼ùÜ®ƒÍ @gvv    ý²:@rMrwrú)r rŽr(rPrðrrrE)r;rŒrZ    bad_sigmarŽrårçr%r%r&rws$þzTestBroadcast.test_lognormalcCsXdg}dg}tj}t dddg¡}| ¡||dƒ}t||ddtt||dƒdS)    NrHrBgݱlËo½ó?gé/ӂ´Æó?gz~ßRó?rMrwrú)r r¸r(rPrðrrrE)r;rprôr¸rårçr%r%r&r¹Œsþ zTestBroadcast.test_rayleighcCsdg}dg}dg}dg}tj}t dddg¡}| ¡||d|ƒ}t||d    d
tt||d|ƒtt||d|ƒtttj|d|ƒtttj|d|ƒ| ¡|||dƒ}t||d    d
tt|||dƒtt|||dƒtt|d dƒtt|dd ƒdS) NrrHrrIg@mò ‰e¾?g¸`ŸIß¿?g¸‡|2‹í?rMrwrúrg)r rær(rPrðrrrE)r;rŒrpZbad_meanrôrærårçr%r%r&rç™s.þzTestBroadcast.test_waldc Csšdg}dg}dg}dg}dg}|d\}}tj}t dddg¡}    | ¡||d||ƒ}
t|
|    dd    tt||d||ƒtt||d||ƒtt||d||ƒ| ¡|||d|ƒ}
t|
|    dd    tt|||d|ƒtt|||d|ƒtt|||d|ƒ| ¡||||dƒ}
t|
|    dd    tt||||dƒtt||||dƒtt||||dƒtt|d
d d ƒtt|d
d d ƒtt|d
d
d
ƒdS)NrHrMrrNg,âP;bD@gºÁ±È%G@g,~S²¨@rwrúrrgg4@g9@)r rÇr(rPrðrrrE) r;rÄrÆrÅZ bad_left_oneZ bad_mode_oneZ bad_left_twoZ bad_mode_tworÇrårçr%r%r&rȳsL þÿÿ
ÿzTestBroadcast.test_triangularc    Csädg}dg}dg}dg}dg}tj}t dddg¡}| ¡||d|ƒ}t||ƒtt||d|ƒtt||d|ƒtt||d|ƒ| ¡|||dƒ}t||ƒtt|||dƒtt|||dƒtt|||dƒdS)NrHrrBçø?rM)r rr(rPrðrrrE)    r;r r^Úbad_nÚ    bad_p_oneÚ    bad_p_twoZbinområrçr%r%r&r^Ûs&
 
zTestBroadcast.test_binomialc    Csädg}dg}dg}dg}dg}tj}t dddg¡}| ¡||d|ƒ}t||ƒtt||d|ƒtt||d|ƒtt||d|ƒ| ¡|||dƒ}t||ƒtt|||dƒtt|||dƒtt|||dƒdS)NrHrrBrþrrM)r rr(rPrðrrrE)    r;r r^rÿrrZ    neg_binområrçr%r%r&ròs&
 
z$TestBroadcast.test_negative_binomialcCsxt ¡j}dg}dg}|dg}tj}t dddg¡}| ¡||dƒ}t||ƒtt    ||dƒtt    ||dƒdS)NrHrBrrrM)
r r8Z_poisson_lam_maxrr(rPrðrrrE)r;Zmax_lamr³Z bad_lam_oneZ bad_lam_tworrårçr%r%r&r´    s
 
 
zTestBroadcast.test_poissonc    CsŽdg}dg}tj}t dddg¡}| ¡||dƒ}t||ƒtt||dƒtjdd(tt|tj    ƒtt|ddtj    gƒW5QRXdS)NrrrHrMr•r–)
r rr(rPrðrrrEr˜r`)r;r2rõrrårçr%r%r&rís 
zTestBroadcast.test_zipfcCsjdg}dg}dg}tj}t dddg¡}| ¡||dƒ}t||ƒtt||dƒtt||dƒdS)NrrBrþrrM)r rr(rPrðrrrE)r;r^rrZgeområrçr%r%r&r}&s 
zTestBroadcast.test_geometricc CsÚdg}dg}dg}dg}dg}dg}dg}tj}t dddg¡}    | ¡||d||ƒ}
t|
|    ƒtt||d||ƒtt||d||ƒtt||d||ƒtt||d||ƒ| ¡|||d|ƒ}
t|
|    ƒtt|||d|ƒtt|||d|ƒtt|||d|ƒtt|||d|ƒ| ¡||||dƒ}
t|
|    ƒtt||||dƒtt||||dƒtt||||dƒtt||||dƒtt|ddd    ƒtt|ddd    ƒtt|dddƒtt|ddd
ƒdS) NrHrrBrIrrNrMrré)r rr(rPrðrrrE) r;ZngoodZnbadZnsampleZ    bad_ngoodZbad_nbadZbad_nsample_oneZbad_nsample_twoZ    hypergeområrçr%r%r&r†3sD
 
 
z!TestBroadcast.test_hypergeometriccCsjdg}dg}dg}tj}t dddg¡}| ¡||dƒ}t||ƒtt||dƒtt||dƒdS)NrrrBrHrM)r rr(rPrðrrrE)r;r^rrrrårçr%r%r&r‘[s 
zTestBroadcast.test_logseriesN)#rXrYrZrŒrðrÍr­rXrmr¾ryrvr©rûrar¥rÃrÞr²rér·rˆr„r‹rr¹rçrÈr^rr´rír}r†r‘r%r%r%r&rîs@  #  ( (rîzcan't start threadrãc@s4eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd S) Ú
TestThreadcCstdƒ|_dS)NrN)r>ÚseedsrFr%r%r&rŒlszTestThread.setup_methodcsÊddlm‰t t|jƒf|¡}t t|jƒf|¡}‡‡fdd„t|j|ƒDƒ}dd„|Dƒdd„|Dƒt|j|ƒD]\}}ˆt |¡|ƒq|t     ¡j
j dkr¼t j dkr¼t||ƒn
t||ƒdS)    Nr)ÚThreadcs&g|]\}}ˆˆt |¡|fd‘qS))ÚtargetÚargs)r r8)rAr<Úo©rÚfunctionr%r&rCvsÿz-TestThread.check_function.<locals>.<listcomp>cSsg|] }| ¡‘qSr%)Ústart©rArlr%r%r&rCxscSsg|] }| ¡‘qSr%)Újoinr r%r%r&rCysrNÚwin32)Ú    threadingrr(r0r rÚzipr r8ZintprLÚitemsizer×Úplatformrr)r;r
ÚszZout1Zout2rýr<rr%r    r&Úcheck_functionos  
ÿ zTestThread.check_functioncCsdd„}|j|dddS)NcSs|jdd|d<dS)Né'r”.)r¬©r-Úoutr%r%r&Ú
gen_random†sz*TestThread.test_normal.<locals>.gen_random)r©r©r©r;rr%r%r&r­…szTestThread.test_normalcCsdd„}|j|dddS)NcSs|jt d¡d|d<dS)N©rr6ro.)rlr(r7rr%r%r&rŒsz'TestThread.test_exp.<locals>.gen_randomrrrrr%r%r&Útest_exp‹szTestThread.test_expcCsdd„}|j|dddS)NcSs|jddgddd|d<dS)Nrršrrr”.)rrr%r%r&r’sz/TestThread.test_multinomial.<locals>.gen_random)rrrrrr%r%r&r›‘szTestThread.test_multinomialN)rXrYrZrŒrr­rr›r%r%r%r&ris
rc@s,eZdZdd„Zdd„Zdd„Zdd„Zd    S)
ÚTestSingleEltArrayInputcCs4t dg¡|_t dg¡|_t dg¡|_d|_dS)NrrMrNrF)r(rPÚargOneÚargTwoÚargThreeÚtgtShaperFr%r%r&rŒšsz$TestSingleEltArrayInput.setup_methodc Cs€tjtjtjtjtjtjtjtjtj    tj
tj tj f }tj tj f}|D]6}||krb|t  dg¡ƒ}n
||jƒ}t|j|jƒqDdSrœ)r rlr½r`rÂr±rèr¶r¸rrrrr(rPrrrrr")r;ÚfuncsÚ    probfuncsrÑrr%r%r&Útest_one_arg_funcs s$û 
z*TestSingleEltArrayInput.test_one_arg_funcscCsÈtjtjtjtjtjtjtjtjtj    tj
tj tj tj tjf}tj tjf}|D]v}||krft dg¡}n|j}||j|ƒ}t|j|jƒ||jd|ƒ}t|j|jƒ||j|dƒ}t|j|jƒqLdS)Nrr)r rÌr¬rWrxrur¤rÝr‡rƒrŠrŽrærrr(rPr rrrrr")r;r#r$rÑr rr%r%r&Útest_two_arg_funcs³s2ú  z*TestSingleEltArrayInput.test_two_arg_funcscCs†tjtjtjg}|D]l}||j|j|jƒ}t|j|j    ƒ||jd|j|jƒ}t|j|j    ƒ||j|jd|jƒ}t|j|j    ƒqdS©Nr)
r r¨rÇrrr r!rrrr")r;r#rÑrr%r%r&Útest_three_arg_funcsÎsÿz,TestSingleEltArrayInput.test_three_arg_funcsN)rXrYrZrŒr%r&r(r%r%r%r&r™srcCsDt d¡|\}}}tt|ƒ}||ddiŽ}t|jt d¡kƒdS)Nrïr•rrâ)r rTÚgetattrrrLr()r'ÚfnamerrÛrurçr%r%r&Útest_integer_dtypeÞs
 
 
 
r+cCsdt d¡|\}}}tt|ƒ}||ddiŽ}tjdkr>| ¡}t | t    j
¡¡  ¡}t ||kƒdS)Nrïr•rßrÖ) r rTr)r×rØrÙrÚrÛrÜr(rÒrÝr)r'r*rrÛrurßràr%r%r&Útest_integer_repeatæs
 
 
 
r,c    Cs†t t¡tjdddgddW5QRXt t¡tjddgdddW5QRXt t¡tjddgddgddW5QRXdS)NrHr(gffffffæ?)rrHr”r)r…r†rEr rr%r%r%r&Útest_broadcast_size_errorñs    r-cCsÐtj tdƒ¡}| d¡| ¡\}}}|dd…dks<t‚||dd…Ž}| |¡|jdd}t    |d|dƒt
|dd|ddƒt
|dd    |dd    ƒt    |d
|d
ƒt    |d |d ƒdS) NrrH)r Fr¨r,r-r.r/r0r1) r(r r8r r–Ú
__reduce__r£rr‹rr)rUZctorrZstate_ar3Zstate_br%r%r&Ú&test_randomstate_ctor_old_style_pickleûs
 
 r/cCsRtj d¡}|j}tj |¡ttjjjjt    |ƒƒs8t
‚tj  ¡}||ksNt
‚dSr') r(r Z default_rngr,r*r¡ZmtrandZ_randZ_bit_generatorrìr£r))r+Zdef_bgÚbgZ    second_bgr%r%r&Ú test_hot_swap s   
r1cCs˜tdƒ}tj |¡tjjdd}tj d¡tjjdd}t|ƒt|ƒ|ddks\t‚|dd|ddksxt‚|dd|ddks”t‚dS)    NrFr¨rHr,r r-Úinc)r r(r r*r‹rTÚprintr£)r+r0r-r«r%r%r&Útest_seed_alt_bit_gens  r4c    CsHtj ¡}tdƒ}tj |¡tjtddtj |¡W5QRXdS)Nrzstate must be for a PCG64r‚)    r(r r‹r r*r…r†rEr)r+r-r0r%r%r&Útest_state_error_alt_bit_gen%s
 
 r5cCsÒtj d¡tj ddd¡}tdƒ}|j}tj |¡tjjdd}|D]}||||ksHt‚qHtj d¡tj ddd¡}t     ||k¡rt‚|j}|dd|ddks²t‚|dd|ddksÎt‚dS)    Né́ré@rFr¨r-r2)
r(r rTr9r r-r*r‹r£rj)r+rÍr0r-Z state_directÚfieldZpcg_valsr«r%r%r&Útest_swap_worked.s   r9cCsLtj tdƒ¡tj ddd¡}tj tdƒ¡}| ddd¡}t||ƒdS)Nr6rr7r)r(r r*r r9r8r)r+Zsingleton_valsZrgZnon_singleton_valsr%r%r&Ú%test_swapped_singleton_against_direct@s
r:)3rÚr®r×rÚnumpyr(r…Z numpy.testingrrrrrrrr    r
Z numpy.randomr r r r7r"r¾r\rÀr#Zfixturer'r+r4r5r[rbrˆr¸rñrîrïrðrrr+r,r-r/r1r4r5r9r:r%r%r%r&Ú<module>sŽ, ù
ù
ù 
 
/5W"qO/E