diff options
author | Sebastian Berg <sebastian@sipsolutions.net> | 2019-05-28 10:09:13 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-28 10:09:13 -0700 |
commit | 22239d120f59826e8a2c758f4bee9893e835f511 (patch) | |
tree | 185c530dadfd28d5b47753de6f4985be61b8a1f2 /numpy/random/tests | |
parent | 5b06588ec34d2b29502059a4fd86e24da8ddfc96 (diff) | |
parent | 70d6293bf8ae48e68844d34def56e9fb59027433 (diff) | |
download | numpy-22239d120f59826e8a2c758f4bee9893e835f511.tar.gz |
Merge pull request #13163 from mattip/randomgen
ENH: randomgen
This merges randomgen into numpy, which was originally developed at https://github.com/bashtage/randomgen and provides a new and improved API for random number generation with much new and improved functionality.
Diffstat (limited to 'numpy/random/tests')
25 files changed, 21793 insertions, 12 deletions
diff --git a/numpy/random/tests/data/__init__.py b/numpy/random/tests/data/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/numpy/random/tests/data/__init__.py diff --git a/numpy/random/tests/data/dSFMT-testset-1.csv b/numpy/random/tests/data/dSFMT-testset-1.csv new file mode 100644 index 000000000..9f3f68aee --- /dev/null +++ b/numpy/random/tests/data/dSFMT-testset-1.csv @@ -0,0 +1,1001 @@ +seed, 1 +0, 4607719943344484518 +1, 4611291582431749820 +2, 4609448534071823958 +3, 4611106200950903790 +4, 4609580282971267356 +5, 4609720762470045007 +6, 4607636870422133563 +7, 4611678836133173816 +8, 4610735809705346030 +9, 4608789817543785341 +10, 4610393651369520670 +11, 4611623758339670553 +12, 4608444108616433164 +13, 4607465458608330898 +14, 4610235165931416513 +15, 4608103709635697272 +16, 4608100588970381609 +17, 4608641074646810943 +18, 4608616221842668388 +19, 4607549343270027634 +20, 4610344140656206312 +21, 4610535464314418457 +22, 4611312430982209353 +23, 4607401331162512449 +24, 4609116099984352425 +25, 4611257698187747276 +26, 4607645174989853474 +27, 4608837854111428888 +28, 4608691299413198001 +29, 4608930266190921041 +30, 4608332808182207925 +31, 4608421484748440698 +32, 4608383650014337452 +33, 4611545817730524178 +34, 4611496890204636496 +35, 4610861924086585884 +36, 4608194351754852419 +37, 4610283774852204513 +38, 4609474926233319727 +39, 4608727547276598994 +40, 4609717674488922238 +41, 4609423015229480073 +42, 4609349380679114027 +43, 4610751388265382808 +44, 4607733281112877867 +45, 4610591846531581004 +46, 4610735578621585065 +47, 4611251806424951188 +48, 4609460646876881407 +49, 4611551161354804803 +50, 4611249469634822485 +51, 4608821959551777081 +52, 4610052971574464565 +53, 4607777094091618436 +54, 4610851094220499210 +55, 4607702337070583856 +56, 4611414385520522876 +57, 4611576460026085858 +58, 4611473034943841786 +59, 4608897639026169673 +60, 4607883926313481761 +61, 4608797023994348324 +62, 4610894444453627505 +63, 4608376332448068935 +64, 4609893849888152414 +65, 4610202941918038529 +66, 4611056233415559924 +67, 4610877544761426248 +68, 4610994780372079388 +69, 4609067797141254153 +70, 4610982998126297925 +71, 4610789518257002641 +72, 4610598903890296442 +73, 4608025197953180744 +74, 4610185556158198401 +75, 4608809010429661575 +76, 4608768447244428523 +77, 4609124503281513660 +78, 4611101360372917414 +79, 4611042322702996474 +80, 4610858523716073186 +81, 4610375945852385997 +82, 4608483154301089968 +83, 4607798251963762687 +84, 4609119835265156007 +85, 4609188963843200093 +86, 4607266275697659547 +87, 4610923287424505039 +88, 4609618008081028402 +89, 4608201696292514469 +90, 4611530915051149734 +91, 4607364802882841466 +92, 4611236492431573193 +93, 4610807042893722656 +94, 4610080772943107179 +95, 4608570487813674878 +96, 4610901704116296546 +97, 4610535849683417477 +98, 4609487776344637464 +99, 4607684048114742415 +100, 4609756145565247020 +101, 4609839920313018364 +102, 4607300199263955605 +103, 4608349701001143604 +104, 4608563526536655950 +105, 4608211471894692660 +106, 4611561832400682724 +107, 4607607690303987255 +108, 4609884829632656291 +109, 4610554863807344395 +110, 4609913857729390656 +111, 4608533735726217242 +112, 4611205573734963697 +113, 4608825835576863771 +114, 4611237004326669392 +115, 4609254174450399374 +116, 4607622879864982635 +117, 4610819003887309229 +118, 4607698308712315302 +119, 4607833259972583494 +120, 4607681632288287295 +121, 4607910755187354207 +122, 4611122191561013257 +123, 4611656235846796861 +124, 4610565432604340253 +125, 4610908827351842030 +126, 4611268340320100590 +127, 4609313851656821466 +128, 4608528427564169020 +129, 4608200570336395038 +130, 4610538403125154877 +131, 4608888436053455398 +132, 4611543165544411944 +133, 4610250257231662522 +134, 4609297917742740245 +135, 4610400815978769483 +136, 4610528657337572565 +137, 4610705415667566712 +138, 4611077904559980731 +139, 4609927849369442287 +140, 4609397759777226314 +141, 4609010898016502992 +142, 4609120772081864228 +143, 4607237141609153161 +144, 4610571899308981431 +145, 4609008993363640801 +146, 4610287560785901157 +147, 4608623756174376020 +148, 4608653243870415213 +149, 4609547819331301107 +150, 4609673847833623842 +151, 4608235666485521661 +152, 4610114805542994107 +153, 4610479707694856806 +154, 4609103555741806169 +155, 4608500007602890176 +156, 4610672856146553685 +157, 4611610717675563449 +158, 4610730068759051595 +159, 4608685224971234052 +160, 4609413185190097208 +161, 4608897450787802174 +162, 4607186845514749512 +163, 4607348569795042779 +164, 4611009214373065786 +165, 4609635836233645619 +166, 4610977547720639382 +167, 4610180471225090534 +168, 4608711346241655575 +169, 4608627118356010890 +170, 4611222988628267196 +171, 4610585467803239650 +172, 4608953295299223634 +173, 4610267719343621921 +174, 4608384815012305523 +175, 4610760760005158447 +176, 4609888294496573856 +177, 4608487712307397941 +178, 4610046813921597302 +179, 4607901372889700267 +180, 4611648045743259157 +181, 4611287922111507955 +182, 4609242748471226007 +183, 4607755201380013067 +184, 4611417807283839436 +185, 4609947268752725748 +186, 4610889795243117380 +187, 4610682734427309711 +188, 4609430103755831273 +189, 4610392513282878252 +190, 4608028130931026108 +191, 4609354927353821574 +192, 4607999262827197226 +193, 4608772265877184447 +194, 4611465843018312306 +195, 4607857062574325894 +196, 4610666426888867633 +197, 4610600830920094283 +198, 4609205915408410545 +199, 4607853688411879209 +200, 4607747795491854335 +201, 4608262126937716822 +202, 4611534185487112177 +203, 4610074422869556166 +204, 4609237471248388861 +205, 4609177882315404739 +206, 4607287155741697257 +207, 4611476554139586317 +208, 4609517208333105115 +209, 4607319309983389553 +210, 4608526076922090888 +211, 4610748479257207053 +212, 4609931527304084444 +213, 4608009987636217635 +214, 4610407130291313714 +215, 4608891664598965696 +216, 4610296160139884006 +217, 4611484560328101663 +218, 4611019501503618978 +219, 4610246433435823295 +220, 4608562757718917889 +221, 4607471913719777131 +222, 4611613370049530904 +223, 4608319297993304206 +224, 4607745017639172981 +225, 4609731861577957712 +226, 4609663467149266458 +227, 4609543591294589508 +228, 4608524115958204496 +229, 4611293271186698245 +230, 4610645493162693253 +231, 4607841282620685061 +232, 4608714555579084575 +233, 4608149900642705668 +234, 4609881346718346991 +235, 4609652423006025080 +236, 4610576204477932347 +237, 4608419142720251589 +238, 4609292870725527035 +239, 4607915743890091921 +240, 4610631007573258876 +241, 4611091737638956363 +242, 4610866832498942602 +243, 4608679206316379049 +244, 4611254040795706209 +245, 4608564985000526959 +246, 4609448881222436994 +247, 4611606861023266002 +248, 4608930513670169902 +249, 4607323764955464423 +250, 4607288181905687970 +251, 4610373160370490855 +252, 4608411794278861897 +253, 4610212894218458057 +254, 4610694380708700429 +255, 4609922533346642803 +256, 4609392056590729641 +257, 4609803732845487397 +258, 4608878803170308012 +259, 4611524443328391151 +260, 4608174079771415727 +261, 4607408890033763317 +262, 4607845699541088935 +263, 4611555920103058967 +264, 4607479194613061911 +265, 4607653663534995980 +266, 4610070893479029228 +267, 4611538868870820080 +268, 4608567899678704260 +269, 4608770231079288078 +270, 4610411454914405807 +271, 4607820664883172463 +272, 4610714780751262327 +273, 4607194611952450391 +274, 4609087763682578279 +275, 4608165254026394594 +276, 4609234355157830083 +277, 4609341303623897409 +278, 4607843258265880283 +279, 4609385462693327627 +280, 4610305709185463397 +281, 4607607148427164960 +282, 4608714881122218799 +283, 4609651616092383148 +284, 4609231203213271499 +285, 4611257982347817477 +286, 4610152698091154688 +287, 4608144133423192484 +288, 4610573628352437761 +289, 4608544728261953288 +290, 4610198309467009097 +291, 4610449593868273119 +292, 4610593290392091594 +293, 4609046058809591309 +294, 4611622292530238189 +295, 4610657414068263882 +296, 4611165834719653845 +297, 4610350928332385108 +298, 4611352448760095628 +299, 4609948012409647959 +300, 4610309189747788666 +301, 4607755081207867022 +302, 4610231879852064105 +303, 4607888125265337265 +304, 4609172092280206898 +305, 4608588257784565842 +306, 4607741678424158070 +307, 4609025150930086850 +308, 4609393539064468217 +309, 4610911632660167908 +310, 4610958667007850644 +311, 4611286666277101605 +312, 4609804183682242390 +313, 4611608707704948262 +314, 4609669610113267167 +315, 4607666787328441261 +316, 4607581099645179700 +317, 4610190388918185110 +318, 4610216151360211572 +319, 4608284982213104796 +320, 4609043908200033150 +321, 4610094358636174240 +322, 4607727851642292863 +323, 4607748339680477190 +324, 4610333796608461237 +325, 4611630659133526098 +326, 4611011836822995398 +327, 4611271586336335851 +328, 4608676990846072419 +329, 4610486194528414452 +330, 4607576606876065603 +331, 4607719568700291080 +332, 4608551235063435831 +333, 4611011581816455613 +334, 4608841433006333809 +335, 4609590566174099924 +336, 4610751108417575356 +337, 4609783802139185311 +338, 4610078674097919534 +339, 4608133838483219458 +340, 4609277956691541130 +341, 4608489591310323203 +342, 4608190218485836055 +343, 4611079531841410411 +344, 4608880618309483643 +345, 4608911948674088293 +346, 4611291894381153496 +347, 4608451717289459361 +348, 4608796294882212937 +349, 4608414460486049632 +350, 4607422609721232463 +351, 4608080483385313266 +352, 4607622634488318995 +353, 4609289604313013439 +354, 4609239936097680379 +355, 4608372018123900887 +356, 4610702814261825804 +357, 4611274091783983647 +358, 4611215484124931059 +359, 4608990421919168365 +360, 4609097190054835106 +361, 4610994750415795356 +362, 4611072443902954170 +363, 4608952917718970557 +364, 4608900180943861654 +365, 4608934424322310689 +366, 4609731940535270405 +367, 4610297241526025992 +368, 4608524744985785409 +369, 4610233647335282974 +370, 4609397840502965617 +371, 4609931050226720744 +372, 4607823742164438535 +373, 4607386223202154150 +374, 4611077706407577954 +375, 4608540055157729754 +376, 4610737951147572257 +377, 4610902929285966658 +378, 4611385693211960164 +379, 4607224622379354821 +380, 4609166781986849209 +381, 4608748083335025668 +382, 4610443657454469430 +383, 4610468401119056286 +384, 4610937884247828753 +385, 4609084940396193513 +386, 4611415358123142084 +387, 4610501805353766962 +388, 4607767036448986638 +389, 4607461223165192234 +390, 4608226484980255663 +391, 4611607256659641032 +392, 4609945211367732974 +393, 4609006453263783302 +394, 4610265844375613630 +395, 4607694615392738521 +396, 4608606212547814938 +397, 4610034239111814504 +398, 4610103751968466900 +399, 4611088505838050253 +400, 4608851769231884474 +401, 4610288514235425111 +402, 4608505539036108714 +403, 4611453738759382658 +404, 4611101647329150173 +405, 4607983202842737743 +406, 4607628593913051809 +407, 4610817169808213622 +408, 4610274104936495796 +409, 4607686898188473999 +410, 4611494545938384459 +411, 4609445238317096124 +412, 4609809658023272942 +413, 4610395993443671939 +414, 4609532016275791584 +415, 4610018501692092651 +416, 4608683763430851439 +417, 4608548880896401248 +418, 4610478349829709585 +419, 4607855690965045385 +420, 4609679774972563395 +421, 4609301972366993458 +422, 4609957828433462989 +423, 4611601276026033182 +424, 4610886414042292178 +425, 4610540517589250995 +426, 4609329807459066933 +427, 4611012060649555364 +428, 4611004988464520281 +429, 4610092518739796845 +430, 4608982525313436661 +431, 4610220581774992574 +432, 4608389110412341488 +433, 4610577194017978099 +434, 4607777219986546519 +435, 4608552325706694521 +436, 4609384775042120780 +437, 4610819470183619029 +438, 4608862514454376763 +439, 4608050912492519261 +440, 4609954958938789219 +441, 4611451357502982166 +442, 4607476785936630269 +443, 4611329691194458319 +444, 4610683876885297263 +445, 4608922438780754530 +446, 4607347319284557650 +447, 4610212564213298006 +448, 4607187736152210274 +449, 4607821132969264993 +450, 4610701944842365016 +451, 4609138892484188991 +452, 4607579978932469946 +453, 4608297026731285373 +454, 4609117946354613867 +455, 4609873371753866995 +456, 4609883036162181473 +457, 4610617143057865264 +458, 4609705966715129773 +459, 4609266086686667759 +460, 4611092203109148192 +461, 4607277668644988197 +462, 4610243051742855164 +463, 4611488200475462773 +464, 4610159190694085398 +465, 4607187122077884953 +466, 4609178002227614028 +467, 4607200609172450908 +468, 4607203109970409745 +469, 4610157519627986095 +470, 4608168608616624151 +471, 4607556712879928934 +472, 4610602971628266891 +473, 4607272386871519909 +474, 4609226601189759664 +475, 4608821958178910465 +476, 4610337925540682923 +477, 4607756826141445338 +478, 4610670714123277518 +479, 4609997633318663199 +480, 4610992528318514467 +481, 4610508873379935121 +482, 4610548944839799582 +483, 4608576872646763539 +484, 4611475238517289488 +485, 4609969545809504006 +486, 4611604653736723262 +487, 4610513754499061149 +488, 4610047791400434915 +489, 4610466779122303079 +490, 4609199569907073109 +491, 4611355331378329938 +492, 4609211256613089457 +493, 4611345984656025190 +494, 4609276744577281463 +495, 4610677520254288398 +496, 4611565920468553537 +497, 4608887769347254935 +498, 4607891688277052029 +499, 4611210417809931519 +500, 4609181196197018924 +501, 4608620849445253589 +502, 4610338756450099522 +503, 4610235666137930968 +504, 4610190689620274242 +505, 4608156139098624503 +506, 4610233351376219666 +507, 4611116196066412550 +508, 4611244546095227734 +509, 4608354486449139402 +510, 4608722837522685541 +511, 4607298792335449598 +512, 4610940117180049531 +513, 4609905783847698405 +514, 4611068115688450709 +515, 4609567280627055335 +516, 4609668102454567333 +517, 4608575291283631952 +518, 4608606739858036458 +519, 4609920659405064132 +520, 4609633855399730395 +521, 4607420399082287137 +522, 4607497830797814837 +523, 4608734929795542569 +524, 4611677103224173563 +525, 4609895185651955231 +526, 4608551100268458835 +527, 4608794936863357442 +528, 4608839444940253689 +529, 4609723875823547919 +530, 4609134168731540965 +531, 4610864297289180458 +532, 4609561568240290174 +533, 4609455706988469654 +534, 4610110730269692806 +535, 4607590724900811004 +536, 4609841446856073581 +537, 4607519144944801539 +538, 4610958924924618965 +539, 4608058978781928209 +540, 4608930736822030783 +541, 4610339624224904683 +542, 4611268940884582276 +543, 4611614440252938509 +544, 4610283933065539718 +545, 4610827563929259801 +546, 4610238281320018148 +547, 4609068702417082470 +548, 4609965625349945622 +549, 4610567655464689798 +550, 4609517999871284092 +551, 4608853313183377285 +552, 4608597386123068580 +553, 4608596804275711127 +554, 4608806942254133750 +555, 4611595740982862812 +556, 4610653226348519116 +557, 4610010878229382699 +558, 4611430012536690008 +559, 4608194334909286956 +560, 4609770785529395235 +561, 4609636612234158840 +562, 4610467762650198285 +563, 4611250113292757754 +564, 4611123483515753501 +565, 4610256050464540468 +566, 4611554812085476534 +567, 4609545597507432057 +568, 4610251629953739706 +569, 4608097940038860692 +570, 4608939256004427493 +571, 4609549477949346267 +572, 4607856563525396488 +573, 4608407566119329436 +574, 4610977065049540740 +575, 4608677612836947043 +576, 4611670385382852661 +577, 4609169914628845192 +578, 4608385528780825832 +579, 4608431699759708725 +580, 4610213210579325967 +581, 4607790519129120154 +582, 4611460475578903177 +583, 4611645204412117197 +584, 4611045465835867018 +585, 4610795725227740679 +586, 4607610666986980838 +587, 4607713533366355938 +588, 4608008411737790225 +589, 4607218032541409981 +590, 4610712747455657843 +591, 4607322986186115065 +592, 4608609778168478040 +593, 4609117986895835630 +594, 4608387138944308707 +595, 4609405159006321483 +596, 4609201389487900126 +597, 4610814010656557822 +598, 4610461402205528089 +599, 4608856848982780180 +600, 4610009661369407408 +601, 4609531046728456306 +602, 4608781638378145485 +603, 4611071218907304246 +604, 4607718364365206169 +605, 4610766522014845193 +606, 4610418511682022913 +607, 4611489866910598987 +608, 4611024768525348505 +609, 4608411227740737072 +610, 4608347021514952714 +611, 4607229154687220486 +612, 4609527688395331186 +613, 4608610487126715045 +614, 4610163014754346271 +615, 4610119594096556803 +616, 4609099103543638986 +617, 4607960911715387937 +618, 4610543345562112354 +619, 4611673200269784439 +620, 4607890122556287450 +621, 4610510919142595773 +622, 4611000945873569885 +623, 4609861297670464893 +624, 4607365464269028252 +625, 4610263820456779466 +626, 4608382757430988076 +627, 4608592826360850405 +628, 4607897223655826864 +629, 4608783406301942627 +630, 4610831809342653056 +631, 4610592838071858481 +632, 4607625427481844846 +633, 4610803200293531160 +634, 4607315949328468373 +635, 4609568473332490124 +636, 4608018723588381940 +637, 4610473680670701003 +638, 4608867424437758236 +639, 4607226771732395005 +640, 4607648878101783522 +641, 4608407495823699878 +642, 4609303470297933457 +643, 4607995287639912115 +644, 4610604756706603303 +645, 4608065328364362400 +646, 4607659009213858799 +647, 4609407180393559403 +648, 4610161232799622667 +649, 4608312339248283632 +650, 4611365830215244879 +651, 4609241343071166241 +652, 4607187426157508336 +653, 4611008486844877795 +654, 4609348293209960853 +655, 4611430342690450936 +656, 4610022123422557819 +657, 4610662613803950933 +658, 4610421175429479085 +659, 4609631547889552562 +660, 4609940555785407216 +661, 4609822163096232669 +662, 4608970136612861659 +663, 4609427082274890719 +664, 4608697401879465484 +665, 4611207783165609518 +666, 4611373087590380940 +667, 4610545384528497527 +668, 4607694071454287047 +669, 4607913509258771897 +670, 4607226952976335318 +671, 4611367164497924691 +672, 4610773799850733403 +673, 4608923576905855388 +674, 4610829132227252858 +675, 4611539466506594954 +676, 4607450455252831956 +677, 4607924760556738513 +678, 4609257351177318999 +679, 4607886491020993167 +680, 4607262386448907585 +681, 4608805527475164058 +682, 4608519384875417362 +683, 4609768003609528793 +684, 4607990620996706344 +685, 4608000541499168509 +686, 4607514221391064237 +687, 4610596308708149427 +688, 4608457358343713720 +689, 4611109413177548323 +690, 4609292098957449828 +691, 4608275497070553256 +692, 4609949308659603960 +693, 4610508332440425814 +694, 4610523421224858005 +695, 4611628503654168653 +696, 4608988043865917565 +697, 4609452807254068291 +698, 4611008104380823402 +699, 4609415493514583781 +700, 4608204811849219551 +701, 4608154991732011594 +702, 4609565684575358357 +703, 4607201300980991047 +704, 4611578953897989322 +705, 4608949284388541303 +706, 4608953402339590043 +707, 4611094520261253641 +708, 4611564299263181877 +709, 4611244613212746921 +710, 4607665698546290637 +711, 4609929742865966113 +712, 4608756528459788870 +713, 4608559801324682100 +714, 4611161313083363936 +715, 4610640544822605367 +716, 4610461950314271130 +717, 4608429389531989501 +718, 4610594975443340868 +719, 4610653541215203471 +720, 4610354404384656514 +721, 4611322467270517926 +722, 4609004358268238303 +723, 4610113217342068535 +724, 4607247286313434436 +725, 4607936058322365025 +726, 4607498677954044120 +727, 4607367643972642434 +728, 4610903724213995603 +729, 4608398398619525170 +730, 4609011100867415968 +731, 4609286350498400836 +732, 4610564846286379047 +733, 4610610842418549113 +734, 4609379950548700715 +735, 4608749477629127198 +736, 4609389534628643041 +737, 4609709510894589547 +738, 4609720477301256427 +739, 4610433170873472685 +740, 4607581786915955136 +741, 4610426993537088574 +742, 4609893496842706786 +743, 4608182222083733544 +744, 4607415409292672163 +745, 4608909799371727180 +746, 4609682438519448644 +747, 4609837420608110159 +748, 4607722492204198941 +749, 4608063142644927447 +750, 4611212896211946065 +751, 4610459279330601000 +752, 4610766525803719281 +753, 4610541719260518609 +754, 4608446538192511629 +755, 4608529268885531628 +756, 4607702152237957857 +757, 4608797703031075472 +758, 4607439116134819826 +759, 4608311115301487628 +760, 4611675179452768396 +761, 4608076597967526423 +762, 4611585923502702782 +763, 4611007505903425519 +764, 4610334401882712716 +765, 4611292864862708587 +766, 4610520603991775838 +767, 4610790439348561649 +768, 4608020323209861832 +769, 4609132354146195150 +770, 4611648991029158429 +771, 4608415373761338387 +772, 4611222889759456059 +773, 4610394879407915891 +774, 4611223274533537520 +775, 4611048920373264726 +776, 4611203040226595031 +777, 4608581225592953052 +778, 4607944132899105268 +779, 4610553416357950208 +780, 4609183189134981159 +781, 4610931403284842449 +782, 4609626797792255137 +783, 4608437008274383407 +784, 4608841271194024119 +785, 4609511843950082189 +786, 4608432804080683600 +787, 4607886713946305196 +788, 4610350555892554303 +789, 4611041162152526452 +790, 4608810036185927099 +791, 4609731609025465382 +792, 4608387458587420116 +793, 4608846429123315125 +794, 4610376323596472588 +795, 4609423912646885032 +796, 4609218872949994167 +797, 4611375967003041069 +798, 4609485140993387628 +799, 4607604870717557062 +800, 4609495797464442279 +801, 4611456949409319675 +802, 4610344977769413626 +803, 4610598065942935600 +804, 4608013012863891262 +805, 4610252455143552284 +806, 4607700593028756519 +807, 4610045641566183312 +808, 4609480926180737252 +809, 4610275596338864080 +810, 4607659695464558950 +811, 4607219197645073589 +812, 4608177295501330522 +813, 4611273956331899579 +814, 4610913813005660249 +815, 4608470207120093898 +816, 4608174217124512103 +817, 4610065364926597101 +818, 4607349317207213784 +819, 4607602167222023985 +820, 4607657145979677117 +821, 4611508729708873431 +822, 4607908717595303714 +823, 4609727931398518344 +824, 4609540956592359987 +825, 4610440481396242417 +826, 4611346585992438567 +827, 4611152612229187917 +828, 4610384157247730087 +829, 4610830126611132722 +830, 4610272123470087431 +831, 4607234503905390991 +832, 4610613653079230069 +833, 4609179215008588124 +834, 4608441295871321425 +835, 4608116436734160239 +836, 4607605033373857689 +837, 4610599359267200688 +838, 4611379096030431268 +839, 4609842285031861233 +840, 4611250379332137731 +841, 4608487405142537379 +842, 4607380789043538335 +843, 4609546285413174259 +844, 4608919052624376420 +845, 4611474363794717141 +846, 4611079221421189606 +847, 4607871497110868045 +848, 4608251852430693481 +849, 4611271625089563201 +850, 4608142282722604751 +851, 4610614961087854140 +852, 4611030874745849847 +853, 4609674534508351596 +854, 4610748124279118172 +855, 4610214076525417764 +856, 4608915989016466776 +857, 4611186209375381383 +858, 4609729165373960964 +859, 4608171107224247283 +860, 4608322267844345836 +861, 4611385726702876896 +862, 4607526082606428148 +863, 4609300797912528830 +864, 4607995042613073018 +865, 4609544162095522243 +866, 4607273392907536721 +867, 4610915254133616443 +868, 4608528592480458486 +869, 4611065489354804147 +870, 4610750286707033259 +871, 4609777244768435300 +872, 4610807148417457906 +873, 4607877316209555589 +874, 4610316726265842451 +875, 4608771732565061950 +876, 4611471267762612145 +877, 4607984815868159369 +878, 4608744077489931245 +879, 4611032300367986435 +880, 4609572801223705776 +881, 4607388928679638867 +882, 4610440380910085523 +883, 4611677400759288526 +884, 4608231223120382380 +885, 4609826308636672129 +886, 4610729764513821105 +887, 4608945691565841376 +888, 4608283276108322908 +889, 4611090204591740692 +890, 4610600988861462466 +891, 4608814357404053556 +892, 4611331328900205001 +893, 4610440474296736006 +894, 4607431388306045801 +895, 4610821334292221218 +896, 4608554210663333875 +897, 4609824397495829498 +898, 4607541211343519985 +899, 4608435017263349928 +900, 4607219271691108353 +901, 4608430070452421044 +902, 4609082847439943417 +903, 4610866784520449850 +904, 4608287501071307688 +905, 4609218510235145503 +906, 4608114112360957267 +907, 4609922412275378983 +908, 4608601574612929512 +909, 4608063236537296892 +910, 4610507352144992045 +911, 4610831100303954067 +912, 4610989778846895898 +913, 4611131006465079227 +914, 4607610719457154999 +915, 4610658650342157966 +916, 4607418499615550301 +917, 4610402445180375078 +918, 4610463803051786556 +919, 4610040245423397003 +920, 4610291132556872432 +921, 4610915180727115233 +922, 4607198239226330244 +923, 4610719993407015954 +924, 4608790436210431943 +925, 4611518788065155885 +926, 4609410806758155597 +927, 4610354727542013410 +928, 4609032496183417847 +929, 4607612835462448389 +930, 4609119308314247716 +931, 4610676295665807893 +932, 4610030018059715751 +933, 4610396681520935881 +934, 4610115299841718605 +935, 4610531703556384068 +936, 4607313656834232832 +937, 4607826054856970203 +938, 4609717410497090129 +939, 4609043343821435147 +940, 4607629724646231370 +941, 4611347190635269674 +942, 4607431356324177025 +943, 4609743147159956874 +944, 4608919951624732686 +945, 4608549836830011507 +946, 4609835749585271216 +947, 4610001878208091800 +948, 4607727638454636808 +949, 4608140523490695322 +950, 4610951723878037203 +951, 4609561113218416843 +952, 4607375879120504969 +953, 4610968421496640577 +954, 4608729663137359994 +955, 4611521561048982293 +956, 4607647181466306462 +957, 4608815536941397702 +958, 4611410078681334217 +959, 4610883601143579986 +960, 4609217767853028115 +961, 4610569694955441160 +962, 4608142872889589658 +963, 4609078496262967192 +964, 4610075946790752678 +965, 4607952350453678296 +966, 4610919620741525096 +967, 4611050224420434596 +968, 4608163018441029734 +969, 4611368242936987963 +970, 4607644493316907613 +971, 4611292201819050900 +972, 4610919228494056420 +973, 4607225037781465524 +974, 4609803354294636294 +975, 4610012640039408504 +976, 4610054964621136538 +977, 4609178240405976665 +978, 4607687932449852507 +979, 4609284420963602445 +980, 4609123874172501167 +981, 4608282636137081729 +982, 4609729376153713229 +983, 4611206065074370636 +984, 4609819396180228727 +985, 4610891933717707670 +986, 4608390654319867654 +987, 4610530001352182832 +988, 4608968440000980355 +989, 4611276663454436837 +990, 4609638657758409036 +991, 4610986200094730228 +992, 4610734380577234553 +993, 4609408663096464249 +994, 4609878290485950846 +995, 4607522064640469547 +996, 4610791378999926894 +997, 4607540164715119602 +998, 4609346418539511860 +999, 4611057822391293948 diff --git a/numpy/random/tests/data/dSFMT-testset-2.csv b/numpy/random/tests/data/dSFMT-testset-2.csv new file mode 100644 index 000000000..2ec2d7a51 --- /dev/null +++ b/numpy/random/tests/data/dSFMT-testset-2.csv @@ -0,0 +1,1001 @@ +seed, 123456789 +0, 4611184391270596398 +1, 4607748002806405513 +2, 4610950593283603895 +3, 4608090221984835117 +4, 4608620401509188549 +5, 4608933259318787038 +6, 4609013189947794152 +7, 4610981701838014712 +8, 4607749361849391199 +9, 4607937126452632796 +10, 4607787877636103702 +11, 4610534911848167216 +12, 4610758085486021829 +13, 4608376900672555174 +14, 4611475749905869564 +15, 4610499914926478618 +16, 4610900925684457179 +17, 4609184136046668572 +18, 4610480821748015478 +19, 4609898134786890046 +20, 4610017288264709787 +21, 4610945461469807520 +22, 4611377383751342990 +23, 4610945102533068783 +24, 4611669662318553242 +25, 4609191925356202514 +26, 4607369493394647937 +27, 4610171428966243908 +28, 4608117572388953111 +29, 4608266910229155519 +30, 4608559463354581151 +31, 4608291596231703883 +32, 4609993154230249063 +33, 4608158820656759750 +34, 4607825861011031752 +35, 4611091529260321033 +36, 4609803558980700204 +37, 4610892045184692457 +38, 4607844754686911799 +39, 4609239584278564809 +40, 4608975935937490223 +41, 4611186452462884146 +42, 4610644474758878544 +43, 4608188546959932195 +44, 4610317408616093972 +45, 4607827178108179262 +46, 4611275432938764949 +47, 4608511443742655969 +48, 4607200952336491646 +49, 4609727773590041393 +50, 4609137674464229063 +51, 4611529391150713249 +52, 4607446200291229812 +53, 4608618724431091553 +54, 4608231197118968153 +55, 4609848377535763472 +56, 4609769454787363651 +57, 4609093431634418146 +58, 4610941233823434235 +59, 4609301175512188901 +60, 4610884340334734656 +61, 4610063958683836346 +62, 4607897080185028324 +63, 4610305504370096344 +64, 4609499707572786607 +65, 4609874865902334026 +66, 4610351583670684094 +67, 4607292638794148255 +68, 4609412782688385863 +69, 4610390851314330496 +70, 4610340712140767101 +71, 4611109929809487388 +72, 4608431958302562464 +73, 4611491800847619506 +74, 4611664179902108071 +75, 4609243488780021515 +76, 4611114015923144350 +77, 4608524512724098287 +78, 4610450327089558934 +79, 4608720370826377375 +80, 4609572763010883699 +81, 4610381056495781763 +82, 4610005210825690556 +83, 4610341565220388232 +84, 4609034688757121677 +85, 4608823563858030255 +86, 4607971981785212736 +87, 4608714648124969040 +88, 4608968779454607977 +89, 4607272316660152324 +90, 4610748035362895446 +91, 4611319709331049410 +92, 4611390662594804501 +93, 4610054939662414847 +94, 4610394601776085983 +95, 4611424622746948620 +96, 4609395571329163407 +97, 4608527159228147662 +98, 4608379506646233343 +99, 4608996098073467200 +100, 4609633861067625056 +101, 4609387288473331641 +102, 4609369354653726335 +103, 4609305386464755625 +104, 4609085462578529471 +105, 4607213117834450226 +106, 4608676147693465985 +107, 4609894016428056597 +108, 4610808023909042858 +109, 4608152398284126687 +110, 4608864655829389907 +111, 4608853043279974421 +112, 4609998495057236534 +113, 4610971344400740897 +114, 4610947677840469570 +115, 4608888205458648733 +116, 4607306226266885750 +117, 4609476897174960733 +118, 4609298769587075756 +119, 4608046849854182276 +120, 4607709982476583693 +121, 4608905629015127110 +122, 4610027478304152622 +123, 4610378827605636632 +124, 4609168469605184889 +125, 4608424320664524511 +126, 4611224145925927248 +127, 4610598390440508158 +128, 4607548101463088366 +129, 4610445109429344448 +130, 4608982837349247842 +131, 4611526772283530460 +132, 4609215133306156120 +133, 4610747257006687691 +134, 4611305960482481336 +135, 4610602687315818756 +136, 4607839670910202130 +137, 4610527601541091852 +138, 4611462737727028786 +139, 4609212169757271808 +140, 4608447721028771557 +141, 4608224903291976145 +142, 4607298632533980318 +143, 4607975637289743494 +144, 4608776340673956742 +145, 4608578170133208214 +146, 4611177429384019220 +147, 4607665628038835535 +148, 4609531011383000577 +149, 4609360969802432085 +150, 4609908488618542164 +151, 4607366945146869514 +152, 4610136614778041377 +153, 4611168569218164361 +154, 4610462572118833671 +155, 4608070981696376487 +156, 4611058778037833630 +157, 4608159294705821382 +158, 4607530053661949689 +159, 4609136441084496096 +160, 4609331241894336822 +161, 4611313107630037707 +162, 4607957053472625207 +163, 4609675126838719650 +164, 4609482958203648215 +165, 4609691585561697624 +166, 4611475423312731438 +167, 4611412076067906505 +168, 4610429355560523848 +169, 4610625875093760541 +170, 4607241368914269823 +171, 4608589893979475221 +172, 4610073186156188115 +173, 4607291233411155158 +174, 4607675047628278616 +175, 4610869395774400226 +176, 4610232438803745722 +177, 4611554162813131112 +178, 4611642473714833781 +179, 4610563419014907913 +180, 4608459192490850885 +181, 4610780149188594220 +182, 4608960376226045768 +183, 4609069361322693819 +184, 4607256923555182400 +185, 4608474664242579394 +186, 4610207389506744572 +187, 4609112003475072746 +188, 4609240603140788354 +189, 4607525348408117354 +190, 4611149396864007205 +191, 4609114686465130118 +192, 4608849128028589904 +193, 4607248401924217556 +194, 4611387244175010347 +195, 4610567855974092668 +196, 4608169346845917282 +197, 4608490452199719856 +198, 4611203596728963611 +199, 4609287639795895008 +200, 4611614031789088265 +201, 4607236671819565824 +202, 4607466608820858068 +203, 4609639323480231358 +204, 4611254610116912557 +205, 4608807229543638034 +206, 4608381564380368174 +207, 4607428682272410485 +208, 4611229637925604134 +209, 4609236526826003496 +210, 4608889880949328886 +211, 4611135901473627148 +212, 4609923185324027506 +213, 4608879482743843897 +214, 4607662449177713187 +215, 4609980811569949840 +216, 4608275147595190524 +217, 4610799005466054235 +218, 4607667917597769158 +219, 4610185589593486163 +220, 4607529819757965470 +221, 4608839547249506178 +222, 4607706145147011973 +223, 4610988495472186250 +224, 4611534361958731542 +225, 4611641549824093970 +226, 4607316484858856298 +227, 4608641757303921184 +228, 4609375357848069574 +229, 4610565635665894453 +230, 4611147322350665952 +231, 4610071054475069545 +232, 4608886005124134993 +233, 4611384240695070553 +234, 4609556577749744408 +235, 4607688273402525356 +236, 4609395656487625483 +237, 4607920617948366178 +238, 4608233544953726639 +239, 4607736865102992897 +240, 4611554956498550667 +241, 4608735997467283056 +242, 4608499613076219431 +243, 4607926707839352263 +244, 4607349468190181214 +245, 4607855564980078814 +246, 4608566548361033733 +247, 4608689878198670581 +248, 4607485839302113425 +249, 4611493753178685166 +250, 4608566613320387204 +251, 4609743179886038389 +252, 4610508594994820223 +253, 4608995913792958562 +254, 4610248353463386070 +255, 4609788192124211795 +256, 4610619330306161425 +257, 4610873599325465005 +258, 4607324385499645328 +259, 4610611165167596515 +260, 4608006298637673371 +261, 4608540339048264499 +262, 4609631136716349669 +263, 4608685013736282276 +264, 4607363759784022848 +265, 4609492611310929004 +266, 4607780070180818716 +267, 4611531753698196550 +268, 4609227266216837458 +269, 4609211002065400677 +270, 4610668395253295080 +271, 4609134381345731597 +272, 4609382192034225627 +273, 4607208308209034488 +274, 4610579328733327647 +275, 4608921603525338555 +276, 4608290209927931669 +277, 4610866583781415461 +278, 4608182329361248100 +279, 4611648549813945436 +280, 4608601920453704621 +281, 4607406218324299637 +282, 4610748358143595351 +283, 4607437422367397844 +284, 4610299319830347312 +285, 4607992330520188137 +286, 4607658701765777668 +287, 4610721959305012250 +288, 4608971493894533044 +289, 4610010722223631500 +290, 4611050493332836673 +291, 4611164520867402836 +292, 4610619993846650787 +293, 4610600062391983254 +294, 4610986071470687711 +295, 4607815296700712791 +296, 4608678841251990428 +297, 4609887779099788759 +298, 4609503319862290027 +299, 4608809762931362117 +300, 4608037449870401927 +301, 4607755403017924034 +302, 4609087730452781738 +303, 4608773046045154889 +304, 4609803415624001168 +305, 4610998875554212160 +306, 4610380022165388956 +307, 4607984105708776524 +308, 4607847620250154418 +309, 4609666480042052524 +310, 4609307223459772378 +311, 4610669103098622941 +312, 4611513493576426284 +313, 4610110724985187558 +314, 4607584875859460118 +315, 4607466337518526743 +316, 4610953875036984820 +317, 4608473324196281668 +318, 4610528420574205379 +319, 4611218523029715214 +320, 4609404517070225101 +321, 4610679296055932161 +322, 4611602007192673713 +323, 4608768227857799294 +324, 4611351262607349204 +325, 4608656666931918232 +326, 4607814222059811944 +327, 4610377735718844205 +328, 4609693488663627404 +329, 4607234605916181353 +330, 4610438458653690136 +331, 4607691881688829838 +332, 4610084067104393530 +333, 4610193058189981242 +334, 4610500065590109969 +335, 4608182288567589802 +336, 4610884979206264676 +337, 4607934930963198287 +338, 4608198333740812601 +339, 4611615912551444803 +340, 4611091273781746311 +341, 4609878217869378267 +342, 4610329799427547900 +343, 4608946066069950044 +344, 4610517372931467061 +345, 4610173879547218394 +346, 4610768143539619524 +347, 4608251912463490886 +348, 4609138858501301814 +349, 4609537774087558923 +350, 4607501599203475779 +351, 4608820206286486654 +352, 4607594549608867563 +353, 4608928529430502872 +354, 4610326793501581341 +355, 4609216901643916714 +356, 4609921023396761286 +357, 4610188250845345370 +358, 4609056567531193554 +359, 4608042356944953893 +360, 4611153374110275273 +361, 4607652688871602388 +362, 4607736758450185452 +363, 4607772815382776660 +364, 4610793989334300613 +365, 4610810029813744832 +366, 4608713713202824549 +367, 4610555523666319407 +368, 4608933966316349782 +369, 4610847233909664040 +370, 4610569003709254271 +371, 4610141934611190870 +372, 4609800637427386711 +373, 4609531911954538534 +374, 4610018946619778104 +375, 4607563033735657544 +376, 4609466294634090519 +377, 4609110904485970900 +378, 4608802716203741548 +379, 4611231193234792818 +380, 4609853965624850005 +381, 4607407678664700238 +382, 4611560957363283790 +383, 4607258843130776963 +384, 4607438437753792222 +385, 4610880518315386981 +386, 4608724997072138032 +387, 4607896367882266335 +388, 4609466683623316620 +389, 4609649679136642775 +390, 4607572059242669390 +391, 4610690224087953221 +392, 4607212888873300995 +393, 4610115548532567091 +394, 4611204182849533970 +395, 4611480154563209673 +396, 4607313745181304733 +397, 4609677304468142434 +398, 4608230866091821000 +399, 4607916785319391722 +400, 4607735989143160304 +401, 4608364795273033367 +402, 4608202139927885958 +403, 4608897400704372931 +404, 4611267249785141575 +405, 4609988674862878902 +406, 4607825900064550736 +407, 4611018040541037989 +408, 4608438772151688632 +409, 4610422591938237999 +410, 4607217184553988938 +411, 4607633087503746743 +412, 4609394147749351901 +413, 4608101641384193571 +414, 4609733515509206078 +415, 4611489547250433971 +416, 4607834589624331833 +417, 4611349716992792673 +418, 4609707846875238752 +419, 4607311797705362203 +420, 4608945328148355588 +421, 4611273525690510581 +422, 4611458884537996759 +423, 4607997755969685936 +424, 4609048489714323017 +425, 4610334128017869552 +426, 4607485869716832613 +427, 4607547499540098372 +428, 4611447798198333473 +429, 4607207442813565439 +430, 4611108178646490883 +431, 4609758124675924332 +432, 4610269457948568827 +433, 4607360068671694963 +434, 4607781179483110631 +435, 4610840076859630697 +436, 4609605188868326206 +437, 4610833404575495679 +438, 4609202151986229830 +439, 4607653465598307819 +440, 4610341806509732173 +441, 4608937637268370608 +442, 4608846981481205936 +443, 4609890399657918800 +444, 4607475810914216914 +445, 4610779510882657410 +446, 4607200291019787105 +447, 4608763897810030884 +448, 4611030953084521579 +449, 4610608205209840707 +450, 4609901665329352338 +451, 4608229933322773774 +452, 4608306405922059711 +453, 4609402784224466904 +454, 4607797912916831810 +455, 4609320676286567523 +456, 4611203509963612873 +457, 4609443449463211381 +458, 4611201121136708490 +459, 4607891679344035909 +460, 4609295647591940857 +461, 4608699650823090334 +462, 4610113773137160513 +463, 4609644998840868353 +464, 4607236971413190205 +465, 4610986387001985169 +466, 4607686165213831157 +467, 4608006708913412573 +468, 4611617607231087789 +469, 4607950605030537282 +470, 4611312308422726037 +471, 4609920921889730694 +472, 4611272051294701454 +473, 4610732866915233164 +474, 4611475736494024667 +475, 4609129855793761412 +476, 4610896503566695638 +477, 4608983293576256239 +478, 4611337113271775442 +479, 4607264202049306366 +480, 4609273459645222412 +481, 4607686257312802596 +482, 4610552669683473434 +483, 4609573159080816112 +484, 4610109994193793014 +485, 4609104807624348930 +486, 4609056640876615682 +487, 4611233171931551808 +488, 4610700243077601839 +489, 4609689839939656894 +490, 4608154258714850667 +491, 4611519937102265713 +492, 4608524210713510379 +493, 4609408429794931452 +494, 4608727835041307081 +495, 4608363974471195432 +496, 4611053981101408157 +497, 4611244348235020563 +498, 4611215359362792075 +499, 4611323939601701219 +500, 4607339198007393537 +501, 4611192785515763411 +502, 4609520870364372480 +503, 4610305448099707859 +504, 4607627137213702268 +505, 4609512376112901200 +506, 4607188668249670063 +507, 4611507107596430103 +508, 4611290552034620332 +509, 4610948015281142465 +510, 4610082188797301672 +511, 4611154579920165202 +512, 4607910614898084038 +513, 4609111687709912685 +514, 4607756890586988655 +515, 4611478346930052063 +516, 4610271854072480776 +517, 4607666773584055448 +518, 4611269065667018778 +519, 4607229932372594880 +520, 4609361761863029782 +521, 4610810902409829664 +522, 4608310590726885309 +523, 4611549741777094242 +524, 4608905382237807476 +525, 4607539324166606283 +526, 4611302527859497090 +527, 4607673514510851852 +528, 4610239139758062881 +529, 4608296614307074920 +530, 4611131538327332418 +531, 4610491790884660304 +532, 4608012090568842826 +533, 4611145939579689859 +534, 4611569174305843109 +535, 4607548241749347055 +536, 4611302507266314629 +537, 4607334076415859573 +538, 4610759794541675536 +539, 4611562195466283509 +540, 4608064277646826273 +541, 4611362206697199696 +542, 4611267027417975453 +543, 4609817290222129321 +544, 4610075404291128380 +545, 4609555606129743990 +546, 4607220569899493231 +547, 4611584841957177930 +548, 4609037839026191075 +549, 4611594336803497113 +550, 4607225960438616513 +551, 4609362154617705500 +552, 4609887291423254556 +553, 4608541390551696577 +554, 4608696812349818364 +555, 4608371224718817057 +556, 4610715234165102256 +557, 4607906422122850842 +558, 4610831254800690212 +559, 4607810400373332275 +560, 4608705747590604299 +561, 4608938946760670556 +562, 4610310158116436046 +563, 4610355131502528018 +564, 4609768625905121586 +565, 4610143261296345738 +566, 4611431373682787281 +567, 4608146686998001641 +568, 4609198539721817636 +569, 4608916158230506393 +570, 4607654288747635129 +571, 4611682519183492769 +572, 4607197631212679817 +573, 4607299807028695407 +574, 4609116180622479613 +575, 4611019095836572557 +576, 4608581189094026112 +577, 4607488328508280547 +578, 4608587490233232612 +579, 4607245708447615950 +580, 4607189799494915135 +581, 4609348574263949313 +582, 4608021918670812153 +583, 4608172706554967110 +584, 4608811025395016288 +585, 4609364751750743520 +586, 4607844470980185823 +587, 4609405096277516268 +588, 4607748139765213490 +589, 4608512257043070004 +590, 4609962195184017357 +591, 4608461665680660962 +592, 4611127630212845842 +593, 4609686172238940069 +594, 4608777755231651430 +595, 4608284543534209439 +596, 4610868067515254496 +597, 4611535716997037852 +598, 4611319738221220860 +599, 4608658969391651641 +600, 4609452813595548756 +601, 4610236109831493974 +602, 4609938178451088584 +603, 4610331640367617101 +604, 4610901433958649983 +605, 4609766058585980491 +606, 4609222434831315585 +607, 4609778306904942608 +608, 4609448207660443683 +609, 4611299794046339746 +610, 4607801595505703392 +611, 4609594326292439532 +612, 4607668862605395543 +613, 4608245023900457864 +614, 4610578512588843180 +615, 4608185699959219467 +616, 4610904181340375013 +617, 4610647304739305074 +618, 4609795287579987586 +619, 4607960349041110093 +620, 4607703003215776639 +621, 4609403905570407605 +622, 4611233143041131400 +623, 4610530479829073842 +624, 4610679919769197229 +625, 4611448708224350289 +626, 4611445633822299312 +627, 4610496480556319861 +628, 4609555553457224207 +629, 4607626163577357218 +630, 4608595404165123581 +631, 4610510352711119715 +632, 4610203134139830798 +633, 4607550008954478579 +634, 4611603434572420257 +635, 4609780364056746558 +636, 4607295948877799964 +637, 4609867047995237092 +638, 4607936708021896797 +639, 4608897965423418533 +640, 4611287469240086203 +641, 4608515945123070881 +642, 4609851530250371283 +643, 4607577382199018499 +644, 4607744147814966969 +645, 4607260472041943130 +646, 4610683962948666275 +647, 4609625943316701593 +648, 4607251851603159602 +649, 4608016163551470839 +650, 4607202891515091580 +651, 4609099272171658208 +652, 4608510662830783836 +653, 4607744672536335386 +654, 4608142194450948613 +655, 4609476103099505412 +656, 4611399217441119768 +657, 4611495773005281088 +658, 4608815211248586470 +659, 4607337589064315457 +660, 4611394644152964336 +661, 4610812001439064700 +662, 4610702350009793284 +663, 4611075442411386625 +664, 4611077060876180663 +665, 4608164209437610624 +666, 4611368259599962784 +667, 4608333197470863467 +668, 4607183015995911227 +669, 4607199710185468635 +670, 4609413972037912933 +671, 4609234714230829818 +672, 4607739028685645905 +673, 4608232319438231981 +674, 4609333542787352994 +675, 4607657722219109388 +676, 4609193924059916664 +677, 4611141187805060655 +678, 4611068281150742947 +679, 4610549552759132313 +680, 4610085533805630329 +681, 4607232810679281805 +682, 4608493447592041083 +683, 4607355443052807819 +684, 4608410340438808883 +685, 4610315775824782427 +686, 4610312241247357403 +687, 4611287815156776852 +688, 4608076401857758978 +689, 4607457081882300105 +690, 4610908420357480199 +691, 4609797527119137644 +692, 4607351051017728429 +693, 4607618982820305008 +694, 4609846699151054310 +695, 4609389871379854176 +696, 4611243148153910479 +697, 4609270449294231868 +698, 4610832482336321517 +699, 4608101914557495685 +700, 4609128450704503077 +701, 4607351438344234793 +702, 4610010340063776057 +703, 4608461610523881117 +704, 4607869099658377415 +705, 4611211613048598168 +706, 4611196065771110369 +707, 4610515053922650643 +708, 4610096469861694516 +709, 4610477093507778048 +710, 4611547661480689243 +711, 4608438911039690892 +712, 4611311311815318674 +713, 4609279386396407118 +714, 4608222142760880731 +715, 4611613394716251191 +716, 4607603661150022989 +717, 4610135239835120022 +718, 4610929039427992532 +719, 4610757208246529003 +720, 4610920496514785256 +721, 4607326205191641070 +722, 4607938491595237155 +723, 4608585902537439220 +724, 4609326104534891368 +725, 4609325776820376036 +726, 4609693740995539995 +727, 4611329366056096595 +728, 4609303022615335557 +729, 4611512548552170265 +730, 4610404528899365728 +731, 4608023620660481005 +732, 4609431135637339890 +733, 4610767321626117704 +734, 4611106580332635792 +735, 4607433026987401919 +736, 4609580917376189588 +737, 4608816125719706388 +738, 4608380327649573838 +739, 4608700977565012592 +740, 4609148128564608995 +741, 4609631585490496912 +742, 4610745913090661333 +743, 4607498234984630394 +744, 4608367220496728902 +745, 4608365876885021447 +746, 4611537321062599251 +747, 4611238252705917535 +748, 4607525503355262497 +749, 4610601812175940986 +750, 4610145907668011789 +751, 4610384184669464682 +752, 4610699305276533889 +753, 4611440399153628650 +754, 4607963045023571960 +755, 4611498554915678298 +756, 4609015832347581911 +757, 4610795942139040060 +758, 4608894432143218464 +759, 4609704019108678046 +760, 4608168143636007672 +761, 4609566697927636482 +762, 4608690694207868944 +763, 4607746195488024521 +764, 4608350743731006452 +765, 4608442252024570087 +766, 4608428784099249674 +767, 4608941009071857822 +768, 4609298165329524240 +769, 4610447927377989769 +770, 4608304643580688447 +771, 4611265394576506233 +772, 4611210499769545678 +773, 4610114198739241967 +774, 4610653279632780678 +775, 4609515286518383576 +776, 4607984314013723903 +777, 4611541983726033367 +778, 4611393756437132236 +779, 4608968117844197920 +780, 4609367443784351367 +781, 4609488775108334110 +782, 4607529648757616057 +783, 4610676930934349350 +784, 4607750265025461672 +785, 4610373465791644318 +786, 4609305678766837551 +787, 4608947449753189724 +788, 4610366767677719066 +789, 4610439177886004542 +790, 4611242968978180676 +791, 4609370292455902521 +792, 4607754584885122450 +793, 4611224375496789735 +794, 4608921239858925416 +795, 4609513753577022933 +796, 4608075523570985167 +797, 4608608957047081948 +798, 4611273688846153770 +799, 4608394757574873003 +800, 4610377036529664140 +801, 4608600356910393592 +802, 4609667431524003711 +803, 4608601585637259149 +804, 4611533564639785432 +805, 4607510309835958191 +806, 4609651505654903275 +807, 4608166496451053374 +808, 4609515171183335141 +809, 4609776525693204395 +810, 4607696284598399608 +811, 4608607508956363891 +812, 4609695267960623947 +813, 4607576367302408137 +814, 4608741052307396862 +815, 4611095472713646530 +816, 4610161900255157770 +817, 4609145054582502965 +818, 4607410140376051944 +819, 4608126518935915215 +820, 4608269617716261203 +821, 4609477491264110038 +822, 4607463147955504958 +823, 4608999294660391637 +824, 4608694924732427850 +825, 4611156031005634796 +826, 4608453663346634965 +827, 4611380857524502488 +828, 4611362793875369801 +829, 4611632478058955853 +830, 4609434664425350531 +831, 4607606564530411276 +832, 4607391976443208678 +833, 4607762558563019180 +834, 4608554249145639939 +835, 4607806692993216225 +836, 4609510831152869655 +837, 4608164624489904634 +838, 4608455009317767175 +839, 4607280108540066925 +840, 4610080527249430824 +841, 4608840198094196329 +842, 4608916984669714190 +843, 4609771655387294402 +844, 4611351501375292078 +845, 4610356649846014183 +846, 4609861702465798084 +847, 4609335612683847594 +848, 4608963836668425606 +849, 4611448716653608808 +850, 4611618237088472583 +851, 4607650248665393412 +852, 4609477068480641193 +853, 4611408250260317487 +854, 4607799702152927524 +855, 4608984567553844241 +856, 4608966215304179278 +857, 4607599007502108199 +858, 4611197470586031919 +859, 4607738821906038713 +860, 4610174343711771016 +861, 4609411396159113704 +862, 4610528341790372072 +863, 4610621185894682737 +864, 4611164850264296206 +865, 4607500722733965482 +866, 4608747074062289526 +867, 4609587390330409056 +868, 4608013778287410191 +869, 4609438917309909895 +870, 4611359511257377419 +871, 4611161903145694224 +872, 4609908825458581349 +873, 4609974364203149964 +874, 4608056454984693014 +875, 4607485841556578933 +876, 4607689636557505920 +877, 4607225026099434704 +878, 4608918180817633858 +879, 4607389899324828547 +880, 4609528891100730648 +881, 4609347474444270651 +882, 4610604256334495724 +883, 4607717534965049292 +884, 4607416814400338843 +885, 4609568365470566179 +886, 4609490489177847460 +887, 4609959177607409888 +888, 4608249931585238164 +889, 4608374394377617948 +890, 4609359264913370700 +891, 4610789661266619275 +892, 4607881230950036624 +893, 4608163786355022310 +894, 4608830462616805753 +895, 4609531962596587483 +896, 4610555549279318514 +897, 4610008765530009024 +898, 4609509527271380682 +899, 4608445793235798406 +900, 4608895922045956617 +901, 4611496044586314375 +902, 4609855938206283389 +903, 4610584515201059904 +904, 4608185787632733541 +905, 4609925998848840417 +906, 4609746471060930910 +907, 4608322802169846228 +908, 4611668609080045996 +909, 4610918346613262546 +910, 4607487495258046096 +911, 4610091716845110326 +912, 4611060358092721143 +913, 4610617258787020006 +914, 4607968616643301279 +915, 4607216453440634248 +916, 4607683961727519867 +917, 4610192441377241514 +918, 4611340079503032986 +919, 4607737818907905432 +920, 4608040273267030617 +921, 4609075420363483026 +922, 4610025209467938351 +923, 4608669897432477872 +924, 4608611467736828996 +925, 4610963769428151250 +926, 4611230933830803123 +927, 4609892039139108424 +928, 4608322827835753071 +929, 4608048405227745232 +930, 4611336950552458383 +931, 4609990562309176924 +932, 4608539034786829718 +933, 4609715165139430182 +934, 4608805499266985258 +935, 4607728070995330274 +936, 4608780877909747196 +937, 4607569412899178661 +938, 4607268788340312926 +939, 4608510300788384404 +940, 4609202712081615466 +941, 4609583146251705462 +942, 4610981698790205568 +943, 4607925526524476327 +944, 4607793604049723576 +945, 4610915422726587727 +946, 4607690153123448022 +947, 4610957908781080072 +948, 4609688199240625930 +949, 4609195637372175715 +950, 4607455193109906152 +951, 4607614996131060051 +952, 4607821739007708428 +953, 4611432473374206640 +954, 4609331676904204846 +955, 4607810059335115947 +956, 4611077768988065423 +957, 4611510065592294343 +958, 4608753144000455824 +959, 4610618261702230984 +960, 4609478955747078670 +961, 4608250680894683660 +962, 4611056070648131063 +963, 4607756102257795122 +964, 4610370838903190290 +965, 4611412764774525666 +966, 4609100881666906368 +967, 4610119679924928715 +968, 4609686905253473358 +969, 4608711239949443984 +970, 4607839187561408271 +971, 4609413459785445169 +972, 4609209994304368132 +973, 4609118705149046785 +974, 4607291458128247233 +975, 4611161411572838996 +976, 4610256654040673624 +977, 4608882855825268963 +978, 4609049328169514708 +979, 4609651814435298462 +980, 4609304465056789103 +981, 4607682759379096849 +982, 4609946393233090661 +983, 4609946524554590950 +984, 4610880973039636436 +985, 4607217356662986962 +986, 4608230276563898969 +987, 4610664933477117472 +988, 4607562227262100270 +989, 4610133121835039282 +990, 4609071027656845298 +991, 4610444138469204749 +992, 4607185460608050805 +993, 4609895459462574326 +994, 4610016322490782234 +995, 4609380549113996677 +996, 4609371524623560982 +997, 4610108153607631096 +998, 4607489006177078361 +999, 4607632190656691768 diff --git a/numpy/random/tests/data/mt19937-testset-1.csv b/numpy/random/tests/data/mt19937-testset-1.csv new file mode 100644 index 000000000..3d4995840 --- /dev/null +++ b/numpy/random/tests/data/mt19937-testset-1.csv @@ -0,0 +1,1001 @@ +seed, 0xdeadbeaf +0, 0xca6b2fb1 +1, 0x3fa2a974 +2, 0xc12788fe +3, 0x27c9b64d +4, 0xabea28ce +5, 0x540ac30f +6, 0xb239d7be +7, 0x440e5156 +8, 0xc65c133c +9, 0x7333c5fa +10, 0x8292807d +11, 0x459bdab6 +12, 0x4f9f1306 +13, 0xe261f5f7 +14, 0xdb8b69 +15, 0xdf65ed00 +16, 0x5fc8bb71 +17, 0x35a46ece +18, 0x6344e7ce +19, 0xd4c1c08b +20, 0xb88c9bf1 +21, 0x72292bb3 +22, 0xbfb6a51f +23, 0xbb2ab6f +24, 0x9378d4f3 +25, 0x85bc696 +26, 0x1fa92b2a +27, 0x5816122 +28, 0x54e84469 +29, 0x8cdbea8c +30, 0xefa62749 +31, 0x7b13a32e +32, 0xe0c88cc3 +33, 0x238fba9f +34, 0xbee28cb4 +35, 0xc4a2bbe1 +36, 0x8ebb893f +37, 0x53333007 +38, 0x42c59297 +39, 0x507542da +40, 0x4c89a1d9 +41, 0x28cd06c0 +42, 0x63b1b8ff +43, 0x890947ca +44, 0x73996302 +45, 0x7b9afff +46, 0x3d6cf3a2 +47, 0x2d8cf12c +48, 0x1915a047 +49, 0x2e9f42a2 +50, 0xe1d7ea8 +51, 0x8ce9eb49 +52, 0x452706b0 +53, 0x1495dda9 +54, 0x62339095 +55, 0x1fb22d23 +56, 0x6f68cf26 +57, 0x905f8cc4 +58, 0xde25d38f +59, 0xf4f3efa2 +60, 0x8b60b406 +61, 0xecf051fb +62, 0x287a9210 +63, 0x96e96fb +64, 0xb60dd795 +65, 0x305f4bb5 +66, 0xfe838ef2 +67, 0x40671f78 +68, 0xa1cfdcb3 +69, 0xa06c0c2d +70, 0xbcbce0a0 +71, 0x6485453c +72, 0xd6d9e7b5 +73, 0xeac233ef +74, 0xb2a276b4 +75, 0xb5b97ad1 +76, 0x87bc49da +77, 0x1036f82b +78, 0x1e6fc3df +79, 0x87afcd40 +80, 0xe827dc29 +81, 0x16d11b25 +82, 0xe0c549ba +83, 0x427b8a +84, 0x346fa564 +85, 0x5449ea5c +86, 0x511199c6 +87, 0x5ccf41ab +88, 0x9a8a0bbc +89, 0x77f12026 +90, 0x4c9b8ad3 +91, 0xead800a7 +92, 0x80c8a86b +93, 0x3c84c630 +94, 0x19a6c752 +95, 0xc9187482 +96, 0x7eb43f2f +97, 0x89f4fdeb +98, 0x14db06ce +99, 0xcbdc6e25 +100, 0x43ac775 +101, 0xbd730a54 +102, 0xf722dcaa +103, 0x41768d48 +104, 0x20992130 +105, 0xe9973805 +106, 0x61d15976 +107, 0x94c478c8 +108, 0x2b743992 +109, 0xf6fff8fa +110, 0xaac859b1 +111, 0xf03d49ec +112, 0x620dc61 +113, 0x4ce7143c +114, 0x6b85f7cc +115, 0x5fa31164 +116, 0xa284fa6a +117, 0x8714fcfe +118, 0x5d7713ff +119, 0x423c4261 +120, 0x78897296 +121, 0x84281814 +122, 0xec3f65c5 +123, 0xa3922399 +124, 0x7465ebf7 +125, 0x5e794eae +126, 0xaca415d0 +127, 0x277cf6ea +128, 0x248357fa +129, 0xefabaa92 +130, 0x57982e83 +131, 0xb1d764c +132, 0x7c945b58 +133, 0xfd684cf6 +134, 0xeac7a06d +135, 0x367835e0 +136, 0x1a5d6883 +137, 0xf900c7da +138, 0xe3571db7 +139, 0x9d6834db +140, 0xbba4a672 +141, 0x4cd219a3 +142, 0x58c4197e +143, 0x4b037cf4 +144, 0x357acf28 +145, 0x284d7c27 +146, 0x8d0c4569 +147, 0x6ed031f +148, 0xd43e8a5f +149, 0x9cef208b +150, 0x189ea68b +151, 0xf7dad179 +152, 0x5e562f3d +153, 0x322b1e73 +154, 0x3a328762 +155, 0xc4078884 +156, 0x20798ff2 +157, 0xbcfbf409 +158, 0xeb6d471 +159, 0x8a0cba0d +160, 0x53726e18 +161, 0x22b38033 +162, 0xa321a604 +163, 0xf40c90a3 +164, 0x755bb1d3 +165, 0x2832a2a8 +166, 0xfffce275 +167, 0x3afdb520 +168, 0x98d8f18d +169, 0x7a4183b4 +170, 0x69a43d75 +171, 0xd631a4ef +172, 0x2aec3183 +173, 0x60767685 +174, 0x214e1dfd +175, 0x9f14f54d +176, 0xfde4f2bc +177, 0x60a7d47b +178, 0xeaece219 +179, 0xd634f4a0 +180, 0x80ad6fab +181, 0xbe1a53d2 +182, 0xf9a527a4 +183, 0xfdf0ac75 +184, 0x924f54f +185, 0xf99626ee +186, 0xcf7140d3 +187, 0xc8169d5d +188, 0xeb43d58d +189, 0x4b44ace +190, 0xb44ecabe +191, 0x613d8bdf +192, 0x65e3c025 +193, 0x2e324718 +194, 0x9dba63bc +195, 0x8e01c6d2 +196, 0x34800136 +197, 0xc2b01a3 +198, 0x59a182fa +199, 0xf834c79f +200, 0x20e41a8d +201, 0x94079cae +202, 0xcafb9877 +203, 0x87a4b067 +204, 0xa89f22a7 +205, 0xa2932911 +206, 0x580f0787 +207, 0xe4ca48c5 +208, 0x65c9677a +209, 0x37a7ae16 +210, 0xb978422c +211, 0x565bef70 +212, 0xbd7e6dc4 +213, 0xe4ebe924 +214, 0x4a789e96 +215, 0x99520b24 +216, 0xebad792e +217, 0x5d28630a +218, 0x4b33a5bb +219, 0x5a5dedda +220, 0x7ce8d5e +221, 0xa6cdd3a9 +222, 0xb2bcef6a +223, 0x13a8db8c +224, 0x61791eb4 +225, 0xb71e2381 +226, 0xb80dbbcf +227, 0x4d82b92f +228, 0x4f655a9b +229, 0x7748a0a9 +230, 0x508f7c48 +231, 0xd0713d9b +232, 0x3f48b380 +233, 0xd71d7c16 +234, 0x1f8ccd28 +235, 0xebcb920 +236, 0x2f5f4540 +237, 0xb9f69275 +238, 0x6dd968b4 +239, 0x417759f7 +240, 0x7a73257d +241, 0x154ecc84 +242, 0x12f280ce +243, 0x8391eb4b +244, 0xd76d638d +245, 0xf6c44241 +246, 0x8b137d48 +247, 0x71fb30ef +248, 0xe738bba6 +249, 0x28f9bbac +250, 0x46b0dcfe +251, 0x933856e8 +252, 0xad21fdbb +253, 0x5706c9d +254, 0x254b3ce +255, 0xc95fa489 +256, 0x4cc8fd61 +257, 0x9f6d990f +258, 0x3ed84328 +259, 0xfb1251c7 +260, 0x1da78081 +261, 0x2592d895 +262, 0x5c8396cf +263, 0x47fa1df +264, 0x94526768 +265, 0xa41e6fb4 +266, 0x97d47f9a +267, 0x35a56c1f +268, 0xc7af497e +269, 0x906dbbfc +270, 0x861e3287 +271, 0xe91e3387 +272, 0x5b08570d +273, 0x69574f7c +274, 0x32ccf53 +275, 0xf6a6bee3 +276, 0x373d970f +277, 0xaa780838 +278, 0x309d4cc9 +279, 0x58ec672f +280, 0x47cb0305 +281, 0xd4809ac9 +282, 0x138a774d +283, 0x82fa852b +284, 0x53bbd107 +285, 0x1512b55d +286, 0x6d53592c +287, 0x92b7ab58 +288, 0x6654f430 +289, 0xe11837f3 +290, 0x4538410d +291, 0xa2101ede +292, 0x93c2435e +293, 0x5e91b4e4 +294, 0x8f16260 +295, 0x3e64fed1 +296, 0x267fc0f9 +297, 0x3d3ecd37 +298, 0xc4352f2d +299, 0x2170164d +300, 0x3fc50df +301, 0x2c9313dc +302, 0xe69e1950 +303, 0xf834dec1 +304, 0x598d6cb1 +305, 0x79b36360 +306, 0x5d49f11a +307, 0x2ab7af4b +308, 0xf80cc125 +309, 0x824e4b68 +310, 0x36800a00 +311, 0x39186f93 +312, 0x84e177fd +313, 0xe6a40078 +314, 0x86f11e7a +315, 0xa1e79fe1 +316, 0x19fc66f9 +317, 0xb3a2dfb4 +318, 0x88e8091f +319, 0x37dce87d +320, 0xd54b5bc1 +321, 0x323e0c83 +322, 0x1c3d9868 +323, 0x14096d96 +324, 0xe5fbfe55 +325, 0x330004c2 +326, 0x8991d8f +327, 0x934ba7db +328, 0x828aea71 +329, 0xaa955f4d +330, 0xb9097b03 +331, 0xdb924c7c +332, 0xc0fd3c77 +333, 0x6571bc9e +334, 0x3f89462f +335, 0x30ec5ce9 +336, 0xd5083782 +337, 0x68f7c4cc +338, 0x4fd9cbe6 +339, 0xbcf08518 +340, 0xeebb9016 +341, 0xadaf6dbe +342, 0x5aadbf38 +343, 0x5b52ba6c +344, 0x6f31bd06 +345, 0x76b03446 +346, 0xec383171 +347, 0xe5547138 +348, 0x8c87998a +349, 0x1c166e4 +350, 0xd73c5950 +351, 0xa257e0fd +352, 0x9f042772 +353, 0x7b26801e +354, 0x16bce15d +355, 0xb1b3b033 +356, 0x12fc256e +357, 0x8426ed90 +358, 0x16dc30d0 +359, 0x3e003f97 +360, 0x22bf7feb +361, 0x12941766 +362, 0x4da7a3e3 +363, 0x4e4e9900 +364, 0xc2a6efe8 +365, 0x16522570 +366, 0xc49fd435 +367, 0xfc8137a5 +368, 0xe595897e +369, 0xf9dcef1b +370, 0xabdef12a +371, 0x4ebe25f0 +372, 0x86f58fdd +373, 0x46cac45a +374, 0xe430ec3a +375, 0xfd6e6a04 +376, 0xeacffe64 +377, 0xe026aa7f +378, 0xdaf0b65b +379, 0xc0b72e68 +380, 0x63c1dd42 +381, 0x18ec01ec +382, 0x18678c16 +383, 0x2cbbbcc5 +384, 0x457872b4 +385, 0x937347d4 +386, 0x6bdf0813 +387, 0xc6e572de +388, 0x9e0c6f94 +389, 0x45225c3b +390, 0x6fe099ce +391, 0x73b82a0f +392, 0x27203a8e +393, 0xc402180c +394, 0x3b26ea4d +395, 0x852b4444 +396, 0xa6b9a99e +397, 0xecb23332 +398, 0x27fff68a +399, 0x234a59a3 +400, 0xd8a13a6c +401, 0x9e4e99a +402, 0xd4500a99 +403, 0x97822d54 +404, 0x1747949e +405, 0x79b82e14 +406, 0xe907796e +407, 0x2b4bd2ce +408, 0x242b9adf +409, 0xc6979922 +410, 0xa122e4c9 +411, 0x45289a38 +412, 0xa123f35d +413, 0x4464993d +414, 0x89a70091 +415, 0x29f6e129 +416, 0xa2bc559b +417, 0x7b9d89c9 +418, 0x74969534 +419, 0x97fdef8c +420, 0xff09ac83 +421, 0x8a8e913f +422, 0xcfb04bba +423, 0x4ae8ce80 +424, 0x5113f1b6 +425, 0x5e8cfda0 +426, 0x1c3b5e35 +427, 0xeab9562c +428, 0x18a11b6e +429, 0x2f8a0ac1 +430, 0xd564482f +431, 0x772b6c44 +432, 0x27937ce5 +433, 0x202aa930 +434, 0x1a6fb83a +435, 0x3514c661 +436, 0x8c6d26b2 +437, 0x62ce4154 +438, 0x86a82cf2 +439, 0x8a73e17f +440, 0xd7798e07 +441, 0xbd83717d +442, 0x886b880b +443, 0xf7ff35c6 +444, 0x3357dc52 +445, 0x3266f4f8 +446, 0x384ad1fb +447, 0xb34e4e06 +448, 0xfbe250d8 +449, 0xd3d37e83 +450, 0x862b1b12 +451, 0x839a3f7 +452, 0xb22afe3a +453, 0x851d430d +454, 0x514d7503 +455, 0xf8bb3e8 +456, 0x4acdb849 +457, 0xcdd0ace0 +458, 0x6f6b6638 +459, 0x37a6e0ef +460, 0x3e55d305 +461, 0x9ac94ea4 +462, 0x34d82789 +463, 0x1e50a54b +464, 0x12eca710 +465, 0x7813b899 +466, 0x7d56587 +467, 0xa0daf18d +468, 0x461f0a88 +469, 0xc38a68a8 +470, 0xb61e025f +471, 0x9c27611e +472, 0x21a055c9 +473, 0x5f2545d9 +474, 0x981e0107 +475, 0x3f651b42 +476, 0x72b8aece +477, 0x84b09757 +478, 0x3ce97c5 +479, 0x4ebc1ac2 +480, 0x395c23d +481, 0x7c87b77d +482, 0xa5a5b68 +483, 0x5b8a13a8 +484, 0xe5e6f965 +485, 0xf47c69d0 +486, 0x8a7bd38a +487, 0x59a94533 +488, 0xb506fe84 +489, 0x8d96d007 +490, 0x4052151e +491, 0xcaf48e44 +492, 0x2889548b +493, 0x4262fe1e +494, 0x93e43134 +495, 0xb585fdf2 +496, 0x3339e66a +497, 0xe530ee9e +498, 0xa2987fae +499, 0x977205c +500, 0xbfece4e0 +501, 0xf9c925bb +502, 0x999b687b +503, 0x35a166ed +504, 0xe9eba709 +505, 0x40827685 +506, 0xa301a157 +507, 0x18f6e790 +508, 0x8148659f +509, 0x1896e693 +510, 0x90cc1b28 +511, 0x4189c62e +512, 0xda765fdc +513, 0xd219eb8f +514, 0xfac2dd2e +515, 0xef5a48f5 +516, 0xe16f0fe +517, 0x341cba94 +518, 0x69d6e865 +519, 0xaa36eeb8 +520, 0xcfb99f18 +521, 0x8bb61595 +522, 0xa8c2123b +523, 0x3c9310e8 +524, 0x1ee33b4 +525, 0x70c4ca87 +526, 0x1fe3babc +527, 0x7e1a697d +528, 0xf950c974 +529, 0x62c4350f +530, 0xdf4b4b4c +531, 0xb3c8c87f +532, 0xf406b1b9 +533, 0x5b53d2a3 +534, 0x283606bf +535, 0xdf1dc8a8 +536, 0xdaf05fe +537, 0x6bd95a2c +538, 0xa40ffa04 +539, 0xc59ffac5 +540, 0x333bbaa2 +541, 0xa2e970e9 +542, 0x8686876e +543, 0xe7eff30f +544, 0xce8349c5 +545, 0xfb32eef3 +546, 0x692e678 +547, 0xb22eef64 +548, 0x32309c10 +549, 0xd28593bc +550, 0x1055cd1a +551, 0xeec5e7a4 +552, 0x9b15bd7f +553, 0x62068ffb +554, 0x35d431e6 +555, 0x6f795d99 +556, 0x5a583e83 +557, 0x940f9322 +558, 0xbb6392db +559, 0x9133e1be +560, 0x4ba22917 +561, 0x3d98a18d +562, 0xd7aa3d1a +563, 0xdd912a6 +564, 0x99265a2b +565, 0x7d2e4e3f +566, 0x9cfc42f3 +567, 0xad2be67e +568, 0xed7ef841 +569, 0xb1d3b8b4 +570, 0xa56b36f8 +571, 0xe2ef74e0 +572, 0xdf0ef0d9 +573, 0xfd944a1a +574, 0x8dbaa48 +575, 0x7842914 +576, 0x316243c2 +577, 0x2e4c5f54 +578, 0xb86e001a +579, 0x46546448 +580, 0x9643c3d6 +581, 0xbdf7d2da +582, 0xc4e703cb +583, 0x4a45fbad +584, 0xa6375deb +585, 0xa9fc789a +586, 0xc0d075d4 +587, 0xe1824e00 +588, 0xdb54581 +589, 0x645bd158 +590, 0x2044aaa9 +591, 0x706ab8db +592, 0x35151344 +593, 0x2ef15d18 +594, 0xf48d0690 +595, 0x5c23ba6c +596, 0x565c730e +597, 0xc8ed50ad +598, 0xbc6d554e +599, 0x37a911d2 +600, 0x865dc33b +601, 0xfb9ab637 +602, 0x453dcafe +603, 0x7889820c +604, 0xb9f6ef68 +605, 0x7815d4a0 +606, 0xe97080ad +607, 0xbbef816a +608, 0x52d9c2b8 +609, 0x15ea5696 +610, 0x3a83f72f +611, 0xa1378189 +612, 0x892d5668 +613, 0x919e54b4 +614, 0xdb28c6f5 +615, 0xdf6cdf84 +616, 0x8f8f8a52 +617, 0xb3ee2710 +618, 0x9ece78ae +619, 0xe60ffbb4 +620, 0x1e7646ac +621, 0x1682946d +622, 0xd4a252d0 +623, 0xcbc981de +624, 0x5261bf81 +625, 0xa33cd368 +626, 0x98e9e554 +627, 0xa14efd44 +628, 0xcd777d9 +629, 0x8ee578e5 +630, 0x169fcd30 +631, 0x46964c36 +632, 0x49415678 +633, 0xfbc239f3 +634, 0xe00071f4 +635, 0x5a4c1d76 +636, 0xa753cb6d +637, 0x6327b16e +638, 0xb38c5ebd +639, 0x8185adf5 +640, 0xb1cfdc44 +641, 0xaffdc601 +642, 0x46559995 +643, 0xf739bbda +644, 0x950a90f9 +645, 0x779bec0e +646, 0x55791e65 +647, 0xfd94fd72 +648, 0x982b57d6 +649, 0x935efae1 +650, 0x18707a87 +651, 0x5123add3 +652, 0x54b8a239 +653, 0xff5a40bd +654, 0x63ead20d +655, 0x125e8aa0 +656, 0xbae0eba5 +657, 0xc9238af1 +658, 0x3767fc3a +659, 0xc3df41b7 +660, 0xdc53148b +661, 0xd2fb97c5 +662, 0xf8c89afc +663, 0xbb6deecf +664, 0xbcc6ec6f +665, 0xc7931d3c +666, 0x9f40e3be +667, 0x4d966e4e +668, 0xf369918f +669, 0x43c3d8dd +670, 0x305248ca +671, 0xb6b52eab +672, 0x97aa1849 +673, 0x840729bf +674, 0x4cb6e57 +675, 0xa7d59069 +676, 0x1a9a8197 +677, 0xf584e7b5 +678, 0x699c6a70 +679, 0x189b83e8 +680, 0x49f4b09e +681, 0xe726ab1a +682, 0x243775c8 +683, 0x8220f49d +684, 0x6edba081 +685, 0x2fbd3b8a +686, 0x34818276 +687, 0x81bbd13c +688, 0xf30e9f84 +689, 0x2b75ac4b +690, 0xfe66b7ff +691, 0x178b6c29 +692, 0x89ff4e30 +693, 0xc047a72d +694, 0x87977310 +695, 0xa91bf888 +696, 0xf2abc0c6 +697, 0x8547f3ce +698, 0xe78699e9 +699, 0x7c715be7 +700, 0x715aec9c +701, 0x260708ea +702, 0x4bf72dba +703, 0x19134f34 +704, 0xcefe0ecc +705, 0xb74397aa +706, 0x8e48750 +707, 0xb4c2d35e +708, 0x76d81bcd +709, 0x9788da5d +710, 0x234182d6 +711, 0x7efb59e4 +712, 0x15656eb2 +713, 0x2b2ebf2c +714, 0x4d44ac09 +715, 0x57cb6312 +716, 0xe5facad4 +717, 0x6f2dda2 +718, 0x1ace7d61 +719, 0x703ca72e +720, 0x88481396 +721, 0x7235f4bc +722, 0x30921317 +723, 0xd0575405 +724, 0x7c96cf3a +725, 0xabf955c7 +726, 0x27ecd579 +727, 0xfc70f045 +728, 0x68a835b +729, 0x73bc67ba +730, 0x84fd3806 +731, 0x8e08d696 +732, 0x5454e052 +733, 0x1e2dd75d +734, 0xc7903278 +735, 0x50ddb207 +736, 0xcf7431a9 +737, 0x5e2db746 +738, 0x817e811c +739, 0x56c11bf +740, 0xe6f5e4e9 +741, 0x97816caf +742, 0x7abaa833 +743, 0x7d7d777e +744, 0x62d02361 +745, 0x162b687f +746, 0x1360b813 +747, 0xe1c25671 +748, 0x19cd787 +749, 0x9321cab6 +750, 0x799dc638 +751, 0x1b49aef0 +752, 0x6ebd59a5 +753, 0x173cdc79 +754, 0x77e4d187 +755, 0x21803577 +756, 0xa75154bc +757, 0xd92067f1 +758, 0xfcbbda1c +759, 0x713722ff +760, 0xb95dedf +761, 0x10c217fa +762, 0xb166163 +763, 0x39a49d38 +764, 0x4a5f52c6 +765, 0xba172c1 +766, 0x471eb536 +767, 0x9dec38e5 +768, 0x14d3b53 +769, 0x5c588a4c +770, 0xe1a85acc +771, 0x78a5baad +772, 0xd6f90a59 +773, 0xe8d371f7 +774, 0x931890ae +775, 0xea3e4b0e +776, 0xd63407ac +777, 0xf797c99d +778, 0x48da86e8 +779, 0xe23019c0 +780, 0xa70bebaa +781, 0xa49dde13 +782, 0x3f242449 +783, 0x1eddf689 +784, 0xad0e89a4 +785, 0x32e046dd +786, 0x572feee9 +787, 0xfe8cd35e +788, 0x361ade3f +789, 0x2781da1c +790, 0x7fe09627 +791, 0x9a81a896 +792, 0xb52dfbad +793, 0x862b12c8 +794, 0xd0dc9c3b +795, 0x410e82c1 +796, 0x20d95af3 +797, 0x17357938 +798, 0xd1f2e42a +799, 0x99efd6c3 +800, 0x2dae59f4 +801, 0x51702dba +802, 0xa020dc62 +803, 0xd71ebd9d +804, 0x9c498db6 +805, 0xc50017ae +806, 0x4f944ffc +807, 0xe9a8e62f +808, 0xac490f79 +809, 0xc816d8b0 +810, 0xf3770304 +811, 0x4ba63128 +812, 0x7f4be54f +813, 0xdcf19d03 +814, 0x589718c4 +815, 0xed7c3114 +816, 0x70e5d73d +817, 0xdce25620 +818, 0x411e12af +819, 0xd68dfd60 +820, 0xbd44f0e1 +821, 0xb2962c96 +822, 0x4c7fa632 +823, 0x85136387 +824, 0x41b232a4 +825, 0xdb9a8997 +826, 0xfcb5df1b +827, 0xa046c4 +828, 0x5a7e53d4 +829, 0xe214dfbf +830, 0xc0861c7d +831, 0x3087ed3 +832, 0xd70b7358 +833, 0x369a9dee +834, 0xb99e904c +835, 0x22052e4b +836, 0x9afd4d95 +837, 0xd9dbcec +838, 0x9c18c47a +839, 0x97caa173 +840, 0x6f124137 +841, 0x26db8abb +842, 0x2dfeba8f +843, 0xc9ebd4dd +844, 0x2bf6f89b +845, 0xec81549f +846, 0xee3f1ac2 +847, 0xa3bad22a +848, 0xb9597c71 +849, 0xe220adf +850, 0xa9fbfdb5 +851, 0x9d817858 +852, 0x5679190d +853, 0x216c47c0 +854, 0x6c1d0b13 +855, 0x401d2e42 +856, 0xf3ca424f +857, 0x2894625e +858, 0xa614fdd8 +859, 0xa11e427 +860, 0xbc937623 +861, 0xe684b934 +862, 0x33821e19 +863, 0xbfc008f9 +864, 0x11579cd9 +865, 0x9886df8f +866, 0x5889e2e8 +867, 0xefbba03b +868, 0x182e7d44 +869, 0x217f4e99 +870, 0x82623484 +871, 0x6bb6f662 +872, 0x49bb5fcf +873, 0xf7c8d1a9 +874, 0xea51c810 +875, 0x40ef965e +876, 0x24d4b1a3 +877, 0xe9266bbf +878, 0xfb5179a0 +879, 0x92d23fc +880, 0x8c646351 +881, 0x527608ec +882, 0xd215edf3 +883, 0x3434a6ad +884, 0x757e915e +885, 0x62ef706f +886, 0x467080bc +887, 0x2578c3b6 +888, 0xc308bc20 +889, 0x44fe744f +890, 0x50ea3915 +891, 0xeb3995d3 +892, 0xe5ee8390 +893, 0xb9c7a39f +894, 0x83ab2921 +895, 0xb194f017 +896, 0x17e00f01 +897, 0x54ca5220 +898, 0xa10e3a60 +899, 0x1426c5ca +900, 0xdd42073d +901, 0x6a7b3945 +902, 0xda2127d7 +903, 0x4b0dd400 +904, 0xd35134fd +905, 0xcfa033e8 +906, 0xcbf475f0 +907, 0xcdb92b39 +908, 0xde8c0c75 +909, 0x219d1cd7 +910, 0xd6398be +911, 0xa3eaac5f +912, 0x92898b14 +913, 0xf4c27fce +914, 0xd5f7cb82 +915, 0xc10ec953 +916, 0xa01d0f31 +917, 0xc794c9e4 +918, 0x54168123 +919, 0x723bcdf2 +920, 0x6cea1b +921, 0xdf18376a +922, 0x922a0845 +923, 0x8eda2a83 +924, 0x9b0608f +925, 0x472cbc78 +926, 0x7afdce6b +927, 0x1bfa7fdd +928, 0x5ada3d12 +929, 0x5cf41e17 +930, 0xc506060b +931, 0x7214c2ac +932, 0xc19ae321 +933, 0x9b031d30 +934, 0x4c7b88da +935, 0xd00e5d13 +936, 0xee6b59c4 +937, 0x79ddaf5b +938, 0x29cf931 +939, 0xc6fa4b96 +940, 0x874ab89b +941, 0x4abc046c +942, 0x366d693e +943, 0xd6a1758b +944, 0xd964eb41 +945, 0x7eabd20b +946, 0xf71f17ac +947, 0xdb5d8c06 +948, 0x54602ce1 +949, 0x786313f6 +950, 0xae4aea46 +951, 0xca92465b +952, 0x60047085 +953, 0x39f7dd56 +954, 0x9d1ff152 +955, 0xfdf62ba0 +956, 0xa15cf163 +957, 0xb953b33 +958, 0xc912dbb9 +959, 0x9e7f36f1 +960, 0x34c02ede +961, 0x6742f244 +962, 0xd586cf43 +963, 0xc2bf8b07 +964, 0x814f36b4 +965, 0xaef9cfbd +966, 0x1ec4b840 +967, 0x7aaaf552 +968, 0x5eab3290 +969, 0xc6f9bfdc +970, 0x7e43bf8e +971, 0x3c63bf8 +972, 0x4ce6e886 +973, 0x4b1e48ca +974, 0xff5bade3 +975, 0xdf72eca5 +976, 0x48e273a4 +977, 0x8b186129 +978, 0xcf6f6016 +979, 0x7c70ccf7 +980, 0xe82e54f8 +981, 0xcfdb9cfb +982, 0x884af787 +983, 0x839fb72d +984, 0x6f021358 +985, 0xbe27e737 +986, 0x12de7b8c +987, 0x946ce6c1 +988, 0xd95a0cee +989, 0x54adc084 +990, 0x6850d90e +991, 0x8e7e4a4a +992, 0x27e99d2c +993, 0xa966b606 +994, 0x6f9e586 +995, 0x141df137 +996, 0x80bdaf81 +997, 0xa1cd6dce +998, 0xecd7c0de +999, 0x44dc0c32 diff --git a/numpy/random/tests/data/mt19937-testset-2.csv b/numpy/random/tests/data/mt19937-testset-2.csv new file mode 100644 index 000000000..d2f6c156c --- /dev/null +++ b/numpy/random/tests/data/mt19937-testset-2.csv @@ -0,0 +1,1001 @@ +seed, 0x0 +0, 0x8c7f0aac +1, 0x97c4aa2f +2, 0xb716a675 +3, 0xd821ccc0 +4, 0x9a4eb343 +5, 0xdba252fb +6, 0x8b7d76c3 +7, 0xd8e57d67 +8, 0x6c74a409 +9, 0x9fa1ded3 +10, 0xa5595115 +11, 0x6266d6f2 +12, 0x7005b724 +13, 0x4c2b3a57 +14, 0xe44b3c46 +15, 0xe84bdd8 +16, 0xf6b29a58 +17, 0x45cccd8c +18, 0x6229393a +19, 0x7a4842c1 +20, 0xcaae7de6 +21, 0xcfea4a27 +22, 0x8765a857 +23, 0x7adfc8ae +24, 0x916b5e58 +25, 0x648d8b51 +26, 0xecf3e6a5 +27, 0xd6094219 +28, 0x122f6b4d +29, 0x565f9848 +30, 0x164e1b09 +31, 0xa5ee9794 +32, 0x52d0873 +33, 0x5e4513d0 +34, 0xd52692f3 +35, 0xf5081ec5 +36, 0xc73547fe +37, 0x23ee074f +38, 0xdeb91daf +39, 0xdebe09c0 +40, 0xfa86bb52 +41, 0x793e6063 +42, 0xcc95a7d8 +43, 0xcd087cb1 +44, 0x762382f3 +45, 0x853e031d +46, 0xc7d0c293 +47, 0xadcb0c93 +48, 0x1e473b8e +49, 0xb87b61a7 +50, 0xa3d1dd20 +51, 0x94ff3fc1 +52, 0x24b2cd09 +53, 0x89914ab9 +54, 0xf1d5d27f +55, 0xc234a220 +56, 0x8597da1f +57, 0x1b1cc2ca +58, 0x6a2748f4 +59, 0x793de097 +60, 0x43b9eaa3 +61, 0x2fb379fe +62, 0xc6342dcb +63, 0xbca6ab72 +64, 0x74c644b7 +65, 0x376fd81c +66, 0x9184e322 +67, 0x229da880 +68, 0x4cf6880 +69, 0x52fae7a4 +70, 0x9e1d5c35 +71, 0x26511785 +72, 0x9cb24e26 +73, 0x38ea0de8 +74, 0x9def62f4 +75, 0x62f0f111 +76, 0xf199794f +77, 0xe710b184 +78, 0xae8bc669 +79, 0x732fec2a +80, 0x5c08b5ba +81, 0x9cf1ba1f +82, 0x6fe15378 +83, 0xe7005101 +84, 0xb297f541 +85, 0x196a6fe7 +86, 0xf6aefa9 +87, 0xf8456839 +88, 0xaab13923 +89, 0xa7342f66 +90, 0xabaeec77 +91, 0x2bc0bb0b +92, 0x35dba1ae +93, 0x5bafdc52 +94, 0x2101505b +95, 0xc02cf780 +96, 0x50bfe98e +97, 0x9b9aca63 +98, 0x5d1c2635 +99, 0x53364b8c +100, 0x91f86a79 +101, 0x9d63faa +102, 0x70483054 +103, 0xa25fc8cb +104, 0xfd061144 +105, 0xf57db306 +106, 0x1a1f9bc4 +107, 0xa71d442f +108, 0x3578f27f +109, 0xa29337f4 +110, 0x294b9483 +111, 0xfecbf3cc +112, 0xa7321b64 +113, 0x94f424b4 +114, 0x40d7b7e8 +115, 0x6a140f4e +116, 0x7760248f +117, 0x7985c694 +118, 0x3e92ace3 +119, 0x9f9e5bba +120, 0x28b23b17 +121, 0x5687aacf +122, 0x1c418b8d +123, 0xacbc9175 +124, 0xa8053755 +125, 0x51342230 +126, 0x235ff531 +127, 0xc741a645 +128, 0x325338a9 +129, 0xf31716a3 +130, 0x5e64c5c0 +131, 0xa99b5c5f +132, 0xd22c9cc5 +133, 0x3796e5e +134, 0x18dba100 +135, 0x9f72d771 +136, 0xd6838eb2 +137, 0xac74f524 +138, 0x1899e7a2 +139, 0xf8d16330 +140, 0xf9f93f5d +141, 0xe0d14983 +142, 0x77f98662 +143, 0x8276be2a +144, 0xfa0d03cd +145, 0xe435170 +146, 0x9ad727e7 +147, 0x737f2b95 +148, 0xbd4060c9 +149, 0x51de97f +150, 0xa083600 +151, 0x7113f78a +152, 0x48660972 +153, 0xfac6322b +154, 0x1ec533ba +155, 0x5c048d7f +156, 0x4bcfd817 +157, 0x7b1bd6bb +158, 0x1e64f082 +159, 0xb04c1979 +160, 0x51675862 +161, 0xe166de3e +162, 0x6a0d23a3 +163, 0xeb117ade +164, 0x106bf87b +165, 0x3781a7c3 +166, 0xb145da52 +167, 0x90b037ae +168, 0x910ccae3 +169, 0xdd775c94 +170, 0x43f090d1 +171, 0x824bca32 +172, 0x85f3959b +173, 0xeaae5b0e +174, 0x180c7c29 +175, 0xebd0fc3a +176, 0x93713ac1 +177, 0x1546dc24 +178, 0xede65b0a +179, 0x47189056 +180, 0x518dbc2b +181, 0x2653368 +182, 0xaadb680b +183, 0xd7a3bb02 +184, 0x21bd8133 +185, 0xa5ad3450 +186, 0xb7613820 +187, 0xd76514b6 +188, 0x4a168480 +189, 0x43c55b26 +190, 0x2ee5a113 +191, 0x65d794ae +192, 0x9625b62a +193, 0x8d85b573 +194, 0x525c4b8 +195, 0x2a3989bc +196, 0xd43569e8 +197, 0x5eabbe4d +198, 0x133b91e +199, 0x257d3518 +200, 0xad85627d +201, 0x91d28302 +202, 0x451f3e03 +203, 0xb428205e +204, 0xbc35ace2 +205, 0x49d9976b +206, 0xf651fd0d +207, 0x6eebf770 +208, 0x3fae4928 +209, 0xc1903548 +210, 0x937f0c13 +211, 0x6566b25f +212, 0x97900f48 +213, 0xe562c59a +214, 0x927f19c2 +215, 0xa39054f8 +216, 0x391be0b4 +217, 0xe43ce943 +218, 0xf3e75bec +219, 0xae181f3d +220, 0x7276cf0e +221, 0x72fe9f60 +222, 0xd8ae3d04 +223, 0xfa839fc3 +224, 0xb31112ed +225, 0x1dbf688b +226, 0x4c24d3fc +227, 0xc45baa56 +228, 0xd0550dcd +229, 0x696d0b79 +230, 0x6581666d +231, 0xace9934b +232, 0xe18ffab8 +233, 0x3ff2a610 +234, 0x94ce4c98 +235, 0x502f139d +236, 0xe1b96895 +237, 0xf725846e +238, 0xb149c019 +239, 0x96a5a5d0 +240, 0xb9aa43bc +241, 0xa8e00779 +242, 0x8056cb76 +243, 0x88803475 +244, 0xf4c1e5bd +245, 0x3b043653 +246, 0xa4dc8aa1 +247, 0x65162768 +248, 0x6c81c3a0 +249, 0x9e6a3ce4 +250, 0x9b3c95fb +251, 0x7990eafb +252, 0x4e9d879 +253, 0x785a9546 +254, 0x4d3401d5 +255, 0xb750a91f +256, 0xa901220d +257, 0x49b9c747 +258, 0x4a4286b8 +259, 0x622a9498 +260, 0x9e36424f +261, 0xbfc99829 +262, 0x6dc3c912 +263, 0xe0e23e28 +264, 0x22ae6db6 +265, 0x1a5540cf +266, 0x4c5c3b0b +267, 0x17a5d0a6 +268, 0x91e9386f +269, 0x5aa2cd5d +270, 0x97436ff9 +271, 0x8d43d481 +272, 0x9306fadf +273, 0x89ba776 +274, 0xa7382b2c +275, 0xf80de0d8 +276, 0xa6f03d7d +277, 0x522ce018 +278, 0x6e717043 +279, 0x38a4abd2 +280, 0xe58413ef +281, 0x2429df03 +282, 0x5e1888ea +283, 0x18e606cc +284, 0x6f94d7e6 +285, 0xfbea3123 +286, 0xe45516d6 +287, 0x42a5b3fe +288, 0xce62babd +289, 0x897a4ec5 +290, 0xb4320ad7 +291, 0x72ab4a2b +292, 0x19a87820 +293, 0x197d5c0b +294, 0xeb633668 +295, 0x5a3118d4 +296, 0xb6d8848a +297, 0x7820b6b6 +298, 0xffb46feb +299, 0xd754f5a5 +300, 0x26423e7d +301, 0xe796fe9c +302, 0xde3d826f +303, 0x99d7de8 +304, 0x29992302 +305, 0x8220f61b +306, 0x9d954fd3 +307, 0x2ab684d9 +308, 0x1fb2aa97 +309, 0xc76fe335 +310, 0xd9171133 +311, 0xdd6c44ae +312, 0xceac7494 +313, 0x69514bb5 +314, 0x91b0961d +315, 0x23d53e43 +316, 0x683d2a23 +317, 0x8814327 +318, 0x11b4ed89 +319, 0xfb8a0849 +320, 0xb28ab129 +321, 0x5f8ffb97 +322, 0x741b5f83 +323, 0x6b8a0f2e +324, 0xb8d8a2da +325, 0xcf357b2 +326, 0xddcb3b6c +327, 0x5d912703 +328, 0xf9bbc71f +329, 0x441bb09 +330, 0xdb15ed8a +331, 0x3b11ee1b +332, 0x2ffb1ad +333, 0xc3d140c7 +334, 0x5c2785a7 +335, 0xf1b2143d +336, 0xbae0a955 +337, 0xbffff361 +338, 0x2befec2c +339, 0x56e32b22 +340, 0x8562a7a2 +341, 0x7d531458 +342, 0xde91821 +343, 0x56c7ba85 +344, 0x3332f8e8 +345, 0x2df312ff +346, 0x4bdd824 +347, 0x2bc5c700 +348, 0xcb2fc5cb +349, 0x76a4b922 +350, 0x395320c5 +351, 0xdfe4037e +352, 0x5868f7b5 +353, 0xf1b1d4fe +354, 0xed96bc50 +355, 0x9bb675be +356, 0xb4548088 +357, 0x98be68bd +358, 0x8269881 +359, 0xc89ce8d1 +360, 0x2a296570 +361, 0x8001b923 +362, 0x9f193578 +363, 0xce50d5b +364, 0x93c540a8 +365, 0xb2f81774 +366, 0x3ce68b24 +367, 0xfe0db0b0 +368, 0xef28a619 +369, 0x446b5143 +370, 0x9d2cdf67 +371, 0xadd8e1fc +372, 0x891f3b23 +373, 0xdd418c72 +374, 0x9704571e +375, 0xc037541d +376, 0xbae946f1 +377, 0xf6e8cd21 +378, 0x4fdba092 +379, 0x8de2d511 +380, 0x65f1d0dd +381, 0x365f3954 +382, 0x35b851fd +383, 0x38f20a02 +384, 0x2faa5845 +385, 0x37fff565 +386, 0xf1c2638c +387, 0x91cf922c +388, 0xbd533375 +389, 0x73bd6afd +390, 0x7d8eb542 +391, 0xf8616e6f +392, 0x3a37d85b +393, 0xae382d55 +394, 0x411d81a7 +395, 0x15d5ee27 +396, 0xedaffcb +397, 0xe716e96 +398, 0x6f35ed9e +399, 0x7ce2ee91 +400, 0x4fd1dac6 +401, 0xe18983c7 +402, 0xb2439112 +403, 0xf9f5a35c +404, 0x60b4582b +405, 0x9e1ed453 +406, 0x2dfa81b1 +407, 0x8ae13329 +408, 0x651585d +409, 0xdac7f4ae +410, 0x11374595 +411, 0xbe6bf0c9 +412, 0xadecaf59 +413, 0x7a8549f2 +414, 0x742579e0 +415, 0xad5537db +416, 0x895d4149 +417, 0x9b674e1c +418, 0xe58c3feb +419, 0xb6f660d1 +420, 0xfd86da69 +421, 0x7830f7ba +422, 0x37868f80 +423, 0x74bd5fd6 +424, 0xa9bf7e3f +425, 0xe80b0410 +426, 0x4369186a +427, 0x2320e0a4 +428, 0x549625e +429, 0x3aae1e18 +430, 0xc2251a74 +431, 0xe1af94bf +432, 0x51eca4c3 +433, 0xe7886533 +434, 0x622ab088 +435, 0xa55223b8 +436, 0x969bf35b +437, 0x531e6c5d +438, 0xd4bf977b +439, 0x850bcaee +440, 0xa104f457 +441, 0x3a0a0 +442, 0xdf660893 +443, 0x4fd61248 +444, 0x4606d9c7 +445, 0x6cea6457 +446, 0xcc4ccc0d +447, 0xe2a57d3a +448, 0x2f85d651 +449, 0xae0c9478 +450, 0xf3ea2774 +451, 0x74c4ebb7 +452, 0xafff3b40 +453, 0x7bc0aacb +454, 0x372b82dc +455, 0xc9ead3a4 +456, 0xf286e119 +457, 0x3abcb320 +458, 0xbb195daa +459, 0xe15b2f0e +460, 0x410251d6 +461, 0x504e251c +462, 0x369b9d14 +463, 0xf51b7fd2 +464, 0x84a8cd44 +465, 0x78c4b616 +466, 0x691d4e3 +467, 0xb62a5b7a +468, 0x351cc253 +469, 0x27588287 +470, 0x6cb82fc8 +471, 0xbafe423d +472, 0x5fc99a8d +473, 0xa5719605 +474, 0x76ace100 +475, 0x37026c88 +476, 0x4712accf +477, 0x2fbbb9cf +478, 0x96377fb5 +479, 0xcebd948b +480, 0xdd25a404 +481, 0xbf4099a7 +482, 0x1e16915c +483, 0xacc2cbad +484, 0x8472f51a +485, 0x46e2824a +486, 0x21cf3734 +487, 0x2cc6d3ee +488, 0xb7841db1 +489, 0xb4586cdb +490, 0x65642b33 +491, 0x769102e3 +492, 0x90bf7369 +493, 0xd7265312 +494, 0x2eeb6d75 +495, 0x34721522 +496, 0x2514be33 +497, 0x2a3abe9e +498, 0x7cf141b5 +499, 0x1ff50f3a +500, 0x5b096fab +501, 0xb8da4737 +502, 0xf0c025fc +503, 0x7cbc3fc +504, 0xc3ec5b12 +505, 0xbf3b03ad +506, 0xbfa86b57 +507, 0x17b461c1 +508, 0xe75a2d46 +509, 0x37aad5ea +510, 0x155b2c35 +511, 0xbfcf2330 +512, 0x8d5c7c5e +513, 0xbb50483b +514, 0x95a03950 +515, 0xbad669a +516, 0xf641767c +517, 0x358b50a3 +518, 0x4aca2e3a +519, 0x497343b1 +520, 0x3da6f46a +521, 0xad6120c9 +522, 0x19acdd2c +523, 0x1023470d +524, 0x434bb79 +525, 0x8e3f0746 +526, 0xedf5a226 +527, 0x25d8ea7 +528, 0xab7fa688 +529, 0xd541fc0d +530, 0xc8ffc7f8 +531, 0xfbfd0387 +532, 0x481f76d0 +533, 0xb4183bf8 +534, 0x961efa16 +535, 0x2e7f61f8 +536, 0x105f5f4f +537, 0x832c37d9 +538, 0x7c521708 +539, 0x94982ee3 +540, 0xfa3d1f06 +541, 0xc99c5cd1 +542, 0xe062a5c7 +543, 0x9b41f9d4 +544, 0x569195d9 +545, 0x37e93fc2 +546, 0xf629763c +547, 0x7485f190 +548, 0x3b50cc38 +549, 0xe0fd9b72 +550, 0xf3068eed +551, 0x7e054a97 +552, 0xf0fe2118 +553, 0xb72f0404 +554, 0xcc988a64 +555, 0x7c74f3ec +556, 0xa1650931 +557, 0xb5636957 +558, 0xdfd1561e +559, 0x7f861e36 +560, 0x4b036099 +561, 0xd8346f14 +562, 0xd9545d61 +563, 0x31c06965 +564, 0x9e2d2ab9 +565, 0xc5f8b197 +566, 0x3637d9b +567, 0xf969041d +568, 0x58e44ba1 +569, 0xdcc05573 +570, 0x25ec8f35 +571, 0xc7ca0a77 +572, 0xfb592bb3 +573, 0xfc2b1356 +574, 0x7a7679f6 +575, 0xc0e9f007 +576, 0x7f550a69 +577, 0x1094bf1 +578, 0xa3b47889 +579, 0x44fc9ab6 +580, 0x5e5b8f80 +581, 0x69160353 +582, 0x230be578 +583, 0x6da013a4 +584, 0xd2764ed1 +585, 0x4c3f5c94 +586, 0x3099df75 +587, 0x66b09bf0 +588, 0x82e5cd03 +589, 0x1ee3607e +590, 0x396cd72a +591, 0xfb0f2241 +592, 0x190c5614 +593, 0x67f78324 +594, 0xdcb89544 +595, 0x91b7cbd0 +596, 0xf9114070 +597, 0x57f687af +598, 0xf5f9428a +599, 0xc9f390ed +600, 0xe8140568 +601, 0x694fb3de +602, 0xc627f75b +603, 0x5bf9362b +604, 0x5549003f +605, 0x66458f9f +606, 0x14c30f94 +607, 0x4d44c9c6 +608, 0x6840f509 +609, 0xc674cdbc +610, 0x3b73b25b +611, 0xed1c4a6f +612, 0x21eab5a3 +613, 0x53478953 +614, 0xdad674c +615, 0xf3ef5512 +616, 0xb9c08d71 +617, 0x3921f4a +618, 0x2ece8e2 +619, 0x889134e1 +620, 0xc544c7ab +621, 0x4df91683 +622, 0x259e4b8c +623, 0xe2031ce4 +624, 0x145b8f3a +625, 0x4028cf81 +626, 0x16f03971 +627, 0xad6adc80 +628, 0xac0b5327 +629, 0xcf77f418 +630, 0x3ed062ba +631, 0x6ea14124 +632, 0x6ba87963 +633, 0xc08be345 +634, 0x8eafb886 +635, 0xd460d003 +636, 0xdc4d14e2 +637, 0x61085b79 +638, 0xba1f92a8 +639, 0x18b779bc +640, 0x453435a1 +641, 0x41925d1c +642, 0x21a8db44 +643, 0x9789101a +644, 0xe2d02e0 +645, 0x79fa68f8 +646, 0x4d35916d +647, 0x7ce947b3 +648, 0x431a2cc9 +649, 0x756135b5 +650, 0x74c5a0c5 +651, 0x864bb3a1 +652, 0xaeeb8687 +653, 0x7127ea7d +654, 0xb214825e +655, 0xda464848 +656, 0x4894b0f6 +657, 0x6ef5db54 +658, 0x6142e487 +659, 0xd3adc6c3 +660, 0x2e5fe8d5 +661, 0x82643ddb +662, 0xc9de1e6c +663, 0x161ccd43 +664, 0xe8d9866 +665, 0xa8f85f54 +666, 0xb26e6947 +667, 0x34e36253 +668, 0xc75894df +669, 0xd8e70900 +670, 0xc7042e85 +671, 0xae6d8d5b +672, 0x4269846b +673, 0x2da97b9e +674, 0x5fb237c9 +675, 0x11e247d3 +676, 0x966cee07 +677, 0x27aec95 +678, 0x45d7a7e5 +679, 0xe45d5ddc +680, 0x5ef03588 +681, 0x222ac6ab +682, 0x3272262e +683, 0xc7792000 +684, 0x75b91d68 +685, 0xecd782b3 +686, 0xb6bb626 +687, 0xb715f459 +688, 0xccbf6c4a +689, 0x7da649f3 +690, 0x13b36ae2 +691, 0x78310a7b +692, 0x84d26157 +693, 0xe1f93c60 +694, 0x4e8b1b53 +695, 0x7d08711a +696, 0x93d9dace +697, 0x6a211820 +698, 0xf59d6c73 +699, 0x2c9299c6 +700, 0xa5441761 +701, 0x79ac91ac +702, 0x90d833b +703, 0xc89d2739 +704, 0x6e2edab2 +705, 0x8e7228ad +706, 0x829076e9 +707, 0x28ed0c84 +708, 0x8942edb9 +709, 0x24d2005d +710, 0xae6fbd5b +711, 0xa6433591 +712, 0x471089a3 +713, 0x8a0a8ec2 +714, 0x20fd0194 +715, 0x536013ad +716, 0x648664b9 +717, 0x25a2b3cf +718, 0xf4d70177 +719, 0x28ed3ea4 +720, 0x2fe7cf69 +721, 0x21212abe +722, 0xe76b7e04 +723, 0x943441f1 +724, 0x8b36ddf2 +725, 0x179e5ccd +726, 0x74f8259e +727, 0xe919756d +728, 0xe1cd7757 +729, 0x153da2e2 +730, 0x756711a3 +731, 0xcce59a49 +732, 0xb9630cda +733, 0xe08ba7b7 +734, 0x6626861a +735, 0x17ecf576 +736, 0xe76f7416 +737, 0x6d2261cc +738, 0xb0a57acf +739, 0x7924fd62 +740, 0xb31a6e5a +741, 0x9487cc33 +742, 0x53e57be6 +743, 0xb75bc72e +744, 0xc1bc3ed0 +745, 0x6edfe3d +746, 0xa2d4e5bc +747, 0xbb3cdb2f +748, 0x3d71f7fa +749, 0xc457b868 +750, 0x29191280 +751, 0x2800d8a +752, 0xcbe04fcb +753, 0x4eebd78d +754, 0xf58bf147 +755, 0x3b9d125e +756, 0x75489606 +757, 0x80e09ead +758, 0x974abcf5 +759, 0xf427159e +760, 0xdb93b60f +761, 0x8eccb8a9 +762, 0x750c98a6 +763, 0x18f3b535 +764, 0xf3ae0bab +765, 0x9f265252 +766, 0x93646d87 +767, 0xdcef0cdc +768, 0xd21dcb41 +769, 0x285a96a9 +770, 0xe8a9fb42 +771, 0xfe0fdc72 +772, 0xd0c62b5c +773, 0x15c2a14e +774, 0x28cf62e5 +775, 0x182e64db +776, 0xa0ff7cf6 +777, 0xa2342064 +778, 0x65ffc99f +779, 0xf30528dd +780, 0x100df4b2 +781, 0xefce9dfc +782, 0x6c8d60ae +783, 0x7287625d +784, 0x42391e72 +785, 0xba4a4ea1 +786, 0xd95a930c +787, 0xbe034ee0 +788, 0x886a6e9 +789, 0x4e96a350 +790, 0xf57fe442 +791, 0x1ea955c8 +792, 0x5af973f3 +793, 0x71a2087d +794, 0x5b51248a +795, 0x644b5270 +796, 0x42e1ada +797, 0x8827449b +798, 0x2f6b62b8 +799, 0xd8695c78 +800, 0x66b8f141 +801, 0x894949c0 +802, 0xede60ac5 +803, 0xae262f58 +804, 0x19805d22 +805, 0x9bf30fcf +806, 0xf1ff4803 +807, 0x1935dabc +808, 0xde96ccee +809, 0x178f1ea5 +810, 0x7443fcab +811, 0xe53c6d3 +812, 0x53a2ab58 +813, 0x1626fe46 +814, 0x3b951e94 +815, 0x3cb76386 +816, 0x9d4d8f1c +817, 0xd6ea5273 +818, 0x8779386 +819, 0x85ba1342 +820, 0x3fec25c +821, 0x8358dfdc +822, 0x6dc58e66 +823, 0xa65b6365 +824, 0x116d4d7b +825, 0x8b6a4ec5 +826, 0x407f346d +827, 0x84fa549 +828, 0x389e0064 +829, 0x9484d2b6 +830, 0x40d1234d +831, 0xc5661795 +832, 0x218cd5fb +833, 0x6050629f +834, 0x314ce51 +835, 0x7db3cc23 +836, 0x1d9060ed +837, 0xfb4cbcf3 +838, 0x9e54b8fa +839, 0x3ea17988 +840, 0xf968dafe +841, 0x5fd3a519 +842, 0xfd874015 +843, 0xbb059ad +844, 0x68b7c4e5 +845, 0x4f6097d6 +846, 0x29b76190 +847, 0xd4de7499 +848, 0xa385e3ee +849, 0xce990c77 +850, 0x7d84a6a5 +851, 0xa3d89f7f +852, 0xfd49f581 +853, 0x5e3bf585 +854, 0x10b7c6c6 +855, 0x5010998c +856, 0xc8820d5a +857, 0xcd45224a +858, 0x49d47bfb +859, 0x1208d3b6 +860, 0x3dcd9c4e +861, 0xaefea33e +862, 0xa999e648 +863, 0x617778c7 +864, 0x3efdff2d +865, 0xa2494c85 +866, 0xaa75be2f +867, 0xed47f2bb +868, 0x846e54aa +869, 0xda9bd1c3 +870, 0x6c91188a +871, 0x7f67d2f2 +872, 0x8e000539 +873, 0x6d868ddb +874, 0x497c3559 +875, 0xd2934183 +876, 0xb4e2147d +877, 0xbcfc6ace +878, 0x6a340f52 +879, 0x727804c5 +880, 0x5c4cb6ba +881, 0xf80a0784 +882, 0xd422dc11 +883, 0x5cf822c5 +884, 0xeccaa1bf +885, 0x65c4c15e +886, 0xbc72298 +887, 0xbd1a4e83 +888, 0x3b8d7145 +889, 0x72f721a8 +890, 0x593890a4 +891, 0xeff1de3a +892, 0xd0a1a4b1 +893, 0x41da0db7 +894, 0xfc492a98 +895, 0x61bb02a1 +896, 0xf80e8792 +897, 0xb277df61 +898, 0xe7aab1ce +899, 0xe5a662f1 +900, 0x4beb1c87 +901, 0x1efdc7b5 +902, 0xfdf472eb +903, 0x3dd5f02e +904, 0x3fd9fdf0 +905, 0x3a6f7bf4 +906, 0x1b1caa7f +907, 0x7d507ba1 +908, 0xf371a151 +909, 0xe43ad49d +910, 0x3bc16e0c +911, 0x5bacee76 +912, 0xb094a72e +913, 0x629eeb76 +914, 0xef07120 +915, 0xeaae9f22 +916, 0xbb0fc073 +917, 0x1d231657 +918, 0xe1b86a7c +919, 0xa1917199 +920, 0x45be6cae +921, 0x220029f2 +922, 0x6109df6b +923, 0x5fce7e34 +924, 0x5fd1dfe9 +925, 0x530c326e +926, 0xbfb09640 +927, 0xae1c0d4c +928, 0x3ce0ef76 +929, 0xcba82a49 +930, 0x2bfe9092 +931, 0x8101cb04 +932, 0x7304c707 +933, 0x4bd68a83 +934, 0x4df1a430 +935, 0xe2ce6c4c +936, 0xd6d51925 +937, 0x5a143074 +938, 0x3cdca5ed +939, 0xbd072630 +940, 0x809c986d +941, 0x8e2c27d2 +942, 0xf14d28b3 +943, 0x3396aa31 +944, 0xa24dac47 +945, 0x8c6bbf5a +946, 0xde06adb1 +947, 0x85074fee +948, 0xf0b1951d +949, 0x5949d203 +950, 0xc032204a +951, 0x64d7e54 +952, 0xb31759ea +953, 0x2619ad41 +954, 0xf7cc9777 +955, 0x21c10e14 +956, 0xfe910cd0 +957, 0xb53a142a +958, 0x73aa95f2 +959, 0xb585c01c +960, 0x1224859a +961, 0x9c9b8b57 +962, 0x4af48cb4 +963, 0xac021930 +964, 0x2700b7c2 +965, 0x72906666 +966, 0x6ae06309 +967, 0xb2321d02 +968, 0x219c2d74 +969, 0x60d9fb6c +970, 0x9aa776e9 +971, 0x199bb359 +972, 0x61ffb57c +973, 0xf5d36375 +974, 0xe5380264 +975, 0x128b105a +976, 0xf7c16444 +977, 0x4f0e269 +978, 0x8c00a60a +979, 0xfac5500c +980, 0x465ad668 +981, 0x2602a8e1 +982, 0x979c69a5 +983, 0x423a50a7 +984, 0xe59223a0 +985, 0x372ce57a +986, 0x681fad21 +987, 0x9475239a +988, 0x8d550063 +989, 0xf9cadcd9 +990, 0x458b0932 +991, 0x45e3e958 +992, 0x7497fcd2 +993, 0xf856d714 +994, 0x66d6b2de +995, 0x686fe9c +996, 0x3f980648 +997, 0xe356d512 +998, 0x81807599 +999, 0xb5676398 diff --git a/numpy/random/tests/data/pcg32-testset-1.csv b/numpy/random/tests/data/pcg32-testset-1.csv new file mode 100644 index 000000000..6bddc8d5c --- /dev/null +++ b/numpy/random/tests/data/pcg32-testset-1.csv @@ -0,0 +1,1001 @@ +seed, 0xdeadbeaf +0, 0xbeb77374 +1, 0x75cad014 +2, 0xabc6773e +3, 0xe99a034e +4, 0x1e3f5c6d +5, 0x513d3c5b +6, 0x4a378bad +7, 0xba5b3488 +8, 0x21e96448 +9, 0x5197a3d3 +10, 0x84bbcc90 +11, 0x674fce76 +12, 0xd1dd9879 +13, 0x1625afd4 +14, 0x4bb5e330 +15, 0x3f4b8f74 +16, 0xf0a7c00b +17, 0xecdb92d0 +18, 0xf069232c +19, 0x56dbeaa2 +20, 0x70c62231 +21, 0x6c68e57e +22, 0x3829213c +23, 0x9b8bc5e6 +24, 0x45abd553 +25, 0xf5991ce7 +26, 0xb4aff20a +27, 0x677a5785 +28, 0x108f180d +29, 0x2b3f1001 +30, 0x838fdfcb +31, 0x8ad3c2a0 +32, 0x596268fa +33, 0xee6bcc56 +34, 0x46810af0 +35, 0x1648a587 +36, 0x7265a926 +37, 0xed0f3acc +38, 0x72a1ac0 +39, 0xb3f7109f +40, 0x6ddd75f2 +41, 0xa968127f +42, 0x40df20fd +43, 0xde835b80 +44, 0xe453cd68 +45, 0x26ad68eb +46, 0x23a052d2 +47, 0x17881c5c +48, 0x785d41b9 +49, 0x61b4530a +50, 0x5ee92c84 +51, 0x4cad7358 +52, 0x843db584 +53, 0x3576368b +54, 0x14db6b2b +55, 0xb6e8b042 +56, 0x6323e866 +57, 0x9a709e25 +58, 0xae594bdc +59, 0x4be9ec1b +60, 0x77b4fd05 +61, 0x4421667 +62, 0x24bf98f7 +63, 0xfb202aed +64, 0x2f01b05f +65, 0xac766e69 +66, 0xc1572ce2 +67, 0xb26354d6 +68, 0x4db5f193 +69, 0x41a4609b +70, 0x26bbb4cc +71, 0x676b7438 +72, 0x13b2be7d +73, 0x7df521c4 +74, 0x57f770f3 +75, 0x78a8a8 +76, 0x164d46c6 +77, 0xbb29da20 +78, 0x5c262bf9 +79, 0xfd305d0 +80, 0xb500d90b +81, 0xbb7b4e37 +82, 0x5ba2bbfd +83, 0xa9561043 +84, 0xe175c662 +85, 0x3a5c8eec +86, 0xac5e2184 +87, 0x1e1c7de7 +88, 0x46be092a +89, 0x8b82f5be +90, 0xb1c1b591 +91, 0x6f06d957 +92, 0x1d26dc5c +93, 0x158c57e3 +94, 0x6da1ebf8 +95, 0x74501e60 +96, 0x70587043 +97, 0xa19b90fe +98, 0x7d327dff +99, 0x22dc6b90 +100, 0xf48a9ae6 +101, 0x75eeb769 +102, 0x9cdc12cb +103, 0x7fe2cdc6 +104, 0x4fba8066 +105, 0x1a7a0667 +106, 0xd9289d22 +107, 0x3a045bce +108, 0x60e5f71f +109, 0xd81b35dc +110, 0xceae6194 +111, 0xa032a688 +112, 0x7157b327 +113, 0x61c74c80 +114, 0x2d519c39 +115, 0x5b1a352e +116, 0x5ad266da +117, 0x9118352b +118, 0xdd20b6e1 +119, 0xc0d154fa +120, 0x93bbb9c9 +121, 0x91170de2 +122, 0xa3af5e05 +123, 0x1b19ff2f +124, 0xf814c3bf +125, 0x8914a953 +126, 0x5278efb7 +127, 0x3c96d7bd +128, 0xb5422a7 +129, 0x2aee2619 +130, 0x60c6a90c +131, 0xfbec0e9c +132, 0xef794075 +133, 0xda93d22e +134, 0xb956d02a +135, 0xd97cc49b +136, 0x80737244 +137, 0x7c56a95 +138, 0xa5311355 +139, 0x7dcdd592 +140, 0x92add23e +141, 0xb1ba1317 +142, 0x507e5330 +143, 0x2644b95a +144, 0xa1afa519 +145, 0x596c65c0 +146, 0x6f47dd11 +147, 0xfd2fbada +148, 0x98675d7c +149, 0xb9e21413 +150, 0x8bae5eca +151, 0xe1f50018 +152, 0x7dd08715 +153, 0x36a888e1 +154, 0x7fcd6364 +155, 0xb84c093 +156, 0x18e2d58f +157, 0x19fd21ed +158, 0x3c25e3a3 +159, 0x7a0d833b +160, 0x47525b28 +161, 0xba88474 +162, 0xd108e7da +163, 0x32b06660 +164, 0xbce027b3 +165, 0x96b31787 +166, 0x916ab263 +167, 0xa5fa088 +168, 0x3cb9cd59 +169, 0x7a97051f +170, 0x104b6883 +171, 0x6e08c314 +172, 0x33a4c62c +173, 0x14eb854 +174, 0x873f730a +175, 0x8c3f7224 +176, 0x9a41beeb +177, 0xe4e2ab0a +178, 0xfa89ad0e +179, 0x4aa62ac3 +180, 0xb75dc1bf +181, 0x3f4c5131 +182, 0x3fef0f91 +183, 0xffa06655 +184, 0x417d7d38 +185, 0x1e7734df +186, 0x25685235 +187, 0x33fe5b68 +188, 0x68923f72 +189, 0x5da45ff +190, 0xb871df26 +191, 0xd3ffd8c6 +192, 0x1718d862 +193, 0xe127d844 +194, 0xadcdc48a +195, 0x79ee30cb +196, 0x931a6cba +197, 0x9463c42d +198, 0x9f8d2806 +199, 0xa3695a97 +200, 0xfc9587bc +201, 0xb3943573 +202, 0x50ed8901 +203, 0x6891f33 +204, 0xb7a12dfb +205, 0x1245cf5d +206, 0xbc0f73a7 +207, 0x26cbfeb2 +208, 0x774d8e83 +209, 0xa19e9c1 +210, 0xc147a437 +211, 0xe034f2a3 +212, 0xd288b664 +213, 0xdcd0356d +214, 0x2b695901 +215, 0x3bc31736 +216, 0x4a5b1998 +217, 0x18537410 +218, 0x11b40f35 +219, 0xf16f6f89 +220, 0xe844cffe +221, 0xce026166 +222, 0x3770aaba +223, 0xc62566ee +224, 0x6db2d1f8 +225, 0xe4720b6d +226, 0x68321a69 +227, 0x488539ac +228, 0x5e18ab61 +229, 0xb58e598e +230, 0x6f501a91 +231, 0xc4fd3e8d +232, 0x9faa3631 +233, 0x184366b0 +234, 0xecf74d6a +235, 0x3773d622 +236, 0x382ca536 +237, 0x93451381 +238, 0x9f148ed5 +239, 0x2b66f241 +240, 0xa6807c39 +241, 0xbb087446 +242, 0xa18ba432 +243, 0x8e7a6013 +244, 0xab30278e +245, 0xbf457c78 +246, 0xb24814b1 +247, 0x710f99d5 +248, 0xbcb84762 +249, 0x4913a7e7 +250, 0x90a31a0c +251, 0x6d4b1673 +252, 0x18873994 +253, 0x1efd517a +254, 0x99b499d1 +255, 0x2d488776 +256, 0x1cded201 +257, 0xa53b02e4 +258, 0xcb20d0fd +259, 0x72bfaae3 +260, 0x858c865b +261, 0x2e2d3e96 +262, 0x8bc5b0b9 +263, 0x8980346a +264, 0xa8e47fba +265, 0x2a39fe16 +266, 0x9f34eeeb +267, 0x7baebcc9 +268, 0xbc0b8d74 +269, 0x37373c8 +270, 0xe128cfc4 +271, 0x49cdb150 +272, 0x5965c726 +273, 0xfc326226 +274, 0x53a3e8e +275, 0xa99d89f7 +276, 0x33ac111c +277, 0x143fe678 +278, 0x96212281 +279, 0x6a83bffd +280, 0x529852f7 +281, 0x97fef4 +282, 0x303ce151 +283, 0x4f8c7b83 +284, 0xd5ef9c82 +285, 0xede9d572 +286, 0xc03e2c38 +287, 0x89d7f886 +288, 0x21e998b0 +289, 0x58d505cf +290, 0x5c42089 +291, 0x9a01dcab +292, 0x83d8cc17 +293, 0x7d6aacf +294, 0xa1cbdced +295, 0x47365e25 +296, 0xbb61e976 +297, 0xfeafd0a6 +298, 0x760d82b4 +299, 0x9ffb351d +300, 0x28e19ac0 +301, 0x891131c6 +302, 0xc1656522 +303, 0x4536d90 +304, 0x956b1b84 +305, 0xf9ff54f6 +306, 0xb0050d88 +307, 0x7d7fafa2 +308, 0x430e670b +309, 0x18ad450d +310, 0xd5a1d6b6 +311, 0x390a6da4 +312, 0xc70d557d +313, 0xd8fadb5e +314, 0xfb4b4cb6 +315, 0xce707f8b +316, 0x4c18d350 +317, 0x8dc0d200 +318, 0x228d9e85 +319, 0xd6485ba3 +320, 0x37c4a70a +321, 0x9d7cc5f5 +322, 0x889a9b9 +323, 0x41d2f942 +324, 0x4c13b3bd +325, 0x70e58147 +326, 0x4a0e1270 +327, 0x3cdc1b73 +328, 0x7a4e56f3 +329, 0xd8350406 +330, 0x46068108 +331, 0xfc4da48 +332, 0xf6111245 +333, 0x40a15167 +334, 0x38a591ac +335, 0x3e97e682 +336, 0x5c515d2d +337, 0x45023a37 +338, 0xacb0ed6a +339, 0x899f0ebb +340, 0x2054df01 +341, 0x6d629607 +342, 0x79ced597 +343, 0xba0a3a12 +344, 0xde63b611 +345, 0x228cb776 +346, 0x61f10dba +347, 0x9a1095d3 +348, 0xf08dcb3 +349, 0x88e58009 +350, 0x131880aa +351, 0xc55002ee +352, 0xcf556f47 +353, 0x17b6dd76 +354, 0x6110ba20 +355, 0x74a91935 +356, 0xe83cf9ed +357, 0x3138e936 +358, 0x103bfb72 +359, 0x2084abe4 +360, 0xf3a05dd9 +361, 0x9213f3a4 +362, 0xe7674dd7 +363, 0xcd09d629 +364, 0x260461f2 +365, 0x411c2428 +366, 0xbb5f6f2e +367, 0x6feb8c93 +368, 0x3cde3ece +369, 0x7a424d2c +370, 0x808a0948 +371, 0x653c3fdf +372, 0x26f88849 +373, 0xf540b6ae +374, 0x1f82e8ac +375, 0x300f7e39 +376, 0xb6e62e7b +377, 0x970441a1 +378, 0x91f2946c +379, 0xaad281f +380, 0x43be1dcf +381, 0x95a1b4c8 +382, 0x2d956dea +383, 0xc532ca29 +384, 0xc93f1fcf +385, 0x70762aab +386, 0x231a72ef +387, 0xe5bd1b75 +388, 0xfa31468 +389, 0x77e1b7b5 +390, 0x19d80215 +391, 0xd45704b7 +392, 0x33472a0d +393, 0x833a435e +394, 0x2354a326 +395, 0x8af39828 +396, 0x603a7960 +397, 0x288c2d54 +398, 0x75bd7c23 +399, 0xe2dd42e1 +400, 0x9a87b486 +401, 0x32e9bcd1 +402, 0x8630f74f +403, 0x160408ea +404, 0xd2127c63 +405, 0xaf327f8e +406, 0x8d879a61 +407, 0xc5c88f60 +408, 0x53a19fa1 +409, 0x706dacb4 +410, 0xd04ea0f +411, 0x94806c1a +412, 0x941cfe69 +413, 0x956a5562 +414, 0xee1f71c +415, 0xe6ba12d +416, 0x333e31f6 +417, 0x17aee12e +418, 0x20ccfedb +419, 0xd7bb7f92 +420, 0xba7d14f3 +421, 0xb935d4fb +422, 0xbdb8f5e1 +423, 0xb24e7adc +424, 0xc9abef71 +425, 0x3e3d8125 +426, 0x5fc0878b +427, 0x5ba172d9 +428, 0xe28f648c +429, 0x5137f3a7 +430, 0xb57273df +431, 0xe68df236 +432, 0xbc29802b +433, 0xb1419e66 +434, 0x69ecb739 +435, 0x490e8eb6 +436, 0x61e25a6c +437, 0xc1fa0de6 +438, 0x2bf2fbf1 +439, 0x9487e8da +440, 0xce5c5532 +441, 0x75859040 +442, 0x2606bdeb +443, 0x1b77c072 +444, 0xe5fbeed1 +445, 0xea9e1ab3 +446, 0x55cf96ae +447, 0x283ed27d +448, 0xc94067a1 +449, 0x8687b3e5 +450, 0x4031b307 +451, 0xc5790e82 +452, 0x4031ee7f +453, 0x952c4503 +454, 0x379ec606 +455, 0x7c35e19d +456, 0x2d333769 +457, 0xbca36d54 +458, 0xcdc70741 +459, 0xa3ab56fb +460, 0x187a2fd6 +461, 0xdd1f32f1 +462, 0xc007ac56 +463, 0x14c441c1 +464, 0xf290ed47 +465, 0xc833edac +466, 0x13f0a8fe +467, 0x63c10b6e +468, 0x6af1be34 +469, 0x5bd4930e +470, 0xfe56bfbb +471, 0x1b412c8e +472, 0xf0c7712a +473, 0xf3a96226 +474, 0xbd0aaad8 +475, 0xbd00355e +476, 0x8ba9eca1 +477, 0x81f136a0 +478, 0x7de3a327 +479, 0x7be298ea +480, 0xe60e320a +481, 0xaf4373b +482, 0x6eacbf3 +483, 0x1291760f +484, 0xd48ed89b +485, 0x596603d4 +486, 0x53abc8 +487, 0x82123b2f +488, 0x1276dc8 +489, 0xfeb474bb +490, 0x4013da51 +491, 0x111cb9d6 +492, 0x5726df82 +493, 0x45806861 +494, 0x2580801a +495, 0x1326049e +496, 0xb9474bf9 +497, 0x6c5d85ed +498, 0x9c4a9352 +499, 0x9eb915ed +500, 0x914505 +501, 0xd14c5b9a +502, 0x57ef8ffd +503, 0x480d8719 +504, 0xb18d7fce +505, 0xfd29e178 +506, 0x2679f6c9 +507, 0xd94a086e +508, 0x6e46f559 +509, 0xb7c3a2e3 +510, 0x793a4c3b +511, 0x4e5252f9 +512, 0x1bdb53a4 +513, 0xbed5794 +514, 0x31a3ebc7 +515, 0xa6eb54e1 +516, 0xc6ae5d92 +517, 0x392acfc8 +518, 0xb283fb8f +519, 0x80b15ffe +520, 0x763b49a8 +521, 0x3febc1d3 +522, 0x60f2b20 +523, 0xd93aeba9 +524, 0xeddf06bb +525, 0x13992ab3 +526, 0x4521bcf6 +527, 0x5ad82a14 +528, 0xf2bfc79c +529, 0xf664b9b +530, 0xeb9540a2 +531, 0x5641dc50 +532, 0x9282d9c4 +533, 0x5d2443a4 +534, 0x407b5011 +535, 0x84a415d7 +536, 0x5db90eae +537, 0xd2947d4c +538, 0x8bd8856d +539, 0xbc05a99b +540, 0x1c2e0f5 +541, 0xb94d03a2 +542, 0xb8ed5ac1 +543, 0x199943d9 +544, 0x12482e5c +545, 0x20aa7c9f +546, 0x8733e45c +547, 0x277b4f44 +548, 0x673d5a73 +549, 0xabc0aad9 +550, 0xbed6cd98 +551, 0x2943c24b +552, 0x5237d6f9 +553, 0x1cb1a392 +554, 0xc7b69454 +555, 0x4f792707 +556, 0xa32ef400 +557, 0x7a5b6b72 +558, 0xa8683acc +559, 0x418d0491 +560, 0x56e2470e +561, 0xbe385495 +562, 0xe7944341 +563, 0x438abaab +564, 0x82ad2c2 +565, 0x7afc306b +566, 0xfcb88957 +567, 0x530414bd +568, 0x2e3c7d41 +569, 0x633f7573 +570, 0xeffeefb2 +571, 0xf6de11f9 +572, 0x337710f2 +573, 0x88bf46dc +574, 0x6fdaf5dc +575, 0x34229d26 +576, 0x46b0aba0 +577, 0x78e40a29 +578, 0x7f9623cd +579, 0x6cfe8779 +580, 0x1d4af99 +581, 0x78f97244 +582, 0xa198d714 +583, 0x9124883e +584, 0x1cf88a12 +585, 0x69fe0966 +586, 0x78484a68 +587, 0xf9d8718b +588, 0xcbf3ba5b +589, 0xf67fb149 +590, 0xc95977c1 +591, 0x474f57f5 +592, 0x11bb9ec1 +593, 0xe28f21be +594, 0x8ca6e21b +595, 0x2609defc +596, 0x989b6f6b +597, 0x1c87383e +598, 0xacd78f57 +599, 0x8c46cfcb +600, 0xc37cce08 +601, 0x327d196a +602, 0xf63c3572 +603, 0xc56780b5 +604, 0x9ac37d16 +605, 0xe692a39c +606, 0x563938a3 +607, 0x1e80e32f +608, 0x745652af +609, 0xe425c9a8 +610, 0x11c71e82 +611, 0x9c721f6d +612, 0xef89b973 +613, 0x494c7e80 +614, 0xadc29895 +615, 0xc7ee35ad +616, 0x19beeb0c +617, 0x9c25ae3f +618, 0x27bf930f +619, 0x223970a0 +620, 0x7cdb17ca +621, 0xa49054f +622, 0xf8321dcb +623, 0x3f96a9eb +624, 0x4468072a +625, 0xfd7d727 +626, 0xee0af4f1 +627, 0xe6585512 +628, 0x56a6d8a1 +629, 0x40586642 +630, 0xb46bdaa0 +631, 0xe053a140 +632, 0x4de1953d +633, 0xb6cbc718 +634, 0x2ed92c19 +635, 0x9da2840 +636, 0x6ab418b1 +637, 0x179f64cf +638, 0x7c281c0 +639, 0x7015b62a +640, 0x8d31e38e +641, 0xa6de57ca +642, 0xe509c4e1 +643, 0xa010162c +644, 0xf71abd42 +645, 0x3d24ac8b +646, 0xc2deb72f +647, 0xd81570ba +648, 0x17fc7d15 +649, 0xf17997b6 +650, 0xfa2ec5b5 +651, 0xbf7e189b +652, 0xb3d9e761 +653, 0xe1194bd1 +654, 0x8d5280dd +655, 0xdea2d148 +656, 0x6d85e66c +657, 0x37f5fb07 +658, 0x65c1dd1 +659, 0xf52c04f8 +660, 0x4460d846 +661, 0x1729f55f +662, 0xe03a699d +663, 0x9f05ff9f +664, 0x31abe986 +665, 0x64899f61 +666, 0x52fba7 +667, 0x2833ce74 +668, 0xa34d0e57 +669, 0x7203d492 +670, 0x1a63d91e +671, 0x463781b7 +672, 0xf9842e7b +673, 0x809276ad +674, 0x88237b9d +675, 0xaa648b06 +676, 0x9cf916bd +677, 0x3b3068e4 +678, 0x20d6ae7d +679, 0x7855dafd +680, 0x9ebd14ed +681, 0xc5934a1c +682, 0xb3c421a1 +683, 0xa2b709a2 +684, 0x91fa8b34 +685, 0x9009a54 +686, 0xb2c4215f +687, 0x7b294eb1 +688, 0x1802911e +689, 0xa2067de5 +690, 0x5ebd85e9 +691, 0xc4f8e698 +692, 0xd143d368 +693, 0x2ca2b6fb +694, 0xb5d27ebc +695, 0x410146ca +696, 0x9d6948fe +697, 0xfafd0af5 +698, 0x290e9c5f +699, 0x2ff06292 +700, 0x417903d5 +701, 0xc51af07c +702, 0xd2bbaf6b +703, 0xfa3720f1 +704, 0x4a6eb52d +705, 0xed86ad3c +706, 0x72a8676e +707, 0xc3c2bbed +708, 0x62b6a951 +709, 0xe08f9534 +710, 0xe2686ea5 +711, 0x3dbbf99b +712, 0xfec5319f +713, 0xef9c67eb +714, 0x9d69d19b +715, 0xc732ed2 +716, 0xc6e829bd +717, 0xe712e882 +718, 0xd24594ca +719, 0x102b8426 +720, 0xa5145730 +721, 0x62fecd71 +722, 0xe6439ca2 +723, 0x58819419 +724, 0xef722791 +725, 0x5ef6ab17 +726, 0x85ce3714 +727, 0xd4e18303 +728, 0xf91eb9c2 +729, 0x86bae692 +730, 0x6d81c21c +731, 0xd9985982 +732, 0xfdd55f22 +733, 0x72ecd91a +734, 0x4b1cee6 +735, 0xefa672ec +736, 0x3f18114f +737, 0xacae5e62 +738, 0x68369afd +739, 0xff5e6612 +740, 0x3760af8c +741, 0xd8c878bf +742, 0x3945fe59 +743, 0x2cf7f99a +744, 0x2cc59bb4 +745, 0xbba95cd6 +746, 0x6511688d +747, 0xcf326178 +748, 0xf850cc68 +749, 0x4bd2540e +750, 0xa02cf5e5 +751, 0x5546fcb5 +752, 0xe2b289fd +753, 0x960c6ba +754, 0x3a2c9d74 +755, 0x2def7a8f +756, 0x54e57d43 +757, 0xf953c277 +758, 0xd9b414b1 +759, 0x19a25920 +760, 0xaf2691a1 +761, 0x81e88159 +762, 0x49a3eab +763, 0x276a797d +764, 0x98337885 +765, 0x37055fd0 +766, 0x6927effc +767, 0xb6de7fc0 +768, 0x9e920f9a +769, 0xd2dc9145 +770, 0xe2861109 +771, 0xe42e2c1e +772, 0x836fe968 +773, 0x23452a15 +774, 0xd49f0e2b +775, 0x2998f647 +776, 0x94f8c803 +777, 0xf8be479e +778, 0xfd44079f +779, 0x685ab9c1 +780, 0xea8eeab3 +781, 0x580ff5d8 +782, 0x88ad0666 +783, 0x19df5d86 +784, 0xe4862012 +785, 0x3ad25460 +786, 0x677449ce +787, 0x1c7e0b9a +788, 0x287a98d0 +789, 0xed39d094 +790, 0x40501707 +791, 0xb99073a4 +792, 0x31847bd4 +793, 0x91e5b7 +794, 0x46815e56 +795, 0xc823384c +796, 0xdb6fb24 +797, 0xabe50dd8 +798, 0x2a33797b +799, 0x4fb617ec +800, 0x811a36df +801, 0xb6b7a25f +802, 0x8962cd0a +803, 0xc40818fe +804, 0x5dbe4e57 +805, 0x591f6c61 +806, 0x22aa4809 +807, 0xc0e4a72 +808, 0xa8a0e2e7 +809, 0xf91d553a +810, 0x77674da7 +811, 0x196657d6 +812, 0x5ae38c0f +813, 0x8bcf1ed2 +814, 0x9e0a2c8f +815, 0xf94e5215 +816, 0x11299b2b +817, 0xc499eca3 +818, 0x25e58d1b +819, 0xdd722954 +820, 0x816f4c21 +821, 0x2504fd9b +822, 0x722a597a +823, 0x92f80aab +824, 0xe2d7e54d +825, 0xefb26dba +826, 0x9ebf8863 +827, 0xd297ec21 +828, 0xa0ebfbb5 +829, 0xec609873 +830, 0xd079b3d1 +831, 0x920f722d +832, 0xfd58146 +833, 0x5fbb5784 +834, 0x30187f5d +835, 0x887f4ec6 +836, 0x6839a2ed +837, 0x72bccd98 +838, 0x7565903e +839, 0x8d3afaef +840, 0xfb713a03 +841, 0x34216b35 +842, 0xbe0da7e9 +843, 0x4b11764e +844, 0x6666922a +845, 0x3f2dc90d +846, 0xeca8fb8d +847, 0x91579404 +848, 0x8d413df7 +849, 0x2a0f8307 +850, 0x39d5a495 +851, 0x79ba5e62 +852, 0xbb06fd0f +853, 0x47ba4208 +854, 0x4a2efb9c +855, 0xee3a07f0 +856, 0x291a73e0 +857, 0xe42a46c5 +858, 0x203455b2 +859, 0x40545253 +860, 0xa618bb0a +861, 0xd4792a15 +862, 0xd6e62559 +863, 0x8149e2f0 +864, 0x5f6499a9 +865, 0xa63fc585 +866, 0xe33e1c1f +867, 0x36ecb45b +868, 0x267883ca +869, 0x905d98fb +870, 0xfac3512c +871, 0x374d0a0e +872, 0x9920f3e0 +873, 0xfb961c9f +874, 0x70f2d752 +875, 0x69c44d12 +876, 0xcb6075d2 +877, 0xaf802ac8 +878, 0x2c4b792b +879, 0xa2203217 +880, 0xc2c15619 +881, 0xb13af213 +882, 0x759b165c +883, 0x411ecdf2 +884, 0x158e5fba +885, 0x70874450 +886, 0x226a484f +887, 0x87b95ecf +888, 0x45cef22f +889, 0xfaf186bd +890, 0x3544972a +891, 0xb4a2f73 +892, 0x5f5d10de +893, 0xf3d05e29 +894, 0x7616ba85 +895, 0x4d2e198 +896, 0x1f240293 +897, 0x317c2286 +898, 0x3bd97e7b +899, 0xd7e39d6f +900, 0x142ee43c +901, 0x688ada72 +902, 0xad8deac8 +903, 0xf7cc8d5e +904, 0xa84600f5 +905, 0xda6b1b3 +906, 0x5bad09de +907, 0x6f4276c7 +908, 0xa789933f +909, 0xede4329a +910, 0xa31f2df5 +911, 0x869c0c3c +912, 0x6658f5b +913, 0xdb451b7c +914, 0x16ec0b18 +915, 0x2e35872c +916, 0xf7bf3c44 +917, 0xda59c872 +918, 0x1ab63c0c +919, 0x9a361a82 +920, 0xd2e1afcc +921, 0x5c41ac55 +922, 0xd1d761db +923, 0x3639bb85 +924, 0x7a418cfb +925, 0xf0b06b8f +926, 0xa2ef4d47 +927, 0x4fac4d1b +928, 0x47e42283 +929, 0x6ee6a7df +930, 0xfe786975 +931, 0x4475b665 +932, 0xd881e311 +933, 0x6b02224 +934, 0xcba19b84 +935, 0x4efa35f6 +936, 0x3873a72d +937, 0x984d7964 +938, 0xe23cda62 +939, 0xea9949d2 +940, 0x243b83b1 +941, 0x48d1bcc4 +942, 0xe35b6a23 +943, 0x125288f1 +944, 0x72fdd401 +945, 0xa2af6873 +946, 0x7c211096 +947, 0xa00a13dd +948, 0x7b4ce5d6 +949, 0x1e4be120 +950, 0xc771cc00 +951, 0x343ae31 +952, 0xe8e0be50 +953, 0xd9095a3f +954, 0x616b7c17 +955, 0xa96e1580 +956, 0x60501426 +957, 0xeaac50b +958, 0x130c33b5 +959, 0xba30925b +960, 0xf942c440 +961, 0xc52e8e20 +962, 0x5f460318 +963, 0x94e1dadd +964, 0xdfa4f20e +965, 0xc9bbd26a +966, 0x75322ecb +967, 0x3dc3ff18 +968, 0xfa896826 +969, 0xe4ad213c +970, 0x7a0f97c3 +971, 0xd7b7b08f +972, 0x6ebcab4e +973, 0x1a37d816 +974, 0x16299fee +975, 0x89d94a3a +976, 0x11c2f073 +977, 0x4ef27a32 +978, 0xaaf42781 +979, 0x9862c844 +980, 0xaa672e94 +981, 0xba4f2690 +982, 0x1f767d21 +983, 0x157e1a5e +984, 0x5b6de343 +985, 0xc494501e +986, 0xe97b507b +987, 0x98cae4c8 +988, 0xc4a6b036 +989, 0x746f8686 +990, 0xe761c86 +991, 0xefdaaa15 +992, 0xb907b816 +993, 0xe9d05992 +994, 0xed2e1b0e +995, 0xe129d3ee +996, 0xb41bb95f +997, 0xaec36181 +998, 0xdcdcf5f0 +999, 0xf175572a diff --git a/numpy/random/tests/data/pcg32-testset-2.csv b/numpy/random/tests/data/pcg32-testset-2.csv new file mode 100644 index 000000000..2d4c8aed1 --- /dev/null +++ b/numpy/random/tests/data/pcg32-testset-2.csv @@ -0,0 +1,1001 @@ +seed, 0x0 +0, 0xe4c14788 +1, 0x379c6516 +2, 0x5c4ab3bb +3, 0x601d23e0 +4, 0x1c382b8c +5, 0xd1faab16 +6, 0x67680a2d +7, 0x92014a6e +8, 0x628ae389 +9, 0xa794034d +10, 0x5cc38cd9 +11, 0xfc913a3b +12, 0x81c851dc +13, 0x90c820e4 +14, 0x60dfa703 +15, 0xd613ae14 +16, 0x38ea1699 +17, 0x51f04d1b +18, 0xc4ef01a1 +19, 0x321eec02 +20, 0x4c37a737 +21, 0x6bfd1aa8 +22, 0x71a28325 +23, 0x4656d6e9 +24, 0x17509653 +25, 0x830bd521 +26, 0x6d35e3aa +27, 0x4ab85020 +28, 0x21c1da2c +29, 0x6a6057a2 +30, 0xf3a90dc1 +31, 0xa1cbdcd9 +32, 0xf70b61bf +33, 0x3b2b09a8 +34, 0xbc2ef54d +35, 0xce07f38f +36, 0xb51bc60b +37, 0x729efb83 +38, 0x7e4a5f66 +39, 0xdd824ead +40, 0x9be85945 +41, 0x57f8779c +42, 0xdb449e87 +43, 0xc0be253f +44, 0x18b4267e +45, 0xff78821 +46, 0xb53e3425 +47, 0x4550b21b +48, 0xefe89a4c +49, 0x74c130b9 +50, 0x1656a3a0 +51, 0x194da2a6 +52, 0x1a6cdb1d +53, 0x7c1fd58e +54, 0x3162d1e9 +55, 0x3e2f2c7d +56, 0xb0ab9b5c +57, 0x79156d4d +58, 0x97b85150 +59, 0x967a02ce +60, 0x1e64548d +61, 0x4196d24a +62, 0xd047eef5 +63, 0x8451cc3c +64, 0x7227eb94 +65, 0xb1191064 +66, 0x82e162d0 +67, 0xb473f07d +68, 0x92ea0426 +69, 0xbf2a25fa +70, 0x9935be52 +71, 0x28baec93 +72, 0xa29368b5 +73, 0xe3d6d97d +74, 0x85ecf1d4 +75, 0x482e4bc8 +76, 0xe4f22219 +77, 0x7531047 +78, 0x3c41ef1f +79, 0x19db5112 +80, 0xc1534caf +81, 0x6c45710a +82, 0xb323c369 +83, 0x2dac53c6 +84, 0xd5dc48b4 +85, 0x1dc6d7a1 +86, 0x3ae2bc10 +87, 0x6a7635e8 +88, 0xdeee7b7f +89, 0xcb705cd3 +90, 0xba11e537 +91, 0xb64a4936 +92, 0xff4b245e +93, 0x39cb1219 +94, 0x64833e10 +95, 0x76b0f975 +96, 0x333d7c7d +97, 0x88ccfb17 +98, 0xad78dace +99, 0xd82fb71 +100, 0x1595d411 +101, 0x47f9d57a +102, 0xd4dad6cb +103, 0x78bf16bd +104, 0x71b053d2 +105, 0xa4bb076e +106, 0xd7c57664 +107, 0x3fbcbf8f +108, 0xc816befc +109, 0x6df46890 +110, 0xd16f271f +111, 0xeeeb1571 +112, 0x58222e89 +113, 0xa55e81d3 +114, 0xafbe7622 +115, 0x938475a8 +116, 0xd8740af2 +117, 0xf937dbd7 +118, 0x7d3940fa +119, 0x694c55f2 +120, 0x2261fb68 +121, 0x6ce39e94 +122, 0xab43634 +123, 0xd92ff7c4 +124, 0xe8db22d +125, 0x52e250b1 +126, 0xaf0f7029 +127, 0xc23dd3a +128, 0xd66dc2b9 +129, 0xea7f01f3 +130, 0x4df54b3f +131, 0xf1eff09c +132, 0x2813663e +133, 0x21ae8115 +134, 0xb00d790d +135, 0x11e6adbb +136, 0x61005f4c +137, 0x3de17bf0 +138, 0x7b2050b9 +139, 0xe20dd275 +140, 0xafa0bdcc +141, 0x9c6d4c6c +142, 0xe938606 +143, 0x8eecdd8f +144, 0xea9a90a9 +145, 0x99cbb123 +146, 0x16fccad1 +147, 0x7e81fdd9 +148, 0x116e6abd +149, 0xdeb9ff4e +150, 0xc589f525 +151, 0x57d701a9 +152, 0xcf05e950 +153, 0x533a2839 +154, 0x12d592e7 +155, 0xae61f43f +156, 0x419ae221 +157, 0x81126e0a +158, 0xc3988c97 +159, 0xb3262eaa +160, 0x3baddf9e +161, 0xf19d8a16 +162, 0x2a8b130f +163, 0xe4c9ccea +164, 0xf5ae2ea +165, 0x75aaa98d +166, 0xdd45ce49 +167, 0x98e0d4f6 +168, 0xb1ec10a1 +169, 0xc9592952 +170, 0x23bb1f45 +171, 0xd0827b45 +172, 0x7a79b800 +173, 0x9d1b8348 +174, 0xe2958863 +175, 0x5143e17e +176, 0x44110af9 +177, 0x49d76858 +178, 0xdba4688e +179, 0x4e4d61dd +180, 0x729b81cc +181, 0xf3576e03 +182, 0x9b028e9d +183, 0x68d8d869 +184, 0xda15e018 +185, 0x5384abb2 +186, 0x1027ed5e +187, 0xaf5401f1 +188, 0x31411375 +189, 0xc75d87be +190, 0xad73f5fd +191, 0xadb3add7 +192, 0x4d5452ee +193, 0xdef42029 +194, 0x89d58a78 +195, 0x464d6b4a +196, 0xd01f533a +197, 0xb9533dd4 +198, 0x55c5d023 +199, 0x3dcf8fef +200, 0x198395ca +201, 0x7cdca51c +202, 0x6f4074f +203, 0xb9f79995 +204, 0xbbe3d9a5 +205, 0x520d417e +206, 0x9a8df0bd +207, 0xe390f486 +208, 0x5b578b3f +209, 0xb4cdf767 +210, 0x12d45034 +211, 0xe661e293 +212, 0x70cd3e91 +213, 0xdbc7f190 +214, 0x49829849 +215, 0x12017fbe +216, 0x1e35bf48 +217, 0x1effc3c7 +218, 0xe1f574cb +219, 0xf613ab7d +220, 0xd09d16fa +221, 0xa58bcf5a +222, 0xac39afdc +223, 0xd611d1ab +224, 0x36edd3b2 +225, 0xd9ea5d98 +226, 0xf6f2fce4 +227, 0x42cb31ce +228, 0xdd1f6530 +229, 0x3e43a7d0 +230, 0x175ec7fc +231, 0x8077af4b +232, 0x37cbcc22 +233, 0x26a89f +234, 0x998c930e +235, 0xb84e5f21 +236, 0x83817130 +237, 0x2ad05d66 +238, 0x48f3b861 +239, 0xd69f626 +240, 0x1d09f12 +241, 0xf207e7f0 +242, 0xcc709acc +243, 0x1b2881d7 +244, 0x7e18cc6c +245, 0xbfd9589c +246, 0xce0d301e +247, 0xc8668b4b +248, 0x584482bd +249, 0x722e14ae +250, 0xd79dfcff +251, 0xcc7e9c21 +252, 0xd081f540 +253, 0x3b49f7fa +254, 0xf23efb2a +255, 0xfd7fe8f8 +256, 0x9abcbf25 +257, 0x5b713674 +258, 0x1300e351 +259, 0xe884f0ad +260, 0x3c290461 +261, 0x4f64c1a1 +262, 0x17c55223 +263, 0xd5953a5f +264, 0xd85e042e +265, 0x75dfc597 +266, 0x379edfb +267, 0x75ebddc9 +268, 0xc19b98e1 +269, 0x1dd1b751 +270, 0xc5760a60 +271, 0x5f6e2f17 +272, 0x29e8610e +273, 0xb2edd7db +274, 0x9233eeca +275, 0xbc02b187 +276, 0xc997bb5b +277, 0x88ad3a98 +278, 0x3d1167ad +279, 0xcea54c9c +280, 0x7ea493eb +281, 0x586e3aa8 +282, 0xe2e027c7 +283, 0xae50ef9e +284, 0xd32e0c38 +285, 0xeba0edf6 +286, 0x980ad22a +287, 0x3b14e644 +288, 0xd7bfbff8 +289, 0xe0af1647 +290, 0x292d72dd +291, 0xb8c421bb +292, 0x114d690e +293, 0x85a86bd +294, 0x39f2b5e2 +295, 0x7c9c6b43 +296, 0xca387767 +297, 0x84f24ecf +298, 0x2aec5804 +299, 0x27d0f2 +300, 0xcd7bb6a9 +301, 0xe925969f +302, 0xc6454099 +303, 0xf7435a9d +304, 0xf7bc998f +305, 0xfa81f361 +306, 0xcba07d00 +307, 0x3e8a8a14 +308, 0xf0e7f785 +309, 0x25aecff +310, 0xe1a90226 +311, 0x4af1339d +312, 0x983f4fb9 +313, 0xbaec847f +314, 0x4e504dbb +315, 0xe7d0be86 +316, 0x73cb80ef +317, 0x336db698 +318, 0x8bf7de05 +319, 0x36e4e6ba +320, 0x47a8239b +321, 0x2a98e1d0 +322, 0x64a6c087 +323, 0x4a8591cb +324, 0x642d5d67 +325, 0x9f4b84b2 +326, 0x6bdf1176 +327, 0x7e2b1639 +328, 0xc90453f5 +329, 0xe72d0b96 +330, 0x5f0e1d0c +331, 0x156af798 +332, 0x6124d8e8 +333, 0xaa2f2ad7 +334, 0x145b30b7 +335, 0xd6582106 +336, 0x203abbad +337, 0x929d8d43 +338, 0x14d5b6dc +339, 0xef0f4eb2 +340, 0x8ff54463 +341, 0x588113a +342, 0x1bc43ba6 +343, 0x44f44097 +344, 0xb84cfdc6 +345, 0x3ee638af +346, 0xdd169321 +347, 0xaaac5f56 +348, 0xbb022bc2 +349, 0xf9ef8bde +350, 0x2829b2fb +351, 0x563368fa +352, 0x82ce66ae +353, 0x6d820e38 +354, 0xb87a080e +355, 0x756469af +356, 0x78086990 +357, 0xa220e762 +358, 0x14ba6bdb +359, 0xfa775c1b +360, 0x65fa7396 +361, 0xbae24370 +362, 0x8e42ddb8 +363, 0x1f46b8ac +364, 0x3c9236c5 +365, 0xd3a2184c +366, 0x308ba74 +367, 0x5638eb84 +368, 0x64076fe6 +369, 0x37fe334f +370, 0x8de24732 +371, 0xf0d0b02b +372, 0x18492b71 +373, 0x848f38ac +374, 0x9b46dc75 +375, 0xf5d3c06a +376, 0x203afe47 +377, 0x19857724 +378, 0x38033528 +379, 0xf7fa640c +380, 0xf1cb86e8 +381, 0x1fcd5b99 +382, 0xb07f1023 +383, 0x3bb9ab75 +384, 0x57f54e78 +385, 0xf5b51d4b +386, 0xe94eba44 +387, 0xa5a39292 +388, 0x50803af +389, 0x34ea9cc5 +390, 0xabf621ca +391, 0xb275f802 +392, 0xf46dffd6 +393, 0xd33e27d1 +394, 0xca9a56e +395, 0x6eda85a4 +396, 0x639b78ba +397, 0x799d1980 +398, 0xf3c09bf1 +399, 0x6d4cdbe +400, 0x112dae8d +401, 0xd97414b1 +402, 0x9499df3d +403, 0xa58ece6c +404, 0xe56bf91b +405, 0x3bdbfd9 +406, 0x91aae1fd +407, 0xec1fce54 +408, 0x60e0eced +409, 0x278d5b22 +410, 0xdee29da2 +411, 0xf1f55d27 +412, 0xd532ab83 +413, 0xb0fe9589 +414, 0x88fcc255 +415, 0xf524359b +416, 0x7270a00b +417, 0x42489eaf +418, 0xc020d6bb +419, 0xf9ed0f78 +420, 0x4bc5cdec +421, 0x55061393 +422, 0x6b84a5a4 +423, 0x826c0471 +424, 0x9e69e30d +425, 0x9dfd9b15 +426, 0xf4014c40 +427, 0xcd04ef4d +428, 0x7376c02c +429, 0xb15a9e3c +430, 0xf76c1fa9 +431, 0xcd51bdd8 +432, 0x99f2859e +433, 0xb62c6a4d +434, 0x52239d8b +435, 0x27fa2869 +436, 0x6dba918c +437, 0x9891e444 +438, 0x71e29f5 +439, 0xa9cd3ac9 +440, 0xf6ec3b80 +441, 0x8c8d3226 +442, 0x7c528725 +443, 0xd543932b +444, 0xf76b3e02 +445, 0xeccaf183 +446, 0x8f757854 +447, 0x785edb62 +448, 0x54397da0 +449, 0xe1fe0557 +450, 0x7a79d418 +451, 0xd2740507 +452, 0xc3561bc7 +453, 0xef7c3f18 +454, 0xecf8effe +455, 0xc7a073ad +456, 0xeb5ea9fd +457, 0x33dade18 +458, 0x89d0e41c +459, 0x7720d298 +460, 0xe912f029 +461, 0x7794462 +462, 0xa436dcf6 +463, 0x55cbb318 +464, 0x7b4a78e0 +465, 0xa8ce0afb +466, 0x7e18bb28 +467, 0x92c4f8f6 +468, 0x6828052c +469, 0xbf619f8 +470, 0x272d1d15 +471, 0xb34e2e52 +472, 0x52158f7f +473, 0x682fb062 +474, 0x52e80435 +475, 0x787e0fb3 +476, 0xe331da39 +477, 0xfad42e58 +478, 0x1bdb3f90 +479, 0xe313ab2 +480, 0xe61af9bb +481, 0x46f03903 +482, 0x926b3d33 +483, 0x2b23ce3b +484, 0xed04d4af +485, 0x34c49faf +486, 0x142f503c +487, 0x47cf6a21 +488, 0x5352250c +489, 0xf5942210 +490, 0xca5950ae +491, 0xc5302422 +492, 0x41a5e9b1 +493, 0x30076390 +494, 0x8951d0e4 +495, 0xebe74e22 +496, 0xfcb7dbf8 +497, 0xd55076e7 +498, 0x88a1165b +499, 0x1a89b5a3 +500, 0xda2c3e2e +501, 0xdc1d606d +502, 0xfda0315c +503, 0x5f5610dd +504, 0x3eba316c +505, 0x72cae07b +506, 0x5336095 +507, 0x6a110322 +508, 0x46cb153b +509, 0xa2b11116 +510, 0xe2543988 +511, 0x51f53bae +512, 0x3b10466d +513, 0x189ddd56 +514, 0x1fd355b6 +515, 0x1230e8d3 +516, 0x2050d313 +517, 0x2fbb5c16 +518, 0x64b03f4f +519, 0xbd6cdc1a +520, 0x9d423316 +521, 0xc71a702f +522, 0xf2254f39 +523, 0xd953728b +524, 0xef3c8bb5 +525, 0x685a2fab +526, 0xcea73dff +527, 0x4a7fa029 +528, 0xa27e8058 +529, 0x561a1413 +530, 0x570fc5bc +531, 0x917e93ee +532, 0x15fdbb15 +533, 0xabee295e +534, 0xc40f5307 +535, 0xba18b087 +536, 0x6ea6e339 +537, 0x7e282248 +538, 0x875062c2 +539, 0xd1520c30 +540, 0xb4cef1a5 +541, 0x55812dd1 +542, 0x9c67743c +543, 0x22fd5992 +544, 0x1dacbfa +545, 0x5b35eab1 +546, 0xfa8c9316 +547, 0x490bc71c +548, 0xe5129bfb +549, 0xe7acb79f +550, 0x87667765 +551, 0x945be067 +552, 0x8acf5c32 +553, 0x466e0ee +554, 0x8fa89be0 +555, 0x4eb4afcc +556, 0x3302055b +557, 0x8f2e3ab9 +558, 0xc5bc175e +559, 0x903a3e85 +560, 0x4055dd04 +561, 0x37873bac +562, 0x2965a951 +563, 0x2206c56a +564, 0xf34dc2db +565, 0x34e43ba2 +566, 0xb61caa44 +567, 0xfd3eb260 +568, 0x9dcdc817 +569, 0x7019df83 +570, 0x6fcd9bea +571, 0x270cba0a +572, 0xd6cc3241 +573, 0x6345c906 +574, 0xd213fb94 +575, 0x6195e5b5 +576, 0x804abab7 +577, 0xb4cace45 +578, 0xded19bbc +579, 0x617db00c +580, 0xafb933d6 +581, 0x8192cae8 +582, 0x45ffd8af +583, 0x13ae0868 +584, 0x840f4541 +585, 0x12cd1a05 +586, 0xbb5b7d6d +587, 0x3907ab3 +588, 0xd77a1582 +589, 0x4e741292 +590, 0x28c60865 +591, 0xbaad11e2 +592, 0xa9d3e364 +593, 0x88a197cb +594, 0xe90f021f +595, 0x2056017a +596, 0xeb0a2fd9 +597, 0x1d3435aa +598, 0xdaa0b802 +599, 0x8121bf09 +600, 0x95a88f55 +601, 0xa8b9c257 +602, 0xb0ab4914 +603, 0xf360b741 +604, 0x5563d4ab +605, 0xad33cf0e +606, 0x397d315a +607, 0x6893767f +608, 0x79dd5b31 +609, 0xa9ea6777 +610, 0xcf48c06 +611, 0xb4cceafc +612, 0xf53cab50 +613, 0x72426c8 +614, 0xd128aa5a +615, 0x511eec88 +616, 0x668ab20a +617, 0xb9b53dbe +618, 0x3b03a0fb +619, 0x8f416a98 +620, 0xaa15b7f6 +621, 0xc7767aba +622, 0xa64d3342 +623, 0x42cf1388 +624, 0xfc3ee7c0 +625, 0x892a2902 +626, 0xdb054bf6 +627, 0x4973223f +628, 0xb9f74682 +629, 0x72f2ece +630, 0xddf94382 +631, 0x67581d86 +632, 0x9cb9cd6f +633, 0xed74731a +634, 0xcca05451 +635, 0x3b21fdc0 +636, 0x9e18e52b +637, 0xa40bb287 +638, 0x8bb05e07 +639, 0xa33555fe +640, 0x4c819ed +641, 0x5373903e +642, 0x611403c2 +643, 0x133e25fb +644, 0x9c7a44e4 +645, 0x67197b8d +646, 0xfa910436 +647, 0xa86a825d +648, 0xfc9b24c1 +649, 0x464a718e +650, 0x7421bc26 +651, 0x3c3186b7 +652, 0xf7304619 +653, 0x7ac7be81 +654, 0xae6adcc4 +655, 0xca96bf8c +656, 0x49711d50 +657, 0x74c51f0 +658, 0x275804c0 +659, 0x228098c5 +660, 0x73a31b94 +661, 0x7f01db79 +662, 0xb36209c8 +663, 0x6ccf8677 +664, 0x70dbcce0 +665, 0xa533d8cd +666, 0xd0b0f097 +667, 0xd9a3b784 +668, 0x80a929fc +669, 0x9708f29a +670, 0x95e1e56f +671, 0xd07a0b45 +672, 0x566acdb6 +673, 0x92663054 +674, 0x3667dc9a +675, 0x80f850ff +676, 0x549dd640 +677, 0xc3ff18ca +678, 0x8c70d392 +679, 0xf5547e3b +680, 0x8dbee1d7 +681, 0x51fe33b8 +682, 0xb1ea480b +683, 0x6646f6d0 +684, 0x4a8e7de9 +685, 0xcb053e32 +686, 0x6311aee8 +687, 0xcc2a411b +688, 0x5330e60b +689, 0x4680e825 +690, 0x96bdd8a2 +691, 0x8cf4268a +692, 0x8445c833 +693, 0xc237eef1 +694, 0x459670e8 +695, 0xedf26624 +696, 0x5713340f +697, 0x5a3e87a3 +698, 0xa24a7c2d +699, 0xfa9fdceb +700, 0x746fd14e +701, 0xc6aef3e5 +702, 0x3d957e9b +703, 0xc1926f7a +704, 0xee717768 +705, 0x101fe323 +706, 0xec0d63ab +707, 0x8b8e6f42 +708, 0x8c3d2286 +709, 0xb573dd68 +710, 0x53b68ec0 +711, 0x696525cf +712, 0xdab65d8e +713, 0xd2c6ed42 +714, 0xa1fc10f6 +715, 0x1554666 +716, 0x6ed42947 +717, 0x87f7e62 +718, 0xaf34733b +719, 0xc55baa8b +720, 0xcbff66f +721, 0x2516c228 +722, 0xec6980fb +723, 0x4f53d66c +724, 0x1be17a32 +725, 0xdcfb31df +726, 0x4b17d04f +727, 0x81e1f54b +728, 0x749eae52 +729, 0x3811c4d5 +730, 0x5d11e6a1 +731, 0x535d5d6c +732, 0xbb74cd20 +733, 0xd1b18b71 +734, 0xfbf7221a +735, 0x817c4279 +736, 0xcef30b85 +737, 0x41dee06c +738, 0x9d340a3a +739, 0x691f0449 +740, 0x363a515d +741, 0x73a1af6c +742, 0x25718271 +743, 0xb4a52d50 +744, 0x1e392f40 +745, 0x3c811345 +746, 0xc9aa8565 +747, 0x357c24e0 +748, 0x19ad7230 +749, 0xed250e20 +750, 0x4acc4824 +751, 0x825d53a +752, 0xcf2f515f +753, 0xb7973ff4 +754, 0xb03ce53f +755, 0x1afad500 +756, 0x39f64ee8 +757, 0x60bea483 +758, 0xedf16817 +759, 0x88beff73 +760, 0x4909868 +761, 0x879a96da +762, 0x52d4ac6b +763, 0x46fabe65 +764, 0x88fa5751 +765, 0x71df4521 +766, 0xfc6eb286 +767, 0xf83e78ad +768, 0x885e5aca +769, 0x77e63e4a +770, 0x2bdf5c02 +771, 0x2528323c +772, 0x5b5d1ce9 +773, 0xf795be8c +774, 0x5e113b2b +775, 0xa993c7aa +776, 0xe5f8560a +777, 0x77e1e8d +778, 0x5e9db88a +779, 0xdac4e96b +780, 0x9126b945 +781, 0x15bf293a +782, 0x1dc9a8f4 +783, 0x909b48b1 +784, 0xb50ce29e +785, 0x21671c87 +786, 0xcda80dec +787, 0xf5aff1a9 +788, 0xd70cdb2e +789, 0xd293139a +790, 0xcbf4f51d +791, 0xb23c6d7a +792, 0x1a06aa33 +793, 0x21880210 +794, 0x92679678 +795, 0x8d5bb26b +796, 0x23304100 +797, 0x8f5d1df4 +798, 0x143b39ff +799, 0x29e97d16 +800, 0xbfad952f +801, 0x257ca1d8 +802, 0x32ad2f8f +803, 0x84d320c3 +804, 0xcc4c59a +805, 0xbb5ae046 +806, 0x3d5fcf1d +807, 0xa0130b0 +808, 0xad86e9de +809, 0x1e422521 +810, 0x6b56a617 +811, 0xbe64d9fc +812, 0xfff31ed0 +813, 0xd1ad616e +814, 0x13486a20 +815, 0x1754613b +816, 0x52c7b9da +817, 0xc05d75aa +818, 0xd719cd98 +819, 0x61890574 +820, 0xc4711a8b +821, 0x9afd5635 +822, 0x4dabed21 +823, 0x94f173 +824, 0xb8b6e708 +825, 0x1d590111 +826, 0x60315dfd +827, 0x7fb8ae79 +828, 0xc69f4f2b +829, 0xcaf1c898 +830, 0x861a0c8b +831, 0x6ed14eaa +832, 0xc77da58 +833, 0x8fd4f29a +834, 0xa38187fb +835, 0x6ed1ee88 +836, 0xf1a9f55a +837, 0x74368cc8 +838, 0xf327e944 +839, 0x97a578af +840, 0x8a5345e5 +841, 0x63ee0a30 +842, 0xa7e4919b +843, 0x51e26930 +844, 0x38dbe017 +845, 0xedace3a9 +846, 0x9cda2ad4 +847, 0x96b1119 +848, 0xff56282a +849, 0x71773edf +850, 0xe41fb69c +851, 0xe7bce539 +852, 0x221ffeed +853, 0x35d3f67f +854, 0x7e089168 +855, 0x6fd47823 +856, 0x43bfb28d +857, 0x9ce49e62 +858, 0xde32120 +859, 0x6eacfe4e +860, 0x116c6128 +861, 0x5f975284 +862, 0xc547361c +863, 0xf48e8251 +864, 0x2ac8a3bd +865, 0x9a0fce5b +866, 0x1764e3d9 +867, 0xa31e6954 +868, 0xb9dca055 +869, 0x1cd35c79 +870, 0x1b502882 +871, 0xf973ab10 +872, 0x8b585146 +873, 0x841fd3f8 +874, 0x4999200f +875, 0x7ad10c4b +876, 0xcf1695bd +877, 0x26c58bc3 +878, 0xdc1f8310 +879, 0x546e1e86 +880, 0x2e39fec8 +881, 0x8c65e2ed +882, 0x6469bac +883, 0xbc4af1ff +884, 0xa1669010 +885, 0x41dabd80 +886, 0x5797e218 +887, 0x9bed24c1 +888, 0xa7552347 +889, 0x4e214099 +890, 0x34d4f986 +891, 0x316cc527 +892, 0xde30c21c +893, 0x4f273c1e +894, 0xc3dd9324 +895, 0xe61fda1c +896, 0x1d0f8076 +897, 0x5570867e +898, 0x289d6062 +899, 0x465b8b26 +900, 0xb72307de +901, 0xe78c8647 +902, 0xfee9723e +903, 0xa1534c9b +904, 0x4d652645 +905, 0xe623b6c2 +906, 0x454cfc8 +907, 0xc5a7fcaf +908, 0x1de804d9 +909, 0xa2501de7 +910, 0xe036c091 +911, 0xa4a55d1d +912, 0x50409892 +913, 0x58fd2731 +914, 0xb6fd3618 +915, 0xa0180bd2 +916, 0xd9bb2fe8 +917, 0x7c8e7a2c +918, 0xd90906fc +919, 0xf8721260 +920, 0x451b372d +921, 0xeeb1c70 +922, 0xc1a18778 +923, 0xd466244a +924, 0x88e4b84a +925, 0x4fc3af63 +926, 0xcf4387e4 +927, 0xb8872734 +928, 0x276eadef +929, 0xd2c164a1 +930, 0xd3c812d9 +931, 0x5a94f176 +932, 0xfba6f632 +933, 0xf7aeba97 +934, 0x9207585f +935, 0x70a41d67 +936, 0xa0b70910 +937, 0xd579fc6b +938, 0xf06a8fca +939, 0x471fd406 +940, 0xb15a0491 +941, 0x2f340f7a +942, 0x3df02de3 +943, 0x6022f8d6 +944, 0xa15b11c2 +945, 0x45715dd6 +946, 0xf293d85e +947, 0x7a2100d +948, 0x7dff786e +949, 0x52c6a183 +950, 0x5fbce2db +951, 0xbc29ec65 +952, 0x3dd14b27 +953, 0x1bedecd1 +954, 0xbfcba31c +955, 0xb911a26d +956, 0x6b6de680 +957, 0x36e8769 +958, 0x908de4a0 +959, 0xe1abee1f +960, 0x83acd7f8 +961, 0x5008c1eb +962, 0xd8bc7a2b +963, 0x6f639c56 +964, 0xe1f2634b +965, 0x267222ec +966, 0x48fa416c +967, 0xfa01e3cb +968, 0x2d28a700 +969, 0x58dcdc97 +970, 0x685ac2e7 +971, 0x9318840b +972, 0x99247a55 +973, 0x8d749b83 +974, 0x403f8415 +975, 0x373eb9c6 +976, 0xb840b6a2 +977, 0x9bb7bfc4 +978, 0xd5800634 +979, 0x3ef4a02d +980, 0x2ffa791f +981, 0x8a671150 +982, 0x40fdfc5e +983, 0xfa4bd35e +984, 0xf4ca1642 +985, 0x17fb231a +986, 0x42a3e57c +987, 0x58cf119d +988, 0x32f19c67 +989, 0xf3e2e153 +990, 0x66fce6fb +991, 0x9d61059b +992, 0x1628eafb +993, 0x9a6cf683 +994, 0x5ff5df3a +995, 0x206fb3c9 +996, 0x1914913c +997, 0x58c002ad +998, 0xd099145f +999, 0x155aab4b diff --git a/numpy/random/tests/data/pcg64-testset-1.csv b/numpy/random/tests/data/pcg64-testset-1.csv new file mode 100644 index 000000000..da6d77d40 --- /dev/null +++ b/numpy/random/tests/data/pcg64-testset-1.csv @@ -0,0 +1,1001 @@ +seed, 0xdeadbeaf +0, 0xb174ddf3fe597da6 +1, 0xfc217240c1e61e6f +2, 0x20279da26fec9cbf +3, 0xa5f4ee34651f4e1e +4, 0xb254d7901c68b9db +5, 0x6bf2a64e4052c36f +6, 0xbec4c7418c0f61b6 +7, 0xb03e595a4ef2b2bd +8, 0xc8e051957ccb74c6 +9, 0xf5082df7473c6f62 +10, 0xb72aa3dc22752a38 +11, 0x7a941561514bd680 +12, 0x90a95f42834f347b +13, 0x88e17b9d59def797 +14, 0x18f19c86bfe60368 +15, 0x667f89277be8d1d8 +16, 0x63305475e7aeff27 +17, 0xd7e4d5c09fb0fb4c +18, 0x7dd6deab03a8c26a +19, 0x42bbcb746e2d4b26 +20, 0xe91f2ac4fa90689c +21, 0x2f83458da0af3125 +22, 0x49a43537a00fae89 +23, 0xef02111d1ebc16eb +24, 0x32b3b3019875f3e7 +25, 0x89eb15c48cd02774 +26, 0xa9f1b37865752731 +27, 0xe0eff9dadc47fb3 +28, 0xae859b1c54cc90c2 +29, 0x7b7c5e04d5015dec +30, 0x38faeff5ce3266ff +31, 0xd2ddd0d19fbc24ee +32, 0xe0d4f692829a31a9 +33, 0x30a6aa3f408e71c2 +34, 0x298362be21de6d44 +35, 0xb7efab759e691149 +36, 0x2ae1f84bba093d4c +37, 0xf6ab55f78f8b9258 +38, 0x2275d0af583cec95 +39, 0x18cfe066b183ac3c +40, 0xcc0a546d54064cf5 +41, 0x5de027ea3c25c225 +42, 0xdaf31ef489fe71e1 +43, 0xa7a2b1a72a4360e7 +44, 0x678a55d7a0506791 +45, 0x36facd8799ad2b78 +46, 0x32fec94506dca70e +47, 0x34e890d8539871f8 +48, 0xec48b5362b0d7818 +49, 0xe2e58921cf8228d3 +50, 0xd163588ec22730a4 +51, 0x17e2322b6be47d25 +52, 0xe1544989a0c6d24f +53, 0xa3a10fb279cdc347 +54, 0xad4ee318a5853900 +55, 0xc96a185feef4a85d +56, 0x82ec5b3aed6636fb +57, 0x2aac2ef8f25426d7 +58, 0xa81e3114165e0d08 +59, 0xc1d8128f83969da5 +60, 0x157505508eaf50f1 +61, 0x77c175067c9c199c +62, 0x973052089bd7af0 +63, 0x3cd70041e32c1921 +64, 0x7783719f13a254a0 +65, 0x2216485ff502d9ff +66, 0x7dae695d2c7f3b79 +67, 0x809ce710156fea36 +68, 0xb90ac31262460e4e +69, 0xc1afe8019306e7d7 +70, 0x6c57638edba4ca0a +71, 0xbe6133f6ab1e9aeb +72, 0x8f5699ff0bcf341d +73, 0x69d0218df036bcbc +74, 0xf0976fd79735d47d +75, 0x82b36a795e5cc74b +76, 0x263c30766b985686 +77, 0xf7426f94511d5ba0 +78, 0x8b04f9573050ed9e +79, 0x7280d4ec202e8359 +80, 0xa8235fbd1324f172 +81, 0x6dbd5d500a809a8c +82, 0x26c53c69292bca1d +83, 0xe348f657b20305ec +84, 0x562f0e2fbb375421 +85, 0xdf2be07bebfbe447 +86, 0x4275044640683760 +87, 0xad5d68bfe4ab4858 +88, 0x3c0e57df5b3306f0 +89, 0xc9d87622ac847565 +90, 0x83d04fd9e102c311 +91, 0x71996b9c65aaf5c0 +92, 0xe3df32742d6fc446 +93, 0x58d3a6573a39d0cb +94, 0x74dfa090e96d289d +95, 0x7856f45e5416c1ea +96, 0x80a18e88b3e4dff8 +97, 0x60565bbcb04f56ac +98, 0x9f4cf5ec45fae3a6 +99, 0x885d2909fe34e3f0 +100, 0x7a1db9118f60dee0 +101, 0xc4c17dc810746c7e +102, 0x8b954b14effe83b1 +103, 0x4f89fb0940999c86 +104, 0xc62e634bceca1c97 +105, 0x7e06e87dffd1619f +106, 0xd1ccbce841371671 +107, 0xe7f99698c66df1b3 +108, 0x5302c2f0e4e1f4e0 +109, 0xa57d11d3d7ee652e +110, 0x8abe0ed0e5508407 +111, 0x6780588af9f6c2ff +112, 0x8603a9fc73b6a4cd +113, 0x169c13a0b7a166b9 +114, 0x868969fb53578598 +115, 0x6089e0eacbe69039 +116, 0xf82482d424397dc2 +117, 0x11475d20896fc890 +118, 0x7983933df29e2aa0 +119, 0x4889c4780cd8e9cc +120, 0x53ebb258f3ea266b +121, 0x121896059b256fd1 +122, 0x2f9934516b2f8090 +123, 0xbabb9fa1d1efa60c +124, 0xfb0b1370ea044797 +125, 0x782ab293b597bc8e +126, 0x297fc0b3977271f5 +127, 0xa573e4d0674d02fc +128, 0xc7e8ddb6efe8a2db +129, 0xaae8a024e62f6e32 +130, 0x3217a47698c9e439 +131, 0xd7015db847a3de0b +132, 0xbc0b4368776e10a7 +133, 0x69d9ef0178679bfb +134, 0x28fd8f0936b66fab +135, 0x45b1c4d4aa9b5aca +136, 0x28feade39cd3ac00 +137, 0xa7e6515c534520f1 +138, 0x735703b5f4bfd54e +139, 0x798271ae0c91b8d8 +140, 0xf858458f9efa8d2 +141, 0x6a41f5845422a9e +142, 0x7fb0bba5f097aab0 +143, 0xbfaea58fe090e745 +144, 0x84770504bfb15b35 +145, 0x67ae11aa368049b8 +146, 0x846c5e493ee15e4a +147, 0xbbcf3baf029f056c +148, 0xd30c23bde142a356 +149, 0x32cd403edb746a8d +150, 0x40161ab00c636730 +151, 0x3a882c3c60d3e19a +152, 0xca8faab24d826529 +153, 0x241a687288551d04 +154, 0xbbc607fb9b48ac00 +155, 0xa844329d0c2d475a +156, 0x8fa4aa1d7296b9e4 +157, 0x82c7dc1f588ce2fc +158, 0xcbdaa663041e078c +159, 0xec108d219b2b147a +160, 0xcab01864270b334 +161, 0x6d3d08545041621b +162, 0x2aae054b8e5648f +163, 0x1bf5a72fa70e7eab +164, 0x2dddb2050af45a3a +165, 0x2b910b7078021a75 +166, 0xf7160201ede45f4e +167, 0xfaf75ae996f079bb +168, 0x407984a9451e659c +169, 0xbdf9c0a9ea078ac0 +170, 0x1e7717b8345acbb6 +171, 0x25cc2df4c0c8dc4a +172, 0xfda1715b573850db +173, 0x50e5cedad99e2651 +174, 0x9a67673ed73cfc0 +175, 0x802ec4fc9e946805 +176, 0x677cd320e641999f +177, 0xbfeb1b6053fe4f78 +178, 0x220cfc90bd31541 +179, 0xe4fdfae10ae6c86f +180, 0x76c568fd869af80d +181, 0xd17dc57109200bb1 +182, 0xeb96ba01c95382be +183, 0x6a9c7ebea5b5f7ac +184, 0xc1680450532fb8cd +185, 0x26b0829f68888094 +186, 0x98335aa1612d7c70 +187, 0xad8662125bf32ae3 +188, 0x15f18a9025ae26e8 +189, 0x5d065dba0d17c9fc +190, 0xf68e1d59f10ff109 +191, 0xcfbd97901a79f8b0 +192, 0x3e72a9fd1d95f143 +193, 0xe7ee82c1bb740dfd +194, 0x3a0f4ae5db22527b +195, 0xf4d025080ed4ea92 +196, 0x6924a99549b4657 +197, 0xcb83b51552208e2f +198, 0x9f306634214b44e9 +199, 0x4fb3307b0e1a7535 +200, 0x73d202d4225c5394 +201, 0xd5a2fa42f8cc8c5c +202, 0x7b3b3e3f7b948d3c +203, 0xa2dbc4d30d8c148e +204, 0xd1bfc1f05a8f2c5d +205, 0x2b00a4efa2f19262 +206, 0x9d4a05bb18647f48 +207, 0xff21fbaf0b46d13f +208, 0x126f9c5f2132af20 +209, 0xd4b7629b0d9a6b89 +210, 0x2d61949fb3126ecc +211, 0x30d61648763db1ce +212, 0x9c5234d15120bf17 +213, 0x2eb0eccb6cc14c8a +214, 0xcf18eff5ca2af8a4 +215, 0xab5fe599ea68c377 +216, 0xe47a0bb8436af89 +217, 0xd3728a566187c400 +218, 0xb8b54592b62f633e +219, 0xe02b958f9c13a180 +220, 0x9e5f5cc85283f24a +221, 0xbd1ab869878744a +222, 0xb93fd6297a29c8dc +223, 0xf22f06ee61dc2413 +224, 0xc93fe440766cbd8e +225, 0x7459d9b19375a51c +226, 0xd4ec87c57baa4127 +227, 0x1514d0226dc0409e +228, 0xc6b0d7e1bd56b190 +229, 0xc0c61c73c9dbffee +230, 0x2f1154afb48a93e2 +231, 0xd2ca05901bae0117 +232, 0x6263f647273694a0 +233, 0x94a98bf80488205b +234, 0xcb0d63747735bead +235, 0x9cbd4e1659932c5b +236, 0x1807e01931b5ade0 +237, 0x1d9f7721d3067854 +238, 0xb25dbde4ec77e547 +239, 0x4b186592a39adcd6 +240, 0xe8ad5514de72a98f +241, 0x2deac1cb096a09b4 +242, 0x6952f4b82a2c87 +243, 0xaa1590223ed83ffe +244, 0x9baf13d08f572e12 +245, 0x83ec1bca1e724d88 +246, 0x5c61bf2222b4907 +247, 0xd950ff64ad7b956e +248, 0x36bf5e992bf1f211 +249, 0x75ad67249d7a6c35 +250, 0xeb12dcef5c2bfe7d +251, 0xc508da925157e39d +252, 0x91cbd7491ea7f70e +253, 0xf10c018ec0b0e55 +254, 0xeeffb21fef1e87f1 +255, 0xe31692b834d067dd +256, 0xd69bbafdeb5c0d15 +257, 0x41358dadb9260eb1 +258, 0x5fa3c67d353cd6b2 +259, 0xdbb743cac20b2eda +260, 0xe7877ba98b2bfe4 +261, 0xf14d679436fd2dcf +262, 0xa313e39059d62afe +263, 0x7eaa134c761a6183 +264, 0x7719af9ad1fecaec +265, 0x533f921a4702d433 +266, 0xe072f9665ec3a3c8 +267, 0xba89560ab4ba08fa +268, 0xe94f0aa266e56d53 +269, 0x774b84bcb152afc +270, 0x787c9517e589748d +271, 0x3831a5303adfd362 +272, 0x19cb20184a4264f8 +273, 0x9bc5e99e1773700e +274, 0xed323bf38642f651 +275, 0x860868c0eba789f2 +276, 0x8c1602ffd9a5621a +277, 0xe298d8fc74e146ce +278, 0x3181a2083c76037f +279, 0x27942fd6842079c0 +280, 0x38fe8c0406516df +281, 0xd211a4a42857bec3 +282, 0x56002508b351879d +283, 0x2472ed93614c7e99 +284, 0xbcafdaadc0f77b7c +285, 0x86becbd3e5303107 +286, 0x930251d84de72320 +287, 0xea79aa2964954052 +288, 0x6dbc5e63b50b1724 +289, 0xb098535ed4bc7372 +290, 0x6490d6d8541fb656 +291, 0xc738f6ccb4b7076b +292, 0xd69ee4fd6ce63026 +293, 0xfa98e9d78a628338 +294, 0x9c30b63a70d607b6 +295, 0x8d544b5d224a25d9 +296, 0xa051f7fe38445228 +297, 0xf6931861338a00f5 +298, 0xecd71cd64b0b5dcd +299, 0xdbc818e7126193b +300, 0x3aaaa032aad8199a +301, 0x6fd68a3818e0c439 +302, 0xc82a651ba9ede8c9 +303, 0xe6d958e267017187 +304, 0x73a9eab64de651ae +305, 0x5a6757f7f222bb3c +306, 0xe62e7cca6bd17a32 +307, 0xc4f6c31f528dd387 +308, 0xdecd8b663c995773 +309, 0x69a21dedcbfef9c7 +310, 0xb33f8ac00f17b6b2 +311, 0xe32b3c962d613ba3 +312, 0xa9c317d026600d41 +313, 0x901d971c49671213 +314, 0x46c3f3d35db8808b +315, 0x1336297232af9791 +316, 0xed88d9242e11edb3 +317, 0xc70c48843f54af0 +318, 0x611062a0461deedf +319, 0x7e3183514f127f20 +320, 0x7b549d10bace1c47 +321, 0x6db523d19d0a7af3 +322, 0xf6e677e5222a21a4 +323, 0x28e5188ba7055c32 +324, 0xbe7b41d2ce539c4f +325, 0x5c085a18c3b7bbe0 +326, 0x209cf345b3c3b06c +327, 0x79ca5407dd486857 +328, 0x8e07ac4c65338ccd +329, 0x56dd5372249cadad +330, 0x27e0b07863fa27ff +331, 0x78dec95d299a8699 +332, 0xbd5d71253b73d456 +333, 0xbf83b6cedd205e9 +334, 0xee2352ee69aa68e +335, 0x4b14f253d684cfbc +336, 0x12ffa5d5f8a34bec +337, 0x2e38346fbc793f67 +338, 0x2ab5862872b4850b +339, 0xcbc8aec1e2bb6760 +340, 0xd79ef783845cc329 +341, 0xdbdcde91e1685704 +342, 0x29880643aa1095e4 +343, 0xcd5ccc1fe9a616af +344, 0xc7b6cdc4a43c132c +345, 0x7b08597fdec7fc9c +346, 0xa01ab3827e120a16 +347, 0x89ce37de99ca7748 +348, 0xb4644823ea6b90d5 +349, 0xdbe189861c409209 +350, 0xbfeb614759981b60 +351, 0x48c2c3a6d2419755 +352, 0x1aa1df0e99b3417e +353, 0xb9f061bf98c0da28 +354, 0x8bce2755a0b5b8ae +355, 0xc9bb2ff33d60b3e7 +356, 0x6abcbb1ea0d3a575 +357, 0x983a3c16a0e5d6f8 +358, 0xa122e616797ccdbe +359, 0x751dfe60252a01d0 +360, 0x8d1bcbbde84f6a11 +361, 0xb6bc4f2942ba0e57 +362, 0xb298977a4bb20e12 +363, 0xcf658188dd931722 +364, 0x39735757b19c90a3 +365, 0xc2fcf1df99f1b7c4 +366, 0xd42c50f6a912aaea +367, 0x95d0cb8a953965c4 +368, 0x75c7d03289269f25 +369, 0xd8d96184031fb36b +370, 0xb3b34b5ba8bac75 +371, 0xcfbf16d241e46f8c +372, 0xec465e59019b6f6f +373, 0x4051ce0bc2562a63 +374, 0x859f05ce7b75da05 +375, 0xf2661ef2e3c733ef +376, 0x8067f432dd5af0c4 +377, 0x6e8542a346911713 +378, 0xfcda2ac6aa45ca20 +379, 0x571f23fdacb25fe2 +380, 0x2546f5badf7adb8b +381, 0x929ebe6fbd330e2b +382, 0x9d41d6ded9facbeb +383, 0x4cf9d9da6c125106 +384, 0x495d5708443faa36 +385, 0xb0023a41a6057e59 +386, 0x37fa1cd9ce66b20a +387, 0x96a376fca4aff5a8 +388, 0xc22469c4a3e1ea85 +389, 0x5ab79b721966249b +390, 0x2124be452f7d4ca4 +391, 0xe71bb882b954ca11 +392, 0x322bdcaf9c7b0efa +393, 0x4c99c8753878439f +394, 0x3ffd6caec9f9ac49 +395, 0xfba842dd40a3c72e +396, 0xfd93517d31681d77 +397, 0x44c139a74249a128 +398, 0x828a145610684c8 +399, 0xb53696f802522b6 +400, 0xa2da2199474d079a +401, 0x739e508fbbdeb714 +402, 0xe75c4734a7c95f94 +403, 0x5c22c226f2bd8487 +404, 0x7108fa6b99b0d72e +405, 0x3c60b40f6e4bebde +406, 0x395150555d56dd18 +407, 0x13246a6e4d795fe3 +408, 0x27dca990fb678027 +409, 0xc5a92c32724a7373 +410, 0x30fed89f4171a817 +411, 0xf7f7810edea2e7eb +412, 0x46e930eef5351212 +413, 0xe1331cd8a678dc66 +414, 0xd4cc0a5f96a72457 +415, 0x2559f8d286b1da16 +416, 0x73831b2f6e4a4ba +417, 0xd929ccf267504761 +418, 0x8a7a1b357f8bbc38 +419, 0xd5e0d3e200d0d633 +420, 0xc2cc05cc3ac5abb +421, 0x75b8f78a06ca465b +422, 0xeaf1d6aa9c0baef3 +423, 0xa6c9bc3dbe45e62e +424, 0xb1496074b4c338d7 +425, 0xc18ebb892108cec +426, 0xf6cbbf4cd0f8f9ba +427, 0xd73759407ecbdcf6 +428, 0x54dc0805c85a3b0c +429, 0x4ba3936d6be048f3 +430, 0xa3fbea19803cf35 +431, 0x78b1d3a837d4bed +432, 0x6ed09ac2c177453b +433, 0x16134c4e8b30f6ba +434, 0x94718ce4868f01a3 +435, 0x612fa336da82e66d +436, 0x5d8833c9483b235d +437, 0xf5c72d4883bed9a2 +438, 0x2a6e27d1ed337134 +439, 0xfba250d6b9cc0d2b +440, 0x432f8734b61e4366 +441, 0x45e8becd5ccb4f32 +442, 0xffc7d68cb343170a +443, 0x247cb9a6b29b1a35 +444, 0x89876df3681dc65 +445, 0xd1e646c49aac769b +446, 0x4c3cd721635602d0 +447, 0x5139344709c749fc +448, 0xc5130d981e1a6b14 +449, 0xff269bea082608cb +450, 0xf45a5d57a6d4c6a6 +451, 0xc4c9f3e5398db827 +452, 0x2b3a0eacd42665b4 +453, 0x94d847d848a8e65d +454, 0x1a8aff186e1d75d2 +455, 0x6ad986366c54a242 +456, 0xbd832c0607523e7e +457, 0x973064c20c31842d +458, 0x34d0513e6d602f80 +459, 0x91b3c812f83392ed +460, 0x4c49ba38b6a4cf90 +461, 0x82e3370e1c5ad5d4 +462, 0xa29a01fa53250a13 +463, 0xbe8ed1e615a1ee6a +464, 0x17fb15941a9fe6b4 +465, 0x84aea1c0138fb970 +466, 0xab065efb4558003d +467, 0x3345b340257a2551 +468, 0xfd2ebda1048c0dcd +469, 0x2aa72fce0cb23982 +470, 0x9952f9363830ff6d +471, 0xdb240e279cb7f901 +472, 0xb4a1e7b54206aca4 +473, 0xe13bdbb980623f25 +474, 0xd989f009368f8a9a +475, 0x7084b7695149660d +476, 0x55b92a3f139c7f1 +477, 0xdb43c75c633debd0 +478, 0x94e362574c70b9a8 +479, 0x218a1a06d9223f9b +480, 0x82f3c3808f86bb95 +481, 0x63e9de6cee4b77b2 +482, 0x3bc5effa36bb166 +483, 0x8369cbe5fa0ecab +484, 0x2a5808b4d7bc8572 +485, 0x6856e29700de99f5 +486, 0x107e86fcfd4a48d9 +487, 0x15c9ee6528c1c223 +488, 0xbf7318d4206c5e75 +489, 0x15d7a6aa9343c9e8 +490, 0x93419fe0ee3bd5df +491, 0x916c7f75ededdd53 +492, 0xe89d6230690f74f1 +493, 0xf92f96834e0eb27 +494, 0xed5adc06c305adc9 +495, 0xf656fe40e7ecb4d7 +496, 0x32a2d3eda46114b6 +497, 0xb3f17867d23c75e2 +498, 0x2a2cc838c4d89c33 +499, 0x413df7052f8866e7 +500, 0x373bd93e91bbed18 +501, 0x78c8e5aa1e1e2dda +502, 0x6bd362f6be6d572b +503, 0xba1926efd387aeb5 +504, 0x3b826b77ae3e53fd +505, 0x383cf5a66fb6723c +506, 0xf5a4e1dded64d931 +507, 0x76d9843a304729d3 +508, 0x205b8753b6d309f0 +509, 0xd2a68ef67d8e7758 +510, 0x60d517f325411c0c +511, 0x37a3bb4950cf08d5 +512, 0xea3d4f95542ffe2d +513, 0xa88708db07fb1d34 +514, 0xd96555e1194f7ee0 +515, 0xdd046e642b59fa51 +516, 0x18ff34e73582d46b +517, 0x7ed73af03535c5fe +518, 0x8ffd64801d2c5187 +519, 0x7134902903c9cfe2 +520, 0x74fa0b238ad1e1ec +521, 0xa220ff0032395fd5 +522, 0x4ed0a7a2d9c3a064 +523, 0xb02cb878b4c9a04d +524, 0x8437cebea5ae2bec +525, 0xabcc162a0027aefa +526, 0xc8e86ab8f5c09011 +527, 0xc28dfaf764ec07d4 +528, 0xb19127d64ae5db18 +529, 0x857cb1b00ac7fbc7 +530, 0x173a441c4b494aad +531, 0x255af1a4d50952c3 +532, 0x87ff01c7d0139add +533, 0x489b15e4c97cfcde +534, 0xd4abbccecfb67239 +535, 0xa1a2912ad34ac4fb +536, 0x94b7f12e10bf720 +537, 0xdb8840c295333634 +538, 0x5a29aab5b359f2c0 +539, 0x630352d282b695bd +540, 0x399f00854d3fbdf3 +541, 0x19e917e0eb8bf070 +542, 0xa464b4dc93d1fe7d +543, 0xf152d3cdecbd7647 +544, 0x517907b570a6b082 +545, 0xfeb06f4bd978e7bc +546, 0xa22859ad14c0f183 +547, 0x33c11e90be9721e3 +548, 0x8394f642b5a40d7d +549, 0x9525633e7e60ab73 +550, 0xf97401c9b4b96001 +551, 0x3d78ce1ecf900029 +552, 0xa85791d9754a2765 +553, 0x16e77aadd9a30946 +554, 0xc91d4defe72f39f2 +555, 0x2fb67bd91edc4b51 +556, 0x95d635e95b468fa7 +557, 0x28b81869d1739e29 +558, 0x5b098fa22cb1747f +559, 0x6544b8704bd2400a +560, 0x91a64f9ec6e93245 +561, 0x2b46ba92268db263 +562, 0xbb52d7758efd5416 +563, 0x7032adc08e6d39da +564, 0xe9d3bbefdb61feb6 +565, 0x2d603389c757996b +566, 0x5871ed32ce17d042 +567, 0x31d622a6b8438f70 +568, 0xc71af17db6bf7aed +569, 0xe419e3c6fbe86530 +570, 0x648471d670f18dcd +571, 0xd13f9e25078599ed +572, 0xdaf86e56826d07a3 +573, 0x3c9374e4420a8580 +574, 0xcd75b12ad6d8d9fe +575, 0x2d4530f6e2b93ca3 +576, 0x303bb663ad4ca963 +577, 0xf8caecede4436b61 +578, 0x315a8124669a907f +579, 0x1c18d130a4b93836 +580, 0x9e0b83663631562a +581, 0x400059c1ce071c7f +582, 0xb27f7f67e7cbd970 +583, 0x6b446e8c4866f3d0 +584, 0x4ab1755d2734121c +585, 0xb9fc8e017d89edf2 +586, 0x3a9aa7f50355c0c9 +587, 0x899fece06a169b2e +588, 0x19d7d7088db0b27d +589, 0xe4f8862ca8f6b87e +590, 0xceaf0d6ab4ba624d +591, 0x318965c56f79886d +592, 0xb1840d9bb60b720e +593, 0x387427e7549150ca +594, 0x9be3edb621a5d2ef +595, 0x9758993cca6a481 +596, 0x3733c5cd48a1590c +597, 0x9bbe26951c666fb1 +598, 0x74c7e89fefb4ba59 +599, 0x6aa490a23907053f +600, 0xa62febef1e8d7300 +601, 0xdbfb07bbba2fd4cd +602, 0x11ee9e4bbd4f358 +603, 0x6b40912657c7f02f +604, 0x8d56c1a9216714bb +605, 0x7fcd86985949c2f9 +606, 0x706bb172d5677f2c +607, 0xfb657efea1331957 +608, 0x6e3032f72a3fe367 +609, 0x509fb8c5b618a18e +610, 0x3599e957259222e7 +611, 0xaafc78bea53c9102 +612, 0x404addaf7ac55279 +613, 0x97db28b3b0a2dddc +614, 0xd3f5b151a9f5aefb +615, 0x1a6534a9be80a19a +616, 0x78f989eb80e055b7 +617, 0xe0200fe015112dce +618, 0xfbe67decef6204dd +619, 0x662fef92c8e00970 +620, 0x9a7838962250f5d7 +621, 0xac0eabb1621567b3 +622, 0x1874cf715cdc5daa +623, 0xd3281a25a82ceecc +624, 0xd8ac0e497b11156c +625, 0x3c8bf98f8210af89 +626, 0x971973ff9d428a3f +627, 0x1af47276bc157e63 +628, 0x671cd5e661ed0a05 +629, 0x71b8ffba9b976a0 +630, 0x8763f1fa85c5f5d5 +631, 0x61f3c56f3441aad4 +632, 0x86482f5e90362e3c +633, 0x8e9d9aceba401c48 +634, 0x51d916579d19d42b +635, 0x67bdfa28310ad3c7 +636, 0xb9ab819d6a00add8 +637, 0xaa12cb0ed2d507bf +638, 0xc636190dfc7f6d43 +639, 0xf3f1e6c104c5e782 +640, 0xaed0be2f07ad4313 +641, 0x1d782d74661278bf +642, 0x58e6501bc7e61fa2 +643, 0x8ca4ad0e02d7fb42 +644, 0x8afc9e9fe83d4b78 +645, 0x72cb69cf4abf0b1d +646, 0x7601a7b3500d474d +647, 0x97fee7da53b533b0 +648, 0xd6ab646f53c0e19a +649, 0x6480f60992f2fcc0 +650, 0x64ec7590c60a4c00 +651, 0x3ccab37f11acbe91 +652, 0x9ddd546f201299fd +653, 0x9a0dc59d0b545d96 +654, 0x8c5f366bd21664f5 +655, 0xc0af97b445bfc5ee +656, 0x29762536dc00c3fc +657, 0xfc30927fd8f1c257 +658, 0xac9aadfced7d59fb +659, 0x8d039f87658a29cd +660, 0x13a3d73580eacf6f +661, 0x80b80e0adcc11ac5 +662, 0x1e53c21e639f9d08 +663, 0x8a73352dc442bca7 +664, 0xec7cb2fe0e6b0100 +665, 0xfa5e63f403ac3f33 +666, 0x493d9a0018185f8c +667, 0x1b1d1f41c6cf5cb4 +668, 0x95b4caca3e2500a7 +669, 0x4e759e6f89f62f91 +670, 0xd0a76a3198d7c05f +671, 0x86eee6259cab63b5 +672, 0x1daab21067011b59 +673, 0xd02d9236ebc91b38 +674, 0x693e17ac2b70e1b7 +675, 0xceb5899aa14d0f86 +676, 0x59ffc317faf17ab2 +677, 0xce94f02892a0fa30 +678, 0xf7c9d6f9e753737c +679, 0x87258cf7ff6a29b5 +680, 0xb39fc8ea8aa52a0e +681, 0xadd4b4e73af1103f +682, 0x511f423730b25a4e +683, 0x7f673288e53502b2 +684, 0x9aa499e3b6295919 +685, 0x83841ad95e6a7a6 +686, 0x6e549a2457a850c +687, 0x4763220b923113c3 +688, 0x99737bb550aa5049 +689, 0x89eb31b3f707c4 +690, 0xdad5331dda8a58d3 +691, 0x5f1681518d5a21b8 +692, 0x258a0b9b24110918 +693, 0x8854bb025009fa21 +694, 0x7ac331fd885642af +695, 0xe520f0e9bedf0bf6 +696, 0xc9419e8801aa2afb +697, 0x356fdc0fc3702b37 +698, 0x6d6a25f39fbc9524 +699, 0x930f65c4dbf8ae94 +700, 0xa73d7bbf8c19c4b3 +701, 0xe473f700513139fa +702, 0xfef8f0e84c521bae +703, 0x88525351995576a7 +704, 0xa156b646ab95f272 +705, 0x1a46ff3b9ae7e723 +706, 0xf6d82b8bd9f2a80 +707, 0x837b8127d8f39ebf +708, 0x1f8e120ea11fc9bb +709, 0xbd0918421430f8c9 +710, 0x4ef121a688d130c7 +711, 0x3fef66f1cf180b77 +712, 0xa92070bdc6a0100 +713, 0x2444dcbb4853c174 +714, 0xe46b7d6234504df8 +715, 0xe5ac8fd968a5d1fd +716, 0x988828d885f04f30 +717, 0x9730c37b69f3d963 +718, 0xdb9a0d16bf0a2aab +719, 0xe75d00b3681941b9 +720, 0x518421d62db82da0 +721, 0x4da04c94268c1dae +722, 0xdcf2635a55b7da9e +723, 0xb679d8206c55a04c +724, 0x1fbf58865fec1e83 +725, 0x53ca7cc07c0e5785 +726, 0xd18eee3f5b57c813 +727, 0x9fc8d328e41d1299 +728, 0xb2231521e026e15 +729, 0x1a7e2a8df269acde +730, 0xe5f547b160b0a6de +731, 0xab01e7130bd70c14 +732, 0x82a051680f661a75 +733, 0x479da77dd9686ca2 +734, 0x1417cc197738b272 +735, 0xb65b5ced585a8186 +736, 0x40b5a74813e7a05b +737, 0x55481e0f404fc2c5 +738, 0xef1ca09a2640c44a +739, 0xa0f1d37ee2db47cf +740, 0xcabb0c8e551f0587 +741, 0x84227dd83ad941ef +742, 0x7b47691b6e8327d +743, 0x4fe615394f53d6d2 +744, 0x60bca7e568f65c80 +745, 0x8676b74f2d5600f4 +746, 0x70f256171f1eb9b1 +747, 0x6b1d25099f80e1fd +748, 0xd8e77e8a67ff3338 +749, 0x3ec375feb7727aca +750, 0x26b9ad4afd4be26b +751, 0x849e6f9bc5ec636 +752, 0xa34e3fad187c089f +753, 0xe369ba87f04ecc37 +754, 0x83c6e1c3985cab4e +755, 0x6ffc032379a15336 +756, 0x654645504b159afc +757, 0xabc97562087edfad +758, 0x4633765a9f068fe5 +759, 0xa226c586394d348b +760, 0x7034d9fd40133a22 +761, 0x89e1d142a1a20097 +762, 0x7a3e1387a5ecdf70 +763, 0xf0ae75084f0a1bc4 +764, 0xdcf97778ae782977 +765, 0x87996a44dbac128d +766, 0x94b102ac15479072 +767, 0x9d670a01e10c48a0 +768, 0x8f977a03176d0cb1 +769, 0x8522bdbed25653c +770, 0x8f2b64a9cd6b5483 +771, 0x86b2beaa71c92fbc +772, 0x40f896707639f820 +773, 0x40e7df1535fc03ad +774, 0x1d34c491e13debde +775, 0x862d5ad393292476 +776, 0xd33ee4efdd4b14d9 +777, 0x63ce5c7643b85ecd +778, 0xd28a7fe0700fd15 +779, 0x8c3536390f9b7b55 +780, 0xfaf87a9036dd0265 +781, 0x187e261c23b454a5 +782, 0x95362150f08e5f86 +783, 0x6588c21939d9521d +784, 0xc7cee242280b7526 +785, 0xc1b8f83462038485 +786, 0x68c2f342724de8d6 +787, 0x35c283dbca3c62fd +788, 0x556c441e9fdc5cee +789, 0x898ba42c4ad3f5ba +790, 0xc654a072fe9ce540 +791, 0xcc2da7cabdc658d4 +792, 0x518b6badf9c1ba7 +793, 0xd43b259427de48cd +794, 0xfe7e74d4415bea8a +795, 0xdee4cacb454d92c +796, 0xdfb09dde6d6c3000 +797, 0x5c0d4ce2c7a8d426 +798, 0x29ccf2d288f4de4a +799, 0x4106e7f40d2597ad +800, 0x3bc376950bccf69 +801, 0x65b74e149d1066e3 +802, 0x751d008e4f823e5e +803, 0x4a3b9a34d8ece205 +804, 0x372e79ed6d9461fc +805, 0x78e08cab6244f8d2 +806, 0x7d273315b6d9250b +807, 0x26c401cb05f556b2 +808, 0x3324d95fbc93408d +809, 0x14fb55fb83ab0a8a +810, 0x7ea7efcddd0a747f +811, 0x150a110bd5cb1b57 +812, 0x1122b31f5d20ad23 +813, 0xbd996a43507da1 +814, 0x6d11fad057e5a75a +815, 0x22a4d3223d77684b +816, 0x349973b5dda3d3e8 +817, 0xe4dab5aec267e32d +818, 0x371cbd61bbb7858c +819, 0x7e49182abfc0fc68 +820, 0x937722b126a7d173 +821, 0x29604490ccbe6611 +822, 0x6c8b230bdcc8dfaa +823, 0xb1c267c94d4550ee +824, 0x80d1fa6e33cde91f +825, 0xe205a132f35af0a7 +826, 0xe4e8e50899fea5c8 +827, 0x3a6517d09206dfef +828, 0xeff4e4f8efd0a4ba +829, 0xd8df88c992b3df74 +830, 0x5b0df3c40071c0ac +831, 0xd44a062781f833f0 +832, 0xef35653edcb68251 +833, 0x21f879df2bd3cfe0 +834, 0xdb5e837565891932 +835, 0x6da15316efae41e7 +836, 0xd33cdc0d05f8dd6d +837, 0x3c6588502a24be1c +838, 0x3d25da26bee94818 +839, 0x79979979960d383d +840, 0x8a20663424f816ec +841, 0x74c587d5824ee15 +842, 0x145f90c6b342c489 +843, 0xe2c2d15b8de95387 +844, 0xd9deaecc24e84ede +845, 0xce52add2f5c3ea3 +846, 0xd1da2db8cca0014d +847, 0xcbeed544f8791232 +848, 0xb55b421de003edf0 +849, 0xde102a5a87a9a5da +850, 0xd74fc9d34c964bd3 +851, 0xda7e1e271d197070 +852, 0x1167b33a6bad0d13 +853, 0xd35c886fd0e28798 +854, 0xfb3334085bbcef67 +855, 0x88f4957ddc912f99 +856, 0x7c1b0e356835cffa +857, 0x8c737bc009bf5a1c +858, 0x44edc242bfd88b0f +859, 0x391f8b5db15f8b01 +860, 0xd44794c8a4245701 +861, 0xefa90e38ba4a2f6e +862, 0x597f65c886e697b4 +863, 0x28972f6be3ca8677 +864, 0x18a487b5e89a9dbb +865, 0xffb15ebcb8a15fb1 +866, 0xa1f64108b7feeab0 +867, 0x36fc88b440612004 +868, 0x72a723294ba9af87 +869, 0x1a38da0ff8f187d7 +870, 0x529d7f6cd18f664a +871, 0x6a5941953b4732c7 +872, 0xe91243bd8fb27a03 +873, 0xb80c55de03262828 +874, 0xacb9183e5b28a8d0 +875, 0x4c4ca12eb3d5d2e5 +876, 0x758635a20eb18211 +877, 0x211e03e90d6bd001 +878, 0xe36e20fbf0f271b5 +879, 0x4daecb676fc64ebd +880, 0x8f1e82c4dd582eb7 +881, 0x6e3c35a21bca1b8f +882, 0xf3c2a69420f159e8 +883, 0x2cda4d630caba89f +884, 0x4c93f3f96360d308 +885, 0x4192046fb5e9d801 +886, 0x349f2b172f49599c +887, 0x7bbff8dd8b480e6c +888, 0x83b33fafc4388bf +889, 0x9a5440f806d9d1b +890, 0x8d6b62101dcfe51f +891, 0xbc7dd6987af227ca +892, 0x4338e67e0d6ba6a0 +893, 0x4a23deabbb5fc3ce +894, 0x9f8edc91e6356eb8 +895, 0xf6b723dd2dd5f80b +896, 0x35c558dd3443021d +897, 0xa559dd33c2cf594d +898, 0xa50ceeced7a82783 +899, 0x21107b581db4ee9f +900, 0x13e8dd9302e8c97d +901, 0xbd8491f437e57ad6 +902, 0x72f4c2a57c06f35f +903, 0x518fbb95071d8d7d +904, 0xcdbbe8d47f9b13e9 +905, 0xe8152b0f387251cd +906, 0x411070a4f345676 +907, 0xc589c285b962389 +908, 0x8b0eb9e285844319 +909, 0xe2b007f446a21b38 +910, 0x868ffafb958a6c40 +911, 0x19ccccd559408de0 +912, 0xa7666f366db0ae71 +913, 0xd78c5f137da6dbc2 +914, 0xeeecc913fdb9af03 +915, 0x7a5afb2f3d54a396 +916, 0x64fadf73d7ba200b +917, 0xaa1b82c6b4b346aa +918, 0x9a312d9482244a60 +919, 0xadb3c0a30f68d0f4 +920, 0x21eee75a717008c1 +921, 0xcda2779023f54837 +922, 0xea3c577c6d7783e2 +923, 0xdaae89efcd431a13 +924, 0x9a6102d2dafaded8 +925, 0xd29443448e01734e +926, 0x6b968e58c3d5bcd0 +927, 0x13949d0c5c0f9d19 +928, 0x7053eef909932489 +929, 0x49fb97e33c279171 +930, 0xc955e4854e254d03 +931, 0x3300cb752a7834fd +932, 0x8319585b09da0928 +933, 0xd35c64e4ce23a294 +934, 0x9a41d980ba1774dd +935, 0xff570729be1f3f02 +936, 0x3f68ae1c3e690a41 +937, 0x6f58a3e861159e42 +938, 0x111d9975e94f0004 +939, 0x276d3ea0ff1ca6c +940, 0x4209cb1f5ca1c594 +941, 0x71699dc4c58f1bcf +942, 0xe0288bffc5a27a2e +943, 0x6c0962c36163c4f5 +944, 0x3a8ad088b4fd204f +945, 0xb945dc7721092d36 +946, 0x315f4c1738bdf365 +947, 0xe07ddd7121cafb70 +948, 0x626fadaee66f331e +949, 0x6fe3f71dd5e7ebe1 +950, 0xe3cfb6b53bd8713c +951, 0x30f5b732f7070968 +952, 0xce2f941f93b957f2 +953, 0x116897bad7f55bca +954, 0xb9d2c4a98826c3ff +955, 0x9672c28485d1c95c +956, 0xd0656535c3df1e44 +957, 0x15294f18a999528d +958, 0x82a98977ad1e933a +959, 0xddd17b6eeced5f84 +960, 0x9901a04270fa2d5c +961, 0xcd2a8d3ab69a0c62 +962, 0x706bf86127a4597b +963, 0xe614aa96ed708afb +964, 0x7f6361ae8f59987 +965, 0x6a355657b59c4874 +966, 0x5211dca87f30cdd +967, 0xa21cbbc602f58ee4 +968, 0x68dff176c9b02a7b +969, 0x68f89bb7bca83c5a +970, 0x229cb884febc7e56 +971, 0xce4f300cf6b70884 +972, 0x6ad3f343c76c5e0c +973, 0xb059a099f121222e +974, 0x9e990641d81a63b8 +975, 0x5564e79afe160ecb +976, 0x2a9fa9c590511dcb +977, 0xca36751ba40931da +978, 0x23a332a9fe1104aa +979, 0xdfe116c321547662 +980, 0xf484bfbe18f2c1cf +981, 0xf8f2b4adf2d1ad4 +982, 0x4308800511929ba +983, 0xe2773c41e0082a51 +984, 0x6b74adc21bac6b3a +985, 0x1faa6a3704bd1b66 +986, 0x89e3e641298e87cd +987, 0xcb2f118548abcdc3 +988, 0x690e34dfb4153ab9 +989, 0x103d668edb5f7e88 +990, 0xb29d9f22b3b1d4a4 +991, 0xc4ce3be9022b314d +992, 0x1cb3d5af1306da15 +993, 0x8236da372d964cce +994, 0x79188ac299f06c2b +995, 0x953dfd978aad2545 +996, 0x6058e1066e7285cd +997, 0xf47307b50589e391 +998, 0x2923873ecd9c4d32 +999, 0x4c44d61328ac5e4a diff --git a/numpy/random/tests/data/pcg64-testset-2.csv b/numpy/random/tests/data/pcg64-testset-2.csv new file mode 100644 index 000000000..779761d0f --- /dev/null +++ b/numpy/random/tests/data/pcg64-testset-2.csv @@ -0,0 +1,1001 @@ +seed, 0x0 +0, 0xd4feb4e5a4bcfe09 +1, 0xe85a7fe071b026e6 +2, 0x3a5b9037fe928c11 +3, 0x7b044380d100f216 +4, 0x1c7850a6b6d83e6a +5, 0x240b82fcc04f0926 +6, 0x7e43df85bf9fba26 +7, 0x43adf3380b1fe129 +8, 0x3f0fb307287219c +9, 0x781f4b84f42a2df +10, 0x36dac886f4232c6f +11, 0xa32006a96a8d46b +12, 0xa56e609a788ce098 +13, 0x75711678fa371144 +14, 0xbcdd4619fa063896 +15, 0x5cb5c9a1594f1a04 +16, 0x799e6cc7d09bf3fd +17, 0xda1a4b52f72a8c6f +18, 0x374b6f698c864e48 +19, 0x96a3e4d45b8d252d +20, 0x5fc89e7cbf7735e4 +21, 0xe0cfe37beef7efe6 +22, 0xc3467c95f4649808 +23, 0x95cbda6a3275f18a +24, 0x3a4dc1e59bdb4172 +25, 0x47f8755023ac78b5 +26, 0xef8e166bf07dfa95 +27, 0x40065cf0fa99882d +28, 0xbaa083ad70102eb6 +29, 0x7c88e9d1a72a8dc +30, 0x1484e44aa83e901e +31, 0xf0f8df78086fdeba +32, 0x5114e38e0cff505d +33, 0x7e04bb9a2828c944 +34, 0xb88c0de9e2af5658 +35, 0xecba992ca7e9178d +36, 0x8b40b65347cfeffb +37, 0xfce9281a9381a55f +38, 0xfde34f9f228fc03f +39, 0x8c46656aa79eba9d +40, 0x1ed0d3f416073189 +41, 0xd7adcc20a26d48d1 +42, 0x2429dcfa355eddba +43, 0xec100f2285aaad68 +44, 0x91a83984506e1ef4 +45, 0x4c10c0f973e3cba5 +46, 0x45d0d0ad9ab6890e +47, 0xa52b22d88ddb6090 +48, 0x63f7e7549bf80c43 +49, 0xfb03f87e5ea7137d +50, 0x822f96594246a4aa +51, 0x42242b1335cd3424 +52, 0xf78652fc51ec76ac +53, 0x24db7314bda69cc5 +54, 0xcce4cf66737c8427 +55, 0xffd70eeca33ed90f +56, 0xc154aff2caddd546 +57, 0x59d47a8ccd59e1bb +58, 0xabf793045ca561f8 +59, 0x3f1486708729b21d +60, 0x76ed98409f3f9abe +61, 0x3f0bb2cd7cedd012 +62, 0x448f78da1713ac85 +63, 0xddbae7151c1578b2 +64, 0xcf94237ec0973cd7 +65, 0x76a0657cedebac81 +66, 0x2b13b564bed7a3b3 +67, 0x47a6fc0f4604c781 +68, 0x22acf016523ae80f +69, 0xf728771b939c13a2 +70, 0xab4aee3986c80ec8 +71, 0x61d8c8c918b3fe52 +72, 0x7a40380c747f9044 +73, 0xfaf974af2e96a882 +74, 0xb8bd56d90c69d42c +75, 0x7cea307dda515497 +76, 0x56d0858a27ded2a3 +77, 0x8717ea17698706b7 +78, 0x6b34d0c0587e8867 +79, 0x387a8142ee80d29a +80, 0xbba414cee59e3194 +81, 0x6d2fe8bec0e51a8 +82, 0x11d5dc961ba15ec5 +83, 0x7af1ae07932b2fb8 +84, 0xb13ea6b28d63b57e +85, 0x7e89a6f060cf59c5 +86, 0xad1f662c4daa4764 +87, 0x929a054dec3e229f +88, 0xf7f41c2a34920f09 +89, 0xf0eac1b75822b72b +90, 0x24f311773d90d399 +91, 0x9c2147da3d098c17 +92, 0xa62963f5bb0f8b9e +93, 0x97f650195285e480 +94, 0x602433fd24fe4125 +95, 0x6f17d6e3b5fd704c +96, 0x3ad6f2cf0ffd6a04 +97, 0x73a6d93edf693e03 +98, 0x467d4e6fecdfdb20 +99, 0x6aadbba2b2f8a2f8 +100, 0xc865bae9d8713526 +101, 0xa94d7c6b462e5acc +102, 0xdcbb47fdacd4d865 +103, 0x80aa6a71fd60cb40 +104, 0xf27ad62910288223 +105, 0x88f93784d309825c +106, 0xf7f9a500b821c886 +107, 0x6cd6e37a5dca4830 +108, 0x57694853b9c75561 +109, 0x9c7ef1aa6b8f2c1 +110, 0x12046439309d6e40 +111, 0xee3d652c43bd35b9 +112, 0x3838110676b26d7a +113, 0x9efd697137fa24c9 +114, 0x1eeaa149a7edd5be +115, 0x17eb32cd212e374a +116, 0x73dd5b7d7fd3b280 +117, 0x788e514de9649f29 +118, 0x6e2fb96fbf87fe8b +119, 0xc736a34c7ea74137 +120, 0xa4d48bb7df0e3c51 +121, 0x25b66ee78063d37f +122, 0x9058e087b9696e7 +123, 0xa2e6397ebdd3d935 +124, 0x394a16ba856e6899 +125, 0xe4aad4f1bc61d046 +126, 0x5e4904686af5c43 +127, 0x4e58956c61a1880a +128, 0x7328c827d6236eff +129, 0x29463809b511cf73 +130, 0xceb2c403cef62247 +131, 0x9ccc00f358aa8346 +132, 0x6fdc1c42421ba33 +133, 0x1111d660460f5300 +134, 0x97a4f922e55a9226 +135, 0xbc2a217152bfbc63 +136, 0x3617700c68d104d9 +137, 0x8eecc63c4a929622 +138, 0xc69cf9d8f8b45df3 +139, 0xa2a8ca8262f8921b +140, 0x4339edf9e292f9e0 +141, 0xfe385e2e7f6e1a1a +142, 0x5f30d1b803abc1d9 +143, 0xf123207050238c3c +144, 0x79e3401200b54b1a +145, 0x858d7ce163d4de92 +146, 0x5803a44cd013b965 +147, 0x17c65b0b01800940 +148, 0xc50b38bb58dcb3c7 +149, 0xe476e9925898603 +150, 0x3972fb0fa748a3a5 +151, 0x93da971efb1036f7 +152, 0x658bab8ef6082bf2 +153, 0xf664abd0de92444f +154, 0xa2145e8039e61d87 +155, 0x28af5560cb0ee0ac +156, 0xc1e43e6a30cefef6 +157, 0x74f61d623cc6965e +158, 0x3ee0139a07b6c130 +159, 0x214992e8a6134c54 +160, 0xaa83b771c9421231 +161, 0x15487762c93cf5c6 +162, 0xa3d37b883fffdfe8 +163, 0xe398d2bd15c1c511 +164, 0x3154f894aedd5938 +165, 0xc7ed5190721ec2b5 +166, 0xca02cf8dcfef83b4 +167, 0xa22c6a2e5460e0f3 +168, 0x2d72e4d264875109 +169, 0xf282e30c8b945616 +170, 0xa1a286624feece2e +171, 0x6f773be8548d3fe +172, 0x8c6dc6f48c83c30f +173, 0x13dc5926122501a1 +174, 0x5537f3d25d126e0d +175, 0xdb654b8409365aa5 +176, 0x55d8f727e066e818 +177, 0x534841122140f9a3 +178, 0x4e4ecc7b2ce8efa0 +179, 0x3655d535028e4044 +180, 0x6c2ad71379f15365 +181, 0xd1f1238395ce193c +182, 0x4ecd9ccc56595a72 +183, 0x3304220c15b60f7a +184, 0x3726fecf394006bf +185, 0x4523e03e39a92ac1 +186, 0x191c97036c0e20a8 +187, 0xbfbcf849ecc37cd5 +188, 0x3c6090d256b1c780 +189, 0xf7e94dd0d3e02fd8 +190, 0x83034fb1c17bb99f +191, 0xa7be8e0eb37c9260 +192, 0x177d2c560b0b55af +193, 0x55da4c839514e82e +194, 0xc9b393b79b0e7617 +195, 0xe9658403d3a140 +196, 0xc86401b988be38e7 +197, 0xe82baf54ee5df9e1 +198, 0x3a562e6572a853a4 +199, 0xcb83facbed1cb364 +200, 0x4db406f08ea62242 +201, 0x9cc816f5376ab97a +202, 0xe65a32f96a78b09 +203, 0x59e7b42c496e2c2f +204, 0x7e3e59a4546b6b33 +205, 0xc51a371516d5adc4 +206, 0x19ba384285a523ca +207, 0x5b998f71002a0912 +208, 0x81ee2f95f53dbce1 +209, 0x966a0c0bbf15492e +210, 0x80f88202ff2d29c2 +211, 0xf827f45274e32733 +212, 0x66a2611b73547490 +213, 0x1b2c3c3ae80997d0 +214, 0x264a86e09c63e4c9 +215, 0x35d4bf9c9d0d89a2 +216, 0x6051e319babb305f +217, 0xdf0d08608262be49 +218, 0xbe7aa9a7697278c2 +219, 0xac531985f79fca17 +220, 0x7ce7de0d95ba34d +221, 0x9a03956d30de1ee0 +222, 0x8106a5873e7950b0 +223, 0x804c06b1fab989fc +224, 0x20d5fe19357e95dd +225, 0xf3e89c08d1841c79 +226, 0xfc93b079bdb323cb +227, 0x8f6eb1dea40eda88 +228, 0x6e7f6b657f6d971e +229, 0xf2b15bb03a49e9bf +230, 0xcf7fed1aff1786b +231, 0xe53366adc5bafe42 +232, 0x89b853ed67fc2387 +233, 0xd13dadf3828f1df7 +234, 0x2f884ffbb83075b9 +235, 0x8efd2baea4771d71 +236, 0x7872e80c946c6bce +237, 0xcc487bc4ea869070 +238, 0x820609347e4fdd75 +239, 0xe939e3c63701a997 +240, 0xf70ed361e42164e9 +241, 0xa9f29046fce9ba8d +242, 0x61edfa750175e868 +243, 0xb7d2424653bde389 +244, 0xdadd225205e74ef4 +245, 0xecfb9a633ee3c774 +246, 0xcbc69459f0634f30 +247, 0xdbcd82538e0785e2 +248, 0x2b272f59ad36e01c +249, 0x601a38897a57cc68 +250, 0xfa012b9e5722d8be +251, 0x5bce8d48277d7338 +252, 0xd1b6ca2b93483dc2 +253, 0x8b94eceb88f55be9 +254, 0x93403aea5df5da18 +255, 0x57b6fcaf351c16b8 +256, 0x70f5e54095404bd8 +257, 0x9124d47160362770 +258, 0x987ed72af8aa305d +259, 0x71e3a8d5156f82c7 +260, 0xf788e966e86f7004 +261, 0xcf0cd5911c4bb0e1 +262, 0x3340b119d3e2f28f +263, 0x9952106be6e3bf95 +264, 0x99a6213e19fe9d1a +265, 0x4f0d3811a8a5d481 +266, 0x62d732ee5f975dd2 +267, 0x3abc8340ab323ebd +268, 0x15da761a2518c843 +269, 0xb453de7d4d15b261 +270, 0x4adc2d7cc2cc0049 +271, 0xcc9b7fa135c7dba4 +272, 0xa14857a738db2b52 +273, 0xce036b49e28c19c7 +274, 0xaee7e9fde421bd4c +275, 0x15dd298915099a9e +276, 0xa3fa6550b639b66b +277, 0x5f27c59b035a6532 +278, 0x2eef2e6292288715 +279, 0xabd211c514e3699e +280, 0x6d7bf9b33f8b09e5 +281, 0x91ff83561361c170 +282, 0x8f8e309797a91e4f +283, 0x2b11ef1cedf1036b +284, 0x6fc36ed305d27972 +285, 0x7e294e03a91eb01f +286, 0xbe16009d8b2f38a4 +287, 0x2bf69c7b54e60cea +288, 0x860079a07fade829 +289, 0x8f0ce6ae4c90d38a +290, 0xab10e5f8ab4835fc +291, 0x49ed43ddd4ca0a76 +292, 0x201eaa53b6df058c +293, 0x2d9a4fdb16f6c1c +294, 0xd3406193e1dd0760 +295, 0xad38857b542ddb6a +296, 0x52ec1e450363aad8 +297, 0x6e65469594331886 +298, 0x4b027ce344dd6660 +299, 0xbc801654b4a1ccad +300, 0x155be4bc51328b2c +301, 0xa9a1965f9b2b5bdb +302, 0x386b8dc34de0889 +303, 0xd60ee4b1b9cbb057 +304, 0x6c1e60b6914c4876 +305, 0xd07bf84dc30bf653 +306, 0x362d5b19b3f4f7e9 +307, 0xd145b8fef9a6a3d2 +308, 0x5c401126b505dd09 +309, 0x8f5d1d4446f9cb4c +310, 0x725618359f1a3e38 +311, 0xaedad9cf455de2e5 +312, 0x7f7e4e549b4bde1b +313, 0x35002b8e995f815 +314, 0x9aecaf8f393cade0 +315, 0xf346a49595886d86 +316, 0x459d5a9e92e9c149 +317, 0x60885682c3d6ff0d +318, 0x90f5e985e08bfc3d +319, 0xbf413a432e1a1b81 +320, 0x789503524aa48aa9 +321, 0x7880e5bb484bd49e +322, 0x7426535c324b7176 +323, 0x190ad37f84acba3 +324, 0xbd52510631d4f5d7 +325, 0x98f794ad565c986d +326, 0xa0ea374e66c0bf56 +327, 0xd683fe7102145335 +328, 0x9b3dac61db2f2930 +329, 0x470d31e3096c2450 +330, 0x1f445f8292f6f3dd +331, 0x1687ff432def56a7 +332, 0x887d4e6617525278 +333, 0xcd81ce8cc70b13ff +334, 0xaadbc4c3525c18e1 +335, 0x96d81490c362b621 +336, 0x128b95092e36796c +337, 0xffeffbed0980cdb7 +338, 0x3bcef6c52b36d07a +339, 0x400879c888eeabe2 +340, 0x373c9978059787d +341, 0x35979fef9e20050a +342, 0xf4581367f3fc43b +343, 0xcec7b91352ed0186 +344, 0xa7b06e92b765203 +345, 0x6713f0b11fb9f296 +346, 0x95c53b86deafbd95 +347, 0x3694844a5eca42df +348, 0xd0f334ea2c650574 +349, 0x5ae6771044110ddf +350, 0x9f61d9087e7d36e5 +351, 0x28f04e48625e3e5e +352, 0x6164d6b5445cf130 +353, 0xa36b5c2de27084be +354, 0xa099a43d5c5f21bb +355, 0x706edfb05fbe8b9e +356, 0x7aacffffc81ebc3b +357, 0x6f49121baebd0e6a +358, 0x41fda7ba6df8f4cb +359, 0x1bea4b596dbac5ac +360, 0x71dd0261d65b02c6 +361, 0xad7f50624c15e9c9 +362, 0xf7c4eeb84d4866b6 +363, 0xa5e23dd382f48bdb +364, 0xe6ffdf875d534bfa +365, 0x40104d8444f75a7c +366, 0x8218a42f24a88364 +367, 0x9d3f9382759cae86 +368, 0x101d7adffbd9ebde +369, 0xf9fe3578d6b739dd +370, 0xd23c47039e882eb2 +371, 0x37fc4fff590191b3 +372, 0x2a672fc8cd3e0cf7 +373, 0x995b8faabb4332c7 +374, 0xabc6117aa665a743 +375, 0x3fc49d11869352ea +376, 0x4ccc3cfa9540797f +377, 0x111c57f059fa3ef4 +378, 0x44a737bac79496bd +379, 0x37924823edfe0774 +380, 0xa4d8ee07ab241d02 +381, 0xbb0bf46c50f349ac +382, 0x4db0a8506e22199c +383, 0x93239f377c85ba51 +384, 0x56f51e3970e409f5 +385, 0xe82d51ebc177609e +386, 0xec866d8b473eaeb +387, 0x42f8018bb955abed +388, 0xf58ba8a916b04fa1 +389, 0xf12d2f0cb0a41cff +390, 0x8102b5f91923cc2a +391, 0x91d95fcb9cb1346d +392, 0x819ccf0d122537ac +393, 0x34646b1c3f9a8527 +394, 0x4a3a7df812ff79cb +395, 0xc3d0b50ed434ad24 +396, 0x3e6cd372b453b5f0 +397, 0x39101f6226c43c8c +398, 0xff41e5b6b7ff540c +399, 0x1e8d77bc3f12e0f4 +400, 0x748d0860be568eee +401, 0x5baac1f743bfeff3 +402, 0x8bdbd895b2eed2d8 +403, 0x5d3a01fa82bd88d4 +404, 0x577271d2de3e06f4 +405, 0xd4fccaeb0db61acb +406, 0xa088377ed2b1d841 +407, 0x6f2e9e1566f37b5b +408, 0xb8d85eef688c049a +409, 0x6b7c06c55078761 +410, 0x223cd94cad1e0c32 +411, 0xbf27c193ae5881e3 +412, 0x5b784893a36d57dc +413, 0xdc9fa53968c262dd +414, 0xd7e820c76855fb61 +415, 0x72260eb94f096e2a +416, 0x49144b5732ca1b94 +417, 0xba8d85a47582d428 +418, 0x558abe242dc84de2 +419, 0xc27b1d54557b9de5 +420, 0x80c1f06559385330 +421, 0x4a5c1d4252675c73 +422, 0x225e3a9f7b2da067 +423, 0x9ac95bac9d2234a1 +424, 0x696e500589e0e490 +425, 0xd0fe548d81c82185 +426, 0x68d8b783037b4743 +427, 0xbe1664f1a8d814f +428, 0x2304308b691ca712 +429, 0x68e680af6b7189c5 +430, 0x13abe6c989949072 +431, 0x4c209f5029a59d0b +432, 0x63361139df6fea7a +433, 0xf07c52d8272cbdb +434, 0x665023146f27fa7 +435, 0x7cb535c55ad7ad0e +436, 0x76e366c7317eb1b0 +437, 0xa7d9b80b51585e9b +438, 0x85f0bd60122198b9 +439, 0x34bc89d7e7827fd5 +440, 0xdfa1167988c85807 +441, 0xe78f45588bfdba02 +442, 0x172a023eba7357b2 +443, 0x7bc4c79e06ea755b +444, 0x8aace6120b766b95 +445, 0x17b43a5a81b0db26 +446, 0xbc2b95819d959ff6 +447, 0x1b8841f2fe9c4622 +448, 0xc094a747ec30d67a +449, 0xf5b93ec01484b937 +450, 0x659bbe8bdfd43f01 +451, 0x9d96c22bcf9c64c9 +452, 0xcf7df324fba052ec +453, 0x5e4acd4f9e048e0b +454, 0xe3a0e7e9869c5dd2 +455, 0x4eb444727e1c346e +456, 0x7f6cda1ca7b3eb67 +457, 0x72fccac63ca649e9 +458, 0x711bfbf79a093651 +459, 0x5d48599fae7fd6a3 +460, 0xcc640119a296b34e +461, 0x39acfb198b2b439 +462, 0xde759b50e2db66f9 +463, 0xe83bf8363827e06 +464, 0x484d50365017de87 +465, 0x4c3b5dbacd68394b +466, 0xbbe47788c079218c +467, 0xd44099290c25fe62 +468, 0x3b7d1bd6f91f3857 +469, 0xe7366a677d2b7eb3 +470, 0xfaa770590b197910 +471, 0x610b7a2fe8c4e80e +472, 0x13451e1bf520a796 +473, 0x7e3d18c47e821077 +474, 0x8fd3a77c86eb9804 +475, 0xf24be740c87eadab +476, 0xd5a52e6d0b58345 +477, 0xae386b5ca037a8d +478, 0xb59fd16baf160f26 +479, 0xd4a05b473f6e0a8a +480, 0x47ede6678c2c6420 +481, 0x8851ed397da6f850 +482, 0x1de775cdb392d89b +483, 0x74e6c8ec9513ea38 +484, 0x30ae39e04187a984 +485, 0x614cfd09d043d601 +486, 0x3e0173138f562ee1 +487, 0x822d415a26bdba96 +488, 0x432f6dec77edd9a8 +489, 0x47a3a179627546b8 +490, 0x845dd7ffb1fe6d78 +491, 0x9778d5782de13a48 +492, 0x760198319b3cacce +493, 0x420ee262d07dd7c +494, 0x847c7424c365df20 +495, 0x56b3b590fb83ba16 +496, 0x7cd2410390a3e797 +497, 0xbb0c21b47aab8857 +498, 0x2743883e70a36a18 +499, 0xff8b29cdc75ebb7 +500, 0xe1e04a0f0379686f +501, 0xcfdf3083b792f281 +502, 0x27392ca026b55e88 +503, 0xeeb195994fd56abb +504, 0x7cf210041345882c +505, 0x3ddca2b8951fea4e +506, 0x21c89d88a3833996 +507, 0xe7128bccc4b25c9b +508, 0xe39b0fb96a4c05ae +509, 0xedf5326550594554 +510, 0x4aa45fe66b575558 +511, 0x2799fc8d3b06f777 +512, 0x2824863087187501 +513, 0xa15fa00818118906 +514, 0x559fc9e9344a310 +515, 0x1682745f8d571671 +516, 0x80b54f29f47a28d0 +517, 0x38e28103ffd9f771 +518, 0xedb5f440dab80945 +519, 0xdb0b8d04cece6091 +520, 0x1f60a7cae5ae8412 +521, 0x6719c0405e92b31d +522, 0x56752def7d642302 +523, 0xa5b0900f93c352dd +524, 0x5b82baf53be8983d +525, 0x7726202ccee5cbb6 +526, 0x1641c84c7f87a765 +527, 0x835ae1a82be4265e +528, 0x5f9ccee69c1d9da +529, 0x3e2a2228e21039b7 +530, 0xa45873582866d005 +531, 0x7fbeffc99401e59e +532, 0xcf66a6a974057890 +533, 0xd53704a96af96fd +534, 0x1a8b5e3460704b64 +535, 0x6939b27bb32ba451 +536, 0x3c39293e637a0115 +537, 0x335a6e6b779b8c4e +538, 0x75235d767dfd3d00 +539, 0xbdf0b36936b17c90 +540, 0x982dc5e4915a3a3a +541, 0x74657ac256407f55 +542, 0x603a724457b796b6 +543, 0xf178694f7a3f98bd +544, 0xe712de12db2aba47 +545, 0x1ca272d99a3355d8 +546, 0x93e7054d3e8dafc7 +547, 0xa29597810eff04c1 +548, 0xade242c0ae4bcea3 +549, 0xbcd226e2bd9d0e64 +550, 0x2e02e5736f889a +551, 0x3622dc09f5fdd576 +552, 0x6e66bd2a10d78705 +553, 0x71d8f19110d5b4d0 +554, 0xacae934ab3d759f0 +555, 0x68d670d5f9272132 +556, 0x571fb09d082e7da7 +557, 0x154540c51b7d8b33 +558, 0x1e2f3710c0b6890 +559, 0xaf26a826ef444b30 +560, 0x9fc9fdbd9342be72 +561, 0x9b33b306d22a35e0 +562, 0xb6d5895f56d4197b +563, 0x92fef06c1353b2e3 +564, 0x804e3eb42e65b938 +565, 0x73d5cd4bb7270902 +566, 0x274b8ac4925da8fd +567, 0xa9a57999f5df2e2f +568, 0xa6000be059e088b +569, 0x57de4fc48c9e9e84 +570, 0x16727392e94ee9bf +571, 0x53c9032f62848c4d +572, 0x8a8ddd8fcf0676dd +573, 0x1436de7c1735087 +574, 0xfa93b7d1425e8667 +575, 0xec34ca5f3f84bb2f +576, 0x489ed44d0880c4c8 +577, 0xb3b6051de7a6f740 +578, 0x2f303cb0f4040f11 +579, 0x302c42a6adbcbcb2 +580, 0x28ed7b87695cd600 +581, 0xee78d3b782a2fcd0 +582, 0xc47a2441a1082032 +583, 0xec9965704a044f33 +584, 0xcb1563e968460dc +585, 0xfecbb4fa2b544f93 +586, 0x3f3d7437a6d29a3d +587, 0xe4bfaccd729414ca +588, 0xb741ed954572d172 +589, 0xf34b49bf10ae47b6 +590, 0x1fbd1f068f1b796d +591, 0xc1d556e64345b226 +592, 0x85bbfa50a899c7be +593, 0x5310045dcf0fea8 +594, 0xbc6f6fb7f00e5960 +595, 0xf8bdf4074f2b5f5e +596, 0x2a5817aa122dc97f +597, 0x6d5ef86d6b8ad0ce +598, 0x96e7ccc235abb79e +599, 0x8d531c4cea492f66 +600, 0xfc124a123b4ce02a +601, 0xc6087ffd9130c2ca +602, 0x3a724c46f0f06175 +603, 0x59980713cfe4fe92 +604, 0xecde418e64a11bd +605, 0x5c9b333a0f0337cc +606, 0xcf014d508fc8e83a +607, 0x83998bb2aa4e16ba +608, 0xde8f5167ac0a40d9 +609, 0xe93b1846914c0dc7 +610, 0x668831ca8fd50c25 +611, 0xec764b87e402c28e +612, 0xd0e1303e56f6b268 +613, 0xa6b9f3c4872dbcd5 +614, 0x12a89c116ad924f0 +615, 0x23857c375ae928c8 +616, 0x29b117f63f2e8c1b +617, 0x64ff6cce272aa46d +618, 0xd40fb15b38d59f70 +619, 0x6e5a6257c4cc0c66 +620, 0x7b54845e6e119a4e +621, 0x9d88bf3dd9fa0f0e +622, 0xb6687fd4980a5d43 +623, 0x4f2e3fef88b640b8 +624, 0xf07ac2f7e2df40fa +625, 0x24059bd0ecb6c6a9 +626, 0x6204a47cbd57453d +627, 0x8477fd1a13ea9678 +628, 0x4555083f5eada49f +629, 0x352443e5d984691c +630, 0x3e904f796a9c5ffa +631, 0x11e182bc43754609 +632, 0x608cdbe03699a5d4 +633, 0x2619146efbf59f0 +634, 0x9b852370063940ee +635, 0xa1d8e7e91e42a52b +636, 0x19179affce38fa3c +637, 0xf68ff1ccce70380c +638, 0x12103cb41741ab38 +639, 0xdca7902fa6d960b2 +640, 0xad46a2fc70025445 +641, 0xac92f0b2d150d716 +642, 0x5de115babb43326e +643, 0xf335366fd69e4bcd +644, 0xe9aecd1f88889cd +645, 0xbce60087987b51d1 +646, 0xcfd395a167103939 +647, 0x2fdcb12826ac806c +648, 0xbd5129970869ccd6 +649, 0x5e922b68030c2698 +650, 0x7ada02a56d17779a +651, 0x7a1254c652b99ccc +652, 0x8be78733623db772 +653, 0xc22439789b68f0a8 +654, 0xee51ad4ab1a9a6ed +655, 0x44b15fa27694d9be +656, 0xc5b93e6c57805153 +657, 0xcf03df495c283a89 +658, 0x5c2a41954bb44bb +659, 0x9e651cb8c650dd +660, 0x73a20ee82570d4a8 +661, 0x5f805cab085e971f +662, 0x5354410872a8f587 +663, 0x1b50ef4e9519338d +664, 0xdeb873412301a1ce +665, 0x3a286bb2f5f8db39 +666, 0xad117a0d4dc7f82e +667, 0xdd880d581169d989 +668, 0x8356be106382a704 +669, 0x7c684ad93e996ff3 +670, 0x6b2d09e61ac02c11 +671, 0x99ad8c074fe046dc +672, 0x4a9b4f0e7c4ffa24 +673, 0x38afdcb5893b466 +674, 0x7ad58ef97c3d35c +675, 0xdd7c17c0d67ab69 +676, 0x61c77caf27938c86 +677, 0x978fc491080c0cee +678, 0x4c1750f8684c1ca4 +679, 0x86b4c683d5fe657e +680, 0x720e2bd8ec76cffc +681, 0x73ca52b4a7dd3b85 +682, 0xeb10a691e12ea3ca +683, 0x90355e369297b259 +684, 0x6c6bc16f639678ca +685, 0xd989f4c724f8fba7 +686, 0xbb1ba7e2ca1c4391 +687, 0x81e4194500a0d267 +688, 0xbb25489c1dcbf93f +689, 0x74d26b75e9f57fd +690, 0x59c085fa99b6493d +691, 0x3359805b0fc3fef9 +692, 0x60ef0f3a85e60650 +693, 0xf1a3692c8591e8d6 +694, 0xd7c8d2e7f3d3546e +695, 0xe8fc8518c11ca881 +696, 0x3380ef12114d1818 +697, 0x87203c98ff21fcaf +698, 0xbc37f8e034002ef8 +699, 0x891b7c3f55d02300 +700, 0x814eec8ff8956f0a +701, 0xa370639852acceae +702, 0x6c566310b6b00f15 +703, 0xd69fe78b9c8a05a6 +704, 0xb7b0df518738419e +705, 0x2a0c1185b29ed965 +706, 0x636c841214c0a8cf +707, 0xbf56297859e9bb72 +708, 0x2b5b9d432d6d008f +709, 0x1ea586cf0f86f542 +710, 0x23a2a1af76cbc988 +711, 0x6c72c799b6ed93f3 +712, 0x2266785315f3bb13 +713, 0xb68cd6e87b94065a +714, 0x5d395704514bb808 +715, 0x334bde59d526ee4 +716, 0xc5a6d87f96f055fa +717, 0xd47001378b4dcf08 +718, 0x7305818a39057557 +719, 0x8f72c128eac6d32 +720, 0x4957ed799339bbdc +721, 0xeb47d505f61dd5fa +722, 0x8ce8817cd6acc93a +723, 0x84ef66e511a52f35 +724, 0xbf5aa34bbaef7e1f +725, 0xadaa5ba2a5ee660e +726, 0x6eec8ac924058eea +727, 0x8af63be4d1a1b202 +728, 0x88eccf85fd9fce32 +729, 0xf19a1122f394af05 +730, 0x8dcd15d1c14f5077 +731, 0x6c0f2e6135e36545 +732, 0xe58f89bec4d929c8 +733, 0x4eea88221d983ef9 +734, 0x51ae3956d53e1a80 +735, 0x40d8a172bf713bb6 +736, 0x3e33536e43ad4fa2 +737, 0xeff9938a179138fa +738, 0x3e372bff1f51df8b +739, 0x59b86a407817c86c +740, 0x947164c2c57f9bd8 +741, 0xd8e67bb799d84475 +742, 0x4d9ed254d8189595 +743, 0xa021d8d181328996 +744, 0xc703e402f8e4688b +745, 0xd1eb104c970dd5fe +746, 0xd5bf4683b9337f8e +747, 0x98f405a2d998f06 +748, 0x59c734ddd208e85c +749, 0xbd167be2d43fde24 +750, 0x70602daab163fbe2 +751, 0xeb2f2b37cbfe13e7 +752, 0x28baa8f3fc4c4666 +753, 0xe212ffe352ea5ce6 +754, 0x538b93d2285eda3a +755, 0x3a9482ac69a39e1b +756, 0x3a98983ed4367767 +757, 0x1dc851c69e35d601 +758, 0xac7f83e4b02e9bb8 +759, 0xa939f99c5615ef7b +760, 0x439437f129076339 +761, 0x79a251bb1d50ce25 +762, 0xaa7b6ff8f13a7424 +763, 0x1b244bd86404327b +764, 0xc84d99185ab2a7d6 +765, 0xf6dcde975493c40b +766, 0xdee46f4346cf6af +767, 0x739b75df1fe18712 +768, 0x3d05cb298311f3e9 +769, 0x1fba9d9c10dc7780 +770, 0x31637fc416267053 +771, 0x46694e36246b8be2 +772, 0x8c67095ae6eaf1e4 +773, 0xebe2a68c27963dca +774, 0x532d344b14306cf2 +775, 0x6a847c8f3ae2ac92 +776, 0x8034bcb5a50cbd6a +777, 0x7544766784261059 +778, 0xe641799652df63ca +779, 0xd8cacad7099c07de +780, 0x429e62da116e4876 +781, 0x4442c8b57a5b7ef5 +782, 0xa7ea9c348cbeebaa +783, 0xce1a34f57bb2a7fa +784, 0xbb29ef457c9509cc +785, 0x1ba1030b19a32c1c +786, 0x412d1eb07cee79b8 +787, 0x3627dd37c6b36848 +788, 0x45432b319f26a2a9 +789, 0xb9a12e188cee2a29 +790, 0xeee69e0f1b1efd66 +791, 0xd4ccd61bc3fb8837 +792, 0x1b600476917cbf62 +793, 0x522950ddce26c142 +794, 0x956d8a5dbe9aa431 +795, 0x31cfba73bb524b7d +796, 0xc3b709a56885a6ac +797, 0x7341d4e32fffcdf8 +798, 0x5ed87c5315e4775 +799, 0x60fa512183e3dad5 +800, 0x4df6df14e9c2935f +801, 0xdec2dc983ab42a9 +802, 0x28265e213fd6de41 +803, 0x2f85d825454add06 +804, 0xf18119191ac41aa +805, 0xf870e36e83f4face +806, 0x2a4b213d973d83c8 +807, 0x2c7094cde18ba8ec +808, 0xb5998e0a1914446b +809, 0xefcb960ff010503a +810, 0xa8d928b99104aef5 +811, 0xe7a6893116e383a8 +812, 0x552dbe180a51b6c9 +813, 0x16b73f3832c9990c +814, 0xfefee9504783e187 +815, 0xc12d3aa0c1f8608b +816, 0xd5232106c7adea7e +817, 0xb207e82667fb71ed +818, 0xe93c50ef54a791cf +819, 0x3099900fdf7b1750 +820, 0xaa2a46c352132ad0 +821, 0xf2414daa174335e4 +822, 0x33080f98c42bbad2 +823, 0x9df24fe0b5b13394 +824, 0x840eedf2eec5fdb6 +825, 0x3715e262efbc907d +826, 0xa70a8cccfbe8a11f +827, 0x4a57a6f16ea4c9f3 +828, 0xe03dbe2f1493e9e1 +829, 0xbd92759a7becd4e4 +830, 0x21a3d87c3766887e +831, 0x6414f570caa74ef1 +832, 0x4e27490fc3fc0234 +833, 0xd4c40310c6ab2eba +834, 0xfbe8acd168ffd62d +835, 0x30b19992f1975ac8 +836, 0xaf93d22a8561f631 +837, 0x4574ebab81bed3b1 +838, 0x5390c6026e3940c7 +839, 0x7a5154d076a8b504 +840, 0x9676f2495f742943 +841, 0x8cfdb9e11bdb4502 +842, 0x36af5c8754d9ca17 +843, 0x61477e76367296ee +844, 0xd6f5f40f66acc700 +845, 0xe62c2462e96af1b8 +846, 0x18029746ac09ef3e +847, 0x871bbe15da7e0176 +848, 0x2443e806f54d179 +849, 0x9103af1634f9d0ac +850, 0xe6e5358eaa0efa2b +851, 0xdff4859198244a67 +852, 0x6e48c357be6042b +853, 0x6bb9e8aeb24d656a +854, 0x1b89fbb05f8438cb +855, 0xe0cea835b4db045d +856, 0x4eafe5c195e29d47 +857, 0xd2f0a452be9163f0 +858, 0xa7ae1d0eee928fe6 +859, 0x42c7a26c82a062c4 +860, 0xa8e93bcd89c5704e +861, 0x73784be379f09c34 +862, 0x91f8e599342d013f +863, 0x79c20bc462215ccc +864, 0x6ee77bc91b3753a6 +865, 0xd2c116d1eb2650d0 +866, 0x388f9767cfe30ebe +867, 0xdde5d5966815e7ae +868, 0x459b838c87ca1dec +869, 0xdf96cdb2bc916a60 +870, 0x215c4195b935d5ca +871, 0x56c9f516528598e5 +872, 0x1d8492a9923640f3 +873, 0x97830ac45234686f +874, 0x67f75117a7c952bb +875, 0xf1939dc69391e65d +876, 0xfc44bb1162cb2868 +877, 0x92b33d9df8fc6925 +878, 0x6c4496920de0d558 +879, 0xa4616bb101e924aa +880, 0xa0afc9701ad83cdb +881, 0x62d555323b0494d2 +882, 0xf18b31447a2dfdc3 +883, 0xb2ece318c128d4f3 +884, 0x29efea45a76b9b8f +885, 0xae05362b365d9cd2 +886, 0x5c4d374ce6aefb44 +887, 0xb9cdc65eec94136e +888, 0xf0212f42e3d4f5dc +889, 0xcde7c5085f95d8d8 +890, 0x9cc3799673a644e8 +891, 0xf878d89199bead01 +892, 0xab684fb9666abf61 +893, 0x3070d399b7a07d3d +894, 0x6d8c51673eeeef73 +895, 0x9bf4062ff5471832 +896, 0x92774cd03c511d00 +897, 0xc1aad7c6980df547 +898, 0x3291e3a234d50cc0 +899, 0x75645079bbe9d34a +900, 0x7f28bab9eba28fae +901, 0xa84415684ed6d765 +902, 0x56d9d67653cd172 +903, 0xa7bfed939db93e91 +904, 0x92940e5162d50470 +905, 0xcd6bf601e08f07a9 +906, 0x2ea9104d785e35cb +907, 0xd771ddd541649214 +908, 0x352554afbf9258d +909, 0x9d855486b77c5bc3 +910, 0xdb03cd71e906e1df +911, 0x7c2621690aabc265 +912, 0x1dd4ac7369a04640 +913, 0x57796cbc93d4d854 +914, 0x42a373d152eca785 +915, 0xbe7389edb8b144d3 +916, 0x8b6245bf01d2e4df +917, 0xacd1f9fcca317652 +918, 0x84545ac79a3eb960 +919, 0x2d2f28e6a8459db3 +920, 0x42b3a2e26ddeccdd +921, 0xe858272777abcef6 +922, 0xd9b5be7340dec08d +923, 0xe991af3579ac4fb6 +924, 0x7c30699b349fa6c1 +925, 0xbb842be14f7b5b9a +926, 0x1d31e1ca791a1cf0 +927, 0xf2bd448ebb878bc0 +928, 0x26a6adf6709863cb +929, 0xb11aa978539e3a34 +930, 0xce554a11bbbedd1d +931, 0x553d3c012682a47b +932, 0xb3c90ed36715903 +933, 0xda3c5c706e39e395 +934, 0x4e7f66006d583c2a +935, 0x6424190e9d28ca3a +936, 0x9916685e7384f3bf +937, 0x1285e17347eb806d +938, 0x877f10baf13e6659 +939, 0x222700ed5086438d +940, 0xd2473d08396634b8 +941, 0xb6b68f3bc883a77d +942, 0x168a489b0b7f5f63 +943, 0xee34dcf1f93ad3fa +944, 0xd25ef824f614f65a +945, 0xe30981905354f477 +946, 0x9463ef623c5eb3f8 +947, 0x46657408ea66980d +948, 0xa2e58d51d6e8e7f9 +949, 0xd80d7df3007e9845 +950, 0xd90fa96f4fc0f7aa +951, 0xd2a6059d171bbb33 +952, 0xb8bacb8f11c65c2d +953, 0x401de84b6a8b1ac +954, 0xf8b6eed644c802d9 +955, 0x30c927749fdd8e6 +956, 0x17c2f4f9c4524e16 +957, 0xa9c677daae4acc7e +958, 0x82c78d9c6b10446f +959, 0x5e544188277da629 +960, 0x7c6e1bd3b861dcd7 +961, 0xd4b00871a7f67d0d +962, 0x6b66ee142821e6d5 +963, 0x176d5e39f3b22474 +964, 0x58ea746f62acf933 +965, 0xc61fabd9961c3a51 +966, 0xb27ce0f87b416e3d +967, 0xd3c82b525b000e70 +968, 0x99578704fb3ff4e4 +969, 0x747da52468875493 +970, 0x5c5bfab7a474465b +971, 0xd82276bdb30e3dbd +972, 0x1d758772eebffe2 +973, 0xfed9d1e3ca887a6e +974, 0x23dd5f7b3ff9472b +975, 0xae2e842b51c9c598 +976, 0xe851bc45531123d7 +977, 0x1a18d2777151c29 +978, 0x9e82f3be14b12a48 +979, 0xdf9fdb3abc3e72cf +980, 0xdbea56e918ccb176 +981, 0x47abbd896eb0ca1a +982, 0xe850ee3cef9334dd +983, 0x3d69fe95275e7f2e +984, 0x4fcb936c048d8812 +985, 0xc98f0f6bb9865a99 +986, 0xc951cdb73514709 +987, 0x3ca839c27ca26de9 +988, 0x1478848a311f9cc5 +989, 0x35d2244064967478 +990, 0xe71df2d9732ffdc0 +991, 0xa12417d7b7b9e0ce +992, 0xa1bb6da3f284f77c +993, 0xf551e1c3171575eb +994, 0x16083ac8a062747d +995, 0x866d6c3a630fd4da +996, 0x8a972ff46b3c5c4c +997, 0x70af3b475e4a3d5d +998, 0x2c143fd5c01d9cf5 +999, 0x68089ffadc8ea2b9 diff --git a/numpy/random/tests/data/philox-testset-1.csv b/numpy/random/tests/data/philox-testset-1.csv new file mode 100644 index 000000000..64c1516cb --- /dev/null +++ b/numpy/random/tests/data/philox-testset-1.csv @@ -0,0 +1,1001 @@ +seed, 0xdeadbeaf +0, 0xa4016d3bd1adb1dc +1, 0xa554a8f84b75ce6e +2, 0x64aaf86f2a8b501a +3, 0xd1de65006998520b +4, 0x392794fdb78e642e +5, 0x13aba45f3ded2bc7 +6, 0x72953d6a6ed0ce9b +7, 0x81dc11fff0ade5e9 +8, 0x28c22fa622755161 +9, 0x2d0bf144d156bca8 +10, 0x88c67c8c249075ea +11, 0xaf979d9c3fa6a9f4 +12, 0x8351dedf59eda5c3 +13, 0xa597c60a8db6df19 +14, 0xbd22a90d6d81b032 +15, 0x3034c0d2086b8564 +16, 0x2879c4883a14c06 +17, 0x5a66f8a2208a94f5 +18, 0xcda7bf16739a6681 +19, 0x369b3461c902a66f +20, 0x14a3541487ef7613 +21, 0x60dc1cc40c854dba +22, 0xb8d6129bcbdf1894 +23, 0xddc1e842a5ce4b82 +24, 0xf5a5c000d4804841 +25, 0x29c1123be4c5a3 +26, 0x928197be48d100b +27, 0x9164d36b36459765 +28, 0xa5b361d3b9fe5094 +29, 0x966e6293e46a92e9 +30, 0x380b501fcd0e9e1b +31, 0x538c1834694cb627 +32, 0x68397c2b7e36891a +33, 0x569416ce7905efdc +34, 0xf58f21254316c4ce +35, 0x1e19d04d36f0446b +36, 0x4eab321b90c3059e +37, 0xf4eef8577ce3621e +38, 0x86aa30aad7e74bd7 +39, 0x46ad14d76a4e9edc +40, 0x9158798abc57ef60 +41, 0x54206b8453720f00 +42, 0x44e68b9350e349a4 +43, 0xfee4ef034f34ec46 +44, 0xd47125c4a5cd9a5d +45, 0x174e9bb06dab2e1b +46, 0xc6a3beafe03adf09 +47, 0x8a155bf8f077f2ff +48, 0xc037f7a702e0e091 +49, 0x7121788b47bb1f67 +50, 0xcc1e3035fd6cee3f +51, 0xf59ef1e37c98f033 +52, 0x54e5c5049de62701 +53, 0x46353528f1594539 +54, 0xb93695a2d9cf5a1c +55, 0x29e0dfdf2ce8cfa7 +56, 0x598f527bbe1f0abd +57, 0x7b1c84c93d833619 +58, 0xe05228837711bc0c +59, 0x1cb8fc3e70fd977a +60, 0x109d878184b67919 +61, 0x9f971fe0d44411b7 +62, 0x886c0994aaf201e1 +63, 0xc0dd321f1390b2e7 +64, 0x3fdef712372f8321 +65, 0xfa7c6d8918cd8a29 +66, 0x11c1eb4cb16252c4 +67, 0xbc57160901fbbc4e +68, 0x9035cb331c1c6032 +69, 0xa75b7195d844181d +70, 0xaee9b050676d9595 +71, 0x34d540b1d61818ca +72, 0x851885a79cfef55f +73, 0x2f5602c107a51176 +74, 0xf02cce653d94ae18 +75, 0x69703c81d7642c2e +76, 0xc37f35a3762bf75d +77, 0x584d48c1678ba110 +78, 0x214f883b77e43d91 +79, 0x32c9f2e834bc151e +80, 0xa25ec540319a0279 +81, 0xd0ef31b3a764dd1e +82, 0x413fc1760f4696b0 +83, 0x2ec088887c392c6e +84, 0x643e07972c0d7edf +85, 0x181da5ad37378493 +86, 0x7807a71aee267e7a +87, 0xc8251e8b6f84c9cc +88, 0xaecd92db4caa82db +89, 0xe6b737b621d0f5e4 +90, 0x74a594617dfd217a +91, 0xa167df989d02c069 +92, 0xea01be29eee2049f +93, 0xeee29b33c17d78a9 +94, 0x3491d38fb23f3fc8 +95, 0xeb4487ea874377e6 +96, 0x7997f3b9ba996313 +97, 0x8eb5bda3e878f439 +98, 0x1a17f0c4997b9dac +99, 0x449f4caa3e49d3bd +100, 0x1d6864b879e608b1 +101, 0x32c53c6d5e4e51ae +102, 0x508f8f76cf4660ec +103, 0x6c06057521c22c33 +104, 0x868a66b6414f4e2 +105, 0x5715002f33452e98 +106, 0x115fbd06a3ac4e8a +107, 0xfcac2badb17c901a +108, 0x4c44e1e868322197 +109, 0xeb8fa2d7d096a4fa +110, 0x5418a67b92163d7 +111, 0xd9c592de8e80a341 +112, 0x732a44e5218c1cf0 +113, 0xa9368ebfa3fe327 +114, 0xc5fea8642de21f5b +115, 0x8aa7606b2c790548 +116, 0xdc345a26c0b0d0be +117, 0xf3926ddb06d16b69 +118, 0x8221732a3335efcc +119, 0xf9617131e08d7747 +120, 0x99327d82da6c2710 +121, 0x489965f6c29fc095 +122, 0x489883ac61fbf8a5 +123, 0xf93180c072491e2d +124, 0xbc652ef0fb7fa413 +125, 0x26b645337e0f0151 +126, 0x221c4fd98d9d04a0 +127, 0xbf37f891d23b1a5a +128, 0xf895c9daa40736d4 +129, 0xce74ab4966a7df8b +130, 0xd2ede8866e13602a +131, 0x6f1c653376aed88c +132, 0x795f01d45d648320 +133, 0xe871c1ca660fb460 +134, 0x40ab3bbc97818d76 +135, 0x35d7ffca14a7ade7 +136, 0xc4e33deed96936a +137, 0x23e3678027f084a +138, 0xaca324e1826bc2bc +139, 0x912083410f2c9602 +140, 0xe60447c78d94dab8 +141, 0xccfa70966b894010 +142, 0xda52cf984a6fcecc +143, 0x4bd41ad2099c8555 +144, 0xd48a643116cbfdfb +145, 0xbf7fc5b1bc00ce08 +146, 0xada212b7bd53caf1 +147, 0xd6852e20e7ec8990 +148, 0x37334ee1ef839cb6 +149, 0x4cfcfdfb1210ba72 +150, 0x86621c6062cecdce +151, 0xaa81f5bd7dc7f04b +152, 0x6803d22953c928 +153, 0x25af4104ef0196bc +154, 0x3f43caa463f637f1 +155, 0x752c82a0d44e4276 +156, 0x564b16249685d0d6 +157, 0xba4752d6711744b +158, 0x78ff9b2d759bd294 +159, 0xb93c8b5b9ca0ab4f +160, 0x7a3b59e3c26e8aeb +161, 0x483b45671cc7a011 +162, 0x600055f7d0ab48b5 +163, 0xe83dfca027b30174 +164, 0x5283c2d730c533de +165, 0xf5ff0af35cc16bef +166, 0xe65e629ad63ace2 +167, 0x4599b59b43471c90 +168, 0x3b883221ddd0edbe +169, 0xd1bd681d7571586a +170, 0x2f76707a866652f4 +171, 0xfa431b2763618557 +172, 0xbb30fd01840f73fe +173, 0x4e05560dda8ff28 +174, 0x7d463765716205db +175, 0x6802d6a4c64bc942 +176, 0x23f97ab176fc38c7 +177, 0x6fa71a806a74e049 +178, 0x4f8c47e05d613085 +179, 0x1c62a84ea1a987c2 +180, 0xb985dd9fcfcbaf12 +181, 0xbfd1d96717312296 +182, 0xf7623c95eba45fef +183, 0x9aacb0d9d2bc45ed +184, 0xe479947525498f64 +185, 0x6fcef0ca0aca8a90 +186, 0x278894094d25783a +187, 0xdc02388636ed13d5 +188, 0xc62e48f5953cbcd7 +189, 0xe19a9fa5bed7628e +190, 0xdeb078ae8fe5dfb0 +191, 0x4e6860e046964ce5 +192, 0xd8cdb2898e2a30b4 +193, 0x635e6d7bf2d5ad3c +194, 0x382287d0bbc15096 +195, 0x4dce30919aaed075 +196, 0x91f2eeeb2e9d3bc0 +197, 0x8815aed14f2ce31a +198, 0xd1587cbd77a69435 +199, 0xf27ba7a7f17e068e +200, 0xc91ea6657949ca8a +201, 0x8fb304e0fd14e8aa +202, 0x20435550a23087b3 +203, 0x711f1c68e57b2b9a +204, 0xea6994cf0be86f7f +205, 0xd18c615acc777905 +206, 0xb90960bb87ffd1a0 +207, 0xac90e55e19311295 +208, 0x31659affc36aae91 +209, 0xd7d7e48ef29c958a +210, 0xaee7da2da84dc993 +211, 0xdc7dffa68e28f198 +212, 0x2a640b7dddf397ff +213, 0x96c8eb4f3eee1b5c +214, 0x783f85e380c37624 +215, 0xe03c5ffaab657342 +216, 0x699873d780917aa6 +217, 0xb19fdd3fdfe2195a +218, 0xe5ac242b8935d3d3 +219, 0x40fefd049828e9a2 +220, 0xc5376b89b3da4996 +221, 0x4a41f1092c5468bb +222, 0x2155cf97cbf75962 +223, 0xaa3ec3edde80ba66 +224, 0x1caec347492ffadd +225, 0xd80dc91a46a52d31 +226, 0x12f749bee8cd142b +227, 0x82212e1e4913e774 +228, 0x5746ee2f1e40f3c5 +229, 0x8e62e2276ac29cb6 +230, 0x267b7a85f83e8b95 +231, 0x3c6436ef222f439c +232, 0xb52ff729bf93362b +233, 0x169d41a9b76ad990 +234, 0xcffd92d5315e9a76 +235, 0x2b6596632a14e62b +236, 0x4b86680bf8d00375 +237, 0xe57684dbc26d0e4f +238, 0xd437041fa45a59f5 +239, 0x7e1f0aac84d7e4e2 +240, 0x1187ce212e5e7834 +241, 0x76f1c2154a2e3d50 +242, 0x712d0e28711856a9 +243, 0xd5f54dc83e5c12ad +244, 0xc24a17f46e4c418a +245, 0xc51e029ea6d4f2e2 +246, 0xc31a655846a16146 +247, 0xef88f4da62201b06 +248, 0xf33e2f9d0a8d91e0 +249, 0xdc679372436366b3 +250, 0x25c9763e8013baee +251, 0xd8aa69cdaac03261 +252, 0x57e8bde3bc84e10c +253, 0x21c8c1336d7f36e1 +254, 0xe8accbc264dab29 +255, 0xc98322f62b53cf6a +256, 0x8b83421277b969f +257, 0xb57131b80e2e277b +258, 0x444d7e89c60d71dd +259, 0xb0d9e46bb1c33e76 +260, 0x3d5a684c6113db38 +261, 0x2711e1981a992b2d +262, 0xf2d4db5c46a2ec57 +263, 0xed7b35c56ef6a104 +264, 0x83f3cdb9bc4ada6a +265, 0xe022709b7ea47148 +266, 0xb570382def08f207 +267, 0x1ff1a063da5e52e6 +268, 0x1431c8c76bfd271f +269, 0x36a3ae42d26ae46b +270, 0xe49797ad98a160ee +271, 0xd1facb5e688b3c6f +272, 0xa9080cfeb38b849c +273, 0x35e77aa7d3827d44 +274, 0x96d94f159c2bc6f5 +275, 0x9a1005b1aae0602c +276, 0xc12ba0bda081de45 +277, 0x12781e7aa9155495 +278, 0xbc8bf25c33eb784a +279, 0x2c59317df88aeaef +280, 0x712c3f6f0647fe7f +281, 0x6de6cc238b4334b4 +282, 0x5084214e6a6e8e44 +283, 0xfccf29c93e989fd2 +284, 0x908bd387fff422a4 +285, 0x1bea6614135216b5 +286, 0xfc77a0b775e22d6f +287, 0xe060b6e9fea8bc24 +288, 0x28efa8a899554d2 +289, 0x2472913e201c807d +290, 0x7105e53d38203b17 +291, 0xfd930d5b12f274af +292, 0xde103731a6b10d73 +293, 0x1abed9ae891a6fd5 +294, 0x2ac90b2b44327c6c +295, 0x8b2590bb2b05e83f +296, 0xfa1d4711c71d541f +297, 0xd4ca45335ac19253 +298, 0x8e1d05c7517e4e72 +299, 0x9c0902deb45e3f6e +300, 0xbaba37c175ce76b0 +301, 0x601af65183731007 +302, 0x7eb8587a2d4c135b +303, 0x20bb71c6e9199a23 +304, 0xc0ca4dc39757b5a6 +305, 0xcc6be1e1ed4d8273 +306, 0xcc74c8e5d18f5f7b +307, 0x86ce3a5781885ae9 +308, 0x7b62ce783ec46209 +309, 0xfb266311a6c0550c +310, 0x554773cccbec1559 +311, 0xa977c8205a4aae08 +312, 0x9ee5fc0c8fbf6dce +313, 0x4f5705626b4f2d17 +314, 0x22d88963961cbf4f +315, 0xfd6dc42eb7fcc0e +316, 0xf88e30d786e0ecbe +317, 0x78fe0f1b15436367 +318, 0x7499f2d214cb7268 +319, 0x913d1695a973ce15 +320, 0xb83d91cdf10b568f +321, 0x93dbc1f9fb7d1e0c +322, 0x7d7bc7061aad68ac +323, 0xaa0601e59a625056 +324, 0xa72cbfff7c7ff448 +325, 0x7318a8d3915ace11 +326, 0x36842549fb894417 +327, 0xb68ea7ad73e99b6a +328, 0xcbdf94cb59042237 +329, 0xa2a7fd9eddd13720 +330, 0x732dd9f06eb3c5fc +331, 0x4fb08823a37032ed +332, 0xe6c856ed41016c49 +333, 0x996c3d0e4f3b417 +334, 0x7b34a700117568fb +335, 0x199eefcf92de5f86 +336, 0xa3f4961be1c5b0d5 +337, 0x5f41b28cf7b244b5 +338, 0x312410aa5e2fb5f9 +339, 0x1586dba27b082c7e +340, 0x84ed5134c1917f33 +341, 0x59f4afdb3c49271a +342, 0x925d17fb348c7028 +343, 0xfc7d3c57ea5636b9 +344, 0x6d1171ae97fb0915 +345, 0x398f4cbc4e9c54fc +346, 0x1c2ebb92b1b504ef +347, 0x3b2328cb18c05023 +348, 0x8d9db4e20415c26f +349, 0x6a0a8a1b1845e93 +350, 0x8dc25082c60f2f7 +351, 0x717be0ac6519b0fc +352, 0x96b0e9458c83e3aa +353, 0x95672c97c1e1d811 +354, 0x38eeff8eaee7b86d +355, 0xfcaf43097da98c20 +356, 0x3c3e92583d27de30 +357, 0x9c497d64afc8474d +358, 0xd9490e6e4d69e245 +359, 0x659965798924d480 +360, 0x3fe6c83496d2e8a3 +361, 0x35f0e70b604c298b +362, 0x6b2b04775eabc4be +363, 0x91db116a3482d1f +364, 0x4530affe8ed6651b +365, 0xaeb91d6b34fac1ea +366, 0x84c7b10dbcb7c855 +367, 0xa484c7232eb07597 +368, 0xbc408d28ff7b549b +369, 0x59806824675e1397 +370, 0xd090322df3ed7160 +371, 0x98584fcfd0731210 +372, 0x72f1dfc286dac4c6 +373, 0xf19a3de3ac829f2d +374, 0xfded8b979c32a9c3 +375, 0x11183cf8e5fd735b +376, 0x1fd22c3a64e887aa +377, 0xf1ad39eaea361b09 +378, 0xca21672cc4c0afcf +379, 0xcf9ca801297c015d +380, 0xb58af039ca2132a9 +381, 0xb2c1cfebc559a4d3 +382, 0xe6aeeddc924fe174 +383, 0xa4ee5d69059f2a35 +384, 0xb4891d7ce04994fc +385, 0x2d86e4a3aebe4406 +386, 0xe0e37a9afe1410dd +387, 0x3fad3ef7713a378e +388, 0xe6546dc8f25626ce +389, 0x610065e43da6b067 +390, 0x246433cc66b2ae3 +391, 0x987f33b8819a1248 +392, 0xdef42b9ae3070ada +393, 0x372e29ed9ca79858 +394, 0xa77c59d5f963ad7a +395, 0xab30aad91674d0f8 +396, 0xdef9084c78c88b91 +397, 0xf43176d0a08831dd +398, 0x3c9199a67d636dae +399, 0x1c1740467f01f9d3 +400, 0x526f48081c053f81 +401, 0xfb3e2a79343e5e29 +402, 0x18c4950887faec3a +403, 0x8bc979d8a8985fa6 +404, 0xcf40e8843fd3059b +405, 0xb19676125f3f52f2 +406, 0x4a0a6b19170a7ad7 +407, 0xd34de55b18b57416 +408, 0xbdc1e59e8ec23c6e +409, 0x8ec4b1a49fecac44 +410, 0xfdc61f4b5c67d0b6 +411, 0xe2fe45308ec48888 +412, 0x14cdeaf1d4e6d7cd +413, 0xc3ba3ec042a56233 +414, 0x332da8b89898979c +415, 0xfba5de9a6658a159 +416, 0x6a8e39f8f9251c9 +417, 0x99de3f00ca6ac555 +418, 0x6b83762f9cde7610 +419, 0x2c9724e61be893d0 +420, 0x482951b5de7a8676 +421, 0x94c864bf7b7b3ce1 +422, 0xe7fb63eaa8034f7b +423, 0x3606766d32778e49 +424, 0x832fb6d1c1702fad +425, 0x231a34aa65f35f3 +426, 0x2dbbb19d5057dc11 +427, 0xadc96a7b0ec4d7c6 +428, 0xcedb950834baeeaf +429, 0x10454de5dd5b2b4c +430, 0xacb5218055b223a8 +431, 0xfc7935a53eef226a +432, 0x7ecfef66f3a0a28d +433, 0xa3c506354fdf354d +434, 0xbf718d5dc3f872f +435, 0x58a8cd40351434ff +436, 0xf4a5f71e6b8feb50 +437, 0x7c362e216ad9c96a +438, 0x2a6431ffce1c07ad +439, 0xae65a7b73a58f481 +440, 0x67653634cd12e61a +441, 0x6d1fcfb52e19bf3c +442, 0x91ad77d4053b6726 +443, 0xd945d1507c4924f2 +444, 0xf45ae9093c093257 +445, 0x64b2b6a4bac0adff +446, 0x5ff6f2b342d71de5 +447, 0x59925318c904944d +448, 0x95dbf54419fb4864 +449, 0xd55ba61f567a0a97 +450, 0xee563293f29b5750 +451, 0x5837051585cad45c +452, 0xfcf40f619994def9 +453, 0x5260f8ee6f748019 +454, 0x71764f26e092ad15 +455, 0x3ccbde223b20fea3 +456, 0xad863d51bde55140 +457, 0xc580fad0c3e9843 +458, 0xa5337a7858a6a49c +459, 0xc43e9199c2d296a7 +460, 0xa3172bc5d23744fb +461, 0x6fb2b18f90271d5a +462, 0x1061bd95c79f5218 +463, 0x38002aa34425849f +464, 0x4cefbbbc74ff719e +465, 0xcadbed5627af6154 +466, 0x7bebd30f09338836 +467, 0xba48fd224dbcf41f +468, 0x6fb65073938adfdd +469, 0x1c74e5ea63a196f +470, 0x6aa6af9b2f2c56b7 +471, 0xb34d1259dbc5283e +472, 0x4e31ff60e92e2d44 +473, 0xefe7fa9b9e3f35b5 +474, 0x980e16e5be4f7b63 +475, 0x750f9235268a94cc +476, 0x6007d403696373c2 +477, 0x13bcd1966ef5491c +478, 0xa10fd6a45986ae0f +479, 0x14bfd2c4cef77b84 +480, 0x9e337eaad201c664 +481, 0x87b8f2c4b3f086e +482, 0x5f70b6cdb796ed2 +483, 0x1982229ded0932a1 +484, 0x466663c9cff20aa3 +485, 0x3272c93bbfd9638b +486, 0xe403c4d56c483b55 +487, 0x93280ac4c48d7eec +488, 0x614d81b45505675 +489, 0xac26c793b1c92d2f +490, 0x98c856891490319b +491, 0xc860935122dddb3c +492, 0x4c8a4de8767c40bd +493, 0x2ff98c8c4470f390 +494, 0x2f1c72a213351fe3 +495, 0xda85b3af5a866362 +496, 0x791b0597c01db174 +497, 0xb57b6f82b8cb8538 +498, 0x66b967b6d6b78e1f +499, 0x10e25dff7fa9eb1 +500, 0xd7221749de25e2c4 +501, 0xe7de3dd12683afbc +502, 0x4fab8db8efc41caf +503, 0x55c69af11e357f2d +504, 0x819ae1c6dc834542 +505, 0x181feb56b1b09fea +506, 0x8c02b115f96e8a13 +507, 0xfcd520bd3bde3795 +508, 0xb8f13e1a17520781 +509, 0xc5077e62eb3455f6 +510, 0xb35be37dfe324f62 +511, 0x215c3528cfabaea2 +512, 0x4e8f73eb0ecfacba +513, 0xb53be656d283bc61 +514, 0xc84605b63da1659d +515, 0xdd14e6951ae728a9 +516, 0x23bf5133fcdb04bb +517, 0x635b0a6bf6d16290 +518, 0x69d3fce4b4da412b +519, 0xa7642708d4edf170 +520, 0xdfd18fcd236b3ada +521, 0xdee7ba05f5412891 +522, 0x4ef5da00ff54f4e0 +523, 0x7996c43afbd32752 +524, 0x9ab61401c8ed09d7 +525, 0x9f0cbb35ba418b5c +526, 0xcd335f0227cbb2e +527, 0xeeb415a10dc69acc +528, 0x8f306fd5fb98c8ce +529, 0x87d290a1e5a13313 +530, 0x73bb14ad65f03b8f +531, 0x1c38b0604e39eae2 +532, 0x6255e18db9d3f32f +533, 0x821de64507a248c4 +534, 0x43aa3f96160e265d +535, 0xb3933c53a37e8d6a +536, 0x40537d6206fce5a4 +537, 0x3d6562e600316952 +538, 0x853babe67dc6d5fc +539, 0xc9ec1b74c77a1be6 +540, 0xb17e8cba32fcb3b0 +541, 0x49acd5802328ad54 +542, 0x4f709402e925e357 +543, 0x17419c407e3c214 +544, 0x5e758c00e4ad3ff +545, 0x7fde5d319d81baeb +546, 0x979a20b570910f27 +547, 0x8f97c3b7bc9e2298 +548, 0x12e2ad36da1cc7f7 +549, 0xa236e7dca97e968f +550, 0x1f04cbca5bc0154 +551, 0x3d6f127682d12600 +552, 0xc804b6f9d73c745f +553, 0x46aa2378c21345cc +554, 0x5c22330d6f5a499b +555, 0xc4afed1b7326be94 +556, 0x1641ecf0c9a05ed2 +557, 0x1f78fcb51185438d +558, 0x4e9d044248ccc312 +559, 0xa2bb59525d96e061 +560, 0xd3b0cbbe755638eb +561, 0x8c8aa4004d6c679 +562, 0x7f8f8bedc781d3c0 +563, 0x80f49ed821a1a95f +564, 0x773058f8744da45 +565, 0x7ad50eacc2795e2 +566, 0xb9e5489a8c83b4f2 +567, 0xc69f139896eebc1f +568, 0x1e43056dd8930ca7 +569, 0x6f301a2edb56134a +570, 0x6c2317117ee73dec +571, 0xb2c8685976f265d9 +572, 0x16b2bde0a97af5a0 +573, 0x742f17525776cf92 +574, 0x1c61c4de2d9a2698 +575, 0x8c9af9dc2211b55d +576, 0xa3cedd5c5841f80a +577, 0xb59a544f559dc6a4 +578, 0xdf8fff92e4ee4db +579, 0x56b7366da8b55759 +580, 0xd8e36fe0d19f75ab +581, 0x23e355b5133d1b2d +582, 0x372dbbfd1a91bfa0 +583, 0xec3a5bfc17d9f90c +584, 0xda6fe7ef39ac4212 +585, 0xba4be9c5525834c1 +586, 0xd7fce5922edc81e2 +587, 0x601ea3b1ef2b295c +588, 0x7019d5f3f8590283 +589, 0xd335a01edc3f7cc5 +590, 0x561e4eec723f9a8f +591, 0x25d5c1063d9ce2f3 +592, 0xd92c0a861004228 +593, 0x4ced9cfa54381973 +594, 0x64575d21559fff7a +595, 0x9b9941185367da2b +596, 0x81bb1186ab30672f +597, 0x3e22dee929fae7cd +598, 0x9316d034a8d5f460 +599, 0x5544fa1e4ccfd6b6 +600, 0xb548fce22e15c29c +601, 0x4a0c0d2156cec5c4 +602, 0xaf626e963a3d720c +603, 0xa18ccb5d828344cd +604, 0xacb3dad256bd3927 +605, 0xd9415709dd1b9838 +606, 0x5c5b91e09865d9f +607, 0x916e81ea4277c555 +608, 0x47fd254a985abcb9 +609, 0xb4bf05873d1de57b +610, 0x78be8dbe976e57be +611, 0xe4497bee300305ad +612, 0xa35bc9c0b8790666 +613, 0x50e32823b12df325 +614, 0x2d2235134b876e43 +615, 0x4d11093673d2f723 +616, 0xba9a6386593bb306 +617, 0xff94de871ecb0f5b +618, 0xfa30dee676c84ad3 +619, 0x3deaa3f79a9c0e3e +620, 0xee5884952aa60b5 +621, 0xc785a19fdff41a34 +622, 0x8b0845fe5f10501 +623, 0xa152b0aa81b88df6 +624, 0xa19f3d7b2118d7e7 +625, 0xd85b2d1b42a29eb9 +626, 0xc9e3567083b1b07 +627, 0x173666e13a07198e +628, 0x5d523316500ff20e +629, 0x911ba2359d617b98 +630, 0x5e2e9d9033cb6c6e +631, 0x28d18aca1d7a2bc7 +632, 0xfd8b5c9ac51081bc +633, 0xae9791fd100e0e0a +634, 0x62bbcfdfac3357cd +635, 0xad0eb70d33a1528c +636, 0x3f6bf8f30c99a45f +637, 0xcef98adf350e59a7 +638, 0x42a3ce1618e864ea +639, 0xe593360a79499134 +640, 0xd2bd28c812adbd7b +641, 0x4ea00dde869a07c8 +642, 0xf0fa202e5de5c677 +643, 0x80e31fa27e0bf3 +644, 0xf6e3947034e63c80 +645, 0xd792c5bd89a9ed4d +646, 0xfab57bccb903c09e +647, 0xff018b3b5e307f5c +648, 0x9bfca67e7f2358d6 +649, 0xdec771cacfb0257e +650, 0xeeefd9fea081fda7 +651, 0x1076a0fbd79b2c07 +652, 0xf44113350dd482e8 +653, 0xf191e0fc45973564 +654, 0xc3e3444776e39e6a +655, 0xfdd317f3d4debba6 +656, 0x54ccec6719532a9b +657, 0x9a6e8ca48d8c1e7d +658, 0xc609af730bb6d832 +659, 0xa8b4c8470d968391 +660, 0x5cf64a7f47b204e6 +661, 0x5e965176dfa25003 +662, 0x66813628e15874bd +663, 0xd35f6b140e1878e0 +664, 0xaac7f75e4539ee5d +665, 0x39be402d139f7abe +666, 0x1cbe6759828a8ccd +667, 0xc670bbac7cb8211 +668, 0xb2c2d0f58e907080 +669, 0x93ef7a9684abfe0 +670, 0xceb30e0e22ed95a0 +671, 0x2c440668139c0076 +672, 0x32e60072a459bcea +673, 0xb0bc43bf10e8f79a +674, 0xa8531d49c980b58d +675, 0x45f37d8f1c93663 +676, 0xc9fd75750fdfe198 +677, 0xc36b9ce50aeeeae0 +678, 0xe8fc776625253cb3 +679, 0x70c77614d74d06bf +680, 0x51c1cad2d2f2badd +681, 0x66a4db21d7db02db +682, 0xfaf1271dee5b290f +683, 0xae86058acd20130f +684, 0x745443d08c22783a +685, 0x223143faa7c25250 +686, 0x5b1cde70be845cb4 +687, 0x4f0df398464d9edd +688, 0x6b20e39a68f7c30e +689, 0xd37f02c77f07e8f0 +690, 0xe1bf957b24c8b2a9 +691, 0x562dc0bf6f77d28c +692, 0x76c9f88dc50f60ae +693, 0x9702059e9c5919c9 +694, 0x281383e10e722801 +695, 0x171f956c8b0712b2 +696, 0x5eaf54175f8edeb +697, 0x7cc99560d2398c4f +698, 0xc4d69f843120e45 +699, 0xc941f10439e94167 +700, 0xb34086ca06e338c6 +701, 0xa01d149b929f36bd +702, 0xbd19942652a4afcf +703, 0x4722d03a7e6970ab +704, 0xc0e805aa2dc36bdd +705, 0x6e68e26fecfeee1c +706, 0x4aba8fbd1caf2a03 +707, 0xdebe09b8084c052d +708, 0xb332c6c54337d33f +709, 0x903cfa39f4899243 +710, 0xe688cd984e93f499 +711, 0x2c6ae72dc00fc910 +712, 0xde0d582c9957f91b +713, 0xebe5afa3d0c3d91b +714, 0x4fc2b36f2a137cc +715, 0xed2107ce829ed259 +716, 0x8ffeb322143a2190 +717, 0x8e53ef386fb835a0 +718, 0xc73496bdb11c7047 +719, 0x6ca8c4835c9c4f8c +720, 0x8ea4f4901f2e0265 +721, 0x644a3a28ff8560df +722, 0x8953e7fdf979ed19 +723, 0x43dc435a24a800a3 +724, 0x2f15b97ed169e6f8 +725, 0x3ce69e60d6bcd79d +726, 0x5a733285b92355f8 +727, 0x31606b5b067028be +728, 0x1b4f051f3664639e +729, 0x859f66e980f2a3a +730, 0x46572b5b026e4d99 +731, 0x3a8c3dbab89136e3 +732, 0x30fcbfb69d4e2045 +733, 0xc2001ffc2ee041da +734, 0xe2e789a7d6b5c353 +735, 0x20a6a29c6bc894a +736, 0xb9c75c4ffd10962 +737, 0x58de12481df29458 +738, 0xc3a269b0fcf75ec2 +739, 0xfaba5acbbc077e5e +740, 0x8c281f561efe477f +741, 0x61d8922c3b1e9f79 +742, 0xc92d49730840a9ba +743, 0x5ad9b3bd172d9804 +744, 0x4da50ea6a7a283b2 +745, 0x5e781612f5f1ca9f +746, 0xb6a3887cbb2c4080 +747, 0x2b2a7dc43c678866 +748, 0x5a556144413f6593 +749, 0x286ee3aa8819f92c +750, 0x45c169e82a919218 +751, 0x913f34ea9bf5d6e7 +752, 0x48d84f1aef099220 +753, 0x843e00085d83b19b +754, 0xe639c98005983b17 +755, 0x223f1d8680cfe4ed +756, 0x6b589d901b8e5ddb +757, 0xce43033319d740cd +758, 0xb400d5b22521cbd3 +759, 0x6b89f6ac56a9f684 +760, 0x21dc6e3bd591ee5 +761, 0xe062d33650fe9bac +762, 0x7d843bb328d65a27 +763, 0xc4ba63ee38e9d608 +764, 0xdefe72f65f0185dd +765, 0xfbcd7e2ef2ea79f9 +766, 0x514e2e715ce8f7d2 +767, 0x21af168dda65563 +768, 0xf0952635f1b9b8b6 +769, 0xcd098331c00eb2dc +770, 0x88d48ac80843c49a +771, 0x3fcef1cdf0cc92a +772, 0xea558fc018ffc6d4 +773, 0x53fe63708554d32b +774, 0x82a976d57ad79413 +775, 0x5671621e1cfcc958 +776, 0x9057b32b84fd54eb +777, 0xecf93fd1f073494 +778, 0x95e3be825c83bbea +779, 0x31f711958b37fcb3 +780, 0x7764e9c1b68905d5 +781, 0x19ff29bbe3450d1 +782, 0xbe9d66d0b7a63370 +783, 0xb90d94f54339e1c7 +784, 0xb86e7e4f983f5058 +785, 0xbb37df7a822c631d +786, 0x34d71226eddefe66 +787, 0x647b6f2dd0167b3d +788, 0x2964bea0cb5814b8 +789, 0x5111f6bf0575d9b0 +790, 0x598e941686def9ad +791, 0x541a6d6e840b4142 +792, 0x6a9ec878a98f32cf +793, 0x28e7a3598a6cbe38 +794, 0x22b0e914e1d9aad0 +795, 0x6e4f306af93619a8 +796, 0x62ad701e6072aafc +797, 0x20f304620a3e4459 +798, 0xd7217bc244bb9cc1 +799, 0xeb66fa201326ce9d +800, 0x60a8de18a022c5e2 +801, 0x31a14a91815a918b +802, 0xd90de92cb757c772 +803, 0x738a110b95e161f8 +804, 0x2ef5cf2da3e98788 +805, 0x76b0bb8ff3123517 +806, 0x4bef942413b602e9 +807, 0x1c90bd1e24c93bd9 +808, 0x20eba165958bac22 +809, 0xcd5639b3751988cf +810, 0x6fc8cc48b1dd184a +811, 0xfdf2eab5e428ac3 +812, 0x621d191371614b86 +813, 0x3977622fee6de38e +814, 0x501165fbcfb2a7bf +815, 0x3d117c309c6a11a2 +816, 0xf1f6a98f2d352d28 +817, 0xf7b0984596865aca +818, 0xb9eb071ad42bb21d +819, 0x19c555aeeaf0cf28 +820, 0x425c90febfcc526c +821, 0x8133e767f229ca4c +822, 0x50534af80dc7d238 +823, 0x4267194590c15804 +824, 0x5afc2d9d7a0692ea +825, 0x66feaa4a0443081 +826, 0x10f74efe039c5534 +827, 0xd79bc6e3e26cb0e +828, 0xfd511b94e4229f4d +829, 0x4b3735fb47ceecb5 +830, 0x7f3da62bb14a61d5 +831, 0xd92a4f2f534a654e +832, 0xb906bf6a9989e53b +833, 0x13018c2b34f999fa +834, 0x6590385a18c6a603 +835, 0x8fc8db59a2567498 +836, 0x3cc13cfa2306cc4f +837, 0xdd79e765006a327e +838, 0xcb3dbb849468b870 +839, 0x9932fe5f00ea0e19 +840, 0xdb36176dc85cc926 +841, 0xff36a852d77a76a2 +842, 0x7228cc6dc7a583dc +843, 0x3239f99e8c1e75bb +844, 0xcaebcc7ada26fb97 +845, 0x58695e996613ec7a +846, 0x2167b9da13f07e09 +847, 0xbe7bab67bb8bf660 +848, 0x22d605faa70bd9b +849, 0x4126e31a67fa20e4 +850, 0x9f5e1b0c6ce38bdc +851, 0xafdff88a50a87b2 +852, 0xcf22aadf30733a23 +853, 0x1fd9969ff955272d +854, 0x8f7488ef919369da +855, 0x9fc58576f9366b +856, 0xcd113f7c06d404ee +857, 0xf0c3dfbb77faa02 +858, 0xfa6b4df32e5b13cf +859, 0xfcdfd2ef4ed2901b +860, 0x2dc695fbefb81029 +861, 0x66cfcef096b1aa07 +862, 0xce6c9411a0a43c1e +863, 0x7ce97001b7b94086 +864, 0xa9e80966efa21989 +865, 0x9db01384e57130f2 +866, 0xb4c4481e7ea597ca +867, 0x1fc20274d0a21c7a +868, 0x4e23bbbeb9f83211 +869, 0xd8cad36baeec8333 +870, 0x8742502cb17ca60f +871, 0xd79d2dc157d5afd4 +872, 0xea1b2c00ffcf7ca0 +873, 0x1aa557af2fd43a1d +874, 0xe73708cc03d175ca +875, 0x6229a5af98522983 +876, 0xfa42c93d6b4f22f +877, 0x1e65a381061656e2 +878, 0x8933f33ef286b6b5 +879, 0x17c422cf0aff3638 +880, 0x66c1c8e8488bdded +881, 0x2d3c290f57f89df1 +882, 0x7be0a80f249572f1 +883, 0xe04b4abafd35f742 +884, 0xe7ae3420d1ae8262 +885, 0x7ac0a00e9418b10a +886, 0x2c459481c2268d1d +887, 0x4d83267be8955a75 +888, 0xdeac45087ce7e783 +889, 0x6ba80c634128a42c +890, 0xaccf8778cb440125 +891, 0xee610bb6dbe2316d +892, 0x4354e249ac02fd00 +893, 0x9d2fa76bc69ed31a +894, 0x3e6119655e632f1 +895, 0x94b9895001a11b04 +896, 0x2e24e88414b70981 +897, 0x68ada416de03c378 +898, 0xaa35f41451efd2cf +899, 0x28eb447c4d24bfe8 +900, 0xa5137e57245e7f9e +901, 0xc9b19572f5c16c79 +902, 0xc940ce6692436e95 +903, 0x67411f98ce32ad1 +904, 0x1d40e58013165af0 +905, 0x3cec810dd5b24273 +906, 0xa7c6bc87d530d864 +907, 0xfc43ba7ae1a3fe7a +908, 0x9d8794810bf47814 +909, 0xec8cddf1e0f9e93d +910, 0xa564bd558f2d6414 +911, 0xc5106bef612f55a2 +912, 0x7be0dce9a92ba80 +913, 0x2eb62f6a3f2074de +914, 0xc36ee0b068558f0d +915, 0xf5684163785c9867 +916, 0x338887da708650da +917, 0xbb716f53f9844869 +918, 0xdcfc496eecdda21 +919, 0xdf53415424439f94 +920, 0x3a05abd08e2d9ee4 +921, 0x18a6480a9399523f +922, 0x9cc0dab9dc1983b0 +923, 0xb375dcd416372e71 +924, 0xbd8d75af2b5984a3 +925, 0xe86d2b59f0e26c0e +926, 0xcb6b2f761c2c8fb6 +927, 0x2549bff97b63663c +928, 0xfd29bc4f73ab6a9a +929, 0xf690ba893bafe3c7 +930, 0x94c30c32da8d8ca2 +931, 0x44899149ffb1c95e +932, 0xc23549c093cdf753 +933, 0xe2029fe9cc90d5 +934, 0xb2c70637a91ce191 +935, 0xbcc0420e35bf6942 +936, 0xe108b087861a186e +937, 0x54a69c4b23f5f6b9 +938, 0x4ac1a35efeb13e67 +939, 0x39982383bf0173a1 +940, 0x9eb169c7613a5e48 +941, 0x848940fd0d654ff2 +942, 0xdb663c2c2718be99 +943, 0xe4b7a6ef4ca1cdf6 +944, 0xa560cffd62c75504 +945, 0x26ddb1df4420b2d0 +946, 0x980b3101000e3e29 +947, 0x2dd1445c80dbb8bf +948, 0x135c42daf949295b +949, 0xd19f5c74b895dae2 +950, 0xb690a628b77a9293 +951, 0xfe04f5a5928ab34d +952, 0x2df10dc128a516f0 +953, 0x89f79ab12e337c3b +954, 0xb98c589f33c1748b +955, 0x30df1793cd9f6b01 +956, 0x6538ad32fa56a9da +957, 0x93453d17e6ea27b +958, 0xe2a92ebb82c104ca +959, 0x2ce2b05ef3bc1404 +960, 0x1a327d3cdc07ed1f +961, 0xa7c4bed4e2c10779 +962, 0xfe9c13e0e6912c65 +963, 0x15ea29dc894638 +964, 0x887160de1f9f0149 +965, 0x13a80eb973cf8899 +966, 0xef27446cc86e47a6 +967, 0x8890e569d70fc03e +968, 0x1d0136f928ea9c40 +969, 0x99cb2f3b50431cbd +970, 0xbba687f34ac3061e +971, 0x23a9b639b2bb1a83 +972, 0xa93c79780f08e4da +973, 0x1b9f12f0c9997121 +974, 0x512ab00fd2ed5bb8 +975, 0x928815bf7a2288ad +976, 0xfb76b86de4b7f17a +977, 0x38513665d5c85718 +978, 0xa7af48360b80b6e1 +979, 0xc08b51b293e84a8 +980, 0x7f044ecd175afdf4 +981, 0x73e18a7f5c3efa06 +982, 0xf6ef1911e91f0c87 +983, 0xe09e6a85a182b1d1 +984, 0xeca0e6fcfa3d7c66 +985, 0x2466210516727cc0 +986, 0xb8cc106a4bffefda +987, 0x41ad3e2899041e58 +988, 0x4b5ba3abf6a9fec3 +989, 0x436fd42b29a1e822 +990, 0x9d9f29ada8a6b310 +991, 0xf9f066631426bda4 +992, 0x36660b826a0a1b8d +993, 0x26aee243162a41ea +994, 0x8c38cbfbf0d4b792 +995, 0xcda46557b68f0ae6 +996, 0x5900339a5e9132c1 +997, 0x6de1710051cdc7e8 +998, 0xb76aaba70884f776 +999, 0x297c27d0daac3c3c diff --git a/numpy/random/tests/data/philox-testset-2.csv b/numpy/random/tests/data/philox-testset-2.csv new file mode 100644 index 000000000..1c2d4eba0 --- /dev/null +++ b/numpy/random/tests/data/philox-testset-2.csv @@ -0,0 +1,1001 @@ +seed, 0x0 +0, 0x79969cc23abb91b4 +1, 0x5d45aaf4ec59c2d0 +2, 0x694e6df1b3048ed4 +3, 0x29caa3dbe7b3fad3 +4, 0x40de4437fb7c6391 +5, 0xced65c8c17cbd934 +6, 0x3a34149842e4c076 +7, 0x4bd68ff0459067c7 +8, 0x22a1cd386c044cb +9, 0x707d516e7b2321bb +10, 0xd31e9fbe226156b3 +11, 0x1e7c92b4a1111385 +12, 0x40b26d1e3ad54f68 +13, 0x2b512df2e2c7b340 +14, 0xbc566a77564902eb +15, 0x38019add5d6c49f2 +16, 0xabc12bede6d19b9f +17, 0x8ffda997c28b3314 +18, 0x7758a16e37aa29dd +19, 0xc75be56d772bbd45 +20, 0x7dd842b9b7ef652f +21, 0x874bb05dffe32330 +22, 0x6215b5d304389ab0 +23, 0x67b7659e0f6f074d +24, 0x3dee6f7f663aa80e +25, 0x35f1ebc3a43422e2 +26, 0x91ca84accba13894 +27, 0x19a82e52cf0a5aa5 +28, 0x99193ec846ff4752 +29, 0xaa85d8c7b98454eb +30, 0xdc9fd9a6cf639903 +31, 0x6a7f3a04051963e4 +32, 0xe6315de20fb99cc5 +33, 0xc6e64d30591ea5e4 +34, 0x2c3a032c8af3ea95 +35, 0x4a6ac2609731f163 +36, 0xd0075b64c816b32f +37, 0x6ba834fc94d46b11 +38, 0xce81c72980d4c0d5 +39, 0xe4527c390cd95d99 +40, 0x281a4f40fbef803a +41, 0x8b96b67ef65af945 +42, 0xd8228d14e17d995c +43, 0x822e355afd5a0708 +44, 0x76875e970f78780 +45, 0x1dd4625c16f578fa +46, 0xed94ce7d1cf6affd +47, 0xfd92c8d7728d9656 +48, 0x31da5185dee2c21f +49, 0x8cb0591af5c81267 +50, 0xfca589420074336f +51, 0x8521d19430fae019 +52, 0x20273ae3419daf9 +53, 0x27ee172bbae69340 +54, 0x98fce350defda2d6 +55, 0xbf8b350e4cc6c7ff +56, 0x30718006f3e0170b +57, 0xe06ba2542d7acd63 +58, 0xdd2af87a79df1722 +59, 0xd7fdadbfc51ac4fe +60, 0xbf5cac7b6b07e5cd +61, 0xead793949b8ed548 +62, 0x1840f7d95c0fcaa9 +63, 0x9abd3340d80c15af +64, 0xa287da079eb9a1d8 +65, 0x1f0f530858927e87 +66, 0x56abe10813899150 +67, 0xbe0182c8f2ab4575 +68, 0xf9e318a24d72471a +69, 0xca9fa810134e0866 +70, 0xd6f89ce5a65a0791 +71, 0x120528d7fc273c9f +72, 0xef0c8cfe4b167be9 +73, 0xef5d36463f4d8c7f +74, 0xa017cd944ee9c3d7 +75, 0x6c38f735847f9c65 +76, 0xafb6a0a5ced5e991 +77, 0x6d474406bcbfab26 +78, 0xa90b7997de0d58f3 +79, 0x1fed779ebc5d221a +80, 0x77a5fb8e08e9ae6d +81, 0x70150de0fda752f7 +82, 0x55a942db08ffdd56 +83, 0x6a79d3640b2e7d68 +84, 0xf74772c9926374c1 +85, 0x8f37888d12b4d52f +86, 0xe331da4eb3ede8d6 +87, 0x9a248bc67dbf1b35 +88, 0x35fb9ec1b8f35151 +89, 0xd55260d8fa30259c +90, 0xf2dc194b962d0dc3 +91, 0x7421accacb7612e4 +92, 0x84188c4b9af469a1 +93, 0x7dbf34d5fcc07b5b +94, 0x6814325ad6bd0142 +95, 0xe81c0fb52c978dc0 +96, 0x7383aeadf20cdad7 +97, 0xdf578a6544720b72 +98, 0x2bf78fa3ee23ee5d +99, 0x86de4a9a5d5b30ec +100, 0x5399499273ab2312 +101, 0xb7e56b49c81098ad +102, 0x545c46236115c503 +103, 0xbb1ebf762b9f6d50 +104, 0xfdf2aa180180f729 +105, 0x53cc5b07cfcbfe8c +106, 0xb83e28400cedb4e +107, 0x9c31e53a2e1d5692 +108, 0x3f0826e1d4354c85 +109, 0xf4fcfe401a637569 +110, 0x1efcd12f58dcbf87 +111, 0xa444a0c48c35221d +112, 0x72d1c01d6b6bd176 +113, 0xed0d5d536d32ac13 +114, 0xe954ce02b26a6059 +115, 0xde62023001249b9c +116, 0x841f789718400085 +117, 0xeec06a70d8c0621f +118, 0xd291a59fc833590b +119, 0xc6376fd2243fb8b +120, 0x28a87d88893881ce +121, 0x98d049b96c67da8a +122, 0x1aa980a3f10e9bbf +123, 0xe659d1a052cfa2f7 +124, 0xda413dc6222914da +125, 0x661e049b99b2056e +126, 0xe288cd7c76014e5e +127, 0x865d98946f3ca341 +128, 0xfd4a9504dc3c9481 +129, 0x68821b878bea1073 +130, 0x98a9ae702cca6f4d +131, 0xb02c218bd6ecf7be +132, 0xad9f2cc45e9f71b8 +133, 0x1a73edfde94ac922 +134, 0xad6e36771e49599b +135, 0x33132de3eae3b26b +136, 0xe38bf29f74c219c8 +137, 0x9a7d1bd6d6954dc +138, 0xfa0504aa41d2da3 +139, 0x18c2c0a825aa8c77 +140, 0x4575d335c5a52fee +141, 0xf8e12f4237ad2574 +142, 0x4da2b3d1a4b207a5 +143, 0xd483ee8735b0cd0e +144, 0x9b92d7e5650dce24 +145, 0x2e85af91423bab47 +146, 0xec285fc870875add +147, 0xc049f35180d0b26 +148, 0xbf9d3486b1510d3e +149, 0x6136b10aa8cd75a +150, 0xf4a468c92c6b01c7 +151, 0xe6d7ac00bee004aa +152, 0x5a060bd23d3d6a16 +153, 0xaf68b049fb08130 +154, 0x188cde6b2e6d18fb +155, 0x913aa1123363a9d +156, 0xb35a584b6899fbb +157, 0x1a0b2cfcc7002419 +158, 0x51a6f914a1436297 +159, 0xae5af7e12493c9fa +160, 0xd5a4a33453104298 +161, 0xd46c795e6ced12dd +162, 0x24578f112e9896e5 +163, 0x3879bc9d1d1c79df +164, 0x38d21818a9044427 +165, 0x1489a65967bbd74c +166, 0xf004d910e27d5453 +167, 0xacae738e2b4a1b7c +168, 0xee8dfe42955be33 +169, 0xd9d5d1ecb7524335 +170, 0xaceab4d48e8eb2a0 +171, 0x7747bb87ea6f47e5 +172, 0xfd1b1bab29e1a5b1 +173, 0x2f4b6b0f9300b44 +174, 0xdab086094510e334 +175, 0xa571c54824e95668 +176, 0xfc5108b22f0c15e +177, 0x9989597611a00527 +178, 0x6ef24f0f951b29c8 +179, 0x5824eef87de85c1a +180, 0x78a35def7f709c63 +181, 0xfdfac9f100645cef +182, 0x1f0027accbd50b57 +183, 0xf4379eb0e470a43 +184, 0xe108523693012b4d +185, 0x1dbcaa15e104e367 +186, 0x91a01715bfa8f4a2 +187, 0x90b12f2dc6612875 +188, 0x3a0c81439df90067 +189, 0x92bcce47af32a0cb +190, 0xf1f8ec01579f0749 +191, 0x656fe00e45f73d01 +192, 0x66b3ce57b8a63a03 +193, 0x7f711c6efceb22f6 +194, 0xcf6c2d639062aea0 +195, 0xddc95dcbe9455707 +196, 0xe24dbe6495077239 +197, 0x7d02e17fba62ea00 +198, 0x84d60e07638b79c5 +199, 0x767bd78a1e45e41f +200, 0xfe3fe1d74008b0c6 +201, 0x4b98deab82ab23a9 +202, 0xdb104f1846592508 +203, 0x23086e881366ad53 +204, 0x64c16b00fbf72cd6 +205, 0xb19eb55587ad61e3 +206, 0xfdb8caa9ab6dfe07 +207, 0x125b0675253c081b +208, 0xbd8ca76e7797a1d5 +209, 0x6fa2177be1444f15 +210, 0x23c4388e40529ab0 +211, 0xf3ad977faf5aee04 +212, 0xb1ca87d8c64c3bf2 +213, 0xa68ee8636f7a4f7 +214, 0xa40199a2bec23e46 +215, 0x5fcae2801e7e0b4e +216, 0x2e1260c7c7afef8a +217, 0xaeb347f6912b9cf3 +218, 0x2702e2510b9b4e4e +219, 0xd281ab9c087c1401 +220, 0x7d73d1c89ec1ecc3 +221, 0xfaf594c2b9bd6355 +222, 0x78641e1415fadd6f +223, 0x6bcbc45443f34f98 +224, 0xc5ea1bbd7ad47fc1 +225, 0x21a6bde64e7934f0 +226, 0xe48d5c1eac30eae +227, 0x7645dd59feeee713 +228, 0x236dc6e399a0f8b +229, 0x7d47bb3105e270d0 +230, 0x5c30af0f8e670624 +231, 0xd77864a3d3eedbaf +232, 0xa8ce734357f09a67 +233, 0xa5848bf5de97769a +234, 0x197e3bd0511be793 +235, 0xf1797421fced9f11 +236, 0xab395568cdb296d5 +237, 0x2c163053937c4e5c +238, 0x88aab0204548c66c +239, 0x59e43e9ee50ccf47 +240, 0x5646ec79dc2b8717 +241, 0xdd21d5fe2594e739 +242, 0xe3b36b715e030f2c +243, 0x72b9c7dc781ee215 +244, 0x3928edaa51d23161 +245, 0x18072b29ad229306 +246, 0x5a6e1a7146df0219 +247, 0x44fa2420a3a521e5 +248, 0x26c8c4d7e48e49c7 +249, 0x19829824d9ab3d0f +250, 0x208e2308990de3ca +251, 0x644d4c7725308bb +252, 0xbcd356813965c89e +253, 0x7cc4a5d0629a09c6 +254, 0x78ecec3f9f660e71 +255, 0x4c5017c2cc05d260 +256, 0x1a630b52a53d5d4c +257, 0xaad6058d6091bddb +258, 0x42310f01d0dec7ba +259, 0x352501f1bf98692c +260, 0x5b32220790b2eef9 +261, 0x9cec92f85a3ad24a +262, 0x392bed113812b6a7 +263, 0x2c4a91bc9a27b61d +264, 0xa3ddb8a73a00331 +265, 0x71564f4cc1ff38b6 +266, 0x3bf1cdb52f7d6121 +267, 0x317f2427d4ece2ff +268, 0x61b510f62d30c1d1 +269, 0xf3118eb3bc72b4db +270, 0x6cf9e03844d59394 +271, 0x9a48891e9593372c +272, 0xe6f07884178198e2 +273, 0xdb8d7ffb3f7b48e7 +274, 0xd843287403436ab2 +275, 0x281067329d659944 +276, 0xa9be89389e933e98 +277, 0xa559f1b2c64d698b +278, 0x177c147eecc213a0 +279, 0xb60d1b8907f932b6 +280, 0xbf3dfd3933f22dde +281, 0xc97688e8fc9e974a +282, 0xf10b069f84d5a0bb +283, 0x30aef0a063e9948e +284, 0x149d4526e4606eef +285, 0x3d47374e3f68d21d +286, 0xa8ec81fb5259d900 +287, 0xa8a2f4cdf3ea7a0 +288, 0x15bcdb63f1092d6b +289, 0xec827b483fa8d1f0 +290, 0x31fa9b0586f00970 +291, 0xdbe7d320cf2931a3 +292, 0x1b11cccdc34368d1 +293, 0x1fe27662861788f4 +294, 0xf709d76eb49bd879 +295, 0x2450c5dc16476c8 +296, 0x7a0a7d863198b16d +297, 0x5d1f6c9563f68aa5 +298, 0x36c7d7757e74eb02 +299, 0xc0656a90d456269c +300, 0xeff66ab0f6d035d0 +301, 0x27afcd4b473c8f6e +302, 0xadfc46fa3ee6ce03 +303, 0xd8096465daf41c99 +304, 0x602ddafb5eaa9460 +305, 0xd731e659599d021d +306, 0x33c3a32355ab4e63 +307, 0x974e3554d7bcc0c3 +308, 0x249dceb9428a7bd4 +309, 0x378eb9b47abb256f +310, 0xedbce8679ab00480 +311, 0xd1746d7de7777fdb +312, 0x14a30aa451c0f7b7 +313, 0x1d28baed82fd8b04 +314, 0x714174c401e78e26 +315, 0xf1788905ecb84469 +316, 0x22eff71d89f9be8c +317, 0x6b2819eb724b4e74 +318, 0x1636191b8000b39e +319, 0x73ea3d60587f3cfe +320, 0xe7ed97702c468226 +321, 0xe10824982050c4f2 +322, 0xfc2749ffbc81d160 +323, 0x5cdf3c2d78f56706 +324, 0xc01c94db79631370 +325, 0xc5f5776c2840747a +326, 0xada78ed21449a7f9 +327, 0xe987713c3d87e4f2 +328, 0x7b8e12fcf69b7ab +329, 0xd596a488c255523e +330, 0x9e9b813baca7c51e +331, 0xa624b911e58175a2 +332, 0x3c832b46e35fa5c7 +333, 0x515825156be5fb3b +334, 0xe91c83a0fc6c7f4d +335, 0x907e8ed6e7d67004 +336, 0x7de3df361f634d83 +337, 0x1ccf96f2394200c2 +338, 0x845175395e3598e1 +339, 0x4905098c8b06775a +340, 0x4424d6e6a10c0c02 +341, 0x820010ef3887713f +342, 0x2d918fc9225aaa82 +343, 0x32eba0dd41ce9092 +344, 0x1b66fe6dbc525c20 +345, 0x394b67ad8a323e4a +346, 0x5e696185a5c86bd9 +347, 0x69b12c2752514602 +348, 0x1ff9214a510255cb +349, 0x2bc5a0ca899aad12 +350, 0xb57d6e14b16a7718 +351, 0x79beb7612a6fd6e7 +352, 0xbc79c45b1f8e7f8d +353, 0x44d32a278b964fcd +354, 0x2e483a22ca7de50b +355, 0xf5ceabc566b350f1 +356, 0x7b582ffc4b9d5e43 +357, 0x42ab9492574ac3ab +358, 0x3a8a1fec1ab3e71d +359, 0x75478c52e0efb094 +360, 0xaf1377c197c720e7 +361, 0xd1be85afc6bd298e +362, 0x9a4e6e8660a4d81 +363, 0x1a4bb91a268e65be +364, 0x3a10b0755792f8dd +365, 0xe95153d3eec0c19d +366, 0xf3036b6f8e02be83 +367, 0xdffc9d3fdc293619 +368, 0xfad8ee79745a8a9a +369, 0xa9a8062d64f3dc61 +370, 0x7ddb3f6012d81dd8 +371, 0x623856260cae9962 +372, 0x35d0e6eb91622fa5 +373, 0xe3fcfa2208a3b5a8 +374, 0xcc8ec36185748ebf +375, 0x762cd35896ae6777 +376, 0x5e529053ce500de2 +377, 0x6545fcfc0da9a2c +378, 0x8cb156892a6669be +379, 0x96f80d4770f396a7 +380, 0xbd99a1ca2c8d3e41 +381, 0xd6297cf0b8e5eb63 +382, 0xb522d18d7b34c41e +383, 0x4c76d7b243817c1 +384, 0x733337cba2e74d55 +385, 0x769ee9acdce2279a +386, 0x158fe92000a829d6 +387, 0x2de70d67481a26ee +388, 0x481a32f89f48bbf +389, 0x7910c1fd5b66cbcb +390, 0x40e915445d6794ba +391, 0x694dd31fc3616af4 +392, 0xf66a0f17f6ca78a +393, 0xd09055d52155dd27 +394, 0xd0e4a5654cb1f0d3 +395, 0x27a33f6e7976580 +396, 0x2bc002e93ea14a88 +397, 0x8163bbc9277dfc50 +398, 0xd74612f9829a45e4 +399, 0x492779facb39266a +400, 0x2b4a269c9d211e86 +401, 0xdc88f4805b8abb5c +402, 0xdb8cb18b5beef640 +403, 0x14effaf6271aeae5 +404, 0x133fdf95232daaf4 +405, 0x9811dd5ee80ef423 +406, 0xe80815ce0f365122 +407, 0xe5a983ff40008d1 +408, 0xc22f3249a950a7a3 +409, 0x2d6a29c7daeebc71 +410, 0x7271a3a40d1734d5 +411, 0xb5efee15c4c99160 +412, 0x7d7c2efe86ddaf7c +413, 0x928ad499a4d85e9e +414, 0xddcef9fd941e988a +415, 0xb57daba38cc70276 +416, 0x164b60673494c318 +417, 0x2af60e897eae1cb3 +418, 0x74181074bff82452 +419, 0xe7afe1452aca2b1e +420, 0xbcee4075ee5e82f9 +421, 0xdeb277d596122a61 +422, 0xad4ec522ed5fcbca +423, 0x7ae8d97528caa837 +424, 0x96f5bcd5902002ba +425, 0x77127d87f69da6f3 +426, 0x5ebf71761fcb9e16 +427, 0x79c817f24b4acca9 +428, 0x21ad1662937a31a5 +429, 0x69e3ea5a65934f93 +430, 0x1b96b0d05b7f12f9 +431, 0xf1a68375ae6e350 +432, 0xbce495ba788c1f93 +433, 0x35281fc46a1ed6e4 +434, 0x38db141e96c2fb20 +435, 0x55d11f14ea71953f +436, 0x2c00398cffff67e8 +437, 0xb16dabaa263e92a2 +438, 0x9f21e025912c81a7 +439, 0x67865a4fd348f4e3 +440, 0x8b37f5aa1d953557 +441, 0xf972409a9231da99 +442, 0xdceb2001f7ae4f3 +443, 0x8f840ed0e94b642 +444, 0x7fb486ac9cf23354 +445, 0xbf0731eb9fb2f26f +446, 0x64f6a87eb3ad3997 +447, 0x2efaf458ab38b3af +448, 0xb0a84922ae63a985 +449, 0xa6e4ad47f5a8bed +450, 0x78ea04257180c6ea +451, 0xdab32fcc7935f61f +452, 0x81c51b7fc2702c1c +453, 0x63fb80362df72986 +454, 0xb672007383cbe435 +455, 0x3c2795c9fd489191 +456, 0x382fba5fdbbd0d1d +457, 0x5b7c398dd14c7819 +458, 0x62f0b67bf107ac7d +459, 0xe064c5f9f54201e9 +460, 0x176eba949b66b75c +461, 0x82678f7ce2748a4f +462, 0x43ea9b0b4852476e +463, 0xa7f9cf3569313631 +464, 0xc0833878700008d7 +465, 0x140e34c3d600d7f8 +466, 0xe0bfa1eba68fec03 +467, 0x4e3ae5e387d3f283 +468, 0xb799c08bac503857 +469, 0x217b43c04870ab8e +470, 0xe5e845d2fd3bcfc5 +471, 0xb335c469515e740e +472, 0xc2e3c4de7a47050c +473, 0x817b2e6751cfc87b +474, 0x59eb6cd8266ed00f +475, 0x61719b760716f1af +476, 0xc632bab8a5379b7d +477, 0x3fd80526456a4087 +478, 0xce5ef34e009a09a4 +479, 0x4da72557a2c81e6d +480, 0x45035c138cf0a07f +481, 0x2e0e2c65cf2fd15a +482, 0x5526e0f129feb1bc +483, 0xf970fd5e145bb284 +484, 0x4ca7ada616378b04 +485, 0xa8f8ccaf6fe721f3 +486, 0x1b69aca028dec51a +487, 0xc646b9db8f01cde6 +488, 0x77d8bc4b328434e9 +489, 0x5b8c1bd76c5d361 +490, 0x998199eb58998641 +491, 0xacae79454a30f83a +492, 0xd1456bd45a42152c +493, 0x1a7aee80e3e170f +494, 0x5d611e45c9446edf +495, 0x8c681b0c3daa09bf +496, 0x91affbbcf9c1e020 +497, 0x7fa4f3756b231b2a +498, 0xd2c13c5a29826810 +499, 0x993830f7fa0d51ae +500, 0x80636484c971d447 +501, 0xbe32c99bfecf878c +502, 0xf1880b2dc3e4f7e1 +503, 0x4b8fa1cc8fe57b65 +504, 0xdebafe0f90ad1b5a +505, 0x1d11dd9200f8b4b8 +506, 0x75042aaa397d9a99 +507, 0xc9ee367b527e2a09 +508, 0xdecdd82920560b63 +509, 0x64dfc74fd7f2bfe +510, 0x6ab0b966bc6fcb9b +511, 0xeb0199bf8f8a3816 +512, 0x7d603f5a0fdf7616 +513, 0xbf0177f27b06e799 +514, 0x83a5a1dd75b536c0 +515, 0xf898601d81b9d989 +516, 0x264944efd59443dd +517, 0x8e93bfdffb880aba +518, 0x697561a56735dd59 +519, 0x4377f57af134b8cd +520, 0xb84884431d02a53d +521, 0xfcf3b5efbdf216c8 +522, 0xbca95d7a8ad81290 +523, 0x3320c204d5e92a49 +524, 0x5e19b0ec2072b07e +525, 0x3ac2c56483ec19fd +526, 0xbccad8ee0f613b5d +527, 0xd351c964ab750837 +528, 0x4b46de746194625a +529, 0xbcc0a7cbaca03293 +530, 0xe35955fded6f2276 +531, 0x21aef4fb23229559 +532, 0x38c67966f1aa2296 +533, 0x2313034e68aad3a6 +534, 0xe79c154be56b5576 +535, 0xe8313f229a85e811 +536, 0x32ce60d1f50fd321 +537, 0x47713272c46d00b +538, 0x16c9165c6f10d24a +539, 0x30e39109e3275951 +540, 0x885b243b1a057c75 +541, 0xea6743a2c6a384af +542, 0x4a7270162f8329c8 +543, 0x6ecbc6ad90ade794 +544, 0x8f5e8dd3a37e94e0 +545, 0x91d2ad50e044c382 +546, 0x8b6bb0b7f6ac61db +547, 0x324b36acdaab4457 +548, 0x59ed97721860509d +549, 0xc45924166bfb2ea2 +550, 0x7cbb46bd01b1ca53 +551, 0xa41d17a5456d70f7 +552, 0x22d26eb275d0440f +553, 0x74bc05ce1bb10c2e +554, 0xd4ed1084eb81c707 +555, 0x75e936d690b1c4e9 +556, 0x94dca2299e381e0f +557, 0x7f7ae722fe2f3642 +558, 0xa72d301ef5d62837 +559, 0x1bc5cde83663d558 +560, 0x36d21d07bf182d05 +561, 0x37bf7daa7282720b +562, 0xa8f37c56dac3d1fe +563, 0x8a973e5fdca1418a +564, 0x3e4fa296626fc6eb +565, 0xb00b0d0baa75d0a8 +566, 0x2bbf9c70cdf0f0b2 +567, 0x41a8ca894eb8dae5 +568, 0xfaf4d210bddc32d9 +569, 0x1e317a055a699e1f +570, 0xc01d715dc83689b7 +571, 0x32008479d35b9d3f +572, 0x16bfea67573f8517 +573, 0xdd1418e1ca46d5a5 +574, 0xb3f330c663a20f9a +575, 0x5bd1c898e9611e78 +576, 0xf6df66445155ec97 +577, 0xc905ee3a15b83c9d +578, 0x50797ef789745157 +579, 0x1330d937a4856523 +580, 0x1001c0e08524c59d +581, 0x95b258cac211f178 +582, 0x2e61f6778ba53029 +583, 0x7e35c5afb3b67215 +584, 0x4a966942b4ce407e +585, 0x63c0fa981400623d +586, 0x2788e6c96c1826bb +587, 0x1d58691c7e579526 +588, 0x554a15ef02ac25be +589, 0x310310aa113cd278 +590, 0x932347c64ef37cfd +591, 0x3480e6062a9de198 +592, 0x3df126e84fed6094 +593, 0xeb1b2d9f2f7faab4 +594, 0x79305ff41717170e +595, 0xd16dd9d121ed79a6 +596, 0x380bf103a818f05c +597, 0x6d4ead6c20945455 +598, 0x358c06a132638a3c +599, 0x8a31c49306807c4f +600, 0x8348dcc031129070 +601, 0xadf66bfd4278f38a +602, 0xcd95d2350db96365 +603, 0x81d71916ebbefa43 +604, 0x1a0623944ba56e2c +605, 0xd1bcefa9d4e7bfd3 +606, 0xdbdefc03acdec398 +607, 0xfde9fa4617ef7ddd +608, 0xfb1e9e696648bb26 +609, 0xbf88b7580d5927e9 +610, 0x4da178dcc3a89aea +611, 0x94db8b1d876087e4 +612, 0xecfcf60f47c79854 +613, 0x9ef7d0d251da35a7 +614, 0x453f774fa09a8d10 +615, 0x8c31c57925b239fd +616, 0x8e580a43a3bff5ff +617, 0x9af792c383b7395d +618, 0x9df36c3bbcd3bf55 +619, 0x93579179eb304881 +620, 0x2502bfcd7d85a7fc +621, 0x7145b93f7f91133c +622, 0x24d943ff68afb6a2 +623, 0x7ed7322e9d26161e +624, 0x98d58e67dc211d3f +625, 0x606e6eda3d49e928 +626, 0x91ff5582f2e126bc +627, 0x32c18cbe9f068fa1 +628, 0x158fb0b7b1cbb0f +629, 0xb8efba4e9e18aa84 +630, 0x73042bf5836dae0e +631, 0xb08db72716e1547a +632, 0xa77c6291e0bc43cf +633, 0xc32a216129c65832 +634, 0x9ba8c3a6e28320c3 +635, 0x68a860b0460f4d7a +636, 0xb2d6acaad96ad2b8 +637, 0x7e99ec06a1b12969 +638, 0x4e73072434778be5 +639, 0x45c738380472436f +640, 0xacc1dc0cb1671a1d +641, 0xe2b3a601c8028dd2 +642, 0x4f9011640c0cb086 +643, 0xc6424d085d77f7d8 +644, 0x4be1e01ddc4931ab +645, 0x7cc90d0d28c27c95 +646, 0x74769cbb87388666 +647, 0xd09b8c57ab2ab780 +648, 0x9e37e07f5b413afb +649, 0xe2a4dfc86e985dd4 +650, 0xbcebd68950a62876 +651, 0xe61186758e286164 +652, 0x5be83633e0653215 +653, 0x60f5f3346f1e7a63 +654, 0x90be5b5bd3e71f3c +655, 0xd873686587fbaf23 +656, 0x56a78bdda770ffb9 +657, 0x10ac45a16daa49f3 +658, 0xb8df2a1dd5781cc2 +659, 0x7b2ed0fc9abf7e9b +660, 0xbea9373bd4d879ec +661, 0x130c660f2edbf5b +662, 0x5d3f614bbf3204f +663, 0xf328a315e9d0b932 +664, 0x7cbe580281817508 +665, 0x3b7ae752ef5de9ea +666, 0xd88a2f398c8e195d +667, 0x2db535bba7ba7358 +668, 0x762e4bf7fe733a9e +669, 0x126f629c46663b0 +670, 0x91bb6e238a5a9669 +671, 0xeea8827b9c3f2e5 +672, 0xe86738844c67fe4 +673, 0xed15fd801bb9d73f +674, 0x157517cf2091af44 +675, 0xa73e89c3d7bbf546 +676, 0xb56f610a41176770 +677, 0xeb33707d25578bf6 +678, 0x1b89e1301a46663f +679, 0x75ddc343b67f1ea7 +680, 0xe2da07af36f0448d +681, 0xb5567854075a0f6 +682, 0x6247afc791977380 +683, 0x824b342ef7df201e +684, 0xd72654ce78b69f06 +685, 0xa81b601c56d7cb9c +686, 0x721c4b5d80932ead +687, 0xc99bba379d154c88 +688, 0xb12e74cabfb084de +689, 0x182d98bf2d14d5b6 +690, 0xabd6445ca6180320 +691, 0x61bd348533393374 +692, 0x8b24cce3636ee185 +693, 0x9d9092316dbb7960 +694, 0x46b005f6176cea5d +695, 0xf07c167b80eeb610 +696, 0x589f0fa902170da5 +697, 0x96cb5756946a309c +698, 0x8a8eaeb00cc65201 +699, 0xb283c55de49423be +700, 0x67f5595dcba6dbb1 +701, 0xd9776bfbf6065931 +702, 0x6e10ca882deba83a +703, 0x6102d62102809372 +704, 0xdfeeeb5a115e8703 +705, 0x9b2320c4d818be3e +706, 0x9168936a8d01a485 +707, 0x22d3744fea4f78dc +708, 0xd40b836aa128a062 +709, 0x6c61a41c6d65f12d +710, 0x55730397d9510398 +711, 0x7dee61ad38acc6d9 +712, 0xda1912bf3de3e557 +713, 0xbfe6c019850006f3 +714, 0xe845fb0710682483 +715, 0xcdf60b34c368e5d7 +716, 0xd6e7dc0e6c3df1b1 +717, 0xfeb190e94f30088d +718, 0x4476cfcd6c9bca02 +719, 0x2977673195da3490 +720, 0x96c568ec008e2df4 +721, 0x817d59faea6f872c +722, 0x2bc4e7547b5e1381 +723, 0x25c7680da190b93f +724, 0x2dd815c2e3716198 +725, 0x85bbefcc5b6d1f6d +726, 0x5ec31ffbefc3056 +727, 0xc29d2756e13c1449 +728, 0x25b61ddfdeaa3182 +729, 0x2365b4967dc141de +730, 0xe275f2a9be026689 +731, 0xf30d1c218692aff5 +732, 0xb48fe560af269c01 +733, 0x9852c4e3dfa37603 +734, 0xe5a1de23fcc3f727 +735, 0x22fdaf11989cd063 +736, 0xe397e17c8392a847 +737, 0x7529eaad7a530992 +738, 0x5f3f32fd3dfb3320 +739, 0xfc9f4b0bfb548db9 +740, 0x1471cf6df6e134ab +741, 0x873db4bb386fc282 +742, 0xbc94c6a3780f79ba +743, 0x4bd508d98988c251 +744, 0xd1a817a879c8923 +745, 0x12a350db356edaab +746, 0xd3257e02fe6faddf +747, 0xdc09eecdbc32c2b5 +748, 0xde18b15a13a8dc6 +749, 0x753c4c30f7c35e2e +750, 0x596d3436a834d6a0 +751, 0xf3319db462c1b9c7 +752, 0xb73715d61ffdb26d +753, 0x5330c9d08115e44 +754, 0xc008a119c220cfa9 +755, 0x1f624f431b83ed39 +756, 0x6d1130e066efd112 +757, 0xfd3eff082f54c839 +758, 0x1b31da85da96c5a0 +759, 0x849e94a219c2b71b +760, 0xe1b772ea1fb31ec4 +761, 0x67db72a68f2ced9e +762, 0x99426581623fba83 +763, 0x7a6b306ed67cb4dc +764, 0xc18f42740fa62dd9 +765, 0xce90428779eeed7d +766, 0x9d1c7db3d6c3491 +767, 0xb26a8c31ab6f277b +768, 0xd31845885962e222 +769, 0x83aaeff5e24f551c +770, 0x5a73fbc17f10d179 +771, 0x5cc19c3807d48a2f +772, 0xc8e6f01324d0bf9e +773, 0x404f95c06aacef62 +774, 0xfbd0e7a11580e337 +775, 0xe35a206927cad6e4 +776, 0x79a7b1b6c80142e5 +777, 0x81a28a97d7110959 +778, 0xa22d612df01a16b +779, 0xbed9dbcaf3d82bd9 +780, 0xd3e5b22df6fcca95 +781, 0xcf4626d3739b65d2 +782, 0x3bea29bf8bcb3439 +783, 0x3e8f7021bb137dcc +784, 0x2fdd4faa44a68574 +785, 0xbd830ac3f0be7750 +786, 0x7a3e6f39eb05d5c4 +787, 0xaf229fb1db175bc5 +788, 0x7295e47bfccfb76e +789, 0x62695e99d0a25e7b +790, 0x30cd8850c858838d +791, 0xaff09ffcea838e89 +792, 0x4e9d0b99386dbf42 +793, 0x9eac0e6b0025bfb8 +794, 0x383465e3b1a6fffe +795, 0x5b6c0c45aaf4ce5d +796, 0xe5cfe9da80e4348e +797, 0xb1157c89a7d97df +798, 0x1c27501515138d47 +799, 0xd4f4a083e3d14728 +800, 0xdf69ff0a7982ab61 +801, 0xc376eafe88dc182e +802, 0xf93ab7882723b2dd +803, 0x89b8a08615a7aaf6 +804, 0x2b6cdf2f80adbdef +805, 0x2d57a9420550aa14 +806, 0xe9c1ad378ee6612d +807, 0xb48e3b9ca52568c9 +808, 0x9e67310a9b7ad7c2 +809, 0x24f74c637b7fd180 +810, 0x8956247efecfb1db +811, 0xc0a17f81a8a93104 +812, 0xaa2226f0ff5ef2b9 +813, 0x6aac7d569a285253 +814, 0x642982be37a0a179 +815, 0x1da6f2b46c5eb14b +816, 0x146eb12f17563cb7 +817, 0x490e0fe4d69695db +818, 0x50f6bb32abf00166 +819, 0xc78be77c8e1a7b3f +820, 0x130b147b093c659a +821, 0x8a28c321e9df8c19 +822, 0xbd81ea9f26c58a93 +823, 0x786c73446361dc31 +824, 0xfeb7d2a60d500f73 +825, 0x84b0e0368a98bd73 +826, 0xc944c636fb4f2ad1 +827, 0x64dff6c2acc378b +828, 0xe26a5b23e5f2bf96 +829, 0x86dee0cf9f52dedc +830, 0x13f40d996945e7cb +831, 0x9965d35d76866320 +832, 0x55169e779bc4403f +833, 0x5453e9e5d6399943 +834, 0x7ae5cce348460939 +835, 0x206be2007941abff +836, 0x59a1fc9441a2c060 +837, 0xd65e845fdc736883 +838, 0x2d9411da47dc596f +839, 0x3f8bcba4fd0f03d +840, 0x533895c1b19c6262 +841, 0x9cc38eac5006493 +842, 0x2244a1f903232422 +843, 0x8c7eba4b9893e04f +844, 0x8b669e0537581368 +845, 0x48aa4ce1b62dea35 +846, 0x98a789136697266f +847, 0xf087571d08796c39 +848, 0xeff986fba7345e0f +849, 0xd0d667be7bb85237 +850, 0xe83dbf0bc699feb1 +851, 0x8501ff412116d9ae +852, 0x4d2c06d690a13e80 +853, 0xf64b077cba13b5d0 +854, 0xb166fee2ada390fa +855, 0x3bc475043c332873 +856, 0xe21b6d7da7e9ee13 +857, 0xac6c3264958b1f6b +858, 0x701c1df185e6fddd +859, 0xaf7e8501f7445559 +860, 0xe34e79719b3c2367 +861, 0xa75d03f5b049c044 +862, 0x7b1fed41fbb62155 +863, 0xdc98215140275e6a +864, 0xb593660fe8bf00df +865, 0x499f416dfea8a062 +866, 0x2463b217bffaf042 +867, 0xde955f615e68a961 +868, 0x9db7cab1b500249 +869, 0xc4e0c255193f8d3c +870, 0x3a220f4068fe8189 +871, 0x310f311d1151affd +872, 0x9d2723448ff8a1bc +873, 0x219c5f555182f8ad +874, 0xcc6a54b756154997 +875, 0xa9894b81e72d03b4 +876, 0x1c489f42758b4008 +877, 0xc57737e1fff628da +878, 0x752e08a04dbb3654 +879, 0x397ef980659aeefe +880, 0x6da11abffcbf51df +881, 0xb28f6931d8425ccc +882, 0xb2589acc6764a5a4 +883, 0x6e7caeb3edf4c9ae +884, 0x3333bef1c33d3648 +885, 0x50b975012e7f0d58 +886, 0x4c24195a5576d9e5 +887, 0x5fb697e515523d4c +888, 0x4c25e6146105725c +889, 0xcade882dd4674db0 +890, 0xe0f1cba246c94df6 +891, 0xc7ccf728811bf9a2 +892, 0xce2b631b55492ed6 +893, 0x9ca2e1c4fd5080d1 +894, 0x5c99b44ca03cba57 +895, 0xc12a90a937b45e7b +896, 0xd97f8d5d4c44db88 +897, 0x54077ccf8ba0193b +898, 0xe1ce544f328b8d8d +899, 0x8a322880b5237d01 +900, 0x286a178d86ff3d49 +901, 0x211a8e5021074880 +902, 0x3be20d7210e4a91 +903, 0xb7c35a62c4f646dc +904, 0x2b409ad4e03b7290 +905, 0xac3087c5382e7e58 +906, 0xa3748972b982ce4a +907, 0xb340ca0dcdd4fc46 +908, 0x92a567cc37525316 +909, 0x32ab0e108dd31e1a +910, 0x9cc564c8306fe4d4 +911, 0x2f30238d788e4aa4 +912, 0x5d7b2d5a1cfb3ca6 +913, 0x3d7c7cfb5c3dac2a +914, 0x68a2fcc7c90bc67c +915, 0x93c931b07c7bcaaa +916, 0xb07e858c5f6804fa +917, 0xf34487568770d540 +918, 0x92d0c14ac66fc693 +919, 0x1df3edf3172dbe1f +920, 0x99dd6452e5beb2a3 +921, 0xe38aa3644a74fde1 +922, 0xc049af84d1206652 +923, 0x45ac2398eaf40225 +924, 0xd12607b558ef0006 +925, 0x1e7381c46a70f619 +926, 0xdb7c30532160e472 +927, 0x73ef892949f375f6 +928, 0x19ffd06c4ab2173f +929, 0x5d36078951fde0ab +930, 0xa1dd5b24e3e82ebe +931, 0xa007a426d0f94cb +932, 0x927ab34a8d844365 +933, 0x8a3e93aae579f9c9 +934, 0xfab14d979a048f4f +935, 0x91a360f46855dcf2 +936, 0x76466996b49f4705 +937, 0x12d4f323c1a88644 +938, 0x5505395519967856 +939, 0xfa64fc82da5d6486 +940, 0x1bd1dc97bd219e89 +941, 0xaf41e0011c68d69c +942, 0xf1851e78d15d95a0 +943, 0xc00178a6f4449839 +944, 0xf74517746fee73d0 +945, 0x14e21fb6693e2dd5 +946, 0x30fe5c4d988342c4 +947, 0x9981d1554e52001c +948, 0x164e36540569db94 +949, 0x711c12fa1f32de8d +950, 0xe43201111f3e1990 +951, 0xd3f5395b84e4d93d +952, 0x40319e5870e18ea +953, 0x7a45fee8655d707f +954, 0x3610639f0564fd3a +955, 0xac97da399634ec25 +956, 0x5cc8615a764d8cee +957, 0x82463c24e8b3e5a1 +958, 0x3af60e152b97a91d +959, 0xefcaa0964723b3ff +960, 0xd5979b8da2b0875b +961, 0xd718909a9cfd5aef +962, 0x985995c251b18b56 +963, 0x2c7c126f9a0eabe2 +964, 0xb4ebcd9ab305d7e1 +965, 0x28fd69e0a7bb4846 +966, 0x2af7b43ea9164e56 +967, 0x9f72bdc5fe1ec72b +968, 0xf1a884206bb1559c +969, 0x5caea3abafc00777 +970, 0x2e5901b394a13b22 +971, 0xdd4281ace415ef7b +972, 0x1e421afa2c23a9ee +973, 0x64942a448f2a61f7 +974, 0x32475573b78af5e0 +975, 0x348602ab7221 +976, 0xda1cf48b3c778ac9 +977, 0x202730803de016c +978, 0x7f07500a97253303 +979, 0x912df89c5702453b +980, 0x7a483f96506f7e2e +981, 0xb0331694db0d3557 +982, 0x244b924fd11c49ac +983, 0x5d1097770b6f4740 +984, 0xb227f8cb5f5ae045 +985, 0xc66e1b71c02fb86a +986, 0xe08b547dbee66315 +987, 0x4e7e2986cce8bbff +988, 0x96f7bfe16d59aa73 +989, 0x82f97f418750013e +990, 0x1329bc356103905b +991, 0x82183603b406408d +992, 0x3818107e93ac9397 +993, 0x3b477193a3f61669 +994, 0xf4e443832f9e886f +995, 0x466becfe7debd82c +996, 0xe32937bc5daaf7c7 +997, 0x90bd4530b0e0574a +998, 0xb78055db48f56255 +999, 0x78829570b3775e14 diff --git a/numpy/random/tests/data/threefry-testset-1.csv b/numpy/random/tests/data/threefry-testset-1.csv new file mode 100644 index 000000000..ddfa736dc --- /dev/null +++ b/numpy/random/tests/data/threefry-testset-1.csv @@ -0,0 +1,1001 @@ +seed, 0xdeadbeaf +0, 0x8dfd999efc587d2e +1, 0x3bf6c47ed872597f +2, 0xd82537743662be19 +3, 0x46103c1408067361 +4, 0x7346b65b404eb9fe +5, 0x4b83687af205cda8 +6, 0xc9cccc1fc1c330 +7, 0xf1998771158a2109 +8, 0xda5dc10ad259dbda +9, 0x4646e487520d8e1 +10, 0x159fc0e3e691e0af +11, 0xe2776a537d1a14db +12, 0xc1c7a9c84e1ebeae +13, 0x884ac2384b510f2 +14, 0x4884b09c9a60131 +15, 0xb13a1cda0d508af4 +16, 0xc3d21a2f212bfce4 +17, 0xa3b801d11d523597 +18, 0x1032f052626e5c62 +19, 0xd3b97f4372f6b7d8 +20, 0xd2982ca1c2af2372 +21, 0x13be3d71202f619 +22, 0xdace9f84ef1ddfa6 +23, 0x111bf9b9cd36c31a +24, 0x1ccc5e5be7281a26 +25, 0xa4cd1aa57030bafd +26, 0x99e30fc07a8990a3 +27, 0x9bfa5257d8e64ba2 +28, 0xfab6cdc7f1ed5221 +29, 0x85a4cf41ee744f97 +30, 0x1bfa09917b2906ae +31, 0xda161ec1288b8909 +32, 0x6b1b3ca2bd91573 +33, 0xcef3a71775de82e9 +34, 0xe8ca72781abf1c22 +35, 0x5b8b673b060631ad +36, 0x6658737a84dfe2a7 +37, 0x65a2254b602bb09f +38, 0x5ee6bfeadda0b432 +39, 0x8f3e8af494aeb36f +40, 0xd1c29d016aa72890 +41, 0xfd96891840f0e51d +42, 0x6103cebcf8398a46 +43, 0x7d899055702823a0 +44, 0xf9597bb3dce6d7e0 +45, 0x85b3bf105f26219 +46, 0xedfe4b32a28e4386 +47, 0x74f2415ce2908181 +48, 0x7de6c2f16372ca16 +49, 0xe2b29d517e17feb5 +50, 0x30d7ffc292038441 +51, 0xad4522ce80cf4c1b +52, 0xa9c79bfa1f31b5d +53, 0xc2f17eaf6c6fb057 +54, 0x27938c6a95a6663b +55, 0x239db1ec714acc17 +56, 0x8df60daf4949f4bd +57, 0xb2f6b97d127209d4 +58, 0xad58961f74c8596b +59, 0x6e920c60d6460627 +60, 0xc3839f29e9ce8be0 +61, 0x339161e608237aa3 +62, 0xf148b8d4fef7386d +63, 0x2cf8bd6438b2a52 +64, 0xa1e432e4a618e741 +65, 0x56e1e56517151ed5 +66, 0x61e528b5a3f6d4ce +67, 0xcddea3f49d6ded23 +68, 0xf966618d29452959 +69, 0x5d4fb65eb30e8f28 +70, 0x4a913ea38620fee5 +71, 0xa00f4c5528a3b760 +72, 0x1ac5a2ce0486d8ab +73, 0x521ca18c998b8d5 +74, 0xb0779142f4d0bd69 +75, 0x22f054d9131f1fe8 +76, 0x8c45b6c48016430d +77, 0xbefe70d6c6f8727e +78, 0xc581436cc4c2c0ea +79, 0x5864d0268e18ee15 +80, 0xca47fe47d22aa5e6 +81, 0xdffdbbc0db7ad425 +82, 0x2ae423bd73de5d15 +83, 0xb83b4651838308bc +84, 0x16fa5f72b53c5d6 +85, 0xa0b6cb353724ac01 +86, 0x64d4dc2db97a7d36 +87, 0x79ccd3dd98b33cdb +88, 0xadda2d6132e73ebe +89, 0x7d1a82eff9dba6ce +90, 0xc27defdc4f9c42a7 +91, 0xe12bcf2300cc0585 +92, 0xdbc65c0ee8511e31 +93, 0xaa9a1edff55c22cc +94, 0xc007f355f38dc50c +95, 0x4fbed1aca4bf4222 +96, 0xf137a501255f8852 +97, 0x416ce22d2c6b8e4d +98, 0x5f9fc6ca7a7e9000 +99, 0x9133f67a9222cbf +100, 0xb5fad01321365bfe +101, 0xe3e971e5481249d1 +102, 0xb2950204c847bc0a +103, 0x7ea97815ffa7d45a +104, 0x482c5be26c8bdf3b +105, 0xe42e7e3114197d0a +106, 0x3b74ae3e10f20ae7 +107, 0x92a5e6eca6ce4c38 +108, 0x951ef146ac76378 +109, 0x282f71a81cf08455 +110, 0x3f267412ad1483a5 +111, 0xa5b91846efa301ef +112, 0xaa31cdcfd08603b5 +113, 0x2e16b10730082c4f +114, 0xbdf14631f750e96 +115, 0xd008abe07ede91b6 +116, 0x994ee56c08ff60bd +117, 0x53f0ce17c7c350b9 +118, 0x4c6f01008b3f93 +119, 0x575ee5e7fa184714 +120, 0x83ef0302e14bdc0d +121, 0x5bf2a34323954dab +122, 0xb489e8c4c51a8683 +123, 0x4c9e9801a6acaa07 +124, 0xe9d2e19c20612fe0 +125, 0x2ee2ca0a4d83aa46 +126, 0x19d3a90895d7773c +127, 0x4130367c3abf9b1a +128, 0x1163968e394a67a1 +129, 0x67ffcbbfe478276c +130, 0xd57b578ec019ce0c +131, 0xb455156a987ea010 +132, 0xa9b429ce5f337432 +133, 0xff84cf0f673cc4c4 +134, 0xf034b32b302d0953 +135, 0x9bb6bc59375bbf53 +136, 0x44a2d4bc278da710 +137, 0x78023c9fc08e6247 +138, 0x6b27a1397bd5d278 +139, 0x193758c805b28105 +140, 0x28b88044af4b5313 +141, 0xdf32108c3da9cbc9 +142, 0x6cdb5ffbc5b589e1 +143, 0x702d9691e509de76 +144, 0x405cba179f3db3b5 +145, 0x73d44e0be3ac8048 +146, 0xf9d578eed861f37d +147, 0x9d04541aaacab238 +148, 0xce4507880b30adca +149, 0xaec02613164bec9a +150, 0x346180904e9beade +151, 0x624adb9e18bf4dca +152, 0x3ad2ab92b1f11b23 +153, 0x7d5ae064eee4f228 +154, 0x4e2bb6e3851953c2 +155, 0x55bedadf90ddfa04 +156, 0x4f9422b9142c837b +157, 0xeb5592fb0a763ead +158, 0x3ecb85424422c74a +159, 0x119bbfa61eb2222d +160, 0x6505a8c9e46616bf +161, 0x57bb55ae533b24c5 +162, 0xd6cee34b85233f67 +163, 0x7ea146f8a6edccf3 +164, 0x76615fab897424c1 +165, 0x6d79fe83053e2769 +166, 0xa2759466a39a899d +167, 0xc71216f7edc5fa52 +168, 0xbad1fec86d6684f6 +169, 0xd461ed7882597a5b +170, 0xa437d1518e84a43d +171, 0x5f7d08235e202553 +172, 0xdd87bf84dd2ee070 +173, 0xf2be8b7cda72f89d +174, 0xb221c206f95bb237 +175, 0xbf0643fe5b908171 +176, 0x6bf7c1606a106580 +177, 0xdb356bbb10ea4eda +178, 0xe237835dd0d4690 +179, 0xe6c2fff624891ed0 +180, 0xe08936b04987ce88 +181, 0x2837dbe9582a2658 +182, 0x51d176aba32aba6b +183, 0x5e84cf73553b7d65 +184, 0x65ae1e2bfd16072a +185, 0xf1e5ba1a331380bc +186, 0xd635cc846b72af5 +187, 0x5b0ebda48c952d27 +188, 0x5e05122799559b71 +189, 0x58636876eda68987 +190, 0xbd7af40a48bec96e +191, 0x85c640b51a9f45f1 +192, 0x204a037b8e6e312c +193, 0x961e7967c267be6f +194, 0xa638d40cdc30c59c +195, 0x5a39715f059bdc4d +196, 0x672b41e8c97af455 +197, 0xd30fed911bba090f +198, 0x491a830b50c133b5 +199, 0xa17c651d10ef18d4 +200, 0x18c5ed30299ca860 +201, 0x422b896bb244bf22 +202, 0xc5f46ffd55ef2588 +203, 0x709cc6441b029ef2 +204, 0xf253dfa120c336c1 +205, 0xecaa82e7fbe74f55 +206, 0x2fd810efb17f6736 +207, 0xe7a25ab84fb25ed2 +208, 0xaf7193b55b4f2c68 +209, 0x2a759a4ee4a1ce66 +210, 0x16996f2d902284bb +211, 0x87d8c6d1879f76fd +212, 0xdc966392468278dc +213, 0xe41e4051d267adfe +214, 0x381a17ee5c0be0bf +215, 0x92f27f7e4d3316a8 +216, 0xcfc791e85c47d026 +217, 0xd3fdbf29fc4b3b9a +218, 0x42e5919e80dbe10 +219, 0xab84a06c93add70a +220, 0x4f09d5438a9cf6ed +221, 0x60e5a77f3e81cc62 +222, 0x86e0c8b80336e771 +223, 0x899c3c4372b18cd8 +224, 0x8e4b3213708a89e1 +225, 0x265ed6061b84ce2 +226, 0x80770e2169b55299 +227, 0x39fccaaf318d18b2 +228, 0xf1b996ca0a6b8dcb +229, 0x2d5a2497533e1bbf +230, 0x82e8bdbea5fd4825 +231, 0x96beae4bc404d6a3 +232, 0x6bd730a492452ec8 +233, 0xb64ebc3e1342d159 +234, 0xb1632475806f1236 +235, 0x2e753cfda372774b +236, 0xa071f3cfac5af1c2 +237, 0x2cf0268115fca199 +238, 0x79255186612c0e7b +239, 0x2ddda40d56bcea5d +240, 0xcae06b8e382dc2f3 +241, 0x4c4eeb5a29713cb9 +242, 0x9094b57b8a7d48e0 +243, 0xc770e33c1203b229 +244, 0x86d82971c2c93900 +245, 0x890e721300b7c4d3 +246, 0x3060aab5f8cac918 +247, 0xbe1eb72ed892942e +248, 0x7c9dd3cb08d8b96c +249, 0x5fd00ae5885d5de9 +250, 0x4417cce0c28a8c3f +251, 0x43cd3a2dc30b89de +252, 0xc2cb18532d9530fe +253, 0x28abfd68d23173ec +254, 0xc4d76303811fce07 +255, 0x59bd12a60ec03a +256, 0x34d7ccec03c71605 +257, 0x8b75d9264501f015 +258, 0x7cd57fab83c4a0a0 +259, 0x8da871dc3cbc9eab +260, 0xb584498a027618eb +261, 0xc6e40e951710b610 +262, 0x41178da78714af7e +263, 0xd23bf6c5d4f72956 +264, 0x96a7e56e7cd445aa +265, 0x9a0c33f1026bc110 +266, 0xa9e827283fabfb28 +267, 0xc5db920653ca6532 +268, 0x7d7c2798440bf4fa +269, 0x29c67ba6461f747a +270, 0xb8714cd0b123302c +271, 0xd3dbfaad42155417 +272, 0xbf7a42afb38e35b2 +273, 0xc68987e460f75e2b +274, 0xc1870d0d8b3749d1 +275, 0xedd865f6c4742810 +276, 0x97257a657fb3cabe +277, 0x7481e43145a8d41 +278, 0xd5bf38b5e9dafc7f +279, 0xd79afc7b1005e7a +280, 0x6ad40d65e9b5a5ad +281, 0x65075c2e32fff49d +282, 0xd1be9510a7f3b969 +283, 0xd07acc1e3f6eb257 +284, 0x41dfff9ffb08776b +285, 0x2521ba1b48ef458c +286, 0x178fdba8b65a61c5 +287, 0xf72679d974b82e5b +288, 0x723c29de610d0b12 +289, 0x84726f3e749c0c1 +290, 0x7316136529dbbb9d +291, 0x62d5c6fcfdd7b104 +292, 0x5ed0a981f49819f +293, 0xedc777d4f5085908 +294, 0xd1758061e06720f3 +295, 0xccdf37b1a089e664 +296, 0x4c7eccdfcc38b22e +297, 0x3af579b044760f54 +298, 0x4ebb096a5a14053d +299, 0xf84f1e6aea913534 +300, 0xab8187a201171f +301, 0x2fdd889a5b23ab70 +302, 0xae0894fe8c9356ce +303, 0x3c98be30e5ac171f +304, 0x566953af2a7a305d +305, 0xb15bb69ebd40f8bf +306, 0xeefca1ec57e47780 +307, 0x88e3d9a3377cd873 +308, 0x39ed63117f8e1ba5 +309, 0xeee20fabef374e5f +310, 0x836c24fbfe91a231 +311, 0x9de79447cb2301de +312, 0x8e3028226501f563 +313, 0xede195f88a8976fe +314, 0xfa67e7f210a9ea65 +315, 0x33a9286c9cc0519c +316, 0xf293cfc77d255e0 +317, 0xcfd8e6a385302439 +318, 0xf801e78f6bad9935 +319, 0x831bb783f70bac85 +320, 0xb85b9b1e1dcdf06 +321, 0xa41009e83579efac +322, 0x9095c71cf018e4d +323, 0x2ec789714277148c +324, 0x46067636a9ed2f33 +325, 0xd9385c2b49db3d95 +326, 0x69102374c36463aa +327, 0x94dec24132bb3042 +328, 0x81c5ff32132d8a4b +329, 0xa9cf7ef654a14c5c +330, 0xcea3e704414db905 +331, 0x9b8ad73d3cecbe73 +332, 0x59c3613f1f59c91f +333, 0x96becdd5d3d6eb7e +334, 0xe532174a0e32c691 +335, 0x52f9ef72eb3a0e0 +336, 0xc47812f381b1034d +337, 0x112ff07cbc1d95d7 +338, 0x8af49fc2e11d14e9 +339, 0x5f0bb0c8e6d38f37 +340, 0x5c92bc8be957afbd +341, 0xe8f175d0f89fd52c +342, 0x76223aa3b45638b3 +343, 0x3e68dc64b3402203 +344, 0x7a1da1d307e31444 +345, 0xd0eb8f54e2fab68c +346, 0x44182e518700331f +347, 0xf149093ac30a395c +348, 0xfd23f8f75c25fcfb +349, 0xfcf727ca90f9e4b7 +350, 0x85dc5c47fd81b61d +351, 0x72b726cf22d2f20e +352, 0x3f57ccd8f6a33bce +353, 0xe363ae312c97ec06 +354, 0xfde8b0a33423ee87 +355, 0xe8c89d34bb501e9d +356, 0xbd4d8774ebaf9046 +357, 0x40333dcde4e889d0 +358, 0x5c31d5695aaf7a18 +359, 0xc168172eafb6021b +360, 0x1bed01cec3613e8d +361, 0xdeb623f4effcfd6 +362, 0xd02f73c698f24935 +363, 0xbae9cb97df30d4b +364, 0x2c8dfe769edc25ee +365, 0x768041adc56396be +366, 0xf11f31e14bcc8f86 +367, 0x1cc1ac84b5a5eef8 +368, 0x7cd911d41054b0f8 +369, 0x60228e0c35106ce9 +370, 0xa92ac07cfd218b7a +371, 0x6e0ce56984fd6817 +372, 0x780b1c87423fef3f +373, 0x677be089b5bd8fd9 +374, 0x2454954f7e5c8c0d +375, 0xea1d3e8e67934975 +376, 0xd0199f2ad1c5b0bc +377, 0xa7961b7893a67372 +378, 0x28517fd857003446 +379, 0x69cfc7298d4f2aab +380, 0x14e673667c3a9c31 +381, 0x3d2326c751b57454 +382, 0x323f62bc000f68f6 +383, 0x58c1b8561f61d24 +384, 0xf4cb934358649f62 +385, 0xa4268dd0327460a4 +386, 0x922dcda4b4062a54 +387, 0xe1c77cc9775004a5 +388, 0x4d6648be23d1aae3 +389, 0x36e66b76d509f22f +390, 0x98a79de81ada9683 +391, 0x911308910ad0d0e6 +392, 0xa78a75232eb9c534 +393, 0xd1620acff1293f3b +394, 0xc2564f1312d27a65 +395, 0x70d5a4d369a56e95 +396, 0xa27a741994153da7 +397, 0x3fd84f4095c66967 +398, 0x8370c9ea207fa4dc +399, 0xffef37922d7c15d3 +400, 0x10bc39f6a7575b21 +401, 0x6ae92a96b97e1f1f +402, 0x8adfba7ab6ca7a72 +403, 0xdf1b40629ce3a3b +404, 0x55d0451d15de716f +405, 0x2bd54462ff147e0 +406, 0x676723dc7af24d1c +407, 0xc3a7f70b34988a83 +408, 0xe716a0967a8c69d6 +409, 0xaf124e06fc7cac59 +410, 0x7951c1b7294d532a +411, 0x543e87364c521abc +412, 0xff5c44c50d4ee584 +413, 0x4a20724584833ef2 +414, 0xf605912a8c86b52e +415, 0x58e76b9dfd4da8db +416, 0x2279cf8b4a4f8894 +417, 0x99e4535e58af23e3 +418, 0x98b357e92d197aec +419, 0xb665faf7ec3c5892 +420, 0x74ff68056822f96c +421, 0x2443b541f675a9fd +422, 0x2ddb1042d52c00ae +423, 0x53bce4d472853bbd +424, 0xddd12064af825de +425, 0xd9e451ebb7871b0b +426, 0x284e8b62b5140d39 +427, 0x392f6f741ec18b5c +428, 0x53c1471d27c62d28 +429, 0x957c668aaa12dcab +430, 0x905899dcc9c8d748 +431, 0x85b9cdbb0195492 +432, 0x3285475338298b0 +433, 0x362aec5454354816 +434, 0xaffcafd1179a163c +435, 0xe7303efbbc4f41fc +436, 0xe5bef7dc443e92f4 +437, 0xc30a00527a65fcad +438, 0x10f35ee768a411c5 +439, 0x46ab523cfd6f019f +440, 0xf96997ee80420b3c +441, 0xd6bd882bc6334bce +442, 0xce8082585fcccb74 +443, 0x10a585df3e216780 +444, 0x8bef43483e7359bb +445, 0xb88fc9f0de92ebab +446, 0x8f9f9ec7e1bcdc7f +447, 0xec0da8b08dbf8ab7 +448, 0x8967d7116f0ca59b +449, 0x3ec612e1c87c23ff +450, 0x5f4c5e66476f3c37 +451, 0x536d0ddad6830a22 +452, 0xce05b606110b2ff2 +453, 0xbc06b0392b8db2f4 +454, 0x109feccc811d2237 +455, 0x1c6d58cbd3717d5e +456, 0x4bf990f210d7046 +457, 0x98c0e58f2e655da2 +458, 0xe71155da62d7207f +459, 0xe619955157476acd +460, 0x5484ce353c85962d +461, 0x4f30e140971d815e +462, 0x1aee57fec03675c1 +463, 0x9d6ac96b29e5236d +464, 0xa8bc59565b8d58f9 +465, 0x888f185056d1ef52 +466, 0x32bf6f97834d5f3e +467, 0x4fda3ca53a0aad5e +468, 0xb06670f7d65dc538 +469, 0x3394e29fd0a067d1 +470, 0x29f7c702dcaa4d6b +471, 0xafc0eb498bafddbe +472, 0x5002c13e14be570 +473, 0x11b62a54a56e7468 +474, 0x15ae967503c5b445 +475, 0xa1282117755e25e4 +476, 0x247ae0993e30d491 +477, 0x328f519e2974c09d +478, 0x963e0c8c57e3a4e1 +479, 0xfd2d1a916eb9def2 +480, 0xa4625165c4cd23b6 +481, 0x935663b351deb205 +482, 0x4ec13ee6fd28c2ce +483, 0x57365950d55bcfeb +484, 0x36d56e4c073cb9a2 +485, 0xa3deb42d6419e3c7 +486, 0xc0a6b68eadab9a81 +487, 0xf99a94679e32a1e5 +488, 0xc42d64e664eb0375 +489, 0x323de13c4da53f9e +490, 0x548e4376950c3229 +491, 0x5d53452624beda53 +492, 0xdb8dbdc4d06fcbde +493, 0xcfae0fedb5744805 +494, 0x8d093170690f3ac5 +495, 0x31ad2ff1c80c20ac +496, 0x40c7570d7660805e +497, 0xdfc383cd341cc5fe +498, 0xa571fa523e56de7e +499, 0x5fe751124076e6aa +500, 0x6696c91142c1a338 +501, 0x5c2295e731cc37e4 +502, 0xea4759143aeafa7f +503, 0xf51103c2360f23d8 +504, 0x58a0e754c23434a0 +505, 0xc81291121fdac698 +506, 0x8679b3dc92d444dd +507, 0x9ec6662d4aecb616 +508, 0xb508daa350249f07 +509, 0xdaf489538ed15145 +510, 0xcb6bd65b1c81a90c +511, 0x7f5492214c7c11e8 +512, 0x875effe96d081ca9 +513, 0x1e35d4b75f19369 +514, 0x49029232ba45725b +515, 0xa73202231bebe958 +516, 0x8011e084a420d3fa +517, 0xe7ff845074367c35 +518, 0x3a9e9ddb2ff812c +519, 0x6f5e47f4aa71a356 +520, 0x91e5a3a77e5b008c +521, 0xad173c173829519f +522, 0xadf0a51b9dfe9e97 +523, 0xa8fb30c571be5e92 +524, 0xb78e79d25ff80064 +525, 0x120eeaa9accedc7c +526, 0x81020045a1ff2669 +527, 0x66a50f790048fefc +528, 0x933c1efb74bbabfd +529, 0xc5fc20f210302719 +530, 0x8151dec3094fabde +531, 0xd2213b923bf407aa +532, 0x78da0fc0b44771eb +533, 0xd3a628d7eaf1f5d0 +534, 0xf7e444d35eaaaea4 +535, 0x2e5a8469332422c0 +536, 0xc4e9e4166203bdc0 +537, 0x68b11509577357cc +538, 0x1c22ba556358f1a5 +539, 0x1130c889b5c71f31 +540, 0x68fd0def61e6a4d3 +541, 0xd91797bb9243ba7e +542, 0xa2230c8c22e607b4 +543, 0x777331fadde75233 +544, 0x5a10baebd665287c +545, 0xc6e37c206f8ef53f +546, 0x2153e16620a7a26f +547, 0x7c044870163ebd66 +548, 0x2a78dbc7b40026b5 +549, 0xe1b372326f13f738 +550, 0x1bd9ed17eb120bf8 +551, 0xd69aa5ce828d6f6a +552, 0xedb21795bc2fe078 +553, 0x9424cee925d04cb0 +554, 0x1487a67127236306 +555, 0xbb04e7bc49c9e892 +556, 0x7d2cb1fef10eb638 +557, 0xb2165be14331dfee +558, 0x608b006694436407 +559, 0xde51a803f31ecf58 +560, 0x2baad9e91021165 +561, 0xc5fdebb7bfe058d6 +562, 0x7d70f942899e39d0 +563, 0x6125c0830f211474 +564, 0x2b63c71b5e2257b0 +565, 0x38162d3452ce5a43 +566, 0x47d92f8500ecfe89 +567, 0xb4b0e8e986835907 +568, 0x64024e226440fdd3 +569, 0xef14e5e470056074 +570, 0xbd98e6483f249d13 +571, 0xb772dcbc1a4c59f3 +572, 0x39f88aee50df9b +573, 0xe1284ee3b725f8bc +574, 0x30b997b194c75fe4 +575, 0xcb8830869e416d6d +576, 0x96dda63deae7dd5f +577, 0x250cbc3004548474 +578, 0xd386e14eb6612f48 +579, 0x516613a018bc41ec +580, 0x3d38173562501913 +581, 0x8f95bbd2fe704484 +582, 0xeea5bc9616a584ec +583, 0x35a6ab8de8843dac +584, 0x9df0a94962efbd1 +585, 0xfdb0bd56c87735c2 +586, 0x8cfc1e372a8368f5 +587, 0x8b23d5fd3b5591d5 +588, 0xa67e55c12bf454d5 +589, 0xc1de05db8c87c9a7 +590, 0xc922075e71b9a176 +591, 0xb8411ab83c539350 +592, 0x6e3e5390e04bf51f +593, 0x265f5f4efd50c24b +594, 0xda4a0b190ed7e4bb +595, 0xe3b9badfb5f149f1 +596, 0x96b3c82ae413d007 +597, 0x6f0ad7739a6c754a +598, 0x8356ae17125221d +599, 0x7f54dbfd1bed2149 +600, 0x1db3446564c48acf +601, 0xeab66293c35e8bb3 +602, 0xec71de5e82111496 +603, 0x307d1ffb851f3ea3 +604, 0xe7763576290aa70a +605, 0xb54df18f36ec2901 +606, 0x1274c4c6b71070dc +607, 0xd5427bfaa1046f0 +608, 0x779d99339f644b2f +609, 0x408c3b4b6a634b96 +610, 0x1735ee7f87bb6851 +611, 0xa5780777c5f4d916 +612, 0x5bf9f4d091ee8ac +613, 0x72a16b375faacbed +614, 0x1cbcdedec43afe95 +615, 0x969f6bb71211f0d6 +616, 0x16205de04f90e353 +617, 0x3d8383b3ebca6fb0 +618, 0x10fdeba49ed28dc7 +619, 0x7db0d19d648a705b +620, 0x58e3c21bdcabf3d +621, 0x62a3082250cb2532 +622, 0xb253b1030f0b10ee +623, 0x83050c560043946 +624, 0xde988add6676546 +625, 0x40ff1d99d7afa3e5 +626, 0x2949dcd8f797c0d0 +627, 0x85b3588ea7d06109 +628, 0xe6158241a7818a08 +629, 0x874c0e4d8f133e8a +630, 0x802ef6fade0787ff +631, 0xc8f4c96631fd13bd +632, 0x1cc53ceabaae0621 +633, 0xa3a8215bac5844d0 +634, 0x3e9a46365495fca9 +635, 0x5b1a8b67d0cfff39 +636, 0xa4c00a256a7528d8 +637, 0xdb0dcabfeec2f50c +638, 0xb4b11e407e0ce53d +639, 0xf0290a216960acb5 +640, 0x647c256bc27149c1 +641, 0xa4c65fa3a1b3a384 +642, 0xcfc3a91aabff01f5 +643, 0x56af49b0be94e98d +644, 0x78192db16ba970bf +645, 0x8be6ab828ca60453 +646, 0xaec8783f7b08389f +647, 0xbf60b1a0a05822e9 +648, 0x773dcad583ad616a +649, 0x66c7c2accfe05b5e +650, 0xeaf428e3f8a86013 +651, 0xbafafbbea503ca83 +652, 0x12fbfe395a53b22 +653, 0x5b0803a9835dc747 +654, 0x6c104a7da8b0bb27 +655, 0xa8b88e467c4c4264 +656, 0xaf921baa5bf05a3b +657, 0x65ba0568bee94c6f +658, 0x20e4f7d26ae8126b +659, 0x1a21cdcb32a11571 +660, 0xb54cc85ddabf7169 +661, 0x7a96f253742c7ad +662, 0x6232ed42c7776d82 +663, 0x28617c73281c3332 +664, 0xdeb63b98b7f96fc0 +665, 0xa99b062863e06102 +666, 0xebf044bcefed86f0 +667, 0x6e3c394a7dcf0654 +668, 0xa8010615532d4185 +669, 0x7a848c300193a6c0 +670, 0x24cd4460125dc3ac +671, 0xcb7855b33cca6b82 +672, 0xcec13cf78f398d29 +673, 0x8ad170d6a9b257dd +674, 0x974e175bcd30d07d +675, 0xd354ce50f8f40865 +676, 0x4b28bba40a25dde4 +677, 0x6e7e9d53b8842846 +678, 0xa1a7effae10190df +679, 0xd04d564e0c0df5d5 +680, 0xffde7841dc21b687 +681, 0x9b1860198d2e41aa +682, 0x24a7d92cbcd7782d +683, 0xe87352efade1fe66 +684, 0x5f302e85b504b68f +685, 0xee93d343f09d8749 +686, 0xbfd683a06d5944ca +687, 0x325743a5a7dc38c7 +688, 0x7e96fe56f6884304 +689, 0x9bee81fb0adafed4 +690, 0x35e5b7dabf13f87f +691, 0xecb4fe689d3f2d62 +692, 0xc98df0a573051cca +693, 0x31344816b051aba +694, 0x6b74db489de2aeac +695, 0xbae6b717869cd684 +696, 0x9dbd5b6a5263c332 +697, 0xd2a84a6af9dd66dd +698, 0x6ec0ed649d6c0423 +699, 0x4fb425d69c495aa6 +700, 0x5f3c4bb82c849352 +701, 0xf936695a6db83ecf +702, 0x1850bca22a80a0e5 +703, 0xd682f6ac9f78d35f +704, 0x739ed6e0627599b8 +705, 0x2d1c3113339984bc +706, 0x1677a16b08764c69 +707, 0x1a46fe6b943eb342 +708, 0x45bc46da8e1ae218 +709, 0x6b899e934ca545d3 +710, 0xa49c7d04a14f01a +711, 0xf6cc946f76aee8f9 +712, 0xd57765ce52bc2626 +713, 0x9d5a611be45e54f8 +714, 0xc4e943fd1d93c8e8 +715, 0xf8bf900e053ae678 +716, 0x35fd93a2d3ca3ad0 +717, 0x28da11b273ad9626 +718, 0x4046bf1292aa4736 +719, 0xad2edd82a440e376 +720, 0x2d2e469cc5815e02 +721, 0x2bbdb981bd3477e1 +722, 0xf7e1ab492ae78b50 +723, 0xd8e8a2f1deb35bd3 +724, 0x38648d4e5ef1f775 +725, 0x66db82d34d00b6f +726, 0x29d9f8ee57bc77b0 +727, 0xdbd37997c9496231 +728, 0x99da76ed64137b55 +729, 0x41e94018a92a92af +730, 0xe9444b859466bc63 +731, 0x139ea8ec0363ec81 +732, 0xe5573db463b521eb +733, 0x91ee2c97612ff6ab +734, 0x17038e62d8d5547e +735, 0xdae84fda26485133 +736, 0xf32ca23f5fb0a2d9 +737, 0x874a456ee5fb95c2 +738, 0xdd0e839b975e3475 +739, 0x1d45382adaf65c68 +740, 0xe98fb57275e4f06b +741, 0x5680ec280f703935 +742, 0xeddec081cf938ff4 +743, 0xf6e156698ddc7f3f +744, 0x5653fb5f9493628d +745, 0x31128e4f1bb7abbc +746, 0x966392eb3ab3d294 +747, 0xc18f506c9bd5727f +748, 0x33f3861681488c3 +749, 0x88eea94d91f3ec4f +750, 0xc07df01a897cfcbe +751, 0x1273a8b06bb1a271 +752, 0x92eceeb94ee16b54 +753, 0x2372a2660388f673 +754, 0x12f0f9c80ae16123 +755, 0x192880a152ad8fd3 +756, 0x67ddde771ec9e527 +757, 0x29ef5b708626c4fa +758, 0xdf65824bc7e2f5d1 +759, 0xed186a843266c66d +760, 0x82bcae004f3c0011 +761, 0x3a00ac4e2aa8f1b8 +762, 0x14542fa617647e91 +763, 0xab833973b418a788 +764, 0xfff24c07ee1e1a8e +765, 0xc9483de3fa539f39 +766, 0x3ac2fe43b2865dd0 +767, 0x3fa95781cd250f59 +768, 0x306e75a4e686b37d +769, 0x6590018fe7123137 +770, 0x29fa6de7fe953978 +771, 0x235a7778eb3defcb +772, 0x4866fd1cbb1de581 +773, 0x66294fb38c3a4d1b +774, 0x2eba0e0b6a16a3a +775, 0xc416b8fce537f10e +776, 0x11b40b753610cf +777, 0xa800cb9afe30a55d +778, 0xc7843d545c02d7ae +779, 0x19d74191419fd649 +780, 0xed8d718b6f8c05bf +781, 0x321b3469a3b9f8dc +782, 0x558799f6b55c0ae0 +783, 0xb289b9140c769381 +784, 0xc96bb650d7a5d3e0 +785, 0xc2e92e33b8559b77 +786, 0xf4f5f6ae13188205 +787, 0x2ee80f197ec22d18 +788, 0x6d87c2241c3e6d63 +789, 0xd145a7a0a2e7b011 +790, 0xc62cd586690015a0 +791, 0x9f58724c6bb22eb5 +792, 0x1f4d76cccba65f65 +793, 0x2c8ef48d0ed3f00a +794, 0x4100357f24318944 +795, 0x99f50ea3b1e806b7 +796, 0x80b0b55abef2e2ba +797, 0x728eaa6f3dea3ff2 +798, 0xb9fe60138d05628a +799, 0x4670c98cb3b1c59a +800, 0xed88e42657806925 +801, 0xa5f002df4a0fccb8 +802, 0xec8c1a342c98136f +803, 0xa356077ed340cc9c +804, 0xe87cc8ce72c844df +805, 0x663b6b98d1b215f5 +806, 0xe8ad0986f0a51b9f +807, 0xf77e0dd6396d98ca +808, 0x16d0284cc96530d2 +809, 0x21dca6308157182d +810, 0x4e80e0e6a0023ddd +811, 0xec147ee76408744f +812, 0x7772e8a51336d259 +813, 0x5e951007cd864259 +814, 0x9921dd15ebef245d +815, 0xa094b493f836ae35 +816, 0xd7fab52dd503383 +817, 0x2b7f2d67820bfedf +818, 0x15a2ab3bb9a269eb +819, 0x92f10dfb889b32af +820, 0x38fd566d1787da48 +821, 0x2b1f206adf06f0f2 +822, 0x998729e56a03596b +823, 0x9caa4041b8b8284e +824, 0xfe10ef8016e923f2 +825, 0x5181ba35c1a28b42 +826, 0xeb61ed1495837bcc +827, 0x3a320559880e1a29 +828, 0xac1edb5359dd9260 +829, 0xd2ce3b57da95c407 +830, 0x4375b7b9f6fbba1d +831, 0x446ec944796ff6bb +832, 0xaec4b78b5e828092 +833, 0x58004da5a0c153e8 +834, 0x5a2a2fad35215a5b +835, 0xeaf28165ff768948 +836, 0xc082d63ddad8c91f +837, 0x283d10a4300609d2 +838, 0xd2b4552391560573 +839, 0x4fdbefb9e342f858 +840, 0xa43906a7198f7ef4 +841, 0xcef94695a5d3cd88 +842, 0x8296bafa49c5cea3 +843, 0x351e0421b7ce8812 +844, 0x81d394848a445647 +845, 0xbfda8ffeba72599d +846, 0x823c00f90918421d +847, 0x2bad7eceb840b4b3 +848, 0xed9ca1321e8475f2 +849, 0x33ca86b7634608f7 +850, 0x3351c775ea252a18 +851, 0x6ad518a58bbb6469 +852, 0x2114c295e612cd6 +853, 0x18ba78ee3c710e1b +854, 0xfef3c2f9abae434a +855, 0x2f2033652e9eeeb5 +856, 0xfa5baabf35fa10fc +857, 0x38f160d51e3019b +858, 0x455cbd400f87e960 +859, 0x942f1352c9b1445c +860, 0xc61f0edd263951da +861, 0xa447110dcc7921fd +862, 0x4c811f5af4e0cbb0 +863, 0xe997fff7a5939781 +864, 0x1224dbad82b23c97 +865, 0x65cdec93d671a0cd +866, 0x22990c95303470c8 +867, 0x40e6e0c576b97f56 +868, 0x53bf25c3c12b43fd +869, 0x1992bafa30093644 +870, 0xc80b6626b1b3084d +871, 0x46e018183031721c +872, 0x10b23bc65323effb +873, 0x176c121f9bd81f23 +874, 0x19047376d9ddd242 +875, 0x47c0b554263ae3d4 +876, 0x7d6c14c2e40bf7ce +877, 0xeb3c30a640d082fe +878, 0x5155bd10f1818c38 +879, 0x24ca5ce343390351 +880, 0xb9d7a5dfc4f89d34 +881, 0x1b8f0b8c3a3bd8b7 +882, 0x708ab95c219a2ffa +883, 0x1cf3befb2776fec4 +884, 0xece471e68eb13a0a +885, 0xcd9e646295c6ad1f +886, 0x63a5a97e805b58c3 +887, 0x6bdd3bc818330ba5 +888, 0x642a2e1992d481d9 +889, 0x60362b11bbb1cc44 +890, 0x5c10e85acb9ad8f5 +891, 0xb8ceba6af37425d6 +892, 0x855bdea1d7415466 +893, 0x108bec5b41275d30 +894, 0xb0fce44c3caed15e +895, 0x6e1d44a82e34b3f4 +896, 0x698ed735e1db5220 +897, 0xe4d427dcfba23857 +898, 0x85ad0edc6ebbccc7 +899, 0x7c9cd7bc58fa5ff6 +900, 0xc2f19c0d76f53615 +901, 0x773385c16db8f379 +902, 0x2bb9120cfa435e1f +903, 0x295961649184169e +904, 0x20de31c807978633 +905, 0xd36701dbda31b982 +906, 0x5551feb741996e9a +907, 0xf8aaad4d0c52434b +908, 0xce6f4b0dcaef6cfd +909, 0xdacbbb33921fd85c +910, 0x587a5cb0cf051eda +911, 0x42124bd99d594fa9 +912, 0x9ad4a203e1ba3c84 +913, 0x775b758d4944c2e5 +914, 0xa7276e35b33e62a2 +915, 0xf5657d537c6271fc +916, 0x69b45cfd145b352d +917, 0x8672a0e552f7dfaa +918, 0xd5c0b8f929f63c84 +919, 0x1062b14c01bf1560 +920, 0x3ae6927a61dc70e6 +921, 0x2ed5f06dc3ceef22 +922, 0xf79f417a63f1dbf2 +923, 0xf6a74c03f7ab1744 +924, 0xf2a8523818bb492a +925, 0x8db8ec62b7262a19 +926, 0x4ac507b9aa8ac0d6 +927, 0xe1db6db360091041 +928, 0x97205197883ee213 +929, 0xc83c6265be4a8612 +930, 0x99e84f3f743ec327 +931, 0x931ab84b78b922f +932, 0x900ebb02329a6201 +933, 0xdb720a24d6d93400 +934, 0xdd0de802d3780399 +935, 0x177fac072d4ff0d3 +936, 0x95f5688bd75ec33d +937, 0xce19d334b40b7c45 +938, 0x780c71636ca880c7 +939, 0xf8188c0626e3ddbb +940, 0x32ef96e74be5a76e +941, 0x8f9adc11e6ee08c7 +942, 0x860a6c1d95bd01f3 +943, 0xb19d517b4a3054d7 +944, 0x196cb745dc3a674b +945, 0xf611c20fecc9b445 +946, 0xdb0f8f14fbb237c4 +947, 0xfafc6fc52d7b483e +948, 0xcffd5779f52badef +949, 0x8a626e983ccfd9e8 +950, 0x8f2ccac91dfaaad0 +951, 0xbda4bdb3cc57689d +952, 0x2a8af26a1d17c1c3 +953, 0x9feab9b49105010f +954, 0xe2a9046372fe5c04 +955, 0xd55195108d63dd4d +956, 0x4702e92922745d80 +957, 0x423c590b3ef222da +958, 0x2b56e611f1272bbe +959, 0x90d65326f9c21b6d +960, 0x56777609cd5360db +961, 0xa35a55eabfc4d9c0 +962, 0xf6134f2e8cf2a92f +963, 0xfe7864a5510c499f +964, 0xb205f42b43d89001 +965, 0x2618c3eb687e9050 +966, 0x1c85ebb7eafb6c1b +967, 0xfe47cb43ba8f5e02 +968, 0xceed09f98fe493b4 +969, 0xe7e51b4e51c5e0bf +970, 0x53343be07ce85327 +971, 0x816a17136951159c +972, 0x92adfb8807d45418 +973, 0xd6eaf3cef3390e14 +974, 0x6d7c2adefcdd411f +975, 0xdcde0a6376ecb43f +976, 0x47d162d5a140ea78 +977, 0xf55fdc7283476df5 +978, 0x2f66d5d029982dfe +979, 0x56a94f1fdf81fb24 +980, 0x46eeed06237aa921 +981, 0xb5f585d18b026038 +982, 0x29e12cba3b5a03a1 +983, 0xb8433a70685341e3 +984, 0x4e86f031c2bf4939 +985, 0x7167c51db1d096e1 +986, 0xa300693a1ce05ff7 +987, 0xddf7f5ef8994b6f6 +988, 0x5c99ebf9a1eff32 +989, 0x441bbc76e92979b5 +990, 0x7724f07eaaf30a94 +991, 0xd9946d64346a0d59 +992, 0x3d49489a6a952877 +993, 0x2b4846d1c8f4bc56 +994, 0x1d5f7891a6caaf50 +995, 0x7f9f458f479c6677 +996, 0x9177526a634cac18 +997, 0x82b316c3ba3cea55 +998, 0x84d769b6ffd7a5d6 +999, 0xa1230c54cf6f4b5e diff --git a/numpy/random/tests/data/threefry-testset-2.csv b/numpy/random/tests/data/threefry-testset-2.csv new file mode 100644 index 000000000..275604557 --- /dev/null +++ b/numpy/random/tests/data/threefry-testset-2.csv @@ -0,0 +1,1001 @@ +seed, 0x0 +0, 0x6dc04d22e096eea4 +1, 0xb8c023f98cd7ada0 +2, 0xa7efe930de644973 +3, 0xe05ea045a0add077 +4, 0x404ab9dfd366d169 +5, 0x4d42fb74611bbd30 +6, 0x9343a758211b6d70 +7, 0x4dab40877197665c +8, 0xaa7b143cf838b109 +9, 0xcad1f00ed5cea835 +10, 0xf7c7d7d6c9a824a8 +11, 0xf20b64a5b42100f3 +12, 0xe155fec329e4ff46 +13, 0xe9db5c878d78e4c5 +14, 0xe96ecf5f3d8434fb +15, 0xa4a5369e8b676159 +16, 0x26f540900462fdc3 +17, 0x805e684c0bf0600d +18, 0x950c55250dcb9322 +19, 0x1df00ab0d9a5f9fb +20, 0x2e75b8e9fb48b88f +21, 0x8982e680b983b07e +22, 0x7c730288ec003204 +23, 0x8d4a42efba070902 +24, 0xcae4317a285d026e +25, 0x587af8ba811a8883 +26, 0x236cb94da85e9409 +27, 0xf4d25c2e0d7b2bd4 +28, 0xd51e53d74420f649 +29, 0x29f9ad48909f580d +30, 0x39e2a46d5962fc7e +31, 0xd40bb4045f9288fc +32, 0x86d6d29c0a126484 +33, 0x198289c6d8589ec8 +34, 0x5c4ffb186e8f69c2 +35, 0xeaa9fe626ca6f961 +36, 0x58816ea059f6b7ef +37, 0x9a636de4086ed493 +38, 0xe5a2b327a52f6500 +39, 0xa6d200345a8c4135 +40, 0x8ad50053fae7c70c +41, 0x1afd6de09771e167 +42, 0x7372d8a4cfe85c9d +43, 0xe2a99f3770165e93 +44, 0x193e99ffd7b45a30 +45, 0x4af13faae1f4ee8f +46, 0xe799ae38aea2a54a +47, 0x19bc5efb105b9b55 +48, 0x428799856ed8d2b5 +49, 0xc7e1c76dfb93b581 +50, 0x1c8000fb2afbe108 +51, 0x5d217734dc6fdcb2 +52, 0x4f9b436f2fa7b5d +53, 0x6c6a8e841f5f7f2b +54, 0xf7af258a895489e7 +55, 0xd4afe725c6deee +56, 0x11959dd7c1a0e56e +57, 0xa82b5a575ba9234d +58, 0x356bb807c17fe67f +59, 0x4113ba7ea9234d28 +60, 0x87c7fef17934c764 +61, 0xed5d2e29701db2ce +62, 0x4b4bf08b62160f5f +63, 0x32057a60eda862a5 +64, 0x446b5409b56a9311 +65, 0x31e84acfaf48c9f7 +66, 0x8951479289443c2c +67, 0xff84ec0fff1b3d23 +68, 0x3db2e8a284e2cee5 +69, 0x2c8aca76f7caab8e +70, 0xfe8ff095676417ee +71, 0xbb7d6ed0c641e84a +72, 0xd862d2552159e272 +73, 0xd320d329cd2b0419 +74, 0x41bd59f68a0fc99a +75, 0x1adb5cf5cc0462d9 +76, 0xaa152c0b16d38826 +77, 0x1358fc52142b5523 +78, 0xdc29465d24a25fc2 +79, 0xda86700b570eaa33 +80, 0x461c6b79f1aea5da +81, 0x4dcbf7406497da6b +82, 0x5f9d552eef82e555 +83, 0x27261b525e6c02df +84, 0x75076fe041440603 +85, 0x7cb47c620018a06 +86, 0xd7b7d17c3d1ee39a +87, 0xbc7eada7c2ebc70 +88, 0xcac816c1d36ebb7e +89, 0xbe1fd6bcb3d795a9 +90, 0xbd822d8f1edd205b +91, 0x5c0ebf018ade95fb +92, 0x9c6ee7cca010ad02 +93, 0xa210e3829a0b1b62 +94, 0xf5b25b53e25dba71 +95, 0xa4a69d9d6e73b9a2 +96, 0x2718cf614f82e185 +97, 0xf5aaf0eefd4f29cc +98, 0x343f41179d6056be +99, 0xc897506f84b7a9bc +100, 0x547ce04e8810e66f +101, 0xf61f6f95782be285 +102, 0x522e0fa1964a631f +103, 0x500fe922b3a102ca +104, 0xd39b38e1ae6f8218 +105, 0xce6079eafb932dc9 +106, 0x2896e00f1fdb8c46 +107, 0xe5719f1535cd23b4 +108, 0xc4d4dc27f6393389 +109, 0x95b3c17025e7ea85 +110, 0xcea3f280dae8ebbe +111, 0x6d91c862fbf2fda2 +112, 0x99c5197b21f1f444 +113, 0x9ddb59c15db5411d +114, 0xd6ed4ec1b494f92e +115, 0x3270a479f7e1fcd7 +116, 0x79e8d185e02ad6e +117, 0xe548786a4c6309fc +118, 0x1dd3bf9d9f3fc9ed +119, 0xe52ba084f8713b48 +120, 0xbd6c473054430deb +121, 0xaedf39aa96279c3e +122, 0xaa3a7bbe2fd381cb +123, 0xa087544796e01cef +124, 0x6596602a719be04c +125, 0x282a96eaaa790ee1 +126, 0x313b3f42aa9ce4 +127, 0x9998a73e798ea881 +128, 0xf51dc8e618571e13 +129, 0x1df638afa23f4d8d +130, 0x26385330319db8d5 +131, 0x1e1912386c519544 +132, 0x46c42a55ab556cdd +133, 0xc049b83a6f04efa2 +134, 0xecd2d18baafa8af3 +135, 0xc1108f82d1765b42 +136, 0x7dcd72d9f729db44 +137, 0xfa73627c9a20cf11 +138, 0x9ac69ccfda0ee7a8 +139, 0xd02f2c2c1776c62c +140, 0x75b4da786706ddeb +141, 0xeebe6ece4a516bdf +142, 0xf274b3ee4fb7ff3d +143, 0xd4b1093bd35d25c8 +144, 0xc341c37b9cfe28c9 +145, 0x32c4fb8e8e6aea6 +146, 0x4adefc5712ca8606 +147, 0x750302d8f108d3f +148, 0x76e6e3259264f240 +149, 0x31c6db85c206dc2d +150, 0xda47cf5e8d07c49 +151, 0xc5939dd565786002 +152, 0xa02e5128b7f04e77 +153, 0xea2e5fa9ffdad0fe +154, 0x7b1f9bcb5578cc5e +155, 0x3fe776dc8398e6a3 +156, 0x31b97c4a0973fc4d +157, 0x29a985a2bb602d89 +158, 0xe6a76cfb1a5c0faf +159, 0x4f9f62edb1e6d19a +160, 0xa589097a26f2b615 +161, 0x6bca21ae81e149ad +162, 0xa6570f8fdbf98af4 +163, 0xa740f226d53bc40f +164, 0xf0a4fe08ab331d24 +165, 0xdc1eaaff2c67c65d +166, 0xf227a9a3e89a7271 +167, 0x1f539a105ac9a7dc +168, 0xdf2fc18d2f4004ba +169, 0xc36711f5ef877b67 +170, 0x29e30f4b30ad39a9 +171, 0x3af92a16534fad9e +172, 0xf66e30d65df7faf1 +173, 0x2594f6d925228c49 +174, 0x8b8b3d9f20fa8a67 +175, 0x88e8d38366cb411b +176, 0xe881af89393b5a8d +177, 0x2f190890e152d243 +178, 0xbca3c2b43bd2e2ce +179, 0xaecb17f2dceb2ed1 +180, 0xa07f556a40d4dab4 +181, 0x59c729c94cb2b4c1 +182, 0x5364cee304495a05 +183, 0xa628681d16e0c604 +184, 0x40e2f3e0d9124851 +185, 0xb3da737ef7918179 +186, 0xb946e59c4905271d +187, 0xc079b7dd74752ccd +188, 0xfce4f9ef02e73130 +189, 0x86baa280d2d9aff6 +190, 0x778ae7465aca2696 +191, 0xcb1f60b74f32078b +192, 0x71bf826587c2c1f3 +193, 0x7ad5d51794ccc972 +194, 0x4b6ae15708464071 +195, 0x86c6829137a4110 +196, 0xc002aa2f64a5283b +197, 0xcef3ae65b916b6bb +198, 0x1e691414155bd2ad +199, 0x9fc613bcc3a961a0 +200, 0xf55caa38c2b7866f +201, 0x3aa6008a705ea431 +202, 0xc1587b4c3d3e6146 +203, 0x56e5eb96d0556293 +204, 0x796730a5bde01777 +205, 0xf4b5de3097e501a3 +206, 0xb5a2d840b9e7737 +207, 0x9059674f6dc9db07 +208, 0xddaa8f7b09773c74 +209, 0xce2e4850507c2b27 +210, 0x2d1dc2977de11249 +211, 0x335e7ef86408ea2d +212, 0xde7bc6f22af7ad0e +213, 0x4a36bd6edb976e6d +214, 0x8eaef966a64aeb94 +215, 0x7689476d2572797a +216, 0x4635219f62159d76 +217, 0xfe9958903e4d4ae6 +218, 0x288d7f77642371c4 +219, 0x2f17b9477da7c2e4 +220, 0x4a987e3814cbcb5 +221, 0xcc2ddf12905e9c9f +222, 0xf5cba7330c86853 +223, 0xc646ecb698e336ce +224, 0xc05d862c10b83e50 +225, 0xa673040049fdc79d +226, 0x52871df3f523fb29 +227, 0xeae829e337d8a5cc +228, 0xb17d70979ea53cd4 +229, 0x253a9e29eef246dc +230, 0xdc09f4831946ef53 +231, 0x15a4034a8917e29 +232, 0x57246ff6c9594b8 +233, 0xd80620e906fd1cf4 +234, 0x861bec5cd30c08ad +235, 0xc58f38b68714ccf0 +236, 0xd21c19157efdd920 +237, 0x51e1b8f40b8045a5 +238, 0xfd56fa4ceebbd2e3 +239, 0xcee1959a7f9d12be +240, 0x75f22e1dfb5ade8c +241, 0x3b87a61bcd763482 +242, 0x4018fbdbadcc95e7 +243, 0x3ff57380e846b8ab +244, 0x7e44c8a4005515ed +245, 0x824c847c6767640e +246, 0x2b34ef279cdcf5d1 +247, 0xfd0bfc2786afed92 +248, 0x7faeff889a39834a +249, 0x37a6cbda4f00e6c7 +250, 0x4214fd32c40b0894 +251, 0x4320e334bfd18ed6 +252, 0x74b1f0c2812db646 +253, 0xf48232c0988ea643 +254, 0x5841c46c56967a29 +255, 0xb08204c4c9e83fca +256, 0x2a0bbd0b42a4a708 +257, 0xfe76573ec821c87f +258, 0xbd2e46ac0feeb0d9 +259, 0x3552a2cfc1bdca32 +260, 0xfbdc96046c1020a5 +261, 0xd5d79356b52560d4 +262, 0xaffee5796b293a6b +263, 0x5ef4dd67d2cc9042 +264, 0x7204094f6053ba36 +265, 0x1a89384fd317d01a +266, 0x68129e5eaa1d4a28 +267, 0xcd2a9c8b6938cb65 +268, 0x434bb1bd9872647a +269, 0xeaa17b0b5fa27832 +270, 0x442e1c5fa8113c44 +271, 0x38bcc81ea8386d97 +272, 0xa653c2f1f13a54f8 +273, 0x82d74e165850f5a6 +274, 0xf4b9d5dce18bd047 +275, 0x2666dba219ea409e +276, 0x8ada69aa37a215b1 +277, 0x2cdaa0dc42ba5b64 +278, 0xfa7b44675ef531ad +279, 0xd87d4bc750795b22 +280, 0x562fa1b77f3c52b0 +281, 0xaec092b6afa4b7f2 +282, 0xc2dcf8735598f14f +283, 0xc65a4e439f790832 +284, 0x73fca9d888e184f0 +285, 0xaf38a6918896df93 +286, 0xeddbfe61d62902db +287, 0x2e8e831abd28891b +288, 0xdfea332c8ba5e7c7 +289, 0xb980b3ea4806e11 +290, 0x37f771e71cd26079 +291, 0x65b880af5cf288c3 +292, 0x69bef58494777df0 +293, 0x207706d3b013c1c6 +294, 0xe9b4014efb64e6e7 +295, 0xece0298dfad7da0b +296, 0xcfed2f0d392af845 +297, 0xfbb1407059436788 +298, 0x74e9d65370ea5662 +299, 0x6e8bce550b2c36a2 +300, 0xf38d767f77abe8de +301, 0xc6befbfbf4c57ddb +302, 0x9fffced31abe51b8 +303, 0x761beb850b4659e7 +304, 0x5af78afae250836b +305, 0xbe64a1bb37c08d0 +306, 0x5dd328d85327ba3d +307, 0xa43238b39aae76ec +308, 0x1f58743f079a14a +309, 0x8f2b1a8cbe77f565 +310, 0x47526c74521adf72 +311, 0x542062d916e30f3d +312, 0x2f3f86a12c7561eb +313, 0x725a6f82106fd202 +314, 0x5939d692a6203676 +315, 0xcd607e13aeae5717 +316, 0x12a76dd01d4e46d +317, 0xddc96ae023be007e +318, 0x71341b774bace597 +319, 0xf69db6a379f38d34 +320, 0x87cd1ea3a6629c70 +321, 0xadc8798060e39c27 +322, 0x532982fe9d77655b +323, 0x1c49d24a1bb2fb83 +324, 0xdcba3b57f87cf725 +325, 0x62b96a90dcaa0a3 +326, 0x89d704a4512cefe0 +327, 0x41685667b144aec0 +328, 0x49395424e7982bce +329, 0xb493878ae98f87f +330, 0x2b2a23e3696a5588 +331, 0x2bbb82d12da62157 +332, 0x98092e701b17da7 +333, 0xb55d717ca8a4d039 +334, 0xf4547583b84a03a6 +335, 0x9609c10b7e68759a +336, 0x2a60eea68cdb7812 +337, 0x15146ffa8acbe5ed +338, 0x521e3b2ca6e16844 +339, 0x27528ffae94c01c2 +340, 0xc5df652e08db6be8 +341, 0xba1275ce0594c2f4 +342, 0x9c66fc6882ac8cf1 +343, 0xfcc5c3e413a7dad6 +344, 0x8309532dc68a36c1 +345, 0x7f9351a45e66c50b +346, 0xa70e6b123bdbad47 +347, 0xad49d29da3a694b0 +348, 0xf198452973eefdaf +349, 0x53b7951ab7b24800 +350, 0xb226c827c5cf8233 +351, 0xea184af7dc0cece3 +352, 0x77d5dc22579d919a +353, 0x583ec0e8d8295fa3 +354, 0xac35b75b4dd17e0d +355, 0x7d273f1ef4ec8df2 +356, 0x85665ea56b49b5e3 +357, 0x7cc0ee21b59ec57a +358, 0xae595b1cf72dc292 +359, 0x4eaf57e8e6880fb5 +360, 0xe51931811683e382 +361, 0xdb29479871fc8dc9 +362, 0x9b2f9c40c6506d91 +363, 0x35ee0dbbf239bb06 +364, 0x40aa630242bc7e2d +365, 0xf3a3d9b2f5839a26 +366, 0x17e920c38a2e329 +367, 0xae28a796412706f9 +368, 0x3327dbcbf0cee5e +369, 0xdbca13ee810f8546 +370, 0x390f9a7560cd1a23 +371, 0x444085fe4b30b123 +372, 0x4a1dea59c8ffa505 +373, 0xc12708a6534b7424 +374, 0xc331d65b7dd17bdc +375, 0x4d1a64113fb84526 +376, 0x7af40a24916e7ba9 +377, 0xefc466d746e83001 +378, 0x631fb61962533374 +379, 0x355629ff71ec6c69 +380, 0x89e5c7e5a2b6b82b +381, 0x307fc816d73c725e +382, 0x3c7c2fad16ee2808 +383, 0x3db362fd0d93dc47 +384, 0x7c7d9b1ecc6bbc7e +385, 0xcdab8413e0b594bd +386, 0x3e45d66baf972abd +387, 0xbd8bdc23f1926e70 +388, 0xfbc61c9f0b6c1a71 +389, 0x68b9e52b65d64f9c +390, 0x5b371b49f49af63 +391, 0xdab60623156c1ebc +392, 0x14ed99c617db324b +393, 0x5c7f7b5f6db77c0e +394, 0xeae562127e55128 +395, 0xf5ff71155fca2c5c +396, 0x8271b2d1ad93bd4c +397, 0x1ca96341dd5b034 +398, 0x49265a39bf18e8d6 +399, 0x5bbe70cdacf51f1 +400, 0xbf198a70b59ff062 +401, 0x41058370f356a21 +402, 0x47e8c7127044ea +403, 0x3a031703f1e98d83 +404, 0x63db42df128a9d7b +405, 0x67360bba6d058db6 +406, 0x2cb06097a2bdcc21 +407, 0x9e69d402ec5ce471 +408, 0xef55f0fa21cde5b0 +409, 0x2ce15bd742eb7acc +410, 0x2f29a82fc4076787 +411, 0x312992a6d3fb93ec +412, 0xd9abccb15b2535bb +413, 0xdfcc55a43bad4c90 +414, 0x51ca5637dd4ea18e +415, 0x9be4b1911b1ae9f7 +416, 0xb835b284b26d4057 +417, 0xca26765b4414729f +418, 0x211fd5e340cd6f9a +419, 0x64984a44077081d2 +420, 0x859ea6fc92cbf37d +421, 0x99f190ca3756084b +422, 0x38549b8f8b5a7201 +423, 0xc3940c2807d34ed8 +424, 0xbcbcf498fa77d02e +425, 0x2c24b6360e1033d2 +426, 0x9602edbde8d9a850 +427, 0xbf4ce69ab0e00203 +428, 0xd479d334b0c716f3 +429, 0xeebd6ba9a827a3e1 +430, 0xea0b5cec6b42e089 +431, 0xded6e289584813bc +432, 0x9894568e6a3f4ab8 +433, 0x73ee7a9acd6f667 +434, 0x4c849a0da094f2f5 +435, 0x4fe6f5fe0f90f786 +436, 0x9887c17ea5f92327 +437, 0x318df65aa9a53d5 +438, 0x70a7bc8178292fd1 +439, 0x612a38a535b8e3d2 +440, 0x15a79aa16d0228e1 +441, 0xd3288c336eb0b33a +442, 0xf84e2fd1e4db070c +443, 0xa2efb0e34d0114d5 +444, 0xc528e890e7fa6409 +445, 0x4b837fde84319af1 +446, 0x632edec918b02d23 +447, 0xce980f566494c149 +448, 0xe54e204d31452188 +449, 0x9ca51e2e7fe3a3b0 +450, 0xb0a7183126df963c +451, 0x2de5fd96c125669a +452, 0x17ab43849b96549e +453, 0x49850d9bb767cfd8 +454, 0x632d44d7add93bf0 +455, 0x3fba66506af7b132 +456, 0xc06c6bdeaec6d733 +457, 0x3e7795ace33e8cd1 +458, 0x8f522c2f76ae3bd7 +459, 0xec883650a2d2b2d1 +460, 0xccb11ad5bff431bf +461, 0x936d66262607c537 +462, 0x3102298a92f643fc +463, 0x76078e8357fd5e15 +464, 0xf22a64a885d7e7ac +465, 0xe111261b30caa160 +466, 0xed2c2d728a8ced12 +467, 0x64e659163f8d1d71 +468, 0x8c7c5f696f55dbe7 +469, 0xf0bdb7e3168a82d4 +470, 0x1eea602c6df9464f +471, 0xa10d1d8502d43304 +472, 0x824245afbf95950c +473, 0x7b4a64e619e29d10 +474, 0x73d4d21a8f412218 +475, 0x3ee5be3d8af0bc17 +476, 0x78979eebb7bb7b9c +477, 0xe2acf9a6f17cb00d +478, 0x77d8f02baea98694 +479, 0xba80648f6872987a +480, 0x1cc1fa8be28d090c +481, 0x9df7f91ded8fb4d9 +482, 0xd5bc13c3dad13991 +483, 0xa57c268e5153f06d +484, 0x662f2e1fdc97ca36 +485, 0x1242a97a1148c369 +486, 0xa85178a88b821450 +487, 0x32fa270cddccdc1 +488, 0xd52af3c8d3d9ccbf +489, 0x105d4ee4420a2035 +490, 0x8ccec92b29bb6f3a +491, 0x7330a89b0ec713b8 +492, 0x712f7f946a661b8c +493, 0xdd11f248be047eab +494, 0x15aab9e558d04865 +495, 0x791b42bd188d3042 +496, 0x571a03a98b08d2c2 +497, 0xe8362e466304c2e0 +498, 0x690bcf82d6f7e815 +499, 0xf387d12b216e039e +500, 0xa1a0e6721cadf720 +501, 0xc238cd658c3c48b6 +502, 0x303d33d956cd19b7 +503, 0xb91002fb2c06523c +504, 0x3fd6c979ecc9e53a +505, 0xe709a011bbd9684c +506, 0x9f9730e4466b178a +507, 0x5d6a951a17dea6de +508, 0x8ad48c770be7ff5c +509, 0x840349738f1840ef +510, 0x62b71fa4d4713278 +511, 0xb54bc131be88e301 +512, 0xcd360f29092f1b48 +513, 0x51e2d80a7974e018 +514, 0x4716923492cb7c11 +515, 0xc5a3426512ccf92e +516, 0xa29da51d76692ec2 +517, 0x7760e22a2a966fa6 +518, 0x17027bb9ebea4f10 +519, 0x1cbfeb90083c7472 +520, 0x21df956d73e46 +521, 0x3d3f98cec3a0f9c5 +522, 0xcbb44f6843e8f84b +523, 0x5387cf5c8dc08f09 +524, 0x9874b020a7cd16eb +525, 0xb26656f3d0e54b45 +526, 0xf7535314e62cc2b1 +527, 0x9d98c18c8b832a78 +528, 0x4782e4a90afa6bb0 +529, 0x98a5b50793977e75 +530, 0x699bfd767f3c1fb6 +531, 0x2b0c137df6bff06d +532, 0x1dcf680df83ac493 +533, 0x41433da3b84a308e +534, 0xaa5b2dab82fd7a7c +535, 0xd35f4a2331f962c +536, 0xfed4b74303c0ee4d +537, 0xf9a9dcb35118765a +538, 0x4d09906765751e55 +539, 0x96f997988dbaa2ba +540, 0x761968dfdcee7a25 +541, 0x942f82665a09c18e +542, 0xa630ee4197ab0e0b +543, 0x68bfe324bbe3b7b1 +544, 0x8613dd09e8566784 +545, 0x3738178b0a67bae9 +546, 0x78678e656aa91115 +547, 0x6d182cdb34ba7a53 +548, 0x46749ef4e5670d88 +549, 0x2cddc1808c4018e +550, 0x22b2aae091c52f90 +551, 0xa4709bcfefd0d6fd +552, 0xade8916af4dd85f +553, 0x763c7e7df0416c26 +554, 0x78b365ba6d6416e5 +555, 0xadba0adf9c5b5e3a +556, 0x5a146cb126d32c3d +557, 0xa5f2f65ef03145c4 +558, 0x2708930e062a88a5 +559, 0xfc94da4d17e4d4fa +560, 0x78b500b283574f39 +561, 0xdb657f35be884f22 +562, 0x1de17d2450338525 +563, 0xc602ad9d8fe83980 +564, 0xc731d0497705a493 +565, 0xc3e443ea6c794843 +566, 0xb946fc377698953d +567, 0x98ad8f7f193cee5c +568, 0xa8da8ecd4301cb4f +569, 0x99ff5cc72e206b24 +570, 0x2422ef61bb3c9be4 +571, 0xea62c83986a29b61 +572, 0xcbcfb5a9953d1a6a +573, 0x229f258aac962310 +574, 0x8730e2f36b1fbf6b +575, 0xc3d6ddbe26ead961 +576, 0x814fc47c7edcbae0 +577, 0x23af1859cb36c99d +578, 0xeadfaf827ee1de0c +579, 0x15ac2339684c36d2 +580, 0x54c617fd9b17d56f +581, 0x8b88689c24920b0d +582, 0x5294092543a1f59b +583, 0xbcf7fadb518fad77 +584, 0x8e784c0359e6349d +585, 0xa45831bb0c97d3d7 +586, 0x1d0b8d79ab84847e +587, 0xd7f23d7e384fb139 +588, 0x8fc7ee55f1d37f0d +589, 0xc44dc853b1913765 +590, 0x20d40baab760366a +591, 0x6067cee1fc99a47b +592, 0x7927a7b24ecb93bc +593, 0x26819db47e3cd94 +594, 0x236853cd14a54aec +595, 0x36e7a2f60284be9b +596, 0xb11accb3a708d6e0 +597, 0x98c7651be6436342 +598, 0xaf27f94af527010 +599, 0x4ad2ef538542349c +600, 0x63becd7dc3d6fc6a +601, 0x8dfd8f874d18f093 +602, 0x2401cad63eaeaff3 +603, 0x7be4a82015531b1e +604, 0xfca36bc859cff476 +605, 0xbd3f9383a20e1fac +606, 0xee9e7e4bf1c444f6 +607, 0x4ad8b91ea66cd1fe +608, 0x85ffa6d1cafcc553 +609, 0x665f66043e6bf320 +610, 0x4d409c2d9cb23e6a +611, 0x1815b94fcb2e85bd +612, 0xbbb8439e003579a2 +613, 0x16dbe31fced48255 +614, 0xf4f7079142a17040 +615, 0x96df1c5c35e5c231 +616, 0x41fc7faaa1bd8cd4 +617, 0x6a51ef3658d4bd38 +618, 0x31e64c6ff2d1598e +619, 0x20f2f339395fec58 +620, 0xf329aaa477f87f9f +621, 0xfe461c3073c63ad4 +622, 0xa60ce6531c0ab64a +623, 0x527eff919a0305ac +624, 0x7708978a5d010a53 +625, 0x2ab687dab81f0ca +626, 0xa7af71e850497d34 +627, 0x8edba42a07e35155 +628, 0x45b4f3ae5e07472e +629, 0x29e3636e047b7c5e +630, 0x6ddd57807c1830a3 +631, 0x800e6743648c9cb5 +632, 0x921389557585d720 +633, 0xf2fa96f5bbdcafbd +634, 0x4f1634ad80d0bdcf +635, 0x7125668667218b0d +636, 0x23373d9919906087 +637, 0xa27ea3fbff83bd41 +638, 0x871cbab37176d63c +639, 0xe6939db32970f816 +640, 0xf3484c2ce0dd0481 +641, 0x76e8298b27b9d68e +642, 0xf966f9fb426c1950 +643, 0x4066c4f62c307e4d +644, 0x187ddce6f94afb2 +645, 0x656f00e6a70fbfef +646, 0x2ef17886ec419448 +647, 0xbd748ea59342e5d2 +648, 0x1f204c5d3c9428a1 +649, 0xc08854fa8992794c +650, 0x17d0f325121fc218 +651, 0x34c63c258a663b88 +652, 0x60f94e4cf248344c +653, 0xf9ffcbcdce936a7a +654, 0x93ac50ca4456c69d +655, 0xb9039b4d7dd82c9a +656, 0x117e3c6d6891e836 +657, 0xff6289aedb2ab5f0 +658, 0xd5f695f19d6786f6 +659, 0x8bab970181c86e97 +660, 0xee6be4ee832333fa +661, 0x648ea0623082ae36 +662, 0x972b001b4b4d4431 +663, 0x92fb47b9ff9b1ee4 +664, 0x792ed2bd14f8896a +665, 0xc98e2723d55b08d7 +666, 0x2a4f0b7da6210c89 +667, 0x19a1fb785fec7a64 +668, 0x937a44924b337455 +669, 0x26802ce94caeaefa +670, 0x604539849b56a532 +671, 0xccf6eeb0a664d39a +672, 0x545584db524a2307 +673, 0x8ce4edbc37515d8e +674, 0x1d548ba9281312b5 +675, 0xd0c51f891244ed57 +676, 0x3b464ba79600dd6c +677, 0xc28ae0f8c4db373 +678, 0x938e49fcbbe8941 +679, 0xf084e4c8d9799dcd +680, 0x61ca52d24bdd1083 +681, 0x536d617222724841 +682, 0x506cd8085d16a6bb +683, 0x422158a96747781d +684, 0xbd13ded440c16bb6 +685, 0x97913b1b8c2077ca +686, 0x5ab588aab438e8b4 +687, 0xf4c6831523402b4f +688, 0x91e962c39ccbbac6 +689, 0x861c95ffeeb7b7ad +690, 0x6b318a9abb0eb7a2 +691, 0xac4164b45978ce20 +692, 0x71d64942f1d72b40 +693, 0x1675fe85018ea357 +694, 0xe19ef9073183417f +695, 0x3e057316b3a37a7c +696, 0xaccd00b688c8fb36 +697, 0x8c2d1b84d24b89d5 +698, 0x4cc97086400b2631 +699, 0x38c2cb4daafa93b5 +700, 0xd44e889f968a38af +701, 0x53cf738410523792 +702, 0x487b1b84bd6f0ee3 +703, 0x1824ae549bfadd6b +704, 0x7b6654bfe0f085d2 +705, 0xa289e4fa5b2f971b +706, 0x24c971b485491f26 +707, 0x8827b700bb7136a +708, 0xe2871794cd6f7a2b +709, 0xa21bfa8e0e237703 +710, 0x8447f083c77d1be +711, 0x1b1d926efb334728 +712, 0x8dd2d4fed543c38d +713, 0xe69ba3c162cd489f +714, 0x3f9659c66b35acc3 +715, 0x45ac347675850ebe +716, 0x8e572a9ea7ec6b12 +717, 0xd3a11284b37761b9 +718, 0x8e276c1c9616b7ee +719, 0x7a03569e90501954 +720, 0x4ddd0afb9d3f2605 +721, 0x9342896d66482c8c +722, 0x9edca50722c69db6 +723, 0x3dff88b2257e3ae0 +724, 0xad92c2d56ccd8d11 +725, 0x81e6dc441c0b6df4 +726, 0x1a8a0d10f7326b8d +727, 0x8382991eb90958b +728, 0x9570d9b1a0527ba7 +729, 0xa1820138d6f96490 +730, 0x1c8c678ebb2aeb4c +731, 0xd782fddd578fc4ec +732, 0xc78d60cf41e509fa +733, 0x82dfbe4d435f747e +734, 0xd9a410610e4b3dca +735, 0x2d687c7a90220751 +736, 0x6838c5d233cff81c +737, 0xe2e64ef24f7b004b +738, 0x65c11d97293f0da1 +739, 0x53e2016d79145a35 +740, 0x3ebd6882b1de3c7c +741, 0xb1b47458c2b31ac5 +742, 0x4321907da2d2df2e +743, 0x57f211e1521e0eb9 +744, 0x25798e7fa3227f0 +745, 0x9e696273f7255ec6 +746, 0x784755cb23c3190 +747, 0xd4e82b43d8eb119a +748, 0x894047215bf58241 +749, 0x71545bb714d43bba +750, 0x3eb48187007c99a2 +751, 0xd3a03fe5a57dde89 +752, 0xe336d1bfc90141f +753, 0x13e5b11c8ab27b7f +754, 0x476e5d1c3f5ddb41 +755, 0x7e0987fb7ea434ca +756, 0xa7af6d90f6868d59 +757, 0x16be8514db2ba69b +758, 0x9358b7eb6b64161d +759, 0xc6e6e49346403b75 +760, 0xb8738eaf21cb369c +761, 0x65a2a7d3ad804624 +762, 0xf49f135e789969d4 +763, 0xf20a963cbeeaae3a +764, 0xd17e058559753d56 +765, 0x8e8bf41d9c4916ec +766, 0xe48ef68e5aa23dd3 +767, 0xe2f0001eda60c8bc +768, 0x5b99e00b24f1aa8f +769, 0x4ad710b2a99b14c8 +770, 0xd3aa3920af73ddd7 +771, 0x3d76e216667d1382 +772, 0xa8c330ec75317940 +773, 0x12534fc207bb29a9 +774, 0xd15c55c83b4a35e6 +775, 0x535e26026622714d +776, 0xb56782cf34123bc1 +777, 0xbd925db7098d6155 +778, 0x682df0f1e54e2d9d +779, 0xb330167f33195b63 +780, 0xe9658f089aea3987 +781, 0x2b095fe8bc8fb610 +782, 0x204269c3aa0af463 +783, 0xd1c858c4a6b68013 +784, 0xe2f281cf9ef91e34 +785, 0xc29a55f11e4479c6 +786, 0x12a8e1df7d6166 +787, 0xfa0b4dd7d67c578 +788, 0x6db2b74e2e42db1 +789, 0x478694b16b033d71 +790, 0x47a79614736e8c3f +791, 0x247e0e4d132cf874 +792, 0x22845b7634d0e71f +793, 0x9942faa26a68bb81 +794, 0x381aeeee89549313 +795, 0x2052200f6ff0d6ba +796, 0x5c9f92b675b2f641 +797, 0xe6b34f7a1e196039 +798, 0xe1b77d497bef7516 +799, 0xc59d1b80b7b3b30b +800, 0x819f5098375913b2 +801, 0xca0f73cffdaa9370 +802, 0x2f5bf935c691c5f4 +803, 0xecbd8bb256d09c58 +804, 0x43406aa69a99ecf4 +805, 0xf05f8b2ee179651d +806, 0xb7c70142a0228f54 +807, 0xfc2db144bec4b245 +808, 0x2abce886e1a45ebc +809, 0xaf58b72a59bca78e +810, 0xa52b038f4d4541bf +811, 0xc0d14bf583b241aa +812, 0xc8a1abd7115cf8a7 +813, 0xe02e5a30a769d474 +814, 0x56acfdbd29796da9 +815, 0xe7387234b8b03889 +816, 0xf1227dd110b8f9c1 +817, 0x8b124ad0cb62d460 +818, 0x97b7c747f3b13887 +819, 0x216f43a8fc2314bf +820, 0xaec316edaf92f3 +821, 0x10186bef157d36fe +822, 0xf37a7ddce615aca1 +823, 0x9b5b913d16158f6c +824, 0x59be9a31bf90f02a +825, 0x24170e196a66a0a0 +826, 0x589a9527086fc354 +827, 0xc5990d0f438d434a +828, 0x90eee29b52e7a094 +829, 0xb703a0dc266849dd +830, 0x6d0bff0ad3ad2faa +831, 0x91f7fc0cd9e78804 +832, 0xe86041baf693528d +833, 0x1efabed627bb50a6 +834, 0xb59397e5f2895f58 +835, 0xd07f3b88397416dd +836, 0x340f1719b497c11e +837, 0x284e6cb714f9b6 +838, 0x185fc6ffc0b68229 +839, 0xfa2deec9e6c26b24 +840, 0x62c6578b4b262188 +841, 0xad4109b1cc118f48 +842, 0xa395d493b26d6f0e +843, 0x325b4fe3d0dd4338 +844, 0xf91410de49c18d30 +845, 0xf07bf8b60923ce02 +846, 0x1423fe617d564876 +847, 0xc077f782126eb9cf +848, 0x2fcb2f20910e89ae +849, 0xc2bd451afd2e6816 +850, 0x77fb4184cb7d54b7 +851, 0x3f179aed62349343 +852, 0xd9186ae032d49425 +853, 0xb5eb57360137bdf8 +854, 0x3e4be92a340c6331 +855, 0x8429236eb3127098 +856, 0xdef72542e2b2b80 +857, 0x63a489df51948c4 +858, 0x8a7e00c797fde2b4 +859, 0xaf0ecdb100a40c24 +860, 0x5861013d27e2e75b +861, 0x755b9daf64e225f3 +862, 0x3d2df8752fc1f0a5 +863, 0x603430c7044c9cc1 +864, 0x861421e1eacce08f +865, 0x617e02ea4d46a34c +866, 0xb5a65006a14421c6 +867, 0xb0f80b679b414c72 +868, 0x9906164388248865 +869, 0xc9c844ffa4051128 +870, 0xca9d7bf3530f5c33 +871, 0xab16e556b494c5ee +872, 0x7221a1b8ef1aa54d +873, 0xc271845c7d1a4e37 +874, 0x6a76797104475a2 +875, 0x908e423fb8735430 +876, 0xb5bb58134b1677c +877, 0x9ffdd2ae9c3118c6 +878, 0x7e180fcd6840b8cc +879, 0xf94537df07d2fdc4 +880, 0x5cc348554d45bb14 +881, 0x3d4daf3c2b6664b9 +882, 0xfd04db3f786791ad +883, 0xc493d37c83bb96d2 +884, 0xbc9faef5435f86f1 +885, 0xbc65cb3d3f6e9d9e +886, 0x9cbf2ffa56e6ecd1 +887, 0x9250836b7c20ad40 +888, 0x4f5c0071a0db9a4f +889, 0xdc3f0522b1445aef +890, 0x7506e5599b850a1f +891, 0x81ed2abe0e2de08d +892, 0x240490146352067a +893, 0x3c77af13f5eea2cb +894, 0xa7f4cdb8ff827eb4 +895, 0x1417242e31ad2476 +896, 0x76016b03999f9478 +897, 0xf94521fac0306668 +898, 0x8269175893be1d41 +899, 0xfc753632a234f285 +900, 0xf612755268cace8d +901, 0xa14828c9024be019 +902, 0xfa70c71b9d1eaf55 +903, 0xdf1b71a62e31de5d +904, 0x5501951e0e1edc8a +905, 0x2f8f803b8df69cde +906, 0x574f363439f7da1 +907, 0xfb10c35585727813 +908, 0x749b3c2837397d13 +909, 0xf3cdd1febe8cfdc7 +910, 0xe394963ee5056211 +911, 0x577d7d7b18de73af +912, 0x47ab5d83b0c59c10 +913, 0x9dc8a3fadd1e6f9 +914, 0x83fe8257e75854d6 +915, 0x2e43cb3aa0046160 +916, 0x1dc475fcab4ac1dc +917, 0xf0bc49e0566ce0ec +918, 0xb603cdcf1f30fa6d +919, 0x526760cc6bb6babe +920, 0x7c1da274cfc404cc +921, 0x1e7f5020e4872eb0 +922, 0x5810d9ce7b4eb5d8 +923, 0x5ddd35b6fdc8ccf1 +924, 0x3384120a60586e91 +925, 0xbea2bd919e0f3ce9 +926, 0x5a5e242545609467 +927, 0x4bde47bcf26eb4f6 +928, 0xb0a735deefec6c20 +929, 0x68a22c177454e398 +930, 0x8c9bdb2d15db7858 +931, 0xcf3748c5ce8663d9 +932, 0x4815c2a33d2e0b89 +933, 0x8ccabff1a06d51a8 +934, 0x9a5ac9d5cd9bde72 +935, 0x1dc5a9d71a51705e +936, 0xbcdb2971a66f27a8 +937, 0x31b0cd0bd56e4640 +938, 0xf7efe6b1f1f5dabf +939, 0xc5c99d9b4fb22013 +940, 0x1ba119bae4d4fba4 +941, 0xf65a6d9da77cc4bd +942, 0x25cd9545d90e715b +943, 0xb7477672a3531ea3 +944, 0xcf247ec31abeebc4 +945, 0x7e057e2450496fbd +946, 0x38ef5e25d359c979 +947, 0x4c19225c27c2eace +948, 0x2f0a528453e09547 +949, 0x59c8f78eba33f6bb +950, 0xfc8e46c35ef2fd53 +951, 0xad32d2fb43958df0 +952, 0xa4925809889d9dec +953, 0x91511a8ded719be9 +954, 0x8bafdd3b61b109d +955, 0xedc9854399b02ea8 +956, 0xa50a9ba9d3f10ac3 +957, 0xbd94acf2d2a1833b +958, 0xcdefa8e500cb91d6 +959, 0x95d64c722dd9ce9c +960, 0x2593274b7561d701 +961, 0x9d5854a252f7d4ee +962, 0xd799bae55a43bac4 +963, 0xd56a4f738e03f65 +964, 0x9c100f2599fe70cf +965, 0x1fb9b7564fd6984a +966, 0x16ca3ffcfbc77ab5 +967, 0x3a98bb3993bfe243 +968, 0x7fc4a69a94fc389e +969, 0xf4adfc0494731b85 +970, 0xd691ed499cd189f2 +971, 0x7207391cf3664115 +972, 0xae2186bf1bb2773 +973, 0x5f10cea41eee2bd0 +974, 0x35f3303dba442fce +975, 0x41f7580460af8f7d +976, 0x6f92dcae967f8045 +977, 0xf8a23d127dfb64da +978, 0xca2955a095bfa56d +979, 0xf5f9a75318e0b668 +980, 0x94eabcf4d9fffbc1 +981, 0xfb5f2b3c85a44eb +982, 0x1edb77bc0d4ceef1 +983, 0x98bbacdb3bbbfc39 +984, 0xeeb6d6bc48b6156e +985, 0xc9c56b8f2fa29b0e +986, 0x22f31ccb223886d0 +987, 0xbb7f3e16bc706aaa +988, 0xe38c1e50cd965c52 +989, 0xb15aa0b68271c538 +990, 0x1c0dba1cfa587e61 +991, 0x70f267cd2d88e846 +992, 0xa439b7443ffebc10 +993, 0xd586c99b86177873 +994, 0xb05ff9807bdcb212 +995, 0xd7c08bd208fc8e05 +996, 0xd11063113d01ac5 +997, 0xd4c9beffc525f0b8 +998, 0x3d7303181643bc80 +999, 0xd75ef9b19286142 diff --git a/numpy/random/tests/data/xoshiro256-testset-1.csv b/numpy/random/tests/data/xoshiro256-testset-1.csv new file mode 100644 index 000000000..534799b04 --- /dev/null +++ b/numpy/random/tests/data/xoshiro256-testset-1.csv @@ -0,0 +1,1001 @@ +seed, 0xdeadbeaf +0, 0x876912846bc23b4b +1, 0xc392a0d7b1e2ce1d +2, 0x3a77bd8137033383 +3, 0x3f9bb87b973f5364 +4, 0x512bacc4fc06efaa +5, 0xd46c8d8fcbdcf201 +6, 0x377867a5134b9398 +7, 0xaaad55c3f16b804f +8, 0x8d0073c1156e04b3 +9, 0x636fbcd73be174a3 +10, 0x5e1b4e1dee91170e +11, 0x730f46db723ad8c7 +12, 0x10b330f0fad1bf5c +13, 0x88cc7f11032dbf1 +14, 0x988c1508b1baf298 +15, 0xe95976be578a5817 +16, 0x858fe732639b48ec +17, 0x5b64491ba03516e1 +18, 0x3546e28c5de1358a +19, 0x384c66cde49bd1a6 +20, 0xdbc3ca974f85cf87 +21, 0xf540c65c435d9ae0 +22, 0xe037047fd8120ac6 +23, 0x9970c031b58d7d63 +24, 0x5dae4898619ad11e +25, 0xdf3232cc92ccc65e +26, 0xa16beb0132ddff72 +27, 0x34d1995264d4c508 +28, 0x62da0bb6460ac302 +29, 0x40d2691b6746a05 +30, 0x7fb2ff58185cd1c0 +31, 0xc6e06bc2fe11d4b4 +32, 0x7116e104e2f75ff0 +33, 0xb1595e1cedf7141e +34, 0x29ebcf708d3bd9b +35, 0x628b49afc2d944cc +36, 0xab104fe5d2bf804d +37, 0x57ee3653bf484fe2 +38, 0xbf4d601f70f7f9ac +39, 0x2af4545067b5c32c +40, 0x34f14b2f8fa98e75 +41, 0x9b585ee1c787c12a +42, 0xc2e4f8a4e27f80e +43, 0xeb9876161a0b619d +44, 0x8ea0af67974da802 +45, 0x6e003252a09ed65 +46, 0x97526de03c99ffc5 +47, 0xb8bcd950ba3f2913 +48, 0x5da355c049c286b8 +49, 0xb50e613d8186312a +50, 0x945c21f6c4d7ed77 +51, 0xa7239005836ad3fd +52, 0x2129afecc78a928f +53, 0x9ae55d1d91c75ac6 +54, 0xf50bb42f77b43ad5 +55, 0x576f324976a7672b +56, 0xfa6df7e9660cfeff +57, 0x806144cc58601f9d +58, 0x85b39b38330f7af8 +59, 0xb7d0c116d3f9e866 +60, 0x35dfac0003ca608e +61, 0x9b6320f46d3926c4 +62, 0x4242bbd0776236d7 +63, 0x8aebcd05dd117b2 +64, 0x70df852ded653924 +65, 0x11ae5f39da26fe1c +66, 0x312e11e7aa00c4f9 +67, 0x1f038c235ae539f1 +68, 0xb997522615f4a73b +69, 0xb51bd427274c0935 +70, 0x55e7843d0749c8c2 +71, 0x37c3a6b0d4352cb5 +72, 0x2df190f46312134 +73, 0xc2ecce075d612185 +74, 0x6b490f64cd1f6d92 +75, 0x8a548dad9af41d4a +76, 0xc7a4454c7debc6bd +77, 0xdc2892cd77b00030 +78, 0xb760ac60c94d2b18 +79, 0xe35231cb73492527 +80, 0x55c9f1ee4910e683 +81, 0x97a202d0ad5fdb1 +82, 0x8ff5184631a2b156 +83, 0xcf942173d034770b +84, 0x9a06010116e675d9 +85, 0xa217423b96ae34c0 +86, 0x722e29ffb7567065 +87, 0xbea7d7060cd1a4c0 +88, 0xbcbad83a19de8545 +89, 0xa88c0985b701818c +90, 0x6c1fb7fc4ca8034 +91, 0xb9e24b68f54fb1b0 +92, 0xd925a8a4b8277771 +93, 0xc33beadd812f9876 +94, 0x7b512eae51ab25c7 +95, 0x3a5436f701a0064 +96, 0x6fa2dbfe047f973d +97, 0xa21076a7f59bef78 +98, 0x3c45f50a3e6f06d4 +99, 0x6cd17ca1a4fe09d +100, 0x8121cf3ffc6a1dd7 +101, 0x7b74926ec6d5a7e7 +102, 0x51eb9833ab8da289 +103, 0xaeb2a89fc9beff8 +104, 0x9fcd9cd992f8c183 +105, 0x5190d2596093217c +106, 0xf954156453009abc +107, 0x2bc45642def07a82 +108, 0xa8e3aaff7419393d +109, 0xff66dbc36b6f4899 +110, 0x7b4481a28034b8fb +111, 0xfc1c059bcaf7021 +112, 0x699b4509593d9079 +113, 0xf2c3cd6bb60ad015 +114, 0x76d11b5fc81c9ead +115, 0x5f28d4878bb011e4 +116, 0x62384630f3e25d61 +117, 0x260445ad18a3738 +118, 0xf92f0a2148f340d2 +119, 0xcb502f1bbdf45006 +120, 0xed89ca318747a00f +121, 0x37597ed2125b038e +122, 0xaee1e4927f412f8d +123, 0x18168368f58eccd9 +124, 0x89db16f70186a9c6 +125, 0x6f428e8fcc8a6ad9 +126, 0xb3865b982fe6b986 +127, 0xc1fae9d75ee9bda2 +128, 0xa0b8256d2615e34 +129, 0xd15c4642cc470639 +130, 0xf7f644305154bb69 +131, 0x65592281bae36127 +132, 0x840ebd2e2d314c8c +133, 0xdb08b0bec618b8de +134, 0xaec9540e4eabc7a1 +135, 0x2473da693e1ec36e +136, 0x6be6fdcfccd55dc2 +137, 0xce279e14163df56b +138, 0xc55baabca12406eb +139, 0x7283920d8e00779e +140, 0xea67175f9bd0ce52 +141, 0xe86bc373ed2f7e55 +142, 0xac3acc2569a30892 +143, 0xc749fc876e37766f +144, 0xddc74e16941b8d6e +145, 0xb9c8f5b769849f7b +146, 0xbab826c423a209a5 +147, 0xf1c1b54021fe6418 +148, 0xdad8586480fd30b0 +149, 0x8f713802438a6a1c +150, 0xc3c2f2b83c7d60c9 +151, 0x9697fdffad622052 +152, 0xcb72a8d5150d0507 +153, 0xc1371661bc3c9721 +154, 0x88ca5be46f1d728e +155, 0xdeb9ae3295bb0e4 +156, 0x2d83f4159ad3e2b8 +157, 0xb30c4ada3b396a15 +158, 0x5aac4c5e77f1d4d4 +159, 0x529374c779ee531 +160, 0xb5919e58de0d772a +161, 0x820809cc936741fb +162, 0x53bbba6d2a08acde +163, 0x9a59ed5a21be8fc0 +164, 0x88aa7be1658d60ef +165, 0xbcb7fc1ad8c7d828 +166, 0x11ab2e78229e89fa +167, 0x2056ea8f9c5867f3 +168, 0xfa27e3857ecc3b94 +169, 0x1e42b81f1d84f464 +170, 0x5e1014b09c812c14 +171, 0x9aaa9d8468d9e341 +172, 0x1bfb091f9815ee21 +173, 0x5caacbb9cc7aa2fe +174, 0x58d8a864c538e3c5 +175, 0x539382e5be9cc79 +176, 0xbd89db78d603a58 +177, 0x39e1a6cbda31f0e0 +178, 0x466a59433990edbf +179, 0x56d18c76058e2ce7 +180, 0x2602ce3675d0bdc1 +181, 0x1739af88af931f1b +182, 0x862a947f2809512e +183, 0x6f18216e0710069d +184, 0x5f6e251768ff8b2a +185, 0x3a3be0c1955b088a +186, 0x22b96dd914c79b47 +187, 0x18051e8fcfce2edf +188, 0x80b0f2cceec301d9 +189, 0x868586cb1388e737 +190, 0x22f7c668c6e0da2d +191, 0x13509ef57125f1e7 +192, 0xb91dce92077fb2d1 +193, 0x31b4841411853ad0 +194, 0x32e2ddc8b722c29f +195, 0x5ca01b204c0b166f +196, 0xa2e337cd3dd5a9d1 +197, 0x4131b472c753075d +198, 0x7efcc7a894c9a981 +199, 0xc1d9c33d90e01db3 +200, 0x9053f0abe677615d +201, 0xd2034c8d4e1aa8af +202, 0x227275362bffc8f8 +203, 0x8d5a9d405ecd0179 +204, 0x7b30ddf5440f02d1 +205, 0x3620f9d1867ad68d +206, 0x747ed65beeeba258 +207, 0x1691d5d4a7786e03 +208, 0xf50455cc65243abb +209, 0x4aa91863da8b65d5 +210, 0xa69807c0a08dfafe +211, 0x4fcc33b50b00b3d3 +212, 0xe0671f97db7a35d +213, 0x263f8eabf8f9044a +214, 0x27c85ae64e97e89 +215, 0x4520b74f57c7df51 +216, 0xa37c38ec047eb0b8 +217, 0xcabd6e3e95e72d25 +218, 0xe4bb620d2e3a16d9 +219, 0xda87a4272a6ad108 +220, 0xc867f3fbecd0384b +221, 0x8691f46246273ef7 +222, 0x5ce4229e2422943e +223, 0x8c40ee86a9691904 +224, 0xcb9b83f846c9c9e4 +225, 0xa931ac81531e1529 +226, 0x534cebd4cd8fd2d9 +227, 0x2e3cf1c29aeaba0d +228, 0xa3d2e692301343dc +229, 0x1ef408da84681a8c +230, 0x64f7f2f7d3c02da7 +231, 0x541c50b180553eec +232, 0x536194b38f566c5b +233, 0xbb7a282cd9f36f9d +234, 0x527010351098538b +235, 0xfe30504c6e499b4d +236, 0xa7c3602410a59e53 +237, 0x8f44cacb7b7d1267 +238, 0xe40bf315dc5df184 +239, 0xde7eb3b70c1f41c1 +240, 0xc41aecca30a4bb9c +241, 0x3bc0e028ccb19d93 +242, 0xe166010bfe275442 +243, 0xa70abd28e44af7ca +244, 0xd4504f4548d0d888 +245, 0xa55e4eecb4d88bb5 +246, 0xb6ec6442a017ef5c +247, 0x1c62a5d488494ff6 +248, 0x1c09e177b467f30d +249, 0xb9c90e7ad2f47ecd +250, 0xde2c186b02cc341e +251, 0x1a82ff0a466db4dc +252, 0x61db3602688eb096 +253, 0x920df7c1d2b0e8f1 +254, 0x34a2f18c92e9b6ff +255, 0x14830c36acd9ae19 +256, 0xc321ad1ffbfc54ff +257, 0x9e4b1c6799ff696f +258, 0x1780ce1f22fd9395 +259, 0x26c50c518a484cc1 +260, 0x7461330b1fe01211 +261, 0xd81e75bc84a15cf1 +262, 0x86ca81452380da38 +263, 0xe6b956498fa9f351 +264, 0x9ac04fe965ce35cd +265, 0xa4ec6641c5518519 +266, 0xa03e3054f706bb49 +267, 0xacb9b452fd8267ed +268, 0x302282d4ce222225 +269, 0x8b56489048399d5 +270, 0x1feadce5b06b509b +271, 0x7cee1475ce616c7f +272, 0xd414bce3075397b3 +273, 0xc71f6a8a8eff334a +274, 0x99b3df4a89d93e +275, 0xc702c1e101f4f2dd +276, 0xfe3a7177f2ec77c2 +277, 0xe080a478564afac9 +278, 0x665d0087841f481b +279, 0x4dab6f59d3c1a144 +280, 0x1ce185d7d140c8f5 +281, 0xb007fa8eca9036c0 +282, 0xf18f48ac88312c95 +283, 0x79550ca0c88204cc +284, 0x9970ba85bdb15f27 +285, 0x2b55457ead5f009e +286, 0xc4f24923b930e27a +287, 0x8c3018e3bad3b6d6 +288, 0x790837a25c10ee7 +289, 0xb2dd8ab9f1def8a8 +290, 0x363ec10ac55a521a +291, 0x971af7eb3b1560ad +292, 0xe1a3cb1562833819 +293, 0x6e60e9949b6af18a +294, 0xc379834ba34f6820 +295, 0xb668c3b288a5f926 +296, 0x9ffa1bd130c914c9 +297, 0xe6b93d5188a06452 +298, 0x9c520f67b97dfdf0 +299, 0x50c2a9973c08139a +300, 0x59851ffaf533706e +301, 0x2e5eff12d660fb5c +302, 0xeaa1ff394919a29 +303, 0x9846f6684ff28cd2 +304, 0xeda270a0cd0cd09d +305, 0xc0a319acd516a45d +306, 0x6b5e013c4c4e1efa +307, 0x76faab2a47dc7b68 +308, 0x10d5c15c81514814 +309, 0x3783ee8be5024e54 +310, 0xa4cdb957e5844ce2 +311, 0xd20ca72588a28e27 +312, 0xd7f16a0dcc7f77dc +313, 0xd7e945262b79f2b6 +314, 0xe789e1213d3c62ed +315, 0xba2cbc2fa27b9806 +316, 0x1d39cb2e5d96965 +317, 0x4526e9965c23273a +318, 0x23b4c26eb5166240 +319, 0xaf0f404d70dc5638 +320, 0x8933061cb36229e0 +321, 0x69cec3a72559600 +322, 0xf891d9d259e44209 +323, 0x2e49b1c932ba1d66 +324, 0x333f1bc8321c60f +325, 0x53bad1fb53c8c7cd +326, 0x392f1562e71aac52 +327, 0xa9f6d47f02e8b0d7 +328, 0x39f9c3b1feec67d8 +329, 0x669009ed80083055 +330, 0xab063271b9538170 +331, 0x56678abcd6d3864c +332, 0xde74b0617e61cbd8 +333, 0xbb4f24b9395938a6 +334, 0xc56dfbd143423466 +335, 0x4cb5a4a7ff276754 +336, 0xfb7b814159202ccc +337, 0xf7bbd8fce5320160 +338, 0x218d0ad6343402e7 +339, 0xc8f1bb14eea39aa7 +340, 0x92d7e7256dcab678 +341, 0x8f13ff680747d33 +342, 0x7706151f442ce1dd +343, 0xe902f2633656eb91 +344, 0x69cdf1a57b9424bb +345, 0x9775cad17cd05d1b +346, 0xccf9b27b7dd64f7f +347, 0x1a912eedead72feb +348, 0xc1e26527c077acbd +349, 0xc71692a375f3c720 +350, 0xef1e5b57c2054419 +351, 0xa6b72781c1fc92c0 +352, 0x38318f277f1ef07e +353, 0xe5ba934657bd23b4 +354, 0x792b67250dbc761f +355, 0x785df3106f3610ff +356, 0xfa80a926eae8d94f +357, 0x2c0a95d66d691c70 +358, 0x5c7006e181d4a6ac +359, 0x43e8b7dee8fe5379 +360, 0x87f509b549c83695 +361, 0x32599937b8fcd560 +362, 0xb9931fed6f066f24 +363, 0xf2a6ebcb697508ba +364, 0xc0a3c1ba9a67600a +365, 0xc8badd949bd0e30a +366, 0xcafc4c1611c002a7 +367, 0xc4b5310f493c8f20 +368, 0xc51ff1b5bdb380ac +369, 0xa9c73b25f03868f5 +370, 0x9edfdcc90d558540 +371, 0xd3d6333855161133 +372, 0xcbbd5d9ace516738 +373, 0xcb7e692a0f9fe6fa +374, 0x6a21b61cd8fbb617 +375, 0xfc31d9554c519f86 +376, 0x76ea0f8ef0a354a3 +377, 0xadc8a62ec6b08390 +378, 0x66eeb2fe10131429 +379, 0x12ee14e3a238353a +380, 0xbe3447a29c425e72 +381, 0xaaa368536635fb9a +382, 0xad2ed0d14e4c413f +383, 0x217b489205384ccc +384, 0x4f22392204e47cb6 +385, 0x9b073c7bc6fc086 +386, 0x291abda48636aa3c +387, 0x755ecf4077a77de2 +388, 0x34a5d238de636b33 +389, 0x8989d30fc37b325 +390, 0xd0b9fa38231bdf67 +391, 0x72461fe9b5055361 +392, 0xb25bd2fd4a1bfd09 +393, 0x9ed651e16289afac +394, 0xd02d8c13301d3d2e +395, 0x3d5bbed8ed8856bf +396, 0xc44f594ac43fdbb2 +397, 0x9ada629d96abe651 +398, 0x901bec1095df9927 +399, 0x8597db9a0e29e2f0 +400, 0x97194dc163ca609 +401, 0x90c00a05f753a86b +402, 0x426af3db2a4ac0fb +403, 0x8acda542a69f22c2 +404, 0x674cf92ffcd455ac +405, 0x6136bc48b45959d5 +406, 0xb90b38cd1ff9279d +407, 0x4e6c9b5ecae724d9 +408, 0xcf30abb9df98cc0 +409, 0xddee0179acdaf635 +410, 0xafc739ce5a1e5b9c +411, 0x646a8817ddc44ab5 +412, 0xd34ab42bcb8cdb93 +413, 0xdee4cbee62f81c86 +414, 0xc2221ab03185fdfa +415, 0x7c9f570c313fab96 +416, 0xf1b366adbfee1326 +417, 0x7f096df1a4b284e3 +418, 0x41ed5c325a684c02 +419, 0x177d8012ec68bf1e +420, 0x723ef03bbc899b8d +421, 0x4b133232b7b75961 +422, 0xdf26aaf400d56c4 +423, 0xdfdb1c617a5a9794 +424, 0x9ff2f6d5ff5ce426 +425, 0xa902670b191b5b6b +426, 0x6c9b17049b00578e +427, 0x698c0c675043a17b +428, 0x7a39ef3ca26d128d +429, 0x684d4a467f04e43f +430, 0xe2650c63fde538c8 +431, 0xd68d21f5390269e1 +432, 0x128f6856693a6f91 +433, 0xf16e391706e58b04 +434, 0x77487c06bb8213fb +435, 0x6fcd5a620a122728 +436, 0x505c93b08cca8734 +437, 0x9a1132efe64d531c +438, 0x7fffd4b9c31c6ecb +439, 0x18974137a14e2c8 +440, 0x2aff5858af3e3dec +441, 0x37c2c46feb19f7f1 +442, 0x69ff86ca141d00c9 +443, 0x94dabd547190bf71 +444, 0x5fbb969adddaa7c0 +445, 0xa0775e468c054ab8 +446, 0x632e6a69a80b7be4 +447, 0xba23d74ff6f179a6 +448, 0xdc80b0b9a70432a7 +449, 0xe012f4b1362a90f4 +450, 0x7f132473e42cbef +451, 0xfb182eefc0dad8ac +452, 0xf3fb712546ae256c +453, 0x8ac69f2735229dac +454, 0x564cafdaad77f80c +455, 0x876c4ab2647401d0 +456, 0x2baf5f31018e5c1e +457, 0xae1aaf82b13b7597 +458, 0x65944d8b8cabbb95 +459, 0xc7c01bfe1e0fbc00 +460, 0xf6dd901e7bbe8365 +461, 0x94e1050634114f11 +462, 0x47cab1cd353b7f81 +463, 0xa8775049b2696902 +464, 0xb186dc021a9110ea +465, 0xf28259ce664afa40 +466, 0x67558a2beab5b7b1 +467, 0xb117438f266ec05e +468, 0xf9da8468bb4cb968 +469, 0x2af756738bfc47b +470, 0xd5842c66749f950e +471, 0x953373bd7e97e4b +472, 0x49a929314667f184 +473, 0xe64daee7102ddb89 +474, 0xe459bd3f9acdea67 +475, 0x5b9b04066b20c49d +476, 0x5d82abef2d8487fc +477, 0x4f6236c778a5ed31 +478, 0xdcee2584cd287c46 +479, 0x31c53b48310c8c84 +480, 0xb9cd90102e158a63 +481, 0xe57be85d8e42deeb +482, 0x6582541962888815 +483, 0x845fd1538efbe310 +484, 0xaedc7db39263eaad +485, 0xc0ea0704dea093fd +486, 0x7d3e5c4a245ef295 +487, 0xfe651efbca41d1d8 +488, 0x5275c62cc60f26c1 +489, 0x4eb23a86fd35bd79 +490, 0xd3fccb059f30bb9d +491, 0xc9b6267a16be945a +492, 0x8fa963e267e0791a +493, 0x64e7ef9097602cad +494, 0x13a0d7ba848311ef +495, 0x88878d9ebd8381f +496, 0x4556a6258ccd7aa8 +497, 0x1321af0ffa57b4b2 +498, 0x271c1fc481143191 +499, 0xb09b8888fc206dae +500, 0x1fdb714c88aa8318 +501, 0xdadb65138cf1a785 +502, 0x5c25349014f20584 +503, 0xdde1241c9c5a58cd +504, 0xd93741fab3d630e1 +505, 0xe895c89a575d11f5 +506, 0x4f0b79334c81403c +507, 0xd8a9850c307c591a +508, 0x3621e4b8e12c9a19 +509, 0xb9db6231c6fa3793 +510, 0x659a34f2e8b13a30 +511, 0x3f7f65d4138a3ece +512, 0xc68a3b4193c7ddb +513, 0xfedb2ff6f59b308d +514, 0x91a49785126b2707 +515, 0xcd897846c2da401c +516, 0x3174aeb2ef45125a +517, 0xfc93e91769875bea +518, 0x20dc156b32d376bc +519, 0x55b332e7395ae006 +520, 0x898b4d9889ab42d7 +521, 0x80e8b4fa60d67e52 +522, 0x751bb9a5c4f43263 +523, 0x4ef12c7d48b02305 +524, 0xe9b2f6da9932279c +525, 0x28166b1bb0083fe +526, 0xd66ede9e1175436c +527, 0xe1600bfe3543967c +528, 0x9e82c1de27917b7e +529, 0x1a6a6a36eee4e0d3 +530, 0x4fd5e445d2ff89a6 +531, 0xb167da8a45a041b4 +532, 0x90421abd6d6b657 +533, 0xac2d084ffe30c155 +534, 0xaf6d71f79d0250a +535, 0x2d2ba07fc90eaba2 +536, 0xee44751087f49162 +537, 0xd9a125da1f2bcd5b +538, 0x1710b671e85149e2 +539, 0x6345319547b83ad1 +540, 0x68b4495241b6c0e7 +541, 0x74fa064e23915490 +542, 0x994254c5ef7484ff +543, 0x767ce73cb64a3828 +544, 0xc44be811238ec768 +545, 0x49bcfd08e26f93ca +546, 0x8506215301976fbe +547, 0x17d72c4c22b48cc9 +548, 0xf482dc265fc66423 +549, 0x81515cd9ee472156 +550, 0xffc3716cab24bdce +551, 0x4f272ed4fdd1cc65 +552, 0xa5fbe307e8a95706 +553, 0x4f489ae4435d271a +554, 0xc32af641a427871e +555, 0x481501cd6e76b046 +556, 0x7fdb10595e105959 +557, 0xc231d1fbcd7f9905 +558, 0x7f8af2f02dc96527 +559, 0xee1829cff220d07f +560, 0x69cec4a31d43a06a +561, 0x7ec964a98e091334 +562, 0x267d4751786ed827 +563, 0x3ff2a3fa95f49992 +564, 0x4db020a1aaa91126 +565, 0xf0a52fbc2ecbe5e6 +566, 0x22b4a6f29b420436 +567, 0x3baee23caf4332c7 +568, 0xf25b4154d1337b22 +569, 0xa1fc227fdb94fd5c +570, 0x1c8d1858a14c79c7 +571, 0xdee05236f275cd72 +572, 0xbd2feb9b5bfea570 +573, 0x96d3d6d1189b458c +574, 0xbfe1c60f48c2a834 +575, 0x590b91cf41e7f1c +576, 0xa230cd61d4aace50 +577, 0x9b15a3dbd0129922 +578, 0x5a6cd3333e77adea +579, 0x41825f9a09221129 +580, 0x713d20fbbb133600 +581, 0xde695bc734434fc2 +582, 0x80022a312ccfd484 +583, 0xfebe989fbe2d7f33 +584, 0xeacb2fc50aa3ce4b +585, 0xb7bde6fa12d0db67 +586, 0xc5e52e74fd2fcf5e +587, 0xccc74d9803ec269f +588, 0x9f9f1bd42ceed664 +589, 0x5892c340c9b3e3f3 +590, 0x306260b57f475e42 +591, 0x20ba283b7feec8fd +592, 0x8258f0179d4c1aac +593, 0xf4f89922b5afe031 +594, 0xfdba45233cdd04a +595, 0xce0f81c48bfd0d58 +596, 0x4b0cbebe17263b16 +597, 0xfee1fd8f3abf3ee0 +598, 0xfc5194839696ca5d +599, 0xb2106fc284f8cfed +600, 0x3be13181cdac454f +601, 0x1dfea888cdb8755 +602, 0xe1df7e41e646b676 +603, 0x72e16234c51caa19 +604, 0x367a508bf361b3c9 +605, 0x3e8d10a40879846d +606, 0x72540d5ed7c59a5e +607, 0x49d00e4543ebd93d +608, 0xf889e0dfb47c5a24 +609, 0xf6b166031a98e3f0 +610, 0x6ec9c4ac1f367f6e +611, 0x81c322bfb5b4963b +612, 0xe43618859ee305b6 +613, 0x5c0849263dff8bd8 +614, 0xca60ef338ca33c75 +615, 0x96dc953cd8229dfb +616, 0xd33d8edd653f9411 +617, 0x398f97e5a17e9d21 +618, 0xa679fb8f7359cdd3 +619, 0x1a079b224822d2ae +620, 0xd6f973d320aea3bd +621, 0x8147d823ddca9fdb +622, 0x7a15b31891283335 +623, 0x1ddff9012d02fbd7 +624, 0xf8822faf5627a945 +625, 0x41be97afe83c9b99 +626, 0xfc6c03f323a40cf0 +627, 0x40a3547fbda709fa +628, 0xdabf18e62533b8dc +629, 0x3df9047875ad057 +630, 0xaf3cb3461b5ce9a1 +631, 0x372859b34b493176 +632, 0x2fca17f51fa0f9eb +633, 0xc7029f122beba37f +634, 0x3f4e9ea4b4f4e36e +635, 0x63d22717f8c9118d +636, 0xc85fff0d3f30946f +637, 0xfaf6a8680c3327b7 +638, 0x7cc6ff76d32736cf +639, 0xed7066e55443e1d5 +640, 0xf8698e4c0986e3a4 +641, 0xfd8d1e5a65a86bae +642, 0xe52f0012446decc8 +643, 0x5057fe700548fd6c +644, 0x4529015264cdb296 +645, 0xf0bfc50ab6700a9b +646, 0xf42ac8161980025d +647, 0xd4eda173955d8472 +648, 0x37b042b1e5a10dd +649, 0xe325a690ab12eb81 +650, 0x7fcf9f4d85db4127 +651, 0xbacbd13cba440c75 +652, 0xbaaab45fa3ec6721 +653, 0x621a8fb360e704d7 +654, 0x8e97eb1966466330 +655, 0xda7f0a06440024c0 +656, 0xe32b44177201fb54 +657, 0x81426b2259d306df +658, 0xcc12d49f57a2a60d +659, 0x43d840cb2c1b96f3 +660, 0x2f5190397dd5f5fc +661, 0x37ca67cb906f8840 +662, 0x84bdcca3f926b24d +663, 0x833e6cc4f6846646 +664, 0x3d046e6375412bf0 +665, 0x8678ca4ef2e3f721 +666, 0x62d9c438d39748cd +667, 0x750fb4b000895aaf +668, 0x7b760b873d0bfce0 +669, 0x3cc79186f7e7528e +670, 0xe1e304d26bc14e90 +671, 0xe855ed09d88a5b86 +672, 0x99ae65ccd9d9ff9 +673, 0xd9bea1d3d04c6432 +674, 0x6871fc86fccce7a5 +675, 0xca6f22983e5d892b +676, 0x7e29222169c094bc +677, 0xbb6bb434e7225ce2 +678, 0x3b907684d5342268 +679, 0x5e5328163653a332 +680, 0xf56453da8399ea50 +681, 0x4691e0f9a0c6625 +682, 0x11a6cee0f014d630 +683, 0xdff740d94007b83a +684, 0x6744032172a60cb1 +685, 0x8d311639fb358a47 +686, 0xe77ae7a767d74301 +687, 0x994184353b84ffd5 +688, 0x9faa8b6852c8b9ec +689, 0xed5d549c40fd7b31 +690, 0x6bff41b829143500 +691, 0x95cd1f944b72360e +692, 0x966e8976a79bd4f7 +693, 0x5f73608f2069b1f3 +694, 0x20c03970af7c205f +695, 0x9a0e0928bc29f5fa +696, 0xdc80d66b7ec92bc3 +697, 0x558745e23c9e413d +698, 0x32dae13bef9e4398 +699, 0x1af3f745e7ca19b4 +700, 0x1cbb10f2f21417a2 +701, 0x37c03955556e6f6 +702, 0x852afdad0d2459fc +703, 0xee72e7019e217ec4 +704, 0x6854606758560380 +705, 0x9284eba641a65dfc +706, 0x446b92d6b8f3f53a +707, 0xbe360ebdf10ded26 +708, 0x1048ecaabfe15b93 +709, 0x25d1762c447cca8c +710, 0x6cf6151bdd266aa8 +711, 0x2e8fcc480b9d228 +712, 0xeb6b1cbea3c65d63 +713, 0x7a883b88ef974ee5 +714, 0x9f52f4081ea085f0 +715, 0x75fa5e7cbf0c55a5 +716, 0x2bfedfe0e029b818 +717, 0xebaec3bcde2e43b1 +718, 0xeaa3aa06bf8a67e1 +719, 0x4deacc579051e8c0 +720, 0xec44abbc73b62bf4 +721, 0xb9a339ae805270b7 +722, 0xf9eb47d4cba2877 +723, 0x6105cdeb6a7e678e +724, 0x242351322affd465 +725, 0x111fe30cf81b2f70 +726, 0x25b5ae64c741738a +727, 0xfb425508ba96049e +728, 0xe0fbf9619e3a1aee +729, 0xa0fcb4f5f0c32ee9 +730, 0x1e69787a387b30a +731, 0xe89a8480884263d9 +732, 0x4c02fe1f82aac874 +733, 0xb576e8a44017bee9 +734, 0x5e7b98878c6537ab +735, 0x6d291feb307f3740 +736, 0x7d00feb09e768b54 +737, 0x71bb0170d659119a +738, 0x7bb2ff7d0a61dda3 +739, 0x2c6a16824290b7f3 +740, 0xb96623628a2917ea +741, 0x14489300ff071e92 +742, 0xdedd6422224f3748 +743, 0xa6e1071c454da244 +744, 0x1c4b1edef803ffec +745, 0xa5f8e7c79d02be10 +746, 0x9b8309dddcbd21bc +747, 0x6f57e425d2808563 +748, 0xd7d49cab22729386 +749, 0xd0dab40fd019b301 +750, 0x6808b10401cda8fb +751, 0xfa51b53ceceb08b8 +752, 0xb90e4574b2745b68 +753, 0x470707ab3da1f1a2 +754, 0xbc76e852147fe684 +755, 0x82f7e418e4454b7e +756, 0x6aa5fec0a5dbb4b9 +757, 0x2695d285a10e05c2 +758, 0xd15219b5dcc6db09 +759, 0x8ece31d881c4e1e5 +760, 0x1bea39be5b09c080 +761, 0x19e1d4897394d0f8 +762, 0x8bb735c6dcade9e9 +763, 0x5df3789e52d93a64 +764, 0xcd6aae13791d95df +765, 0x188ce0105b17920a +766, 0x3fa30c09840f615e +767, 0x7c201465bc6301e4 +768, 0xa9a00e2757807982 +769, 0x122e0fc0c79782fe +770, 0xabff396bc21271b +771, 0x7d54d41d59c99fe4 +772, 0xe2d5b1393b081928 +773, 0x45165a925412ed4e +774, 0x96c945ed58ba2bab +775, 0xde05a1d6fb9ced45 +776, 0x496cad57600fe9ff +777, 0xc3846b63bfc1062c +778, 0x9055ccd5f729b1f7 +779, 0x8fa87030e7e623a4 +780, 0x7e6ee59d4fb11784 +781, 0xb5b151c0d892955e +782, 0xeeaa87699ff69dfc +783, 0xa6d485e04ce2dd71 +784, 0x69c53b89eec70119 +785, 0x3732533c7df25f53 +786, 0x275d37a0c68e7a42 +787, 0x3a88f16ac812bad8 +788, 0xb0f92536c7c763 +789, 0x27a32d261274ee83 +790, 0x3fd5ae8a771adf89 +791, 0x23feb68f4819e4f +792, 0x4d4c7be0e84aa024 +793, 0x41a80d994fc0a41c +794, 0x718321ae9282c3b3 +795, 0xd551e149c01af06c +796, 0xbcb93735c6eac744 +797, 0xe59f03655f9180f8 +798, 0x6e96a0431ed2e0cb +799, 0x5866d0755ecf3c6e +800, 0xd9f473c16bbec85f +801, 0x38b2070194506205 +802, 0x98aaa714c80a21af +803, 0xdb7853e1515cb5b +804, 0x32532dd0c0e1920b +805, 0xf5d440e12b584cfc +806, 0xe67397ec029cda3e +807, 0x2d51f19fcbc86346 +808, 0xb5e46840c44c80b0 +809, 0x6d39c237e90744be +810, 0x3535938a21e6e293 +811, 0x7b8a87d2b539e50 +812, 0xf4e74d0346ccdb48 +813, 0x1640fb85b5f11965 +814, 0x2a99ba02ff6b5ccd +815, 0x12dbbd81a6ca75ad +816, 0xff72053bbfd9490f +817, 0xf5470d1e0ff5888f +818, 0xd7d3e1ca8d79382d +819, 0xd437182225fda535 +820, 0xde44396868fad24c +821, 0xeafa4c86c0c578b4 +822, 0x788a1e34983fc51f +823, 0x396563f750981e64 +824, 0xeee9e79937487d52 +825, 0x12871390ffe443a9 +826, 0x96b07429b4a54778 +827, 0xb0506605d66bebce +828, 0x1b5878bc242f0158 +829, 0xea46c8e2d9ca3dbe +830, 0xa94a8750612bc68 +831, 0x864ccfa5796f590b +832, 0x4d1d2609563b8063 +833, 0xec62387e7f258abe +834, 0xb2726f3d37ba75b1 +835, 0x2067494d0dd41024 +836, 0xf75839382e176d99 +837, 0xf0c83dd9ed0aaf23 +838, 0xfa8a581e28780483 +839, 0xc461e40cda6d4ba4 +840, 0xaebdb6c7da47946b +841, 0xd380bbdf27718424 +842, 0xd31504078e3a9a9 +843, 0x4fc0eee024e9a5a9 +844, 0x18714e84611ae719 +845, 0x7503c0ee7ce5608c +846, 0xef1abc4a7543b398 +847, 0xd1e7ad19597d9cb5 +848, 0x77fb8e61dec1dff5 +849, 0x6d6504f8f1cd19ff +850, 0x7d7e1a6b8d21b29a +851, 0xc0504f78e1744ba0 +852, 0xbe3aefe760c2025f +853, 0xbeba2fd08acd9166 +854, 0x5c140d358435d3b9 +855, 0xc550467f426d4bb9 +856, 0xfcf1c8674b415f75 +857, 0xc81721303ee733e0 +858, 0xe4b0c096d8c54e7e +859, 0xa963e1fa39f44bc +860, 0xfc6fb6ad0317aa76 +861, 0xdf7c4217eeb378f9 +862, 0x69639f8b6c1c765e +863, 0x23d8874dfac843f4 +864, 0x323e6cfed1af5406 +865, 0xdf34a5b2df24c44f +866, 0x52c88f39e1f1017c +867, 0x9b780cb0ffd8e0ae +868, 0x17bdfe024bf483fe +869, 0x1bdc2d6b57afb0d7 +870, 0xe5cfe8cf4f301238 +871, 0x466caae45214f84b +872, 0xefa9e39d81d0f263 +873, 0xf9e330742b518177 +874, 0xea36033c02f97e71 +875, 0x37f90271cfa76be9 +876, 0x313e5ad81eb57d98 +877, 0xc0741d6410e19347 +878, 0x77567253b48ea919 +879, 0xa0b196d776905b46 +880, 0x81848e866c958c22 +881, 0x5defd26f7e313de1 +882, 0xebbf740f85d0a413 +883, 0xb43c6ca7dda9c7c3 +884, 0x3a38024f6076bce1 +885, 0xc9a4d739dd7a58d5 +886, 0x4a0036e594c30291 +887, 0xb67d467a13271850 +888, 0x26d4333f67ec5658 +889, 0x8683441959b6fca0 +890, 0xb4c3173d217788e1 +891, 0x3fca2876508b0037 +892, 0x4fd7ac0912a08d26 +893, 0x3990c299fd77d3cd +894, 0x388bfe456f0ee713 +895, 0xa17d56851d0aa9ad +896, 0xae6e173a38e92688 +897, 0xcae6f7387868f4c0 +898, 0x5deb567e87b682ed +899, 0x5bb2a3cbc6ad9aa7 +900, 0x4054518b25a4e546 +901, 0x8399534e3156fcc1 +902, 0x288ff48845b1cd34 +903, 0xc7d6f2e48f1799d0 +904, 0x968a3ed47b71e9c5 +905, 0xc06011209519bbee +906, 0xe2a80df93233bcf5 +907, 0x20b9afd489292293 +908, 0xf0ce32e84bdf040a +909, 0xbed405bc7fe1e795 +910, 0x86f7b1542f6b195e +911, 0xcbb6cb657318a436 +912, 0xcabf1276e3e6d85a +913, 0x42a331a4b5939d3c +914, 0x80cfa20e1ca1d0fa +915, 0x768bb2ab2504a2cb +916, 0x38a6f71b6865c85c +917, 0xdc4142ff4a656c94 +918, 0x91541ea1cece2095 +919, 0xbe03be2fc0073de0 +920, 0xe21d0d35ce487214 +921, 0x4681e310b4117bd7 +922, 0xf2253c6efd0ed606 +923, 0x702db3cd3ba7c127 +924, 0x8d3175ccb5e08f38 +925, 0xdafca1a22f02d177 +926, 0xb6fb797078eed6d6 +927, 0x10120f45ab02ea09 +928, 0xfd4cd6ff70fe60d6 +929, 0xaf70101012b33e44 +930, 0x6e4321ef1a47aed2 +931, 0x859676a49e1dca4f +932, 0x8065316b96ff29a0 +933, 0x44d05376ed2d0fdc +934, 0x7343def61d2425cc +935, 0x86113b555152aac5 +936, 0xba339a0e137c5ce6 +937, 0x1d2d89d9de5460d8 +938, 0x7ed9d48c61257119 +939, 0xcad2b91ab20da148 +940, 0x656377284c5e195c +941, 0x94e734e8a480a4a7 +942, 0x5bdacbc607ec7c4f +943, 0xec1241717db1ad5b +944, 0xe6eb7fbcf5b4b66b +945, 0x3512345a3554e6b6 +946, 0x58c77d926e9a528b +947, 0xf3e782be535f9b9 +948, 0x9d3b3a53ea1530a5 +949, 0x3df1eddab09a2ac2 +950, 0x86440868ee975e20 +951, 0x35e2f24867978c7 +952, 0xd3a6219dec1a447d +953, 0x4427eaeeb50643d3 +954, 0x1eac58507e33223e +955, 0x10fb299eab3112ac +956, 0xaa01a8b779062117 +957, 0x552c4559a7e5c22c +958, 0x2e10ac501d21242a +959, 0xbabf9866c8d7d061 +960, 0x94f03b79de712060 +961, 0x4a70ef01b76bf68e +962, 0xd1fcf4d2226ae986 +963, 0xcc53d27dcb2ab8bb +964, 0xe169d46e9a968cd2 +965, 0xdd3baeab560e1eb7 +966, 0x62e325462270d89 +967, 0x717dade9cf46c1ff +968, 0x229552ce0bb04970 +969, 0xa6ebda4d2eca3cbc +970, 0x80d3bd7426882137 +971, 0xfbc3243079309847 +972, 0x664f4a88f2c7bc55 +973, 0x750baa49d93df131 +974, 0x8f0a87416f41c64f +975, 0x5d01ca38b0484512 +976, 0x743fdfbdd79e82f3 +977, 0x69c3c2f9296fecaf +978, 0x3d945260849578e7 +979, 0x21aadd4d1956a540 +980, 0x17a2d7868afbf606 +981, 0xa945ff7af593e961 +982, 0x499c7abc8df892fc +983, 0x599c1a937b547e43 +984, 0xc6f0c1d6eec5cf12 +985, 0x425c576116b8bf5d +986, 0x5a9d64a33ba615a6 +987, 0x85f1341ef79fc27f +988, 0x75c151fd5787305a +989, 0xf56789cbc4c1a1ed +990, 0x1d547a0b47eab748 +991, 0xccc539d7a777e60c +992, 0x39d3177b7f18e15e +993, 0x9d9911afa8441757 +994, 0xe163b0cae65e074c +995, 0xb75ff4c843626bed +996, 0x696089f87bf020b5 +997, 0x78c5c7971b74ce1e +998, 0x2ed5aa6e489c3684 +999, 0xaf1b049e483011c3 diff --git a/numpy/random/tests/data/xoshiro256-testset-2.csv b/numpy/random/tests/data/xoshiro256-testset-2.csv new file mode 100644 index 000000000..b688fcb2a --- /dev/null +++ b/numpy/random/tests/data/xoshiro256-testset-2.csv @@ -0,0 +1,1001 @@ +seed, 0x0 +0, 0x99ec5f36cb75f2b4 +1, 0xbf6e1f784956452a +2, 0x1a5f849d4933e6e0 +3, 0x6aa594f1262d2d2c +4, 0xbba5ad4a1f842e59 +5, 0xffef8375d9ebcaca +6, 0x6c160deed2f54c98 +7, 0x8920ad648fc30a3f +8, 0xdb032c0ba7539731 +9, 0xeb3a475a3e749a3d +10, 0x1d42993fa43f2a54 +11, 0x11361bf526a14bb5 +12, 0x1b4f07a5ab3d8e9c +13, 0xa7a3257f6986db7f +14, 0x7efdaa95605dfc9c +15, 0x4bde97c0a78eaab8 +16, 0xb455eac43518666c +17, 0x304dbf6c06730690 +18, 0x8cbe7776598a798c +19, 0xecbdf7ffcd727e5 +20, 0x4ff52157533fe270 +21, 0x7e61475b87242f2e +22, 0x52558c68a9316824 +23, 0xa0bd00c592471176 +24, 0xfc9b83a3a0c63b9e +25, 0x4d786c0f0a8b88ef +26, 0xa52473c4f62f2338 +27, 0xe9dc0037db25d6d9 +28, 0xfce5eba9d25094c3 +29, 0xe3dbe61ee2d64b51 +30, 0x23f62e432b1272df +31, 0x4ac7443a342c4913 +32, 0xc31cf1a9658c1991 +33, 0x290c97ffce918b1d +34, 0xf54455e02e90636a +35, 0xf57745758bb8f33f +36, 0xe5e1b685122823d9 +37, 0x2c16cde0fd8097ec +38, 0x3cdebc44a5bc1936 +39, 0x6833bafa723c2dbd +40, 0xb6fa6c4ba1d3d39e +41, 0xe5b932b656c2edc3 +42, 0x9cf0b6121615c9f +43, 0x214e25d57fc636d5 +44, 0xcf3d1721806e2537 +45, 0xcf796fc6335ddc02 +46, 0x353c8b86489b0322 +47, 0xfc4865822547b6aa +48, 0xe8c93d84ee8b3f8c +49, 0xd1b42120a323f2d6 +50, 0xa73a11d247ff36b2 +51, 0xae42236958bba58c +52, 0xb622679e2affcf3a +53, 0xcc3bab0060f645f4 +54, 0x2e01e45c78f0daa7 +55, 0x8566c5f16be948a +56, 0x73beac2187e1f640 +57, 0x8e903d752c1b5d6e +58, 0x5b34681094d7511d +59, 0x70ebad382047f5c1 +60, 0xeae5ca1448d4e9cc +61, 0x3d2d62775b631bd5 +62, 0x8cb72ebc5b4f7dc3 +63, 0x99c2939ea690a80 +64, 0xf9d3061a3006c84b +65, 0xd0872c394d734a5f +66, 0xbf768c2fb70d5c2a +67, 0x9b5a7e27e4c57259 +68, 0x8e00b050a0489404 +69, 0x72ae4545fe9d40f3 +70, 0x2bdcc8dcb50cf5a +71, 0x7b20239fe07cd664 +72, 0x37b037a8ea138f13 +73, 0xa52f51f9e9cd65b0 +74, 0x5ee0b72fd581557a +75, 0x527ebb9ac92c6fa7 +76, 0xb64f03fc892955da +77, 0x972c4feb529a9045 +78, 0xa5ee146b2461a795 +79, 0xaaef1049a5bb9b07 +80, 0xbcf5f38ab6cfe9 +81, 0x16398fd1538acdd +82, 0x8a0744fd7315cae2 +83, 0xa4bf1e39de6657a6 +84, 0x685247449d0de2ef +85, 0xa48d5c8c364fb1dd +86, 0x7fbcaafb1f2b65b5 +87, 0x96f0967f55ddec48 +88, 0x30d43cfe4a788a1a +89, 0xf7b15bed8038c711 +90, 0x8db82a6db9261a2a +91, 0x94eb6a77a00e5b2e +92, 0x3e19490dbfd221a4 +93, 0x9644e15b5d0a6b54 +94, 0xe235ca3fdaeca1a7 +95, 0x2db8e0001ea7c79e +96, 0x1d82fb1d7674fc75 +97, 0x65039b3b4805404d +98, 0xd73a9fc3e975791b +99, 0x3cb72d021fba219c +100, 0x134f43cf382ea87a +101, 0x32806c8d66cf621f +102, 0xaaddf99cd62686db +103, 0x1b3e5fe6476a54d8 +104, 0xd0a2a5e803c27068 +105, 0xacfb9437a3b64c17 +106, 0x514a55b2ce7f4982 +107, 0xe0b9ee39938c909 +108, 0x66d449a98f1052d2 +109, 0x639a3b248f7b37e8 +110, 0xf0ef1ed4a65619a5 +111, 0xf010ee5ad7e74a11 +112, 0x3fbfb63d884eca59 +113, 0xdbed473e4efad8bb +114, 0x49c9bb8f88e373e4 +115, 0x251f496458b6360c +116, 0xd91a4850fddb72cb +117, 0x610f58fad3c217c1 +118, 0xbcb05e51100ad235 +119, 0xdebf8d6ccb4a94db +120, 0x297499be7e8fe7cb +121, 0xade854104ecd6600 +122, 0xe8924c68f96b97ba +123, 0xea4332df583b4cdf +124, 0x3c5950e1726a6684 +125, 0xe78baf12ad096b30 +126, 0x130e9517756e2908 +127, 0x2519a50a14a2bdaa +128, 0x548b96fa23c310bb +129, 0x689bea6fcb7a7b18 +130, 0xe500c168143be7b8 +131, 0x6615695d45714ed3 +132, 0xf58a87a6e82fcbdf +133, 0x77d9730cc4ebf311 +134, 0x9b3a449299c50530 +135, 0xfb5d93b0b60f022b +136, 0x31bb49a47b615ca7 +137, 0x5be9713f591556b +138, 0xec54b51a1185183c +139, 0x4dca5482711b4718 +140, 0x4cbe1b130e66cc8d +141, 0xe5ab874359671f11 +142, 0xadb342dee0eaaae5 +143, 0x7a9f5af1a3e89a24 +144, 0x83656d5ed37512b6 +145, 0xced3c2b8c231d286 +146, 0x575139132aafc520 +147, 0x2fc986b84ae150d0 +148, 0xf1e782d83e9bc699 +149, 0x1855c5fab454eb48 +150, 0x8c397cc4dfbdac0 +151, 0xca53a1df39daca62 +152, 0x8df17bc285c6c2d4 +153, 0xcc409e9c492ef29e +154, 0xc6609bf8eaeaf753 +155, 0x4f0e6d330e6647cc +156, 0x32a255fd34f2b58f +157, 0x26352ca3cc29b31d +158, 0x695c88b11a7e549c +159, 0xd91ec977523e201a +160, 0xd8e5a42958325ba0 +161, 0x481223fcbeec1f35 +162, 0x601cfbb9aad67313 +163, 0xfdcac7d3cb1091ef +164, 0x7fdc76c0a076d6fd +165, 0x394266448a75927c +166, 0x63243918d6fc4774 +167, 0x6ccfae907e52cc2e +168, 0xd4ce6176046ae4a2 +169, 0xa9818d710c31aa3 +170, 0xb8e803b82ca561b9 +171, 0x620b905a8425a1cd +172, 0x2443dea6bd2bd617 +173, 0x447fd94cd80faf23 +174, 0xd4f30e2a5c7767f2 +175, 0x11298de19077eccf +176, 0x35154fb0148fa69a +177, 0xed42b9c24ebc4d19 +178, 0x422724f98f4c3a1b +179, 0xd81cc933854afa52 +180, 0x54e2a03657411d03 +181, 0x8f12d5fcccdafb4a +182, 0xd91ebb398426414b +183, 0xb5555a96d9221341 +184, 0x6073189316d5f1f +185, 0x8a488d8d9c40366a +186, 0x109f57d19c71381a +187, 0x4e043cb3d78b4fdb +188, 0xa541464ecc30b27d +189, 0x15c2bf30d64900 +190, 0xa65cd77083ee4f66 +191, 0x1b98efd8729f2197 +192, 0xe954f9556e7cd0db +193, 0xb775e8ed94ede03b +194, 0xc3ef1f33db52eb8a +195, 0x21eec6afc3a045bc +196, 0x3d09338405d07ee1 +197, 0x501d08ca80daedff +198, 0x855f69bea1e262cc +199, 0xc88e6c97b5071d6c +200, 0xad42750a0f79e135 +201, 0x19171caa21061657 +202, 0xa337869a65c8d18f +203, 0xfb0cfae4b3cd24a3 +204, 0x43140ea8817faf71 +205, 0x895807fdf0d19712 +206, 0xb0c14c560e178c2d +207, 0xc47b4af3c3bb4789 +208, 0x60cafedf6696b7a2 +209, 0xf658b394f9697989 +210, 0x45d29b40a0ca3f86 +211, 0xb881cbe06cf6c2e3 +212, 0x2f045611c5d42ecf +213, 0xf011ca853c07b2a6 +214, 0xe078befb5dffff49 +215, 0xc2d1b7728fbc0ef7 +216, 0xb3ee6d8225161ee6 +217, 0x82e51268e2c152e0 +218, 0x6d79b320e5c33a15 +219, 0x1be56b3144ecab7c +220, 0x8e341dd781b3dffc +221, 0x50310327c0b03198 +222, 0x22ab06d620970b0e +223, 0x6b542de2f5625eb +224, 0xaacc9d5de070b881 +225, 0x21581365a4307e9c +226, 0x1a09b3443a155c66 +227, 0x2941d8614648c4cc +228, 0xbc4175b682a7f884 +229, 0x9cc92ed166c9cf23 +230, 0xc765ebe7eb3911b2 +231, 0x2d169ff7cc4369ee +232, 0xa3070da6835f0a0c +233, 0x827d253009c5d376 +234, 0xf23489deaf0450f2 +235, 0xc5e5b1ba6d4550ec +236, 0xa42ce77e33e206a3 +237, 0xc096f2576edc6a17 +238, 0xc4fa32113d4200d +239, 0x9bf6baf90bdf4ac +240, 0x47dc4d9bb5714a26 +241, 0xd58f0327551e948e +242, 0x9b1926b404a93ae9 +243, 0x6034442c56b4a50f +244, 0xe29e9c6881a89f9b +245, 0x79e49c426f3d4f3f +246, 0x75ba2077148ff864 +247, 0xf5dec8c46426e9c3 +248, 0x6affed5e72eacc9e +249, 0x1e4dcd0029679920 +250, 0x6470439685e44054 +251, 0xb156aa42e8413254 +252, 0xf6529f57a03df828 +253, 0xd706ceb3bd1c5f22 +254, 0xf8a3b615eaf44c9f +255, 0xfb33215a60fc88a +256, 0x53b93d040f72e76f +257, 0x4f67360a5c6ed447 +258, 0x600e87c4cbe6910f +259, 0x729ea44a3706a389 +260, 0x924cbabe379237ec +261, 0x618aeada6735f6cf +262, 0x12b4a8b32ecefaef +263, 0x7b129ddb43b182c +264, 0xd5466dc1e1de15cb +265, 0xc2e35a196a6e1efc +266, 0x8cdbacc1fc81c786 +267, 0x28b96b91b1ca9672 +268, 0x10e2a0174fc6f81c +269, 0x35ae5c9a74f2e2d8 +270, 0xc18f6c052b7f28e4 +271, 0x4f0abb08fa0bc2d1 +272, 0x84ab0e1b7c7cd062 +273, 0x29dca86fd5f5927d +274, 0x50fb63fccba90590 +275, 0xb7a60466af0de98c +276, 0x47baf40463bbd343 +277, 0xc72942184061bb8a +278, 0x2d55077237a2ce6e +279, 0x2f6b743bc35768e7 +280, 0x96975e80bfd6f74e +281, 0x77f334f2537aba60 +282, 0x8364264d2947b429 +283, 0x7e62c258f591189f +284, 0xe1a0962ad2d4f7ea +285, 0xf7a81d56b651d434 +286, 0xcbb9abcb6ec96876 +287, 0x7028c3ceffdccec1 +288, 0xa0049e182130928a +289, 0x79dab180c238f06a +290, 0x1eb3c704ecfa28db +291, 0xf9db38cf45524135 +292, 0xbf8f3bccec0609a3 +293, 0x5f0f2a25bb3ed38e +294, 0xe365cff62ec9287f +295, 0x9f5481118acd2a76 +296, 0x99296bb12e697f0a +297, 0x76aaf656bbbf9067 +298, 0x7d81ce20bb4461cb +299, 0xefb436add3cace0f +300, 0xf3ba4a29ed722849 +301, 0xc4cde39ff82317d +302, 0xad2bc44d417453af +303, 0xb36a704f170f7edd +304, 0xcdf268d6b5e2b5fb +305, 0x91aed4730adf51f2 +306, 0xeb2a37825e8a3de +307, 0xe79d586186766a28 +308, 0xc8bc6d8a5660356c +309, 0xafeeee51b23f4a5e +310, 0xfea1ecb5f9b17114 +311, 0xf0882ad449c3a225 +312, 0x8c0d387e9b4bbd68 +313, 0x39f2c8fdbdd00e8f +314, 0x830705f2260c2ef2 +315, 0x9bff6be123cc50bf +316, 0x99e33829b97434e4 +317, 0x6059a38e8957661f +318, 0xa77e6d06957108cf +319, 0x1e719fd3e756823 +320, 0x4564dd6be166e176 +321, 0x6f6a8c540e054563 +322, 0xc800237b21dc0e2c +323, 0xc6c3f2586f8d3062 +324, 0x85c469664e405a28 +325, 0xf5771300e8da6169 +326, 0x5f79c23a5e6807e2 +327, 0x593bbb0ce26b72b1 +328, 0x7e2e976e8309dff5 +329, 0xa543c50aecd30c5e +330, 0x7b71758289d403bc +331, 0x4a01dbff8cf37014 +332, 0xf1dee5472a53176f +333, 0xd82c78d69f2bef7a +334, 0xb63903647ded6604 +335, 0xe695634a32b0d1fe +336, 0xf89cec17a9792c77 +337, 0xcbb131921e8fad4d +338, 0x9425521c6c62076d +339, 0x18fa2dc92d99a3bc +340, 0x5d84f4a98055086f +341, 0xcaa5980ecaba579 +342, 0x2fd8a209612e2b2 +343, 0x1be8b333fae80866 +344, 0x99cd4808ba7c60f1 +345, 0x107242d94ac9d491 +346, 0x873838793d69cb0d +347, 0xce87b21b6eeea0a5 +348, 0x6831420da8fb877c +349, 0x1f51fe6670631366 +350, 0x9c093d89ef323dda +351, 0x3384d45cc9aec1b9 +352, 0x144970e9a0e6f741 +353, 0x3d8deffd6db78721 +354, 0x272f876c2821800a +355, 0x66eede1f8eb0bba9 +356, 0x6b85a48c6fd8dfac +357, 0xdeed765c9682da9 +358, 0x5956688ac942fe9c +359, 0x408147c1fe103dba +360, 0x8a5545b07bd7d483 +361, 0x2c8379adb00ea5c2 +362, 0xb9f96c9acd18c563 +363, 0x18e6e515e8c11ad3 +364, 0xf4c78395a36665f3 +365, 0x9319b999d50f42f6 +366, 0x1d9e89e8d5e22c8e +367, 0x7df15c14581535d2 +368, 0x214e3cf405b8b36f +369, 0xe11a168e3a824980 +370, 0x74998ef104966497 +371, 0xd6fc353bdca37cef +372, 0x48a55220b4fa6e1a +373, 0xbe2c7cfc7c08dc03 +374, 0x26c837223b6cfd46 +375, 0x22163b501aed055d +376, 0x946537d01e261110 +377, 0x39b4c0b78a79402c +378, 0xa68b2d66140ef79e +379, 0x8dc84a722b56fd9d +380, 0x6f32f10229bd5c83 +381, 0x722074979bca28dc +382, 0xd942d9911e43d52 +383, 0xf720ad0e5adada4a +384, 0x69fe38d6baa562de +385, 0x29a7488cb00fbc49 +386, 0x4d40dbe4a23b6c94 +387, 0x6bb39808bbae9d62 +388, 0x8b80231a7369e915 +389, 0x14bf8e755f80b050 +390, 0xf19bb00604d00336 +391, 0x552db8387eea31a7 +392, 0xe9ec067b59dd95e4 +393, 0x3d71f663886c520 +394, 0x97bb54095cd331e4 +395, 0xea3e829f0695cfc7 +396, 0xa93188e41583162f +397, 0xeeaabd3e3df2f07c +398, 0x291f70992ab1c5b5 +399, 0x55183a8b5857a080 +400, 0x7df148caba2c4978 +401, 0x84f178764bffc05e +402, 0x5acea77fb3139b5e +403, 0xcf57693ff3aa5f39 +404, 0xa0867abf8c89ce6 +405, 0x597f8192569e2971 +406, 0xf90a8e47c1271e18 +407, 0xbe5346e3fd0c12a4 +408, 0x524aeaa307d4b03b +409, 0xef3d68937d8270c8 +410, 0x3e73d03007156d55 +411, 0x94cc96dfeb586897 +412, 0x14e7a22da35e8923 +413, 0xca6ecc61d3cea9bd +414, 0x6044eca5a760cfb6 +415, 0xf4ed4f4f21933f13 +416, 0x99b923d7f9925de3 +417, 0x394b054ab147ae41 +418, 0x9afb74bbca1dcec6 +419, 0x830b9ee9e52b9234 +420, 0x83712e27c87cc4c6 +421, 0x7f025017de598df8 +422, 0xb3ea4ab92495a788 +423, 0x602a7c66750a2047 +424, 0xa15ca212f5002047 +425, 0x8aa5d8a19b1b7efb +426, 0x2852eaeb46dd9d21 +427, 0x605f261b8b77d3ee +428, 0xeb27c54d4359e1fc +429, 0x77e4aa530fbb27c8 +430, 0xaf06ddf2d74745bc +431, 0xe88964e4b8d79ede +432, 0x2192553c0ce6a4d4 +433, 0x90997c5c0cf3b6ae +434, 0x1153fc6436d48bb2 +435, 0x1703c60eb24cf506 +436, 0x116d8f4e35d51cbc +437, 0x5045a10f0131f6d0 +438, 0x1fbb76ef3c622e03 +439, 0x7d33bb57dcf79365 +440, 0x1ef362b02c379673 +441, 0xdf7a4a6801ca903a +442, 0xc784df93dcbb07f1 +443, 0xbc566896f2d86db9 +444, 0x72a169884d76aa42 +445, 0xcb65ab4ad4c8a6ba +446, 0xd810c9a3ee62ed3d +447, 0x7652322c4f6520d6 +448, 0x3ad4dc2bd6e4c8dd +449, 0xb2269d6e73a22c6c +450, 0xcbfdf90c34925001 +451, 0x2bb66613fbf8044 +452, 0xae9c53e815bc69d1 +453, 0x452d886b5a7407ae +454, 0xa7f3f05dfb111951 +455, 0xbe05cb088f4dc330 +456, 0x9b740a460b6ed662 +457, 0xd77a324b60f8c74 +458, 0x60ae94f69dce3f29 +459, 0xd04859db7833712a +460, 0xb90030c4a70c588a +461, 0x25dd21f6ac7df8d7 +462, 0x162154fcf4832a15 +463, 0x15947a2bbf844bae +464, 0xa20559f3a662a753 +465, 0x6dce918dd48cad0b +466, 0x32c5a086331216f4 +467, 0x3a683208ae4f86c4 +468, 0x1ecc2982d1720167 +469, 0x2b3017d572f5c7e7 +470, 0xd7861e549dc1fdcf +471, 0xcead2c572db0b00d +472, 0xbbb4afca7e873a92 +473, 0xada92286d14a0d26 +474, 0x7af00766c03cfd0d +475, 0x2353443fbef8f013 +476, 0x35291d9ea26217d9 +477, 0x9d907261f3f7ea54 +478, 0x6f11649f6c3b69fd +479, 0x36d9e3bf31b6b209 +480, 0x5f420540094e6bb9 +481, 0x980dc001315d9d33 +482, 0x1e6023baca982809 +483, 0x28441f8357769aa6 +484, 0x4acebf5fd0e84d43 +485, 0x9991e19a0f1ffddb +486, 0xea4f7c944b325d2a +487, 0x9e44a24cb37572c8 +488, 0x2949063600779260 +489, 0x313e58e1433ffa40 +490, 0x6eea07e56604152e +491, 0x47dee53a41fe61c7 +492, 0x21e6dc482e5df531 +493, 0x4c43131087191e79 +494, 0xb378e632ee28fb31 +495, 0xc1b106afa1c14816 +496, 0xba150956e0c630bb +497, 0xc5b64d8037dbaab6 +498, 0x47325510456ecc3 +499, 0x61a6f425ff2b555 +500, 0xabb9fcb3865a8ce0 +501, 0x7eaf52f3aa10b66f +502, 0xd91cf6b8600c7115 +503, 0x18eb54dcfb1b20fe +504, 0xc8911ada29a3162e +505, 0x6cb29138cb1ac68a +506, 0x4d0e9884ade85482 +507, 0x4cad40d37b3ec8f7 +508, 0x9467d7a7b34753a6 +509, 0x45f84f5e5a26175a +510, 0xd8753f7613d5ce77 +511, 0x86d400a246e8d128 +512, 0xcb8946c9f2c10785 +513, 0x89cb7c5c5ab35ff3 +514, 0x7bb60eaebc69a3ad +515, 0x534f554712b34d6a +516, 0x5667fa5c9b731343 +517, 0xeadb76ebcdeb49b +518, 0x3485b0afe8caa42e +519, 0xc78c543b4603f643 +520, 0xa8f3fc1217b9b77c +521, 0x44ff6333a229924d +522, 0x426e31b858cfcbd1 +523, 0xed5964b45b66718c +524, 0xac18d6cbcbca89ee +525, 0xc78a8bf4beffcb0e +526, 0xbd0d95b77da79de9 +527, 0xac7b69c368ad88ff +528, 0xbb729daeb9f32b7d +529, 0x6d5dcb59284675b +530, 0x4aa9af065367853c +531, 0x40de557a4730f8dc +532, 0x6b35765ddcb83237 +533, 0x7c4cdacf0801f9aa +534, 0xcd723c55ccc75d2f +535, 0x86c67f52807c3f64 +536, 0xc597a5d9141cf5eb +537, 0x6c50d3307da89da9 +538, 0xb2e259cf10ef27ff +539, 0xcf6862f7235a11e3 +540, 0xb60e07d1d6190673 +541, 0x69de7facea0c2233 +542, 0x19e548a3950a2d1b +543, 0x6028bcf0501a1d75 +544, 0xbe060ad84380878a +545, 0x425f528fa11f5584 +546, 0xeb64fdc71b8a0369 +547, 0xdb1d4fd9af7fc48 +548, 0xc32ea3df9267e071 +549, 0x9f0b4d409a6b7db6 +550, 0xe8e1ccce740c6369 +551, 0x8d0939433ef9c005 +552, 0x7b1a1969142d70f7 +553, 0xbe055803167b4dd9 +554, 0x3d525b7f29e2a20f +555, 0x2b58ca2bf659dfcc +556, 0x1884346d743d5753 +557, 0x3e5e6a992abcc639 +558, 0x334bed0210a5a1b9 +559, 0x545bd4a1c6a6ea3a +560, 0xdc1d84e28f8b4ff0 +561, 0xf3608d9fea1e61d +562, 0x639fadfda3d29b81 +563, 0x1a4195ffb607cd4d +564, 0x823bdad2efff1975 +565, 0x5fe15698d33ad156 +566, 0x961e7fcba86b8dfa +567, 0x9b7536cd3c368430 +568, 0xf9b9c01121a82eaf +569, 0xa3f39bdf6f8668f4 +570, 0x100ae93ca508d02e +571, 0x88de050245f0f9b2 +572, 0x4ca1e3a7fce0a942 +573, 0xce0366d47e60adce +574, 0x3f00fa3b552ef6c4 +575, 0x718ca18c97de55ec +576, 0x2705ca3caa5f047b +577, 0x8e9a4530bbabc87e +578, 0x57f73f76c2365c1f +579, 0x5783c7e50c89e813 +580, 0xeb0899277d5a0925 +581, 0xdc28a57fafb04818 +582, 0x7cc97832d2b3509e +583, 0xe937c3407bc84cdb +584, 0xaa2714014f14802f +585, 0xaa0b844baf434250 +586, 0x98f6097049cb2931 +587, 0x65d93055db2280e2 +588, 0x401e59aa74e005c4 +589, 0x8540018c086c5678 +590, 0x1ebd2b7c3093183a +591, 0xb015ff173910186c +592, 0x628d0a7cdcb5ee78 +593, 0xe6bcce512cb94fba +594, 0xf2112d66f4ad825e +595, 0x143ca3c833cc6119 +596, 0x141f17377db25eda +597, 0x2b5abd96ffa1cbff +598, 0xffbc3baec2fce0ae +599, 0xfb7ef6be757ecaf +600, 0xdec0e0b34488795e +601, 0x4b0cb9bfd1759241 +602, 0xc1ec90140a15b4e +603, 0xfc16386442e70156 +604, 0xe3f12f2adf688d91 +605, 0xd53b2d7bea9c8380 +606, 0x81cc446202a2ed5c +607, 0xe70e3ad34c0b8ea7 +608, 0x5f33526009e7fab2 +609, 0x6e33d20305b8c75c +610, 0xd6d534dd9461ac91 +611, 0x40cf8974d7c931ef +612, 0xb051886f44a85f34 +613, 0xbee99cf63e9e4ec6 +614, 0x80d5c210e7e8f3b5 +615, 0x182817a277213ba5 +616, 0xb57e1fcc3fa01e29 +617, 0x21ef9e484821c685 +618, 0x40e0bdb94b52f6b8 +619, 0x3993c9973c999499 +620, 0x324fe4cdacd0c7f8 +621, 0x2f276173f8434ce3 +622, 0x16f1f99b426e931 +623, 0xed2148eb554f6965 +624, 0x2f164f3156c8ab9a +625, 0x8fa66f8b7bdd6fbb +626, 0xa7facbbc6906343e +627, 0x4903fc405e661d8f +628, 0xd5e01a117658e004 +629, 0x327b0a3517b49e0d +630, 0xaa7f3a3a33033899 +631, 0x8e978760d337249e +632, 0xe4706aca37516d8b +633, 0xd3cb6f75b94f094f +634, 0xd2b9ab9715999627 +635, 0x807694f77b219f34 +636, 0x33b79cb95dc4bc0c +637, 0xc50b1dd63a993db +638, 0xfee37af82faaec9b +639, 0x9fdacc70effcef2a +640, 0x1bf998ee028c7d6 +641, 0xfbdff299a6531fef +642, 0xa108675116536b22 +643, 0x1527b4dc58905dce +644, 0xa7707694303577ce +645, 0x9b13fbc46e340e5e +646, 0xd020c010ec0baa5b +647, 0x384c228b30f40579 +648, 0xdc323bc7fdd5453b +649, 0x4011efb021d86d0e +650, 0x73540e72fd3d5c1a +651, 0x9584873c3d070ab8 +652, 0x5b49b14248e8bf2a +653, 0x9ac40d57d39d5919 +654, 0xe0c05768df113539 +655, 0x139cd4f88a7574b7 +656, 0xb9b32474195fd2cc +657, 0x77da8950d9fb2c98 +658, 0xdff0beffbdaa4b7 +659, 0x7d7c9554dc45fa9c +660, 0x105c2efbf8116c04 +661, 0xe62b22435244a315 +662, 0x59a1e2fe06fd3544 +663, 0x328af98625a31053 +664, 0x7e03a7ec81d1a078 +665, 0x94fe2cf6653e116c +666, 0x333fc9ecf8a43b6c +667, 0xb3828218cd24f83a +668, 0x9c3fd7d848f20cb1 +669, 0x92ce295ca15436f4 +670, 0x6f088c41b55b1c1 +671, 0x57392e60bd643a69 +672, 0x6e02f429d6a11733 +673, 0x2ebecbf5bd43e0ca +674, 0x8dd7afdc5552894 +675, 0x2114803fc6503fcd +676, 0x38b1873ed0ca3e65 +677, 0xf32c628f60a36bf5 +678, 0x8552202e20fb7342 +679, 0x4741fe855aa0336 +680, 0xca4d638854de9454 +681, 0x183078fda5d360cd +682, 0x6ae60d39e68650d8 +683, 0xfd0a1e80aa46b9f0 +684, 0xdc14a1d6b0901901 +685, 0xe54df01d09b44bb8 +686, 0x309de938e8d717bb +687, 0xa5a2a2e49b9c36fb +688, 0xb38be8c575c56063 +689, 0x770e5929cffdf3e2 +690, 0xcee13e2c47cf9f56 +691, 0xdfc2db4af23da4a8 +692, 0xe1c7dcefa31d46ba +693, 0x350e999c00e252cc +694, 0xaaffdb6ca58b7dfc +695, 0x313d23d88402948e +696, 0xc3ac1498a730309 +697, 0x69350ea02740c143 +698, 0xec0d5c624376e45b +699, 0x9b49e00d551bea96 +700, 0xe6427840614e80e2 +701, 0xea27953175e05f6d +702, 0xa2861b02743e8d50 +703, 0x35b2fbf59ddfe5ca +704, 0xf25726ec3bdfbdd9 +705, 0x71aa4383b0aa4630 +706, 0x4cf3f7708d98f205 +707, 0xa6e0108f77f1318 +708, 0xcaf0b81e3222bd69 +709, 0x6b18e84e511d1b43 +710, 0x2a53e20b2f706858 +711, 0xe14599cf85db7644 +712, 0xb7a31525aecbbf69 +713, 0xfce7e9b5211df2e9 +714, 0x3f71617fc291625a +715, 0x6164e5c8ede33272 +716, 0x43a0878da9fba4f3 +717, 0x491992fb5ce344d3 +718, 0x204b93918277c357 +719, 0x31189377f32f958c +720, 0xa8522eef63ec4e04 +721, 0x52cb2d449d63dae1 +722, 0xd3ab20f38e44122f +723, 0x9738796a2cf5f72e +724, 0x61335538636be0f2 +725, 0x4dbd8fd3e18d9368 +726, 0xc4d395b525170e36 +727, 0x363d2b24bcb72ea3 +728, 0xfcedc59fa0ac0b2f +729, 0xa00cfc5984f4c62b +730, 0xaf0ca1028edd76ba +731, 0x4fdf988297f27aec +732, 0x891a876ecfe4a5d +733, 0xb638f6971c14c255 +734, 0xff63c7ca4d499307 +735, 0x1ea43f18f530449 +736, 0xdbed5a3109ff48e6 +737, 0x2b01c0495e6edab7 +738, 0x87c1b49da18fb9b8 +739, 0x79356a301557c23e +740, 0x3d83db604937cb9 +741, 0xda4471e873ed75ae +742, 0x7a9bff590c3ea65a +743, 0x63ed127445a08bec +744, 0xaa232e05b3fda15f +745, 0x643873aa525504f4 +746, 0xfa708f34ec5c9692 +747, 0x4817b5bfefae32b7 +748, 0x5c7c79edec1297bf +749, 0xf06513dfd2d4a290 +750, 0x7f0cd3ca9c36631d +751, 0xdebf1b00e7838d3a +752, 0xe46004c03a6468 +753, 0x6b1ee341cf3319c5 +754, 0x765793cd734155d8 +755, 0xddc037ee2976777b +756, 0x7d30119e994c6d06 +757, 0x372937236b1f1f03 +758, 0xbb2aa1c9ed2b0dc0 +759, 0xd0962de2eab2b6d7 +760, 0x7f80047fbd8ee81 +761, 0xab546293b8136f47 +762, 0x71b74ffd91794bc +763, 0x3fc7c2e20a88d11b +764, 0xedbbba9528be628c +765, 0x4c29f32b97788b8 +766, 0xe721ed4b5dfb4aac +767, 0xf1877d8e4eb87386 +768, 0xf399f60aa3ffdcab +769, 0x73c7f48a0571873d +770, 0x89a1c8b247a63fc1 +771, 0xb3f3a37f25f0eb9f +772, 0x24dc12bfb6030b32 +773, 0xd070cbfd0e221c15 +774, 0x47dd6c8f9e3ec6c5 +775, 0x18b5e8a79e8c2717 +776, 0x46762bb85de44be0 +777, 0x4aed493495d044dd +778, 0xc70422a4f09c5594 +779, 0x128787d3470d0a3a +780, 0xf6a925f9e15a22a5 +781, 0x86e93253485db4a4 +782, 0x5023f2e2dd23e974 +783, 0xbdb6aa877c3fdde +784, 0xa0e3237b79a5b74c +785, 0x1eb41a88cfb42b8a +786, 0x49a511f7a0a022a8 +787, 0x85596ed41f1986ac +788, 0x5e572dac0265d4c4 +789, 0xf573b46d65cac12c +790, 0x33427b16cca1ac0f +791, 0x8d4d024f8bde011c +792, 0x91dddd48b91c52da +793, 0xbc5b67a1104d4c2e +794, 0x104e90822e17122a +795, 0x8be8c4e394ce3a1f +796, 0x581426b9c905f36b +797, 0x2666efb9cac21f5d +798, 0xbf8d3e5f295060d1 +799, 0xa04598c9d6e237dc +800, 0xa9fbf5516c7b8911 +801, 0x4c6ec7e0401140f6 +802, 0xb50cc45e1895ff0b +803, 0x453c3801b4bbf75d +804, 0xde80964dde83a7ad +805, 0x1e17250043629e63 +806, 0x84d3aac71f95b6e2 +807, 0x38176666a55a3fd3 +808, 0x6433ac841c48a95e +809, 0x5ba64539f33f48a +810, 0x48e5e074f832729 +811, 0x3d1fb01607adc32e +812, 0x63b22681ceb343af +813, 0x868b07d09e57b86b +814, 0xf98212b744a71fca +815, 0x797843f3fd5e0ef5 +816, 0x6355bb33b59c84e3 +817, 0x6a6a1203c7944f31 +818, 0x177a4be397cbf761 +819, 0xea8fb29d82135b94 +820, 0x689c505eed27c67f +821, 0x50cf765dcfd4e619 +822, 0x948e20aaaeb69e93 +823, 0x660761db84df481c +824, 0xac2c2e1ebaa60049 +825, 0x81f9a054209afa66 +826, 0x66ba9ec387a82b65 +827, 0xfd602aca17e4932b +828, 0xa4aac8d6b22f5705 +829, 0x994f7b582d826f84 +830, 0x9312d16bbe890581 +831, 0x3079b18f5f44e9bc +832, 0x8ef5489a07ee6327 +833, 0x6c9f0fc8ecd29e94 +834, 0x7c603b09eafe66a3 +835, 0xc084c72299ff49c9 +836, 0x10459931d6387460 +837, 0x97908e3a98efa125 +838, 0xd7c84c45ecc2531f +839, 0x90c7eb8b1c222f5f +840, 0x74781389c601e45c +841, 0x176e7351d5f5489a +842, 0xa8d555a9197d890d +843, 0xdf3035da9ec119a7 +844, 0xf2cfdd14cc4b7db6 +845, 0x70aed924a5a1fdc0 +846, 0x4b993be0711bc5f2 +847, 0xb712037cce51b6fd +848, 0x97ca679baabf594f +849, 0xde014850ea7b8e93 +850, 0x39be8272136c2a28 +851, 0xdd6ce923c7574ba2 +852, 0xb999537b19fc106e +853, 0x3e421eaf2d0ae00c +854, 0x3ee73eab1c009f68 +855, 0xb6c3187e644c0ec6 +856, 0x32375e8c4fd12e29 +857, 0xacc6dde27d3ab697 +858, 0xd0c6da152a9d13dc +859, 0x2d93991d56d475b1 +860, 0x91f676a136ea942e +861, 0xdba3c630477ef627 +862, 0x9832442c2743f71d +863, 0x327f4b8d08f42ad6 +864, 0xb11d32b9aa369c95 +865, 0x8f3b53aa390b4e05 +866, 0xdd2b5c796526856 +867, 0x5f4a6d26e7266e74 +868, 0x92fc04aa4519deb5 +869, 0xaf5d104350902604 +870, 0xe92ee9d9eb83d48e +871, 0x92e49c24b74d10c1 +872, 0xbbcb775e1df3dd9f +873, 0xa778bc4153b74d87 +874, 0x2c5cb1cb460778d +875, 0x204b96da5ca032a3 +876, 0xf8ed00512b2c8054 +877, 0xecea085421d30bd5 +878, 0x9b9b2f6891954ee0 +879, 0x210f39a3b60388e2 +880, 0x71cf1d4f49716e96 +881, 0x831f11200be69b03 +882, 0x47cf8470f8e9f115 +883, 0xb0b9621c996452dd +884, 0xf5511dede5b32628 +885, 0xd48b9e4296cd4180 +886, 0x6ab70c3334f11aa1 +887, 0x4ebd26c8decac629 +888, 0x71aefa349216bbb9 +889, 0x37a5967b8b366498 +890, 0xc825ba8bb37e04d0 +891, 0x3411fa5b43243230 +892, 0x32ce54ba8dd0106e +893, 0xa8a0446814fa43f4 +894, 0x9905b5e6d05924df +895, 0xb226af8b15ce9a5b +896, 0x594bed79eed4e4d4 +897, 0xeb6c283c67b0eb18 +898, 0xde5cb33d3dc1d629 +899, 0x1b57482ededa779e +900, 0x1d07de9f3796453e +901, 0x3d1b093a3b2f673f +902, 0x7138dfb52b1e19f9 +903, 0xefd791255568c006 +904, 0x5e9f6ea3fd02d382 +905, 0xada1ec576dedd60c +906, 0x894f3cd4d0463181 +907, 0xf8e46d0e8c179157 +908, 0x53234c91c74681f +909, 0x458491d26dc655b6 +910, 0x2dce3244020c6219 +911, 0x6815f50060ce3a58 +912, 0x13ec2d1c70067d9d +913, 0xe252832edd6cf225 +914, 0xd6656ac22edd7a1e +915, 0x818d3bb5d04315a8 +916, 0x36c302529a73033f +917, 0x1a9c6b44ccefb355 +918, 0x99e5dac400256022 +919, 0xdcf849ba5115f17c +920, 0xdf9c1238c38b6ad8 +921, 0xf7d9422477cc5cf8 +922, 0x6e3ccc5e484db3f0 +923, 0xf9f5dc3936d5ce41 +924, 0x4e42a060e0fc7c13 +925, 0x9789adf2f7e0b250 +926, 0xd12a569e95979840 +927, 0x14b652c51eadd0c8 +928, 0x2d8d9baea2c7a8ab +929, 0x9589291913c9345e +930, 0xc3e994adc95fa2ed +931, 0x30ef4019e04f22c2 +932, 0xae4d6ac24e6a42fa +933, 0x14bf6dd1873be03f +934, 0x48e3731b4088a6df +935, 0x66b6f14a28de0cb6 +936, 0x825b0e7560fd526d +937, 0x334b0c5989386158 +938, 0x5a4a0353e701405a +939, 0x11844bcfdda17e36 +940, 0x737420216b683159 +941, 0xcdfda9150023d465 +942, 0x3ccb1da83154f7d1 +943, 0xca0ed9ba34067fd7 +944, 0x5ca93550b1ccb1ef +945, 0xd52bf628b920563 +946, 0x239147f7b5d9e31 +947, 0x70457bc990dade04 +948, 0xec5a8e4749adada3 +949, 0xd1aed177de970226 +950, 0x537d06d8885531c1 +951, 0x4f83c7fc8e711e0f +952, 0x412b2d578e62a0ab +953, 0xcce8d0bc4f4d4e57 +954, 0xabd3b7802f2d051d +955, 0x76721bb6d8b97e0 +956, 0x217c77ff302ff9f1 +957, 0x19ea31efebc3350f +958, 0xf4a3f147857e5cb9 +959, 0xe802bf7f519cd61a +960, 0x1c8d02dba97d6e3d +961, 0x78bfb57b9bb0518e +962, 0x8a48af98c6df1ca5 +963, 0xdfac5ac680503f7 +964, 0x4a9e3e96d9ea260 +965, 0x5f1931c9a7dff2a2 +966, 0xc1968e6cbed5f888 +967, 0x8eb493f97aad3ec4 +968, 0x90f2abe998c8ef87 +969, 0xc6aba12513cfbb3e +970, 0x2c0ed550f9c796f +971, 0x444fa35f7d9fe383 +972, 0xb5f04f695ecab10 +973, 0x3385d267df3349fe +974, 0x4c70e55fa2bbbeca +975, 0xd10dec43a2c0bf05 +976, 0x1ca77c39862fc552 +977, 0x9cbd688dfab24fc4 +978, 0xb7fd22171296a3d1 +979, 0x1183b02b50271be2 +980, 0x883a7e16e7e0a424 +981, 0x10d83194ac141f1a +982, 0xebe3d57aed64b429 +983, 0x50b227d667b4cab7 +984, 0x5ea269feb856345d +985, 0xb7b31144fa8d0f75 +986, 0xb2a4ee8f1fe24113 +987, 0xe630bafdf1401749 +988, 0x2a5fa38d1f97c355 +989, 0x26ce612a57a75fc8 +990, 0x657f3a8955ebe69f +991, 0x6ce0b006f4ee7ad5 +992, 0xb2394f5046b31e22 +993, 0xe778365c658b2739 +994, 0x98fd9744990f5bc7 +995, 0x46218fb884bca27 +996, 0xe1b5e671a5fa3f4a +997, 0xcde973df241f948d +998, 0xa797c49a69f2eaee +999, 0x7aac8c483a2edd2f diff --git a/numpy/random/tests/data/xoshiro512-testset-1.csv b/numpy/random/tests/data/xoshiro512-testset-1.csv new file mode 100644 index 000000000..78fb903ee --- /dev/null +++ b/numpy/random/tests/data/xoshiro512-testset-1.csv @@ -0,0 +1,1001 @@ +seed, 0xdeadbeaf +0, 0x876912846bc23b4b +1, 0xc392a0d7b1e2ce1d +2, 0xd280aa92dbaf6c20 +3, 0x9a545c48769bcb4 +4, 0xba901708334ed1da +5, 0x5d5c05bee6575bba +6, 0xdd35b1a2950ba097 +7, 0xa683f4f912b2de7b +8, 0x9bc8ba4aaf061f16 +9, 0x592c9c1eb898e661 +10, 0xd4c45a31e8d0ea2e +11, 0xd0f486ff8d15aa20 +12, 0x9f476a2094cf2e20 +13, 0x5dfeca30beb341f2 +14, 0xd148d9f7909fce1b +15, 0x77dee98756ef7ccb +16, 0xadc9df01bd7ca503 +17, 0x3d3395384db35e21 +18, 0xedb29f73f3497e33 +19, 0xe8064a9d95ad523 +20, 0xf371e0481aaac707 +21, 0x20ceb788ef6cc7b0 +22, 0x322843da066393d1 +23, 0xff5b70b598091031 +24, 0xbf92dd18de3e50b0 +25, 0x34c53c75dfb462e9 +26, 0x862b38ba34e2074c +27, 0x71d7fccd15ff2980 +28, 0x57659fb10e0a2e70 +29, 0x504aff6ae76bca79 +30, 0x241e0010547d002a +31, 0x6887bf03dd4578e +32, 0x3b74f448c5b5503e +33, 0x893c36f91ae88b29 +34, 0xc997f52382a03491 +35, 0x64d70ecd46d0d3d4 +36, 0x7391b3e2b46ab3b +37, 0xad0cb7eb249d1562 +38, 0xad8c488df7a6abd8 +39, 0x821201a7bfd18bfb +40, 0x13281b52ed3db7ca +41, 0x5fb74a1925cdbbad +42, 0xa0a82244150ebae7 +43, 0x33a699202c3e9777 +44, 0xaffd2aad50ab609a +45, 0xd0b2cf8e469a6ca1 +46, 0x9642269993d293a4 +47, 0x4726480893b8003d +48, 0x43927da186b7c458 +49, 0x48bea40a5f99f533 +50, 0xe378848ac37e2376 +51, 0xf9b1f0de5818b090 +52, 0x963368da3e372d75 +53, 0x94d760894d8d59fe +54, 0xed6a9730e9f9d10a +55, 0x78c870cc88e05f99 +56, 0xe4b4445bb8ec2548 +57, 0xf2d2c9524d47c49d +58, 0x3e326b4eb1e18a59 +59, 0xc9ed2185d3b07552 +60, 0x37312e94b1a19e86 +61, 0xe2e44446e72437ae +62, 0x3e5541807ba68504 +63, 0x64fc4a8e251ba4a0 +64, 0x95cae7337b2cef03 +65, 0x4ffc22e6cee5a43a +66, 0xd1220fcfcd2b91c3 +67, 0x951e666e2b35250f +68, 0x49a6bf7293bfeb76 +69, 0x2f572a06be223951 +70, 0xa6ef2f83e4ab699c +71, 0x3c779b06245bef11 +72, 0x7ca2068971303e22 +73, 0x99181930c623a0b +74, 0x23870cb8e351237b +75, 0x4b3b096b31c0970 +76, 0x34567d210e095de +77, 0xad2d302293c080b6 +78, 0x2b9912fc65270b03 +79, 0x9d83c41c4a03c97d +80, 0xe595f5a6818c6843 +81, 0xf4de1eaa641abd16 +82, 0x2fd5d26fa4e8fda +83, 0x20228869fa37cafe +84, 0x2f5aaadbc5ed7917 +85, 0xc5a5411d976295d1 +86, 0x50860eb0a32883e2 +87, 0x9671e47f29c3fde5 +88, 0xb405167f98de3d42 +89, 0xeb9e4ab5b6277a34 +90, 0x30cb8055425283f5 +91, 0xd16fd04051825def +92, 0x9dad7dc043f76efd +93, 0x4efb0d073fa86b85 +94, 0x41f9a8f57a4c5441 +95, 0x261b340edbdfc85d +96, 0xe1770e8f6417f4b8 +97, 0xcda740ac5492b7cb +98, 0x421852a55f5fbd17 +99, 0x6b5e600ff816480e +100, 0x6f810e2bc14ef783 +101, 0x3ac30d12dbe74179 +102, 0x6e6f55e8da77d1c +103, 0xb3c1b3198ba1edd +104, 0xd42a70884e0b4885 +105, 0xe5b8554e1a265456 +106, 0x984728fa61cde5e8 +107, 0x22a8631dea8491ab +108, 0x7dde04d2623c5280 +109, 0x56ca5fa13744f021 +110, 0xa07c4dccd62318c0 +111, 0x7643fbf3cb825b82 +112, 0xb514293ac755d9ab +113, 0x976a42d4d7d5603f +114, 0xc89c841ed969a429 +115, 0xd3b58bd283d84deb +116, 0x48b0cb54ef4045de +117, 0x2aac0bed41855b31 +118, 0x84f602d6f7e8f8bb +119, 0xffb8359b5c955803 +120, 0x50a030999c6b5a41 +121, 0xf5affea03223e801 +122, 0x480fca3d8b71f253 +123, 0x78f46d086436f38d +124, 0xe55f321bb366b5c5 +125, 0x6a62bdcf97975049 +126, 0x4ba1b23acb2b30a4 +127, 0xaa8fab62162096ff +128, 0x9df7f50611bbbe05 +129, 0x8c41f29908880a54 +130, 0x5ca1036a33aef749 +131, 0x749341c5a1836f3e +132, 0x20d782c11d500c36 +133, 0x2aa089b1c26c888d +134, 0xb20781d123d61f05 +135, 0x786a566307a0e29e +136, 0xd7098641e929f68b +137, 0x8ef02287eec14ac5 +138, 0x9e3aba8329a8901f +139, 0x60f1e7d84742be3f +140, 0xc5292e6425256ab7 +141, 0xdcbf5736a8f911fe +142, 0x52ad9d372e4bd44b +143, 0xffebb934b4bfe199 +144, 0x7b5914f9b9052873 +145, 0xab29298e00ae9e7b +146, 0x3f02c3b7c59d121f +147, 0xdfa607db43e83fd5 +148, 0x1d8b966bd15e43cd +149, 0x25505363d4cf3ea6 +150, 0xc7f96d3a547efd4f +151, 0xa76458b01561c500 +152, 0x88760cde8e7f1522 +153, 0x67fe6b33586a089a +154, 0x5f0cc55ccd9dcbad +155, 0xaf32ec846865364f +156, 0x8f475ab26161ac5f +157, 0x92f00c5e55d0f3fd +158, 0x70488866e54bd9fc +159, 0xa2579ad851925266 +160, 0x1f2d66d6ab9a6467 +161, 0x18f0e12487296a55 +162, 0xca46bd4045b88b1e +163, 0xa48926a8c9ae6ddb +164, 0x70cf4b02a878020 +165, 0x3c827fe43ccf6e84 +166, 0x7b90b8b99390d7fe +167, 0x239e42fba10e8dfa +168, 0xdd950d180b5554c9 +169, 0xc219887acba392dc +170, 0xfb0cea050c6b5cfc +171, 0xa0235db93ab17388 +172, 0xce4e9a6697f39fa4 +173, 0xa77bc206c26b62aa +174, 0x6c4c0d77659b8d3a +175, 0xccf68dae535cdfce +176, 0xb774203a9c3697ec +177, 0x8f9603ede62970e0 +178, 0x73466a6c08f5c621 +179, 0xe4acd501298142da +180, 0xc1dc6d50d19ce4d0 +181, 0xf4d7157f3385da90 +182, 0xb03a1668d58ccc1e +183, 0x6c1ec730cdc15ff2 +184, 0x22b33428cf6f7b6e +185, 0x86771ba36131beb7 +186, 0x5c6f1dfb5df9a773 +187, 0x83d0e480faf79e2f +188, 0xb574e4f020a5c2f2 +189, 0x1037336e206cdac5 +190, 0xd358d3bd2f84dc07 +191, 0xe4ab7d65f5359d88 +192, 0x575e10beab6ed90d +193, 0x92b392d9011fec7a +194, 0x3743566cd03a5632 +195, 0xd84d08e20ab24432 +196, 0x264edbb98ea18981 +197, 0xb02ec336d3439df8 +198, 0x98dca28ef3481cd0 +199, 0x4c7b36c3d5a92ee8 +200, 0xea3a5d8c0656562a +201, 0x84df1e0b04e16ffb +202, 0x4033a0901c5b99b2 +203, 0xd655e52a52f95806 +204, 0x877a6c6e491f65c2 +205, 0xc7c0476aa3b57914 +206, 0xdaeb947a7ea2bffd +207, 0x9f353a9a44bb3542 +208, 0x4c6149547cb86c21 +209, 0x476f38042f81f574 +210, 0x73ae5842de15b837 +211, 0x56d08498c32a3ca1 +212, 0x3a29bd1e56c4a455 +213, 0xd4a039af15c94e2a +214, 0xd7e99d87726f6b7d +215, 0x11c8799497348055 +216, 0xf301a2a414f75291 +217, 0x61ef21e4369a33b5 +218, 0xbfebae360aed836f +219, 0x77b268e02299116e +220, 0x1d97ecb5b5ff1390 +221, 0x8931baa8bbac229 +222, 0x3e0a9cd01623e25e +223, 0x241849e522393124 +224, 0x4cac9db644404e9f +225, 0xf1b301aaaf6ee36f +226, 0xc6f3b0e23ed765f +227, 0xa721a93561fdb2fb +228, 0xec5d2fe7bdd570b6 +229, 0xaac87fcd59a92a17 +230, 0x21f96034df83ca3e +231, 0x39168b96c29637b2 +232, 0x2285e7b1962b20c4 +233, 0xe05877c5e64e80a0 +234, 0xa6e5e068434197b8 +235, 0x9953d6ba338c81ce +236, 0xc44dc6a3db952698 +237, 0xfa5494d4815d3152 +238, 0x467f7c752a541c4b +239, 0xb1a4872d1fbb6953 +240, 0x53fd30ae98ca00d7 +241, 0xc70a548b87054598 +242, 0x9d8a20c63463d5ea +243, 0x4cecb6becf778a54 +244, 0x887087ebdaca7461 +245, 0x6d518861d1cbc12 +246, 0xb8e717a809a31912 +247, 0x2d36ba962e509fe4 +248, 0x9bf46721bb113d5f +249, 0x2269b9c4c443667a +250, 0x979d9b4e6a4036c4 +251, 0x97543e06d384fa7e +252, 0x75ad7d2c23b6b570 +253, 0x43de810a5ea78624 +254, 0x80927c6293498a84 +255, 0x45a8ad9bb8f0dc2b +256, 0xabc320ec65a09cd5 +257, 0xcad9c0647042cd93 +258, 0xe84acb1bd3f3c9a0 +259, 0x76879458f63a57b9 +260, 0x49832792c9e03bc2 +261, 0x363459686faf7f24 +262, 0x1953702db3bc481e +263, 0x7fe6ba3b5a71fc59 +264, 0x1b17d2f961567f8b +265, 0x4ad033e1a4976f6e +266, 0xfcc0a6a6ba63fe49 +267, 0x841ac723afca1b63 +268, 0x6c1e91e669a97e7b +269, 0x5bd742d77c4ffc4d +270, 0x2a4ee5d86d2c240 +271, 0xe6d74f8546c38065 +272, 0x8bf207da18d16f8a +273, 0x9d1c2a99dce927c +274, 0xcba190db5ac2bc23 +275, 0xbabffcd557568ce9 +276, 0xa299e5d76f753e2f +277, 0x1d9b7854688000dc +278, 0xb77578a80be855c5 +279, 0xed5ca1b150fe57ee +280, 0x45ee175cab6988fc +281, 0x909e1e69be99cc5a +282, 0xeb19bad3b280f6eb +283, 0x183e05016ba8278b +284, 0x353ac3c6b09909cd +285, 0x52acc5f973291d01 +286, 0xf34bf118d4119a02 +287, 0x9374f1c812dd0b4d +288, 0x3cde5e29ca458381 +289, 0xa273cf101a664a2c +290, 0x3853d177648e274 +291, 0xd56392bd92a668f7 +292, 0x1a1668b6f658e0df +293, 0xcf91598b7f111669 +294, 0x9de820277a8591ab +295, 0x13e814a02eae1592 +296, 0xc6327921c4c8e137 +297, 0x4552a0478447893e +298, 0x90599b2c47bd6a68 +299, 0x6c6e379db4c5bd45 +300, 0xaddd155f6abe63fb +301, 0x16db9bcfefb79d09 +302, 0xadca159b2d4590c +303, 0xea280435e2e8ce04 +304, 0x267dde359f765411 +305, 0xc864e3d28e62e7f4 +306, 0xe1fb3b84699cb288 +307, 0x736e511cbe0a901b +308, 0x8ab9371873aa48d0 +309, 0xee14f5d0455642dc +310, 0xf46227f274aa445e +311, 0xf2ffe9298c22aaa8 +312, 0xb252d7080d3d64e5 +313, 0xf028d588f8bf09a3 +314, 0x51cf0c448bceb8a1 +315, 0x78d514cb6eb97a24 +316, 0xd35f14eeb72a2a52 +317, 0x2517e47da9fc019b +318, 0xa489556e41ab02a4 +319, 0x656545c76c5c5ad4 +320, 0x492cb4aead67db01 +321, 0xe67564b20bcd1500 +322, 0x52902e9ddd3736ff +323, 0x5fce2d6101c2d2f4 +324, 0xd6f3518a5c17b71f +325, 0xcea602751388c642 +326, 0x7c457e009571d1cb +327, 0x227cfe2d67db803d +328, 0xe6ba583bae3ce6ed +329, 0xbfede024874e2353 +330, 0x9d3f741ad2fb1c3a +331, 0xc92d955fdc49e35b +332, 0xe69f6bd427cb55c9 +333, 0x25154cf96eca70f2 +334, 0x8ada45f19fb5f353 +335, 0xc53b729eceb66699 +336, 0xad1ffe3b331399d2 +337, 0x26fa10d0ebb11981 +338, 0x4421bf4042ab1aff +339, 0xa33e3522a639e3f9 +340, 0xb27e6a340f2ae673 +341, 0xfbc848389681b76e +342, 0x87c9b594466133f1 +343, 0x5599811888d255be +344, 0xd125be5eadf51857 +345, 0xcfeddf66c3515e41 +346, 0x4e0e7d52bf2d41e7 +347, 0x7350bd89ecaa448b +348, 0x757b947295bb2315 +349, 0x9f75502e97420690 +350, 0xe507886c40a0d5d4 +351, 0xffb51fce9b6dc784 +352, 0x99c25bc884a07f13 +353, 0xae344dc6a0b5166d +354, 0x6e40f70fd2ae8839 +355, 0x549899226f83a618 +356, 0x183534a08628f76d +357, 0x13dbc72806e9cd8a +358, 0xc451b9a7f19a7148 +359, 0xf3ddd00aa2b77694 +360, 0xbbbf6a41f2637562 +361, 0x915549fda9129f5f +362, 0x6fb5452e819db506 +363, 0xc5122da2374c0ca6 +364, 0x9f418bff6eca6a59 +365, 0xad3988d59c836956 +366, 0xea3a5d086c5fe4d3 +367, 0x11a982723a4fa262 +368, 0x7f8bc4b1e17c14b2 +369, 0x4ce7986a6f72da2d +370, 0x41a50493a56271df +371, 0x477f24559f89ebfd +372, 0xc572ffc3e23521cb +373, 0xa9f628071811e1be +374, 0xcff02944927dc1bc +375, 0xd9f3bc4c212e939a +376, 0x21ffd91aafaf2c40 +377, 0x787f6ed5a2bab7b4 +378, 0x4609e004f9f4b1dc +379, 0x35ab1b27ca8c420e +380, 0xcca7c9a1b9c3b92b +381, 0xca101f017408e01a +382, 0x839abfc61cd0e8ef +383, 0x4c9cbb325badd3b7 +384, 0x5461826c9f315581 +385, 0xad20102aca3d9965 +386, 0xb649a32f64ab0793 +387, 0x725876dd5ff27c65 +388, 0xf2b14bbba3426942 +389, 0x5435afdbc2d685ae +390, 0x9c82ffffcdaabf8f +391, 0x20cdae1036653261 +392, 0x750c8fc5e91ea522 +393, 0x2360b1ebcd9d5b1c +394, 0x565e847ea6e9cacf +395, 0x8cfbc0c6bb12629b +396, 0xb26a10d6f12d2655 +397, 0xef86d9c5378690bb +398, 0xe23f3de5c1b799f6 +399, 0x31414ecd6ad5c5ef +400, 0x2921e71b83de7f45 +401, 0xebb98f34ab50544d +402, 0x6a412a4e053db405 +403, 0xddbfe7ee3e59a7d6 +404, 0xf05a0b36f67b9d5d +405, 0x849702c7806eb90 +406, 0x2203171eecce2095 +407, 0xb35c4db941a0ad7b +408, 0x9935496450296948 +409, 0x25f6a856fb1eb5d6 +410, 0x1dbb88d4fec8e2aa +411, 0xc60d3d3e39a26b96 +412, 0xf056684ba3a744d5 +413, 0x9572bd538afc7a32 +414, 0x254a093ab05dc0fa +415, 0xba6097f07c855fa9 +416, 0xf8b4dccfdb80e63e +417, 0xd2847b228bac28b +418, 0x8a8fab7c6031ab8c +419, 0xec08987d742c44bd +420, 0x133e3fff1c3c3412 +421, 0x6530ebd39d7b0f3 +422, 0xdeabc74a2373434f +423, 0x7815e18e47103e3d +424, 0xf9055ff370764f53 +425, 0x5a0d1345d2a9cc8f +426, 0x4de989802f34160a +427, 0x28a18124bdac81e5 +428, 0xeb45ab441afbb912 +429, 0x8f5a312fe7a0aadd +430, 0x7314071d14857900 +431, 0x6409cb66fa1e53ef +432, 0xfaf96ce7d2ac6c00 +433, 0x76e7a4baea8c663b +434, 0xb6e304f2a50a0321 +435, 0xa9ea300fd24f020 +436, 0xf35c396e30b7101 +437, 0x81c58595f98f6fbe +438, 0xc0a7e9607a117181 +439, 0xed09111f23a46ac4 +440, 0xb54c0bb2f0c1a3ae +441, 0x43467aba9df3e0a5 +442, 0xe8339c39a322db8c +443, 0x51c577fe5ec19d36 +444, 0x4f3b14d68f848502 +445, 0x686cd92e19b79dd4 +446, 0xdc741863e36fae80 +447, 0xd43d6b68d8b201e9 +448, 0x2c50554b76cef087 +449, 0x56c381d91bf8b46d +450, 0xd127daceb8ff95be +451, 0xd0ea2f226b20d165 +452, 0xdd905744fa9202c5 +453, 0xfe1a9600438aff20 +454, 0x5d1abb8492e2e820 +455, 0x8e39cb8cc6fa2c06 +456, 0x9f1dd3396c6629c9 +457, 0x9d03c31afb79a214 +458, 0x22010d4e60bdda86 +459, 0x80ed07d705582e63 +460, 0x4f62b3e2e44b8571 +461, 0x101943c84597f33c +462, 0x4b4345de91b98294 +463, 0xc2ac56211ca6ee2c +464, 0x3cb95b436ece64d3 +465, 0x7a44a3c791671dcc +466, 0xc8bf29ce122b9d18 +467, 0x7943b142841bea04 +468, 0xfa2cc19a05924ff4 +469, 0xf9ad7238096bedb9 +470, 0xe63a166ab147220a +471, 0x6290dc36e53827e3 +472, 0xb21625ceb1014816 +473, 0xc4e932b9872d1e1f +474, 0xb1acf7e2a966bbb5 +475, 0xb9acdda48ec54590 +476, 0x336d528109c184a7 +477, 0x11316b2094f4d127 +478, 0x9e336afa73ba2faa +479, 0xd01fbf09ceeb6b24 +480, 0xcf97f3d08a634c2 +481, 0x72366953156c6a32 +482, 0x6db4bfd8113532e5 +483, 0x420d662640c9c82d +484, 0xef483fc8418f98b8 +485, 0x8f94c007d9e7d764 +486, 0xa920478806e51718 +487, 0xd4ff1f37c4402973 +488, 0xddbc1ff65d2e4944 +489, 0x1e358eaa42485b6a +490, 0x56cb2d0f9bab7e7 +491, 0x78965a1fc3ca2f1e +492, 0xb674cef0c1fd959e +493, 0xabba2d9a65e8a159 +494, 0x2c831ed46e02e9e6 +495, 0x96813fe5b0baca53 +496, 0x344cad935e02fc84 +497, 0xfb6e6b235ddf773c +498, 0x29947186532b0ac +499, 0x39446d366a46f449 +500, 0x270064563611ed55 +501, 0x9134963540c148bf +502, 0x46e72242d92ace70 +503, 0xbb588070df8c323 +504, 0x7656b60e47229e4b +505, 0xa1515367c8182e88 +506, 0x67194c7e83f0be6a +507, 0x8019b59794f3ec41 +508, 0x9346f2071da5e890 +509, 0xbf2968158965aa88 +510, 0x23234e9079cc8067 +511, 0x52480f9037e18c77 +512, 0x28849338ded11a2c +513, 0xdee551c607d5934a +514, 0x7378da20ad9165f4 +515, 0x8c913ef9e355a530 +516, 0xe2fe80181a74edd +517, 0xf1c99e6c3b0ca5b9 +518, 0x9ed9759b0ec64466 +519, 0x651dfcfc1fefa43a +520, 0x36d83fe0802969c1 +521, 0x288a70061165d01d +522, 0x5b9ff38ba4551eb8 +523, 0xb14b82c0d9052f6 +524, 0xa4af53cf1da019e8 +525, 0x562782be5655f97d +526, 0x87f92290b4f40131 +527, 0xe18168d9d140e801 +528, 0xbdacd598ad865c11 +529, 0xc0f4fe27f0884385 +530, 0xc034cd89bb7f0f42 +531, 0x3591756fece4a5fe +532, 0x1a73abbcbdbbc237 +533, 0x9af0782b54c0527b +534, 0xee5e13f65e7b76d5 +535, 0x16b7de36f37d2dc2 +536, 0xda6e3700f7987cf7 +537, 0x88b1a7a50bb8d03c +538, 0x73e0f21f7e240cec +539, 0xaf3de5598cd8ae24 +540, 0xb48ac453d9a452b8 +541, 0x67c7769e42377756 +542, 0x29d1c81c990639c4 +543, 0x5315f99dcc1926aa +544, 0x25e2df9a59623d48 +545, 0x17088168b2d6335d +546, 0x48929f9995cf0b8d +547, 0x9c80ce435ecb9b7d +548, 0xa6dbed42aca888a0 +549, 0x95d7ce284511406 +550, 0xc98a600e73fdf6b +551, 0x144dacadb5dcae70 +552, 0xf1c57aef0ced3fd0 +553, 0x4d7e9370bf5326e1 +554, 0x60eaec9ceddb9bbc +555, 0x40b99b3647bdec5d +556, 0x23451cd70ba654dd +557, 0x9e1e45a64320a108 +558, 0x572b629749dd059c +559, 0x370b84536cf92fbf +560, 0xa53c15e1b8e6930a +561, 0xff01f2d42f396a5 +562, 0xe4ce127c2371d1f4 +563, 0x964b007fd911f9d8 +564, 0xe8ad752ca4201d78 +565, 0xec150ec1bcea7899 +566, 0x3a98196d39a146e0 +567, 0xa13a6d24b065154d +568, 0x208f8f86fce0ffb7 +569, 0x48f3f5a286b8e61 +570, 0x231fc95324da4f0 +571, 0x4a912cc8c1145073 +572, 0xf55643f746f7c8 +573, 0x981b50355641f3aa +574, 0xf5cd5ca76785adf5 +575, 0x26809313bad9613e +576, 0x8b3bc2cbe2257a8a +577, 0xe7190ca66630f33d +578, 0xd678cb7a88ceea26 +579, 0xa82e3b2a968f54a1 +580, 0x9f495544f523a642 +581, 0x542ea223014d5724 +582, 0x976e7bc0aec4f3db +583, 0x6a4936ec50a7744f +584, 0x30ee4d2e234675bf +585, 0x7668a3489b46baab +586, 0x69b5bfddb0c219ce +587, 0x6cdf31a1621b4ee5 +588, 0xd47c5fa7524889e8 +589, 0x5ea77c458ed6b908 +590, 0x9f46aeb5373d4f5a +591, 0x2436d30afa02fb0f +592, 0xf75b5b183a82b399 +593, 0x2a0d4f653d5fb2b +594, 0xbaa369f3cee66a53 +595, 0x3b86f73fe2f8a1e3 +596, 0x6d7bb0961e1fd2c7 +597, 0xe0ea2803b75bb089 +598, 0xdad50e588726a5ed +599, 0xaad4c6349ef8c9bd +600, 0xac89692a9d19027f +601, 0x9128ccf4627bc207 +602, 0x84d06846beb2e304 +603, 0x7e8f78333abbc3d3 +604, 0x3f60914f5bd7e556 +605, 0x1d1304a8114ca709 +606, 0x140e3ae0d71cd49 +607, 0xd11427f5452fd9b4 +608, 0xf5ab3e8a0298f3be +609, 0x6b9e13c2d33aac45 +610, 0x855e2a9d17dca5af +611, 0x1578bc2441980cb9 +612, 0xb6d79ee20056c9a2 +613, 0x8becbe9a399154b5 +614, 0x7dcbfacd30d88c84 +615, 0xd9d2e48917b7010c +616, 0xfc72160892a21efd +617, 0xc7034a2a63410f42 +618, 0xbfdfa5eaeac7f80d +619, 0x89ced96a0e78f3c0 +620, 0x8afc51dfec588d2f +621, 0x6cd965499ebd9c86 +622, 0x86ca64414acae86b +623, 0x235defd7163050fa +624, 0x8350429671c8a0c5 +625, 0x86242291e8c4ad95 +626, 0x479275615cc7ab91 +627, 0xa6f410c0e2a26b2e +628, 0x3855e7ac300d255a +629, 0x46db9d9dc4109474 +630, 0x4ea0b44c4fe5b658 +631, 0x5433d83c0590d49e +632, 0x326ad33d53e5cb0 +633, 0x2ad4e88d8b8f4865 +634, 0xc0b971ea67fc2c1b +635, 0xd4db06ac68087267 +636, 0x35375c34999616ca +637, 0x7f313fa01760e4fc +638, 0x1f8b7ae8938e7d90 +639, 0x68aedc55512291e3 +640, 0x71e13848edee765a +641, 0x83feb5bccb136a0 +642, 0xec115ea084398beb +643, 0xdecd12d25159994a +644, 0x6ef3f928b79e1d15 +645, 0xc910824824961e9b +646, 0x6e56798f305fba9d +647, 0x9f2a78709ae8321a +648, 0x83673dba510e8329 +649, 0x38ee325de51bee33 +650, 0x6dde848944ff5c19 +651, 0xe990435690783cd8 +652, 0x4ef2b8fdf3a31076 +653, 0xb35c280054e321d1 +654, 0x2d66f077be780ce5 +655, 0xf003d07f5e8d24f1 +656, 0x63286f306d80f9e7 +657, 0x749e66588e9d5bdb +658, 0xf296e9d13eb97fdc +659, 0x8cc6e45328cecc17 +660, 0x4b35bc27b7d27225 +661, 0xea1f0b0e7cb3f20b +662, 0xccddb348221b89a8 +663, 0x8a2b674dbe8732 +664, 0x90a2fe18fc860a2b +665, 0xee92bfccb4c6986 +666, 0x55bfc65eef023c41 +667, 0x61e082760147dced +668, 0x2cf7af28fb253ab7 +669, 0x58dec379fe82b794 +670, 0xfe6d8ec391ba7af0 +671, 0x3f96cf458d50cc0f +672, 0xb97a170ccb8094d7 +673, 0xca876f8a8ee27019 +674, 0xa03a1b9f8c2c3595 +675, 0x8ce5c48735932234 +676, 0x5bcbfeda6a7099dd +677, 0x32ffcf8fc39ebdda +678, 0x945d734289b83a9a +679, 0x8824610f5d088bdf +680, 0x9259056e8d773859 +681, 0xf4b40ae4f8ec9d59 +682, 0x78be6102d44b8198 +683, 0x7dce883504ae3027 +684, 0x3bcbac86d37993e +685, 0x334af10e3ce0cb50 +686, 0x12b3fe24d1df167c +687, 0xfa17184c24036cb +688, 0x200d27e144d9f60c +689, 0xcb1fd05755672423 +690, 0xd5ad76956dced3a5 +691, 0x7e54849c6a87880d +692, 0x359af4d5828b1f79 +693, 0x26453ccc43829d09 +694, 0x871808b8e5cb05b9 +695, 0x955a1ebf98da9d59 +696, 0xf5893da12ea014e8 +697, 0xae43111b363eaf7b +698, 0xc6dddd603e4b5cca +699, 0xe1cc643e404fe108 +700, 0xfcbe2e95831db0bd +701, 0xdc01ec9e93e54c55 +702, 0x380c88bd4fa28495 +703, 0x8bd7bfd49c7d768 +704, 0x6489b7ae98113f23 +705, 0xce19f0dd365e3544 +706, 0xf5a58147d87d3083 +707, 0x81efbadc3c88a2f0 +708, 0xad91664c2e7da0b8 +709, 0x8b78dda657eb421b +710, 0x6e552452af7e258f +711, 0xb260660b01d6650d +712, 0x27a45a1cfbd98603 +713, 0xa8f620c73f0ffb4 +714, 0x7e43f2dd4c476ebc +715, 0x7d4e51c6a3614d8c +716, 0x3d5300002b65077d +717, 0xc24e7491fa70d4db +718, 0xf2bcd733a1d21f0c +719, 0x8d5bb04c5273eab8 +720, 0xf9cd01ba63f92da1 +721, 0x64d29462217baa90 +722, 0xcaa1fc3b19b00a05 +723, 0xc9fae87d7026e4ce +724, 0x40120cb2e2680cb6 +725, 0xcc83d069bdfa6caf +726, 0x6a11b1724a9404cf +727, 0x8c24bc538308e19b +728, 0x2be028ae22c66d3d +729, 0xae2a94a920547418 +730, 0xd0c9c729c0d0fdf9 +731, 0x79855e445226f087 +732, 0xa467118788c6ae21 +733, 0x18a67b3f737ac66c +734, 0x9f0422fbf1704575 +735, 0x3cb380445380b25f +736, 0xe16d37c484cd8232 +737, 0x39403a33ed4f833d +738, 0xfea5df032f093e41 +739, 0x47b5d65b30a245a2 +740, 0x5711e2c4cd1bbc2e +741, 0x4b17a868719ff611 +742, 0x12d79e4df14b55e1 +743, 0xb759adb60f0a5110 +744, 0xc495633b8df72a7a +745, 0xc0053b2671187190 +746, 0x8d3924968e71608f +747, 0x1523ade2927ac191 +748, 0x1cfcaf3b0bc57fa +749, 0xb91a7984235eaad3 +750, 0xfc5c6cb849eb3a5e +751, 0xe5d427fef5d314bb +752, 0xb714878d2c853b41 +753, 0xbaf47a81594ca957 +754, 0x3de6e218723fcbab +755, 0x30ee829bf38ab024 +756, 0xb374a5ca939b2a77 +757, 0x689ca34206e9d827 +758, 0x5b639ed104818c6e +759, 0xd4e8fb1ae2cba92a +760, 0x1e74a4554b198ff0 +761, 0x8554e6fe30612ac5 +762, 0xf8078efbafaf7941 +763, 0xb60b6cde7161bfbc +764, 0xe81e0e93e0dea073 +765, 0xac02d3f3b697c994 +766, 0xd10bab917e4348e4 +767, 0xe6fa834ca7e7aa0b +768, 0x6eba49968d0d5254 +769, 0x4a94152838ad62fa +770, 0xe8789cecbaad60cb +771, 0xa970ebd7a89905df +772, 0xe49e4d76fac277ef +773, 0xb8adb96bd78e0d22 +774, 0x3691be969b56ec80 +775, 0x566a22004cdf18be +776, 0xd4da2618b9171235 +777, 0x8dd6f2f32503d141 +778, 0xfe199681d91e5178 +779, 0xed5891007cf409eb +780, 0xd5d999f9d416f32c +781, 0xa5f9a414434cd178 +782, 0x3cd8de680cb84094 +783, 0x2c70c158a5f08368 +784, 0xfd4c6d304ad80f14 +785, 0x1b3555f90f0fa209 +786, 0xbfc5397a69a4335d +787, 0xe51459f0861790fc +788, 0x173d12cdb0c70d44 +789, 0x6c88b6cb9a439159 +790, 0x9e3d527583959951 +791, 0x8974610167fb3d0e +792, 0x8ddec067f7d91a2 +793, 0xda0a0394d476a41 +794, 0xb4bc6f905125bb13 +795, 0x26647355ce93705 +796, 0x6e77d00e7d59f697 +797, 0x8a52c90d219277f8 +798, 0x9a9d112119a2ca00 +799, 0x78a4507edbc0c338 +800, 0xc1a70ab377af5b48 +801, 0x36a1278bed1d15a4 +802, 0xf0f6fe034ce240bd +803, 0x3774f55f64722926 +804, 0x63e4e477803ed6bf +805, 0x2b631b9e6e3dff6d +806, 0xc4c2268f2eb0bf1a +807, 0xb0b910cedfb4eec2 +808, 0x491781f6e8f5078d +809, 0x2db574eaecd44693 +810, 0x397d8904141cb1b4 +811, 0x2848d2ad2a224e0f +812, 0x41f9fae31cf93d56 +813, 0x68bca8f51877387a +814, 0xb43114eb511ba30 +815, 0x6811c33595351f9b +816, 0xf7c9b154b26a6501 +817, 0xa35317f4e4369356 +818, 0x2bbb3809e211de1b +819, 0xbf95e8ce2588f5c5 +820, 0x951b4fc9a159b558 +821, 0xbedaf5970dad8ce2 +822, 0xd79d52c7fc92c15d +823, 0x2b1440cba83e0a6f +824, 0x968f7f07b4a36640 +825, 0xddb5d48949a8258e +826, 0xc679b204042b05f1 +827, 0x9d00c9fbd7edbeb4 +828, 0xafb601b2be4c9a97 +829, 0xc35a1adfe92039b1 +830, 0x4392c71aff19cdfb +831, 0x1ab34fdb1e3f94fa +832, 0xe8e3bad693ee9d2b +833, 0x78ae4836d1711383 +834, 0xcb764bcf9104bd66 +835, 0xcb80c3c2286af3b0 +836, 0x5c1d4bb3d36d0deb +837, 0xa2071886b21e6c32 +838, 0x137909746a058350 +839, 0xa2a196ae5a9845b6 +840, 0xc0776cc50ba681ee +841, 0x8101ae19ebcdf8cb +842, 0x253846a45a1bea0a +843, 0x945829fdcac6cc2a +844, 0x28dcc868b896b986 +845, 0x336d9114936baa1d +846, 0x4bdf4ed2bfd5d8ef +847, 0x7f43f8324a743507 +848, 0xb721732c35266109 +849, 0x5654184a7879a5a +850, 0x932e5c33053debc8 +851, 0x6c8a42cb4bb07c7e +852, 0x3e2853cb7367a326 +853, 0xf670fcefeaf352e0 +854, 0x2f0ed63118ecfeee +855, 0x22b32d6a6fcaaabc +856, 0xa8df4f57af993b14 +857, 0xc4fbcdfec94e25fc +858, 0x7855b5802cd2d6e6 +859, 0xd31ec992392792cf +860, 0x499b4022955ae602 +861, 0xb1d9df2a56d1d9b5 +862, 0x2be020670c2ba9ad +863, 0x4f51c9ac114691f6 +864, 0x43db97ee34cb6585 +865, 0xf7889fa1c3372662 +866, 0x7428ebb0889ce59a +867, 0xf69778b6c2a803b1 +868, 0x68c7f79994d68355 +869, 0x49b31b833c1fe002 +870, 0x14823830b7aa93f1 +871, 0xfa3fe89a5d2be21e +872, 0xd75217b26deb1860 +873, 0x5e49f031d805df72 +874, 0x9d3c204122e892db +875, 0xe4f71314f6bce3c +876, 0x2ac5f8fa64ab428f +877, 0x71a8ee18efa4b447 +878, 0x38170f177f7babce +879, 0x77cbc1adc5a7104e +880, 0x45b756a5c674ed37 +881, 0x3da29002dd3a1dfe +882, 0xcb645f42a1a2df5f +883, 0xb733e9942b4c7ed0 +884, 0xbe1c3292f348b4bf +885, 0x78d11d13c10c2099 +886, 0xf73fa04c2283e128 +887, 0x87e719305bc8ed51 +888, 0x6566b3860eed926 +889, 0xea271a89df9f7896 +890, 0xcace2b0b23f6e8f3 +891, 0x53e2280362cfc833 +892, 0x33ee7d314d33fa14 +893, 0xc033d8359b0de79e +894, 0xec1687b4cf771683 +895, 0x7e9971fdb5f45106 +896, 0xc9e3c5777bb561be +897, 0x17d1a55af8659714 +898, 0x312ba0a1f36f469b +899, 0x74c8f6caac97449 +900, 0x951c3d8e2f973859 +901, 0xff5de9a5079d8908 +902, 0x839fe3f7bc5dc4d9 +903, 0x5a21de4667516721 +904, 0x38ec459dc4da82f9 +905, 0x7a72aa7877678423 +906, 0x9839c4f3ff159ed2 +907, 0x338c7af893a226e4 +908, 0xe057270bd63d90e1 +909, 0x74382261608dab72 +910, 0xc62804f051b15437 +911, 0xd761a1ef0c5db73a +912, 0x496ab0869f08c505 +913, 0xc8b021a098da8e32 +914, 0x6dfe12239acc8048 +915, 0x2e7a263485f52b8f +916, 0xd5e9ddf81a37d37d +917, 0x5de50454fb933d95 +918, 0x431900d5526e3d9 +919, 0x77476c947d99e745 +920, 0x31827e1ae78d0df6 +921, 0xedd8155bcff2a247 +922, 0x1e850adc3c67d0fb +923, 0x661108b21735dd75 +924, 0x352812aa0035019 +925, 0xb927385f13660903 +926, 0x9a516de262c20354 +927, 0xef7bc11900eaff94 +928, 0xf57add7357601ba5 +929, 0x80e7a452cf0b3215 +930, 0xcf6f3fdfdd010a89 +931, 0xb06e98efb8c4cf8d +932, 0xdaa9088d73c8469a +933, 0x2932275de82cf904 +934, 0xae4fe81ef1f2ea6d +935, 0x8f55ad1c108ecd7b +936, 0x4d36deb616fe60d5 +937, 0x129d84b87e28cbfd +938, 0x3d9b18404e0d716c +939, 0x5576067b39672db7 +940, 0x7e57c5806e5bd926 +941, 0xdb86a738b0df1c15 +942, 0xc4263370c4ff9fdd +943, 0x57d5bba42942542 +944, 0x2b2be3e9fa816534 +945, 0x54c1ba10ca97f953 +946, 0xd89c1f14d9805c3b +947, 0xcdad0af12830e5d +948, 0xef8a4e05bb7939a0 +949, 0x10a02cfa077c64cd +950, 0x37dd082b003ba023 +951, 0xbd52decb5ba0259d +952, 0xf07939e0ac9edc13 +953, 0xf14dce84156215f9 +954, 0x4ff635c6efd4c0d1 +955, 0x8273d381b00d1da2 +956, 0x2fe4aee0a7dab542 +957, 0x79a485b897698801 +958, 0x8d3f9726bfdec8ce +959, 0x6daea7b39c0baf5a +960, 0x8508a8b168841669 +961, 0x4dec7955aa28c99c +962, 0x6bd02c3a6e4496aa +963, 0x2c13959a34e93763 +964, 0x1ccace54fdfeb05e +965, 0x34cad73846788c6f +966, 0xabb7d3e684c062bd +967, 0x69c236a70240069c +968, 0xa53398808da493b2 +969, 0x2b4cfa32cf2603f0 +970, 0x903cde2693c3b0f9 +971, 0x5d556925830a020b +972, 0x90a63eab0db9352f +973, 0x351c2d2838792525 +974, 0xe85ceb3486eefb16 +975, 0xfa275cecec8d524d +976, 0x9f1b20f0dd3ce0d7 +977, 0xceb1490022a7a9cd +978, 0x1e7b51c976ea3265 +979, 0x5fa85864c857568e +980, 0x1e7b06ae95db5660 +981, 0xfee282a9657ed8d6 +982, 0x1f2a6fde4761b6b5 +983, 0x1568cbeaba398cdf +984, 0xe185d2c2cef2cc9c +985, 0x2933556aa7be334d +986, 0xec1d06dc69a8a107 +987, 0xa9683634651f5552 +988, 0x8f448642e633fc86 +989, 0xa39ca103aaae4c10 +990, 0x11ca0212139029ff +991, 0xdea595418a51693d +992, 0x1b96d86565401fa7 +993, 0x9876432af1ab5f2a +994, 0xc9630e117c574a52 +995, 0xdc6b6eaa00873b8d +996, 0xd4456b90b2690f82 +997, 0x38374bbd586d9905 +998, 0x47c96bd123a5f3b4 +999, 0x72ef78391219eb11 diff --git a/numpy/random/tests/data/xoshiro512-testset-2.csv b/numpy/random/tests/data/xoshiro512-testset-2.csv new file mode 100644 index 000000000..264308f1a --- /dev/null +++ b/numpy/random/tests/data/xoshiro512-testset-2.csv @@ -0,0 +1,1001 @@ +seed, 0x0 +0, 0x99ec5f36cb75f2b4 +1, 0xbf6e1f784956452a +2, 0x3832e5e4541959a2 +3, 0x25715bafdf7a6b43 +4, 0x8b67fc19f1c8e17f +5, 0xe950e894acc448c1 +6, 0x940554d2c9b256b2 +7, 0xf9eadc87da09ac92 +8, 0x4bfa499f878ac962 +9, 0x383336b0082c3c49 +10, 0x2863cf13af79512e +11, 0x498c25ccc5953380 +12, 0xacde7669d72ac701 +13, 0xd8582a2fdda30a73 +14, 0xddae8a5a57c3302 +15, 0x39b75e8fb865dff5 +16, 0x6946963b565b2ba9 +17, 0xa67ec91e011a1aa3 +18, 0xf88116863cba9c94 +19, 0xc3a3c692211c54f8 +20, 0x62e1a84548f3272d +21, 0x48bfac565faea7dc +22, 0xe8ec2b5f2ee41403 +23, 0x9f4081dab8c56846 +24, 0x7cf256729df79a61 +25, 0xeede53016acd39f2 +26, 0xb37e90df69310b9c +27, 0x2975a99504c56251 +28, 0xdb9416723df2752b +29, 0xc189e2089a8ee16c +30, 0x39fb60f3d17db683 +31, 0x2b60dda991df7c61 +32, 0x5749b739403062bc +33, 0xbe7379e4398257e7 +34, 0x21adce8625781175 +35, 0xf9ca19cb6ff09a4a +36, 0x27689fd07f617a32 +37, 0x656290d3433d9077 +38, 0xc6fba3291a5d6372 +39, 0x8794d1a1bb955db7 +40, 0xc8b037815aab3077 +41, 0x23a02093b144d169 +42, 0x267ad8c80f9caad3 +43, 0x5970a90562008761 +44, 0x7419aa839b2828b6 +45, 0x52dc309a0dfe0f33 +46, 0x10564d319fe055b8 +47, 0xad925ebe373170b0 +48, 0xc38f00ef7258c162 +49, 0x19e6805cbf134b02 +50, 0xa3368cb52e0919a +51, 0xa543ded14e49d4b6 +52, 0x2cebe96c5f0a953 +53, 0xfd2f810919931d8d +54, 0x8181b29c373ad4cc +55, 0x5a03097378f059d6 +56, 0x8e9be6b21fec37b7 +57, 0x37bd0c6e705b5df2 +58, 0x8f1e22e2eb0a869e +59, 0x1abded820c714cf8 +60, 0xdfc917d8b2bed11 +61, 0xc8d119482cead771 +62, 0xee4b670743624ba5 +63, 0x55fbc8a194bf56e6 +64, 0xb21bc8ce5c709989 +65, 0x77abbb291a079826 +66, 0xabb7e9f7bd35d5be +67, 0x479866e6b1a66f15 +68, 0xec82d785eae5a82c +69, 0x2e5d3b0aa0158dc4 +70, 0x2fec4f8b5a8efbfe +71, 0x885293aa43f8645b +72, 0x816c016dc41f2dd7 +73, 0x832f06eae4dd19ed +74, 0xaabacaf4c7840bb7 +75, 0x84e0fd247b0b2412 +76, 0x4ecf02bbf93c2647 +77, 0x1ecf4e8fbab848f8 +78, 0xa7618244187427a +79, 0xc51c7d4d76a4b4e0 +80, 0x44b7b83127f6cb2 +81, 0x13e717ce99868f93 +82, 0x571466622b4e94e4 +83, 0x6086c22ca249714e +84, 0x15d182d77b18a109 +85, 0x2b5cbbf2e8092148 +86, 0x33b31ee2e36f9cdd +87, 0x5ba30dc0c04b381f +88, 0xf855a989b1146877 +89, 0x8f85aef1e22fcae8 +90, 0x7bb6f96d4b652fb7 +91, 0xf3a2e2b45a2619c9 +92, 0x49bcf25f4d6260a +93, 0x26640d4f8e246f16 +94, 0x3b3ca907ab2abb1a +95, 0x2f7a9a3d75f59615 +96, 0xdb63eb1c6172e7fb +97, 0x1569afee9f7a840d +98, 0x4fd1b0162e59bc8a +99, 0x4649428b04932d2b +100, 0xc504f1aa5e5dea73 +101, 0xc2ccb667a4325d31 +102, 0x9afbfdd5ad3a5204 +103, 0xcc07392e231e5553 +104, 0x6f4d6d195fd22ebb +105, 0xeb292b5127fb6e18 +106, 0xfe1f960a70442ded +107, 0x4447c330b74b5933 +108, 0xd21d4046f002efae +109, 0x8bc90cc78187c57e +110, 0x4f67494bf7cecee2 +111, 0xbc33ce353c1ddcfd +112, 0xb891c0a04b0e88f4 +113, 0x8f689f4d0ed5342c +114, 0xda219cd14be3d102 +115, 0x7c1ddbb38629b680 +116, 0x6c70aa3b93c4f52a +117, 0x29ec9e21b1dd5d9e +118, 0xcaeedac16be11bbf +119, 0x35b5110345859bbf +120, 0x439d41ea67b37ebb +121, 0xc6d8d0b7b4f1486a +122, 0xc52385db44d09080 +123, 0x5f99c2e9ca57b52a +124, 0xe3254276e855d800 +125, 0xefbd9049da09502c +126, 0xe6ff8ac6ad006271 +127, 0x2c930e30cb747267 +128, 0x4830da263ba45758 +129, 0x8c60b7ab98006775 +130, 0x7a57c0ea2b570c5a +131, 0xf70f75d3119e0efd +132, 0x3e522394beeed598 +133, 0xb7df8f82912f9695 +134, 0x2abb69f78de3c4f1 +135, 0xd51a5b2c0a7bb5cb +136, 0x89920a17d1de9528 +137, 0xa9d3b9cc614ce21a +138, 0xddd991172b564698 +139, 0xb4a4642875502ea0 +140, 0x8ddcf309cbfe223e +141, 0xb08ba3624d1c66b1 +142, 0x54f027d2804b5a93 +143, 0xb07c3b2d04832f27 +144, 0x848ac9c736770aba +145, 0xc341815ec6b12bf8 +146, 0x3983885191aac395 +147, 0x2c50047012e39883 +148, 0x35762e00ddd30f52 +149, 0x7592ad5f45512761 +150, 0x171247b019c3b822 +151, 0xdf2f59197f67bf2 +152, 0x3d32b07deb6ea68d +153, 0x333e4f44e437159b +154, 0x41a72372d89d3e17 +155, 0x8540ef3654d90ba2 +156, 0x87bd219a8adf77f0 +157, 0x81f0bc1fca841bb3 +158, 0xd3200d827a384d0f +159, 0xd8a9825fadc0be67 +160, 0xe05a6530036bea30 +161, 0xf142901dd1444861 +162, 0xda7d20911dad993d +163, 0x872847376d5e1231 +164, 0x3907389fdf521b33 +165, 0x90fcc779c427a50a +166, 0xb49366477e2b48c8 +167, 0xa04ebd5074accf86 +168, 0x3c92343f5469f7c +169, 0x2b84435bd09b4cb3 +170, 0xb8d4734885fece80 +171, 0xe2fca98eb7e3dc90 +172, 0x5a7f0f454e525193 +173, 0xcc0b1333129c5d2 +174, 0x6433a5896a07730a +175, 0x892937b8a1f1c314 +176, 0xe4a5b385d69dfb7d +177, 0xd8cb9ca239d53aef +178, 0x2cd7af2df788e262 +179, 0x177745f129e94f6c +180, 0x6a6db6c1ebf163e8 +181, 0x58f2f2e255caafeb +182, 0x227c81b75d181eb +183, 0x516d0226e079dbf9 +184, 0x6f66bc3efe0970ed +185, 0xb295db10d97abd08 +186, 0x99d30a4e4ace9fad +187, 0xd9d6a16104bd47d0 +188, 0xdc4c2ea12903a427 +189, 0x6334e1f5f5e03adc +190, 0x9a0cff45fc1bcee8 +191, 0x10874d542fbeec4e +192, 0x3819c7e7fba3b9bf +193, 0x1ee786f49b45924b +194, 0x54723c4712cfb62 +195, 0x3bcca5b2905fb708 +196, 0xf393a7f6ff6a667 +197, 0xaa06af9ce17f62b +198, 0x48c8f05f3e9d463c +199, 0x3479d0238b587b2b +200, 0xa8d8c6670104be96 +201, 0x55814d99b9dfe921 +202, 0xe1ce0f01000d20bd +203, 0x1014d96a94bf3326 +204, 0x582949045ca618f0 +205, 0x223bae0c2e7f5bc0 +206, 0x4bb41f7d1d9fb622 +207, 0xe1f3e2fd4021d8fd +208, 0x5ebccfc61d09c4c9 +209, 0xcfdef40545198b7 +210, 0x4ba8ccc2f8c60a64 +211, 0xba1b4fd748b5061 +212, 0x66e32eba41e0939a +213, 0xa18eed1669d9d315 +214, 0x87c02cfa0ee04b88 +215, 0xfb7c0dfe47ff10b4 +216, 0x865e22c3cbf93ed9 +217, 0xf61e66796f8889b1 +218, 0x3ce89e1af1f9c49c +219, 0x5df6d8fd03e50c56 +220, 0xe2d84d5a77047da7 +221, 0xf1e4983c4900285f +222, 0x1c4fdae662cf9ccf +223, 0x21e8d690e68e9a1a +224, 0x8bc4a83d32b939b9 +225, 0xca02b1f22175c5ff +226, 0x38c7e9f4818bb02d +227, 0x1a0849515278434f +228, 0x9b5ba0111c7e913c +229, 0x7f262e2236221eec +230, 0xbb50a7892f4f3289 +231, 0x61bf32a67a8a37ba +232, 0x8857a179391d0935 +233, 0xe6e89e905c2c838d +234, 0x42a4ac61146bc5a3 +235, 0x709439ac10ef9068 +236, 0x101b793f07cebbdb +237, 0xa15d15f938b270f5 +238, 0xb82363d829a5c246 +239, 0xf472088457296606 +240, 0xa637655483f6a118 +241, 0x8413c67139637302 +242, 0x84e91307377687b7 +243, 0x519f2fdc21adca74 +244, 0x2a57efb29d83c66b +245, 0x5061e889dbf1432f +246, 0xffb74ef07814a287 +247, 0xd82936d72d9838e7 +248, 0xfded7b21dc383d9f +249, 0xc28e1e820fa2d7f3 +250, 0xdad0ba8ae4409211 +251, 0xd7d5ed00366f754 +252, 0xc8f007b6d6161d36 +253, 0x1c4187a9c90e7d87 +254, 0x49fa2c16e3c78424 +255, 0xf3d899da10e89521 +256, 0x89aeb0ade569e3e1 +257, 0x56d3219edcc04b14 +258, 0x5853167abe7fa125 +259, 0x239b40146df96622 +260, 0xa2a70ed13e55aa13 +261, 0x452c6fd65a31f946 +262, 0x771cdf487bb8ea39 +263, 0x458020e1e0355a3 +264, 0x86b71c8ac351f40f +265, 0x4518b905912e4b44 +266, 0xe59809fb72b59f51 +267, 0xf52f08fabdb424ab +268, 0x98729bc24ae9b930 +269, 0xd18bea8f222ae2fd +270, 0xaa5bff6ddbe6cd39 +271, 0x5e6564bdf9d27a0 +272, 0xc1c4658d6d27e065 +273, 0x31d66edddd8655ed +274, 0x6af3bc60e2b4af07 +275, 0x399c4af6041796ab +276, 0x17bb479a69a6ed73 +277, 0x2784fe93a28ecaa3 +278, 0xf21f2428f04f3562 +279, 0x8400c729e4bbcaaa +280, 0xc7b9912613e2277b +281, 0x4100a49d29d132d8 +282, 0xe83d287fada879af +283, 0x20512ca7b1735a2e +284, 0x16d172b52cee39f4 +285, 0x932f40c6356b0681 +286, 0x73b173d7394ebe2f +287, 0x621f4add757fccb6 +288, 0x7724a21d6908f4b +289, 0x82723dadae7a25f +290, 0x917c3b165505d87f +291, 0x317789982769846d +292, 0x9118ac495eb78d26 +293, 0xf52b2e19d3ef473 +294, 0xa846c997a4f8604e +295, 0xf316fca50e1bf909 +296, 0x5fd613d38169c705 +297, 0xfa2c8ac49a16f4d +298, 0x19382f84f73cc4c5 +299, 0xbbbdf4d883438e9e +300, 0xd0c0b36f4d4ef8fc +301, 0x5b57967a9e761eaf +302, 0x8003a747f3cdc264 +303, 0x67245a0a751da7ad +304, 0xc8ddd03ef82a0a33 +305, 0xa7c93a1bfd6c820c +306, 0xf8c05bc5f6fdd20e +307, 0xd9879192f8295663 +308, 0x180c2ff3e2771469 +309, 0xb17b2159870533e6 +310, 0x34d6c12c9be34bc9 +311, 0x664eb6de3c27d98d +312, 0xdbb5b1ba134b9d90 +313, 0x68ce417ee1e96b76 +314, 0x2fb7a10f525e5e08 +315, 0xf4d92c47b9a37cad +316, 0x3fd6bf82bb631c2d +317, 0x269eb1cd345e8a31 +318, 0xbe940cb0cffd51ee +319, 0x17f4afb78aad2719 +320, 0xe6418d546742ed86 +321, 0xbbddf550be83c008 +322, 0x21f5abc27624453d +323, 0xa9c23d6d0fc4cc4a +324, 0x51dd98db43adfa45 +325, 0x768debf45d278d3a +326, 0x3c66726469c6d78a +327, 0x19720ca3ec5c95fe +328, 0x647128339a9de240 +329, 0x2283bfd5ff7fca46 +330, 0x491c02359844cc18 +331, 0x759e770b8b4ab91e +332, 0xca1335607f9cb5c8 +333, 0x57622ba5e6ab8e31 +334, 0xe2631640efa27ee1 +335, 0x9a374481132fdcc3 +336, 0xead08fc06ebe7d6e +337, 0x51f6e040be74899f +338, 0xef020a2644eea66b +339, 0xd08de860251ea1af +340, 0xbbd4224fef793ab5 +341, 0xe32c1f5a20c14b49 +342, 0x41a9c20ee9ab12ff +343, 0xa4f28d0065e07695 +344, 0x29f6a06ee894dde4 +345, 0xf892525b2a6eacd5 +346, 0xf014392e71ac28e +347, 0x95fc7879ae3930da +348, 0x4f6d3fbc928edb34 +349, 0x827c5e01824069df +350, 0xcc71b97aaf28952b +351, 0x34ea77a8fee21c5a +352, 0x1060da2bf2eb6e5d +353, 0xb5c810ce92166853 +354, 0xe4a3a54ee402b549 +355, 0xfccad41d569a68ba +356, 0xef7cdfbe1a1dc930 +357, 0xa4fc3447ec16869c +358, 0x38fd0381051d225d +359, 0x4588436100fb4666 +360, 0x315ee0679f95d75d +361, 0xdb3ebac7a80ce68a +362, 0x711776d978e4144f +363, 0x76335f1760bf6c69 +364, 0xa0e43f3a570985d8 +365, 0x4acd44aa515c8a2a +366, 0xeae99aa23e380173 +367, 0x64db0d85601f3581 +368, 0xb251dc038cc5c88d +369, 0x416acb242805830 +370, 0xc58c8a6f0c958ee5 +371, 0xfca9023592ef2492 +372, 0xe0b53c925afac1d +373, 0x59ab2f382172a153 +374, 0x5b32526cf9ffddf7 +375, 0xe8f7da4d2ee7d446 +376, 0x54ebb0fad0b278a6 +377, 0xdb347dac25d9f210 +378, 0xe439a5295e5218a7 +379, 0xee108ec20ca6d955 +380, 0xcaeb3ae75ca6a426 +381, 0xd626b91bed8e3cfe +382, 0xf594cc47bb420358 +383, 0xcb8c06c63f602631 +384, 0xea1bbf343755e2a6 +385, 0x769f8ad9e3e9dd82 +386, 0x5d0004d1952f258b +387, 0xf696d68c507351d1 +388, 0xcdfd3bef68eeb52f +389, 0x3d400e8af4240cca +390, 0x8662dfc98da8bbba +391, 0x5127c718b4533d93 +392, 0x1628510427094b54 +393, 0xb6d294f5979c4b17 +394, 0x6d03a41585865ea1 +395, 0x96728b5b88e3b111 +396, 0xea45bc46ab6d1e06 +397, 0x53ce57a324130f26 +398, 0x59e439b690174051 +399, 0x7c143c4e625949df +400, 0xc764c808c3e166a3 +401, 0x6263f53fa2405763 +402, 0x71952cf69bb08e58 +403, 0xfec4e83b29280505 +404, 0xce28f5ba58ef8f6e +405, 0xebd9e7ab671427a6 +406, 0x4a91ba373ed1de6e +407, 0xb22b200125627341 +408, 0x8c111548e4a162e5 +409, 0xf4345a7b421b34aa +410, 0x40ba35f569a690a4 +411, 0xf1031a09b5e1d223 +412, 0xbe1c1a131386bbc +413, 0x216f8598d1be1586 +414, 0xef45f48c338d8db0 +415, 0xf57e9f4e168b19c8 +416, 0x56e06748363954b6 +417, 0xccd0b383991896f9 +418, 0x4b40d308361e4d23 +419, 0x1ee49bb107ccb9b9 +420, 0xcdfd1ccf20e46b0b +421, 0x55089ad213e2c33e +422, 0x2852c242329b05a8 +423, 0xa46180d6534b97ef +424, 0xbfb5bbe8b1bd13cd +425, 0xb0bcb564e00214a0 +426, 0x6e9d330e742cf634 +427, 0x7b5b292cfa1b9430 +428, 0x5441cad8cf303e85 +429, 0x1762008ea3eefc9e +430, 0xa9ade7d73cb4296 +431, 0x98a6316562c0ea4f +432, 0xc51574eccad0e9fb +433, 0x677ec01be6893139 +434, 0xb0c7982fbaaee4a2 +435, 0xe07ed42cbb34d46c +436, 0xafc4634fa786c32d +437, 0xdaf8b97e6ad7e018 +438, 0x6267f0706ae3a607 +439, 0xca07bd40f70c2e9e +440, 0x4b25e8c7869abc8e +441, 0xabbb474aa737636e +442, 0x410f530d20a6769f +443, 0xee7d10dba29880d5 +444, 0x61f91eb2ebc3c39e +445, 0xc02d21d44c280731 +446, 0x7ca6f8eb9d6d3abe +447, 0x5e3fc57fc5b3ab03 +448, 0xc4b0f5d5d2655632 +449, 0x9b57a16a81ad63b9 +450, 0xc4732d2261781084 +451, 0xbd26679e27f54c19 +452, 0x8eef61d7a56c9d2d +453, 0x950e4be078a1d146 +454, 0x672e35b94cfafe9 +455, 0x79076d70ef347878 +456, 0x8d0158c3b7af319a +457, 0x9f9f475701b78fbd +458, 0x15768b3aabdb75e1 +459, 0x9f00af1f73d4209c +460, 0x680f425ca7814aa5 +461, 0x4501ef424a132af8 +462, 0xc57a90ca7cec1f2f +463, 0x708bfd7448c14dd1 +464, 0x3bfcbe7c8840456 +465, 0x6f97402f07bde0a0 +466, 0x8027440e4b178a21 +467, 0x94e947eb94a1c33f +468, 0xa99d1ab0d9e32c23 +469, 0x3240cb605f629e2a +470, 0x414086506367a711 +471, 0xb9186fe6279d4965 +472, 0x3f21caccdeb1c91a +473, 0x13554b8865e173ec +474, 0x867beb29cf375a21 +475, 0x1f27821ee23885b7 +476, 0xc64f09efbf1b5c69 +477, 0xc8f96ad307b1eaee +478, 0xea9040a44f9765f2 +479, 0xdf9c784d488953c8 +480, 0xa010bdbdce78972f +481, 0xbb8ab6017fcb7e5c +482, 0x8584f4844ad95ef6 +483, 0xc319e59b7efd9aad +484, 0x7ab487076c4a148f +485, 0xe5d8c47faa0488a0 +486, 0x4077092e33a0457a +487, 0x1bf7e7c4f615d7c4 +488, 0xea03b4fb0f4c3902 +489, 0xee72742384d93cc +490, 0x5bdae630f24c703b +491, 0x4d47db7fd176b322 +492, 0x4457f591923d3714 +493, 0x4a5cb51e0ce52280 +494, 0x16021446e36cf9ab +495, 0x87c563540c39d952 +496, 0x18c0cbfa66b443eb +497, 0xa3edd3ce7632c1f2 +498, 0x2921b28c42e77852 +499, 0xc72e3be0072541bf +500, 0x988c2deed5403283 +501, 0x510b8765988cd3ad +502, 0xa86ee406bfa09364 +503, 0xae5e6c62df70a308 +504, 0x28d4790520331444 +505, 0xbb1a0474b2f407d4 +506, 0x6bcfae4cf73c59cd +507, 0x36695e04107a9f5f +508, 0x5b1e9ad38395f724 +509, 0xd3157c290d299f2 +510, 0xd084175fa8220b7b +511, 0x76b0399bdfb66af2 +512, 0x29c3425c62e361ca +513, 0xe4bf2b3494a19bd8 +514, 0xc9d57df374baba6b +515, 0xdcee5e50619bf223 +516, 0xa3ba78fa885e6a72 +517, 0xbf34ea44695a8f30 +518, 0x5ddde2254aff3d06 +519, 0x6d1f3041e9879f3 +520, 0xaccd25b0875c2d89 +521, 0xefa539c60700018d +522, 0x7d3764e10c6d733b +523, 0x367d61076fe9c3c0 +524, 0x4657ab485775ed78 +525, 0x1ba7888d4f32d223 +526, 0x24ee78667fd08a50 +527, 0xfad3ba97460fae93 +528, 0x4dd200f3b026d7dc +529, 0x9d4e33c5fef7953f +530, 0x2ca6fd68615253c9 +531, 0xe3d16805a894838e +532, 0x10db3a0c972ecdc8 +533, 0x4090524fc5355e3c +534, 0x27385eae6f429d47 +535, 0x50af78ddc8681d35 +536, 0x1ebe6ea924bcd104 +537, 0x75423f64f5df83e7 +538, 0x876c4860427c720f +539, 0x8dc8f9407e27a179 +540, 0xedcd4c67c2676676 +541, 0x3341e48a470ebdb8 +542, 0xd4f63685f508ba66 +543, 0x3f6e375d68e34845 +544, 0x11b33ca59e6c3241 +545, 0x40189f7217f8137a +546, 0x916b0c45129e9a53 +547, 0xc1e91440f5b713bb +548, 0x414652f46a900767 +549, 0x33310db43b11e46f +550, 0xff1503c244b4b868 +551, 0x669e43bc981f4223 +552, 0xe27d487e222dc483 +553, 0xb2ae0efe4fef9eae +554, 0xd8dd8b215c1cfe79 +555, 0x16a80138d4ddcedd +556, 0xbc6a70ac7a4bcda5 +557, 0x18d80787abf2acfc +558, 0xecd0532537c2d3cc +559, 0x993800a80d4446f4 +560, 0x4ea5aeea9f43526 +561, 0x5a8031685b0c1463 +562, 0x31f108fa80921689 +563, 0xb9709186be75599f +564, 0x3adff9562a928b69 +565, 0x190d15108d41eb7 +566, 0xea7591506a38e4c7 +567, 0x4c91ea0a6340a8c3 +568, 0x919c67ef7a244bbf +569, 0xe6a76f184ad3d2b +570, 0x3a9640c5bed1edbc +571, 0x506ebd2fe9ef89e8 +572, 0x4d0796896388d9c4 +573, 0x2de4c110f7d7d112 +574, 0xe46c7b927d9f79a9 +575, 0xbf0ae3712f8eeae1 +576, 0x3b2984ee35da6a32 +577, 0xc59345b1697baef0 +578, 0xa3473fb9f81cc2df +579, 0x4454c552a21d642f +580, 0xca1636a3e911c77f +581, 0x2d9b63fde30e80fc +582, 0xaef85088f4d559f1 +583, 0x46544642eecad016 +584, 0x4da4f3f6afd9956 +585, 0xe6e375ac0867fc0a +586, 0x37d32889b072031e +587, 0x83fc712194bb9b4f +588, 0x9fa04dcc1f546c93 +589, 0x11c7883dc79aa96f +590, 0x1a71d76e8ea10b7c +591, 0x718279514561c06a +592, 0xc664454f1de48c18 +593, 0x945794f5dbc5b9b9 +594, 0x3cb32ee274775b53 +595, 0x571676c238e946b6 +596, 0x903cb8f8a39a1994 +597, 0xe63cdce42313cb65 +598, 0xddf3163b47ec269d +599, 0xb2c5a360383dd417 +600, 0x7bbf55331e3acb3e +601, 0x5c03cfbcc662c4b3 +602, 0x8cee8a1ce27b0fd0 +603, 0xb3e4f5dcce5e41de +604, 0xa3c560c653f8d148 +605, 0x9b0803f47ddbbd92 +606, 0x73598c03ae44f0c5 +607, 0xeda1ffa390632e00 +608, 0x1110571306d5e9c0 +609, 0x41ed218f2f65a1b5 +610, 0xe07441e90b230c6e +611, 0xcde6847873992446 +612, 0xb7d9b5ee4e941a3f +613, 0x5c9e0ac35e79e606 +614, 0x168d3790aca61ccc +615, 0x1846981baa478e7c +616, 0xc1689be15fa49372 +617, 0xddcb4e9701381927 +618, 0xa01ea97bce8344ff +619, 0xbaf44781cab34255 +620, 0xec241fa1a79901d1 +621, 0xea98acc2951f15ac +622, 0x1494afaba64e4697 +623, 0xda5136456a210ac1 +624, 0x5fa20a363997390d +625, 0xb53bbf197e19ce07 +626, 0xde0f31128a00cca2 +627, 0xc605fd5f98698e2a +628, 0x6796d5719b95d97c +629, 0xee44914e65e92f5a +630, 0xb0054098c1bddbe2 +631, 0xad7700d59df9004b +632, 0xcdf1288400a36d30 +633, 0x8b0f55466049fde1 +634, 0xab9410d6a2a28f3e +635, 0x4b5adce26df9bbee +636, 0xb16dcc4180dc7bb7 +637, 0x7657f9213f0dc5e2 +638, 0xc1eb5760b0852f85 +639, 0x8fb3fe1d0faec1d9 +640, 0x2dbbb8a4882f96dd +641, 0xf4ecd3eaf395f8fa +642, 0xb258df3c504f12e0 +643, 0x7ac9b40c8f945ed6 +644, 0x8f134be6970b05d9 +645, 0x6ecc9666da7fa595 +646, 0x133361dfb73314dd +647, 0xb8721ed39e997436 +648, 0x656883492dc738b9 +649, 0x174a3c8f99bf9b85 +650, 0xc09ef0f2df044a07 +651, 0x28c7a240745dff8c +652, 0x176441c5299c7c50 +653, 0x8f42c91c5e888ade +654, 0x1512801d9d3d0953 +655, 0x443640b3f1c700f +656, 0xd83f359def440e5f +657, 0x9fe61cf5cc1c3aa2 +658, 0xff32bae693ac2f8c +659, 0xb4c4595dd221d70a +660, 0xd3437b597e7286c8 +661, 0x2510f2ff588244d8 +662, 0x886154af6e3c0192 +663, 0xd6725d1af0c4a779 +664, 0x4874ef6b5ef6f9e3 +665, 0xbb987030fc6d4ede +666, 0xa0143e44289ccb48 +667, 0xca3de9e602373a89 +668, 0x78a50b8eed52c7c +669, 0x7bc6b4f801904167 +670, 0x9d14d691cb0acee5 +671, 0x53d9784fdefd3fa7 +672, 0x2b5457b8912e9095 +673, 0x41f3614d5840ec5 +674, 0xdb1d447cd66f3375 +675, 0x80f3770ee7d84b3f +676, 0xab9863f7e5a52eae +677, 0xfc078f48c4b21252 +678, 0xd360cf3d61a05da2 +679, 0xb31a15784218b1b6 +680, 0xdc0a6e5e7a89bf5a +681, 0xea18995b334e9d69 +682, 0x3e07c668b1f71a31 +683, 0x4ecf7c96be3b06e7 +684, 0xeb3f4dbab3912a0c +685, 0xf3adfd6a616308c5 +686, 0x7478bc40793ad794 +687, 0xeedca7d9bc381ea9 +688, 0x7b5a77d7b42cc04e +689, 0xd66ffb33bd6e5616 +690, 0x48d8ef97ac2d0ff7 +691, 0xb1c85985725cab07 +692, 0x669a9762479ad88f +693, 0x22e49f0ceddf433c +694, 0xb78bf3ac7e020fc9 +695, 0x3c4939f7654e38d7 +696, 0x6ba6b31e431bf01 +697, 0xe55d5f4848c9e979 +698, 0x5e943e51c4223664 +699, 0x7385c2084ba55b84 +700, 0xedae6a69b96c4181 +701, 0x5498b7fd55f464b4 +702, 0xd889c1a2eb452455 +703, 0x189fd7411f0f9003 +704, 0xd26ce80a290a614a +705, 0xe17114fdc506bf73 +706, 0xe9e4b0ef791be2f7 +707, 0xcf9fa23043d230e5 +708, 0x3a8dac60f4791a0b +709, 0xbefc5e64f0603b04 +710, 0x41e622805a016bb2 +711, 0x8a57df661b57fa6f +712, 0x13a30bb387257625 +713, 0x52a45137bdc9d9d7 +714, 0x6385fcd7f91189f0 +715, 0xb18c44ec584e6de7 +716, 0x6335807f6d6b86fd +717, 0xd573fb71853ef93a +718, 0xf6171462c9f74a61 +719, 0x10089f2cad628d2f +720, 0x96b8d5937d722b85 +721, 0x7376821fe68a497f +722, 0xb752bcac1c64da57 +723, 0x2a043c4fd7c56683 +724, 0xb9acd886078b8ca8 +725, 0xa137bfd64a2aabfa +726, 0x7b616af852cfb604 +727, 0x851d36fd60a7a376 +728, 0x1f6612c681686473 +729, 0xeb70d6175c3f21a3 +730, 0x38df2476423bb985 +731, 0x1c8946a1d708676a +732, 0xe3857fbe776fbcf0 +733, 0x4bccfabc6a7aa9f6 +734, 0xaa79d49af3fb0ad9 +735, 0x8a90ac2c9062949 +736, 0x1bef9e17f6abd7ac +737, 0x5f834c276df092ed +738, 0x57451b8f37c655de +739, 0x9b37a62f91df1c6b +740, 0xfea0e5e928521dd1 +741, 0x30ae26af2d3d3066 +742, 0x90c7f4fe041cc96f +743, 0xae3d8a1af5e89491 +744, 0x8654f2cadce2dce3 +745, 0x45b460f2bd49bf46 +746, 0xbb29582042d003d3 +747, 0x29cd1be694c5c95f +748, 0xbc0ae7374b735c03 +749, 0x4db1a0bc64758878 +750, 0x122c278b74b518c4 +751, 0x4a94e6b50bf51213 +752, 0xf408489bdda60454 +753, 0x791c5da3bf67cb99 +754, 0x83b85caa737261f3 +755, 0x619fe26f59c92f28 +756, 0x6f24d7563749d335 +757, 0x4d5224b378f4356d +758, 0xa80dece2650eccfe +759, 0xc537fb63fd483efd +760, 0x28c5c3cdb5ae2df7 +761, 0xcd66fbab1368c7aa +762, 0xf2abd0adff7069ca +763, 0x152fee808d76d3ab +764, 0x2f21b3a82acb2d08 +765, 0x7eafb15d34cfad1e +766, 0xa7f1608a241eab5e +767, 0xe030095ce12c4c10 +768, 0xa0d6ae018a94f4fb +769, 0x908e2ddca49b6b27 +770, 0x160e2f0b13791c01 +771, 0xc94bcaab64d37b36 +772, 0x9b6d2771f3cab823 +773, 0x877e720beca0fa5e +774, 0xeab6a692db2c4bb2 +775, 0xbe7c0b35f9c454dd +776, 0xafd9faefc3c2e26f +777, 0xc0b313e172484781 +778, 0x802ab792f708ee16 +779, 0x9bb8a1c513145652 +780, 0xb3bb6fbd9ac8b1f5 +781, 0xfd1222d31160e2ac +782, 0x9e8def9378eb0567 +783, 0x4cb5047d3e7613e9 +784, 0xe870feca80e56b98 +785, 0xa6b53c45c84d5b1b +786, 0x2cccb2ab07159ff1 +787, 0xbc1532a0b621d08c +788, 0xc17f60e6e631228c +789, 0xe231bf2fa4ed9790 +790, 0x9650d2546468aea4 +791, 0x78ed0341e62b1f36 +792, 0x564786e0f06f2136 +793, 0xad67f8e36f21e2a6 +794, 0x14aca551dc2007f4 +795, 0xdaaf21ba99a85718 +796, 0x801993a2b9ccd054 +797, 0xc081b520e3351ae4 +798, 0xb4c2c3a575d98933 +799, 0xee0febb05021f5d9 +800, 0xa8e9bf042c8524c2 +801, 0x62a4e29d5e5b0e32 +802, 0xca47dc23b3267d2d +803, 0x7dcda2032acfb297 +804, 0x707edefabc363d8c +805, 0x66ae33b39d40cc26 +806, 0x29af2f7a0dbe3c6c +807, 0x45bd35e7e7fe3fc8 +808, 0xe2be9934a9386886 +809, 0x1369a648c1f66d4 +810, 0x36771ede37f6912d +811, 0x29f125e90e92f06a +812, 0xdf2517a841fe4c35 +813, 0xa07e77e5ac2fa24d +814, 0xaafc1ab2e8914f7e +815, 0x64d602ea8eab3138 +816, 0x7dcc67358db459b7 +817, 0x18b3c0f3e2ddc176 +818, 0x3186ebc761499532 +819, 0x26eae2da284bf1fc +820, 0x2fce764273c3afe8 +821, 0x8d14d487425c3e78 +822, 0x515162b0ca58a70e +823, 0xc9a51fd0466b0019 +824, 0x6928f5af5674a4a2 +825, 0x23aec98e1759caa1 +826, 0x438f9a8f033d4511 +827, 0x8a6314a76994c55e +828, 0xa3bef565e65855a2 +829, 0x251c36d1deb6face +830, 0x221f06d4847ef177 +831, 0x29741abb3ab9b4e4 +832, 0x93c9827eacaa262f +833, 0x9d91f19aace9c4c9 +834, 0x30038d3da09b76e +835, 0xcddf978db05ec6cb +836, 0x798aa80467245bdf +837, 0x9c26179d57a6263b +838, 0x2cbdb745276e1c2b +839, 0xee549998a174e7c5 +840, 0x707933d84e48e90 +841, 0xc1925775d969b667 +842, 0xbac030db93b43a38 +843, 0xa478f204b04d5963 +844, 0xecfc1e66fa00531b +845, 0x4771b36479d16c0c +846, 0xfa28373c9c035622 +847, 0xc89c89a3ee2b5365 +848, 0x88a4066f98fa60a2 +849, 0x3d3395c78b0a0111 +850, 0xed59a448861220b6 +851, 0x97574be1b4fbf7cc +852, 0xe63d52a637907a6b +853, 0x5ba45d5ae3d14fcd +854, 0xecfff9b9ce46e911 +855, 0x1aff395024e1670f +856, 0x80735f71f452b8d0 +857, 0xb35665e1a7090637 +858, 0xb6fc2f8eafbdb100 +859, 0x1f72a04d1ac1ec24 +860, 0xdc6a743a6dfc9a65 +861, 0xc1f2e21f56bf953b +862, 0x3861b9573b9b211f +863, 0x1b0b5ebe315c8de6 +864, 0x4a2474209eefeb20 +865, 0x8bf700bea8771d57 +866, 0x5c826e1b9d96e021 +867, 0x3c550882c3e60dd3 +868, 0xbcfc1b474082e0b +869, 0x36328eb420971300 +870, 0x31f955615998d5c0 +871, 0xefc881172a488a7a +872, 0x8ae7f46c694723a3 +873, 0x71642de55998b04a +874, 0x43af19c9ce33d752 +875, 0xb489c13374abc234 +876, 0x3691de307b663328 +877, 0xeef765a5e6839de2 +878, 0xdceb9040010939ee +879, 0xc402cd11b98f0ab7 +880, 0x714e9a2cb8f045e +881, 0xf0cabb6fe1a41f30 +882, 0xcf41bc2a41ecfb57 +883, 0x62c24ff5eeb1048b +884, 0x74a62a4266a09c41 +885, 0xa6ddcbcf7c7af5f4 +886, 0x8534a3d967991eb1 +887, 0xe43dbafd0a4c9311 +888, 0xc0d713b3b8d9dd68 +889, 0x174a9b2d277e1f +890, 0x8573edcbab177db6 +891, 0x1bcff4d3595158e6 +892, 0x84e938887e7c6066 +893, 0x354130c60d728871 +894, 0xb8dd477ccc07d2a0 +895, 0xc1e30214f9d75b60 +896, 0xce4977c3d243d7fb +897, 0xf93ba43fa22155b7 +898, 0x1cd39a9065bed6c4 +899, 0x1677daec8a3647cc +900, 0xce08f421c19266ae +901, 0xca3ca9ebd2a2669d +902, 0x7eb68405132fca15 +903, 0x18168b0f0ce8d315 +904, 0xdf241f3d574a968e +905, 0xe2fa2207e0dbc86a +906, 0xb8bfb68c1ee88be6 +907, 0xc386a425a0e8ec8b +908, 0xf60e7ea66674e122 +909, 0xd6b7820405c40e8 +910, 0x84bd5fac533797e7 +911, 0x5acfd875363dcfdb +912, 0xd0cab73b1d04d65d +913, 0x8d5cd9a81de7cc92 +914, 0x816b262b71097355 +915, 0x2d28470f662f3ef7 +916, 0xc7ef80c95a450030 +917, 0x18be275d375e8d38 +918, 0x4ebbb686e2fe3832 +919, 0xa15f1c5068711bf +920, 0x6e3e14f47aab4b11 +921, 0x51d2f11208103b72 +922, 0x4083a7d5788b72f5 +923, 0x5037780b542dc8ce +924, 0x1df9802ce8610192 +925, 0xba270a3bcbb59d80 +926, 0xce0459574f8a37c +927, 0x543aaf1a28480574 +928, 0xea92b1cf98896d16 +929, 0x6bfd3baae08a2060 +930, 0x5d9a2b2b76d4ed11 +931, 0x8de7686a95d09d5 +932, 0x392e959b78286928 +933, 0x98fc7a7d1a82e0b5 +934, 0x23f25d04738d1d6d +935, 0x507922d324dd1207 +936, 0xef809cf741419ad7 +937, 0x3a3ffc65ef3365f3 +938, 0x3eb258435905713f +939, 0x242386e52078bd9c +940, 0xa3941556020beac4 +941, 0xbbb020f8e5f4aee2 +942, 0x3373440701bbd45e +943, 0xa6a36308592401f3 +944, 0x20e5642bed30990a +945, 0x6c3cce6f512f0c30 +946, 0x61b470467a590ea3 +947, 0xff15bf7dc3ffccb2 +948, 0x23a3c0663725715f +949, 0x197ea4c617f88f31 +950, 0x6412abc6b559972e +951, 0x5e963b8491f05790 +952, 0x7b837bd7e43c7b83 +953, 0xccde4023d6b2ba81 +954, 0xa39f9c1d210fdfed +955, 0xa413f619bdd49c28 +956, 0xd2096d2202caee6c +957, 0xbbdbb1f4178b9ec4 +958, 0x77d3deb9828dc7ec +959, 0xdb311ba28eb9b8bf +960, 0x781905616be8bc25 +961, 0xf7b401fdce0928ac +962, 0xa29286d380c51201 +963, 0x4f6790854c5fcf9e +964, 0x95b7e3793eceab8f +965, 0x77097d01be05b8fd +966, 0xea6645235d898393 +967, 0xc260212650bb4196 +968, 0xab028439386af2a1 +969, 0xb9c99c6cb6bac542 +970, 0x44597a7ac513a707 +971, 0x7c3503863d73196a +972, 0x5310606fb739afa0 +973, 0x2b9a1a30b2b82283 +974, 0x442c9600d98d3fd4 +975, 0x56dbbb72bd2fb227 +976, 0x9e137b63c9dfbd47 +977, 0x8c432826c8059484 +978, 0x2a581bd76096803 +979, 0x9bced11dd3da15d4 +980, 0x448d0782fa0e2d56 +981, 0x6fe223ed7981de88 +982, 0xa11abc8ebee400d0 +983, 0x70cfca3c8008b197 +984, 0x6de64d935456ab83 +985, 0x726bdd86810c0d6a +986, 0x1077e0584ccc4150 +987, 0x64fa38092b2316f9 +988, 0xe3ef337ecdc3b8c5 +989, 0xebc0452bc41c192a +990, 0x2a81ecd193ab45f9 +991, 0xeb6038f45a865c3a +992, 0xe7f1e1b3600ec5d2 +993, 0x16897e3406fe264c +994, 0x2768a1d17fb81ddb +995, 0x9965317d69c47896 +996, 0x949e16bd19a6c53b +997, 0x81cc74cdf8fe59ea +998, 0x180ade029d93ddc6 +999, 0xcfe8717315f3ca1f diff --git a/numpy/random/tests/test_direct.py b/numpy/random/tests/test_direct.py new file mode 100644 index 000000000..4ab521d1b --- /dev/null +++ b/numpy/random/tests/test_direct.py @@ -0,0 +1,579 @@ +import os +from os.path import join + +import numpy as np +from numpy.testing import (assert_equal, assert_allclose, assert_array_equal, + assert_raises) +import pytest + +from numpy.random import (Generator, MT19937, DSFMT, ThreeFry, PCG32, PCG64, + Philox, Xoshiro256, Xoshiro512, RandomState) +from numpy.random.common import interface + +try: + import cffi # noqa: F401 + + MISSING_CFFI = False +except ImportError: + MISSING_CFFI = True + +try: + import ctypes # noqa: F401 + + MISSING_CTYPES = False +except ImportError: + MISSING_CTYPES = False + +pwd = os.path.dirname(os.path.abspath(__file__)) + + +def assert_state_equal(actual, target): + for key in actual: + if isinstance(actual[key], dict): + assert_state_equal(actual[key], target[key]) + elif isinstance(actual[key], np.ndarray): + assert_array_equal(actual[key], target[key]) + else: + assert actual[key] == target[key] + + +def uniform32_from_uint64(x): + x = np.uint64(x) + upper = np.array(x >> np.uint64(32), dtype=np.uint32) + lower = np.uint64(0xffffffff) + lower = np.array(x & lower, dtype=np.uint32) + joined = np.column_stack([lower, upper]).ravel() + out = (joined >> np.uint32(9)) * (1.0 / 2 ** 23) + return out.astype(np.float32) + + +def uniform32_from_uint53(x): + x = np.uint64(x) >> np.uint64(16) + x = np.uint32(x & np.uint64(0xffffffff)) + out = (x >> np.uint32(9)) * (1.0 / 2 ** 23) + return out.astype(np.float32) + + +def uniform32_from_uint32(x): + return (x >> np.uint32(9)) * (1.0 / 2 ** 23) + + +def uniform32_from_uint(x, bits): + if bits == 64: + return uniform32_from_uint64(x) + elif bits == 53: + return uniform32_from_uint53(x) + elif bits == 32: + return uniform32_from_uint32(x) + else: + raise NotImplementedError + + +def uniform_from_uint(x, bits): + if bits in (64, 63, 53): + return uniform_from_uint64(x) + elif bits == 32: + return uniform_from_uint32(x) + + +def uniform_from_uint64(x): + return (x >> np.uint64(11)) * (1.0 / 9007199254740992.0) + + +def uniform_from_uint32(x): + out = np.empty(len(x) // 2) + for i in range(0, len(x), 2): + a = x[i] >> 5 + b = x[i + 1] >> 6 + out[i // 2] = (a * 67108864.0 + b) / 9007199254740992.0 + return out + + +def uniform_from_dsfmt(x): + return x.view(np.double) - 1.0 + + +def gauss_from_uint(x, n, bits): + if bits in (64, 63): + doubles = uniform_from_uint64(x) + elif bits == 32: + doubles = uniform_from_uint32(x) + else: # bits == 'dsfmt' + doubles = uniform_from_dsfmt(x) + gauss = [] + loc = 0 + x1 = x2 = 0.0 + while len(gauss) < n: + r2 = 2 + while r2 >= 1.0 or r2 == 0.0: + x1 = 2.0 * doubles[loc] - 1.0 + x2 = 2.0 * doubles[loc + 1] - 1.0 + r2 = x1 * x1 + x2 * x2 + loc += 2 + + f = np.sqrt(-2.0 * np.log(r2) / r2) + gauss.append(f * x2) + gauss.append(f * x1) + + return gauss[:n] + + +class Base(object): + dtype = np.uint64 + data2 = data1 = {} + + @classmethod + def setup_class(cls): + cls.bit_generator = Xoshiro256 + cls.bits = 64 + cls.dtype = np.uint64 + cls.seed_error_type = TypeError + cls.invalid_seed_types = [] + cls.invalid_seed_values = [] + + @classmethod + def _read_csv(cls, filename): + with open(filename) as csv: + seed = csv.readline() + seed = seed.split(',') + seed = [int(s.strip(), 0) for s in seed[1:]] + data = [] + for line in csv: + data.append(int(line.split(',')[-1].strip(), 0)) + return {'seed': seed, 'data': np.array(data, dtype=cls.dtype)} + + def test_raw(self): + bit_generator = self.bit_generator(*self.data1['seed']) + uints = bit_generator.random_raw(1000) + assert_equal(uints, self.data1['data']) + + bit_generator = self.bit_generator(*self.data1['seed']) + uints = bit_generator.random_raw() + assert_equal(uints, self.data1['data'][0]) + + bit_generator = self.bit_generator(*self.data2['seed']) + uints = bit_generator.random_raw(1000) + assert_equal(uints, self.data2['data']) + + def test_random_raw(self): + bit_generator = self.bit_generator(*self.data1['seed']) + uints = bit_generator.random_raw(output=False) + assert uints is None + uints = bit_generator.random_raw(1000, output=False) + assert uints is None + + def test_gauss_inv(self): + n = 25 + rs = RandomState(self.bit_generator(*self.data1['seed'])) + gauss = rs.standard_normal(n) + assert_allclose(gauss, + gauss_from_uint(self.data1['data'], n, self.bits)) + + rs = RandomState(self.bit_generator(*self.data2['seed'])) + gauss = rs.standard_normal(25) + assert_allclose(gauss, + gauss_from_uint(self.data2['data'], n, self.bits)) + + def test_uniform_double(self): + rs = Generator(self.bit_generator(*self.data1['seed'])) + vals = uniform_from_uint(self.data1['data'], self.bits) + uniforms = rs.random(len(vals)) + assert_allclose(uniforms, vals) + assert_equal(uniforms.dtype, np.float64) + + rs = Generator(self.bit_generator(*self.data2['seed'])) + vals = uniform_from_uint(self.data2['data'], self.bits) + uniforms = rs.random(len(vals)) + assert_allclose(uniforms, vals) + assert_equal(uniforms.dtype, np.float64) + + def test_uniform_float(self): + rs = Generator(self.bit_generator(*self.data1['seed'])) + vals = uniform32_from_uint(self.data1['data'], self.bits) + uniforms = rs.random(len(vals), dtype=np.float32) + assert_allclose(uniforms, vals) + assert_equal(uniforms.dtype, np.float32) + + rs = Generator(self.bit_generator(*self.data2['seed'])) + vals = uniform32_from_uint(self.data2['data'], self.bits) + uniforms = rs.random(len(vals), dtype=np.float32) + assert_allclose(uniforms, vals) + assert_equal(uniforms.dtype, np.float32) + + def test_seed_float(self): + # GH #82 + rs = Generator(self.bit_generator(*self.data1['seed'])) + assert_raises(self.seed_error_type, rs.bit_generator.seed, np.pi) + assert_raises(self.seed_error_type, rs.bit_generator.seed, -np.pi) + + def test_seed_float_array(self): + # GH #82 + rs = Generator(self.bit_generator(*self.data1['seed'])) + assert_raises(self.seed_error_type, rs.bit_generator.seed, + np.array([np.pi])) + assert_raises(self.seed_error_type, rs.bit_generator.seed, + np.array([-np.pi])) + assert_raises(ValueError, rs.bit_generator.seed, + np.array([np.pi, -np.pi])) + assert_raises(TypeError, rs.bit_generator.seed, np.array([0, np.pi])) + assert_raises(TypeError, rs.bit_generator.seed, [np.pi]) + assert_raises(TypeError, rs.bit_generator.seed, [0, np.pi]) + + def test_seed_out_of_range(self): + # GH #82 + rs = Generator(self.bit_generator(*self.data1['seed'])) + assert_raises(ValueError, rs.bit_generator.seed, + 2 ** (2 * self.bits + 1)) + assert_raises(ValueError, rs.bit_generator.seed, -1) + + def test_seed_out_of_range_array(self): + # GH #82 + rs = Generator(self.bit_generator(*self.data1['seed'])) + assert_raises(ValueError, rs.bit_generator.seed, + [2 ** (2 * self.bits + 1)]) + assert_raises(ValueError, rs.bit_generator.seed, [-1]) + + def test_repr(self): + rs = Generator(self.bit_generator(*self.data1['seed'])) + assert 'Generator' in repr(rs) + assert '{:#x}'.format(id(rs)).upper().replace('X', 'x') in repr(rs) + + def test_str(self): + rs = Generator(self.bit_generator(*self.data1['seed'])) + assert 'Generator' in str(rs) + assert str(self.bit_generator.__name__) in str(rs) + assert '{:#x}'.format(id(rs)).upper().replace('X', 'x') not in str(rs) + + def test_pickle(self): + import pickle + + bit_generator = self.bit_generator(*self.data1['seed']) + state = bit_generator.state + bitgen_pkl = pickle.dumps(bit_generator) + reloaded = pickle.loads(bitgen_pkl) + reloaded_state = reloaded.state + assert_array_equal(Generator(bit_generator).standard_normal(1000), + Generator(reloaded).standard_normal(1000)) + assert bit_generator is not reloaded + assert_state_equal(reloaded_state, state) + + def test_invalid_state_type(self): + bit_generator = self.bit_generator(*self.data1['seed']) + with pytest.raises(TypeError): + bit_generator.state = {'1'} + + def test_invalid_state_value(self): + bit_generator = self.bit_generator(*self.data1['seed']) + state = bit_generator.state + state['bit_generator'] = 'otherBitGenerator' + with pytest.raises(ValueError): + bit_generator.state = state + + def test_invalid_seed_type(self): + bit_generator = self.bit_generator(*self.data1['seed']) + for st in self.invalid_seed_types: + with pytest.raises(TypeError): + bit_generator.seed(*st) + + def test_invalid_seed_values(self): + bit_generator = self.bit_generator(*self.data1['seed']) + for st in self.invalid_seed_values: + with pytest.raises(ValueError): + bit_generator.seed(*st) + + def test_benchmark(self): + bit_generator = self.bit_generator(*self.data1['seed']) + bit_generator._benchmark(1) + bit_generator._benchmark(1, 'double') + with pytest.raises(ValueError): + bit_generator._benchmark(1, 'int32') + + @pytest.mark.skipif(MISSING_CFFI, reason='cffi not available') + def test_cffi(self): + bit_generator = self.bit_generator(*self.data1['seed']) + cffi_interface = bit_generator.cffi + assert isinstance(cffi_interface, interface) + other_cffi_interface = bit_generator.cffi + assert other_cffi_interface is cffi_interface + + @pytest.mark.skipif(MISSING_CTYPES, reason='ctypes not available') + def test_ctypes(self): + bit_generator = self.bit_generator(*self.data1['seed']) + ctypes_interface = bit_generator.ctypes + assert isinstance(ctypes_interface, interface) + other_ctypes_interface = bit_generator.ctypes + assert other_ctypes_interface is ctypes_interface + + def test_getstate(self): + bit_generator = self.bit_generator(*self.data1['seed']) + state = bit_generator.state + alt_state = bit_generator.__getstate__() + assert_state_equal(state, alt_state) + + +class TestXoshiro256(Base): + @classmethod + def setup_class(cls): + cls.bit_generator = Xoshiro256 + cls.bits = 64 + cls.dtype = np.uint64 + cls.data1 = cls._read_csv( + join(pwd, './data/xoshiro256-testset-1.csv')) + cls.data2 = cls._read_csv( + join(pwd, './data/xoshiro256-testset-2.csv')) + cls.seed_error_type = TypeError + cls.invalid_seed_types = [('apple',), (2 + 3j,), (3.1,)] + cls.invalid_seed_values = [(-2,), (np.empty((2, 2), dtype=np.int64),)] + + +class TestXoshiro512(Base): + @classmethod + def setup_class(cls): + cls.bit_generator = Xoshiro512 + cls.bits = 64 + cls.dtype = np.uint64 + cls.data1 = cls._read_csv( + join(pwd, './data/xoshiro512-testset-1.csv')) + cls.data2 = cls._read_csv( + join(pwd, './data/xoshiro512-testset-2.csv')) + cls.seed_error_type = TypeError + cls.invalid_seed_types = [('apple',), (2 + 3j,), (3.1,)] + cls.invalid_seed_values = [(-2,), (np.empty((2, 2), dtype=np.int64),)] + + +class TestThreeFry(Base): + @classmethod + def setup_class(cls): + cls.bit_generator = ThreeFry + cls.bits = 64 + cls.dtype = np.uint64 + cls.data1 = cls._read_csv( + join(pwd, './data/threefry-testset-1.csv')) + cls.data2 = cls._read_csv( + join(pwd, './data/threefry-testset-2.csv')) + cls.seed_error_type = TypeError + cls.invalid_seed_types = [] + cls.invalid_seed_values = [(1, None, 1), (-1,), (2 ** 257 + 1,), + (None, None, 2 ** 257 + 1)] + + def test_set_key(self): + bit_generator = self.bit_generator(*self.data1['seed']) + state = bit_generator.state + keyed = self.bit_generator(counter=state['state']['counter'], + key=state['state']['key']) + assert_state_equal(bit_generator.state, keyed.state) + + +class TestPhilox(Base): + @classmethod + def setup_class(cls): + cls.bit_generator = Philox + cls.bits = 64 + cls.dtype = np.uint64 + cls.data1 = cls._read_csv( + join(pwd, './data/philox-testset-1.csv')) + cls.data2 = cls._read_csv( + join(pwd, './data/philox-testset-2.csv')) + cls.seed_error_type = TypeError + cls.invalid_seed_types = [] + cls.invalid_seed_values = [(1, None, 1), (-1,), (2 ** 257 + 1,), + (None, None, 2 ** 257 + 1)] + + def test_set_key(self): + bit_generator = self.bit_generator(*self.data1['seed']) + state = bit_generator.state + keyed = self.bit_generator(counter=state['state']['counter'], + key=state['state']['key']) + assert_state_equal(bit_generator.state, keyed.state) + + +class TestPCG64(Base): + @classmethod + def setup_class(cls): + cls.bit_generator = PCG64 + cls.bits = 64 + cls.dtype = np.uint64 + cls.data1 = cls._read_csv(join(pwd, './data/pcg64-testset-1.csv')) + cls.data2 = cls._read_csv(join(pwd, './data/pcg64-testset-2.csv')) + cls.seed_error_type = TypeError + cls.invalid_seed_types = [(np.array([1, 2]),), (3.2,), + (None, np.zeros(1))] + cls.invalid_seed_values = [(-1,), (2 ** 129 + 1,), (None, -1), + (None, 2 ** 129 + 1)] + + def test_seed_float_array(self): + rs = Generator(self.bit_generator(*self.data1['seed'])) + assert_raises(self.seed_error_type, rs.bit_generator.seed, + np.array([np.pi])) + assert_raises(self.seed_error_type, rs.bit_generator.seed, + np.array([-np.pi])) + assert_raises(self.seed_error_type, rs.bit_generator.seed, + np.array([np.pi, -np.pi])) + assert_raises(self.seed_error_type, rs.bit_generator.seed, + np.array([0, np.pi])) + assert_raises(self.seed_error_type, rs.bit_generator.seed, [np.pi]) + assert_raises(self.seed_error_type, rs.bit_generator.seed, [0, np.pi]) + + def test_seed_out_of_range_array(self): + rs = Generator(self.bit_generator(*self.data1['seed'])) + assert_raises(self.seed_error_type, rs.bit_generator.seed, + [2 ** (2 * self.bits + 1)]) + assert_raises(self.seed_error_type, rs.bit_generator.seed, [-1]) + + +class TestPCG32(TestPCG64): + @classmethod + def setup_class(cls): + cls.bit_generator = PCG32 + cls.bits = 32 + cls.dtype = np.uint32 + cls.data1 = cls._read_csv(join(pwd, './data/pcg32-testset-1.csv')) + cls.data2 = cls._read_csv(join(pwd, './data/pcg32-testset-2.csv')) + cls.seed_error_type = TypeError + cls.invalid_seed_types = [(np.array([1, 2]),), (3.2,), + (None, np.zeros(1))] + cls.invalid_seed_values = [(-1,), (2 ** 129 + 1,), (None, -1), + (None, 2 ** 129 + 1)] + + +class TestMT19937(Base): + @classmethod + def setup_class(cls): + cls.bit_generator = MT19937 + cls.bits = 32 + cls.dtype = np.uint32 + cls.data1 = cls._read_csv(join(pwd, './data/mt19937-testset-1.csv')) + cls.data2 = cls._read_csv(join(pwd, './data/mt19937-testset-2.csv')) + cls.seed_error_type = ValueError + cls.invalid_seed_types = [] + cls.invalid_seed_values = [(-1,), np.array([2 ** 33])] + + def test_seed_out_of_range(self): + # GH #82 + rs = Generator(self.bit_generator(*self.data1['seed'])) + assert_raises(ValueError, rs.bit_generator.seed, 2 ** (self.bits + 1)) + assert_raises(ValueError, rs.bit_generator.seed, -1) + assert_raises(ValueError, rs.bit_generator.seed, + 2 ** (2 * self.bits + 1)) + + def test_seed_out_of_range_array(self): + # GH #82 + rs = Generator(self.bit_generator(*self.data1['seed'])) + assert_raises(ValueError, rs.bit_generator.seed, + [2 ** (self.bits + 1)]) + assert_raises(ValueError, rs.bit_generator.seed, [-1]) + assert_raises(TypeError, rs.bit_generator.seed, + [2 ** (2 * self.bits + 1)]) + + def test_seed_float(self): + # GH #82 + rs = Generator(self.bit_generator(*self.data1['seed'])) + assert_raises(TypeError, rs.bit_generator.seed, np.pi) + assert_raises(TypeError, rs.bit_generator.seed, -np.pi) + + def test_seed_float_array(self): + # GH #82 + rs = Generator(self.bit_generator(*self.data1['seed'])) + bit_generator = rs.bit_generator + assert_raises(TypeError, bit_generator.seed, np.array([np.pi])) + assert_raises(TypeError, bit_generator.seed, np.array([-np.pi])) + assert_raises(TypeError, bit_generator.seed, np.array([np.pi, -np.pi])) + assert_raises(TypeError, bit_generator.seed, np.array([0, np.pi])) + assert_raises(TypeError, bit_generator.seed, [np.pi]) + assert_raises(TypeError, bit_generator.seed, [0, np.pi]) + + def test_state_tuple(self): + rs = Generator(self.bit_generator(*self.data1['seed'])) + bit_generator = rs.bit_generator + state = bit_generator.state + desired = rs.integers(2 ** 16) + tup = (state['bit_generator'], state['state']['key'], + state['state']['pos']) + bit_generator.state = tup + actual = rs.integers(2 ** 16) + assert_equal(actual, desired) + tup = tup + (0, 0.0) + bit_generator.state = tup + actual = rs.integers(2 ** 16) + assert_equal(actual, desired) + + +class TestDSFMT(Base): + @classmethod + def setup_class(cls): + cls.bit_generator = DSFMT + cls.bits = 53 + cls.dtype = np.uint64 + cls.data1 = cls._read_csv(join(pwd, './data/dSFMT-testset-1.csv')) + cls.data2 = cls._read_csv(join(pwd, './data/dSFMT-testset-2.csv')) + cls.seed_error_type = TypeError + cls.invalid_seed_types = [] + cls.invalid_seed_values = [(-1,), np.array([2 ** 33]), + (np.array([2 ** 33, 2 ** 33]),)] + + def test_uniform_double(self): + rs = Generator(self.bit_generator(*self.data1['seed'])) + assert_array_equal(uniform_from_dsfmt(self.data1['data']), + rs.random(1000)) + + rs = Generator(self.bit_generator(*self.data2['seed'])) + assert_equal(uniform_from_dsfmt(self.data2['data']), + rs.random(1000)) + + def test_gauss_inv(self): + n = 25 + rs = RandomState(self.bit_generator(*self.data1['seed'])) + gauss = rs.standard_normal(n) + assert_allclose(gauss, + gauss_from_uint(self.data1['data'], n, 'dsfmt')) + + rs = RandomState(self.bit_generator(*self.data2['seed'])) + gauss = rs.standard_normal(25) + assert_allclose(gauss, + gauss_from_uint(self.data2['data'], n, 'dsfmt')) + + def test_seed_out_of_range_array(self): + # GH #82 + rs = Generator(self.bit_generator(*self.data1['seed'])) + assert_raises(ValueError, rs.bit_generator.seed, + [2 ** (self.bits + 1)]) + assert_raises(ValueError, rs.bit_generator.seed, [-1]) + assert_raises(TypeError, rs.bit_generator.seed, + [2 ** (2 * self.bits + 1)]) + + def test_seed_float(self): + # GH #82 + rs = Generator(self.bit_generator(*self.data1['seed'])) + assert_raises(TypeError, rs.bit_generator.seed, np.pi) + assert_raises(TypeError, rs.bit_generator.seed, -np.pi) + + def test_seed_float_array(self): + # GH #82 + rs = Generator(self.bit_generator(*self.data1['seed'])) + assert_raises(TypeError, rs.bit_generator.seed, np.array([np.pi])) + assert_raises(TypeError, rs.bit_generator.seed, np.array([-np.pi])) + assert_raises(TypeError, rs.bit_generator.seed, + np.array([np.pi, -np.pi])) + assert_raises(TypeError, rs.bit_generator.seed, np.array([0, np.pi])) + assert_raises(TypeError, rs.bit_generator.seed, [np.pi]) + assert_raises(TypeError, rs.bit_generator.seed, [0, np.pi]) + + def test_uniform_float(self): + rs = Generator(self.bit_generator(*self.data1['seed'])) + vals = uniform32_from_uint(self.data1['data'], self.bits) + uniforms = rs.random(len(vals), dtype=np.float32) + assert_allclose(uniforms, vals) + assert_equal(uniforms.dtype, np.float32) + + rs = Generator(self.bit_generator(*self.data2['seed'])) + vals = uniform32_from_uint(self.data2['data'], self.bits) + uniforms = rs.random(len(vals), dtype=np.float32) + assert_allclose(uniforms, vals) + assert_equal(uniforms.dtype, np.float32) + + def test_buffer_reset(self): + rs = Generator(self.bit_generator(*self.data1['seed'])) + rs.random(1) + assert rs.bit_generator.state['buffer_loc'] != 382 + rs.bit_generator.seed(*self.data1['seed']) + assert rs.bit_generator.state['buffer_loc'] == 382 diff --git a/numpy/random/tests/test_generator_mt19937.py b/numpy/random/tests/test_generator_mt19937.py new file mode 100644 index 000000000..192dcce08 --- /dev/null +++ b/numpy/random/tests/test_generator_mt19937.py @@ -0,0 +1,2037 @@ +import sys + +import pytest + +import numpy as np +from numpy.testing import ( + assert_, assert_raises, assert_equal, + assert_warns, assert_no_warnings, assert_array_equal, + assert_array_almost_equal, suppress_warnings) + +from numpy.random import Generator, MT19937 + +random = Generator(MT19937()) + + +@pytest.fixture(scope='module', params=[True, False]) +def endpoint(request): + return request.param + + +class TestSeed(object): + def test_scalar(self): + s = Generator(MT19937(0)) + assert_equal(s.integers(1000), 684) + s = Generator(MT19937(4294967295)) + assert_equal(s.integers(1000), 419) + + def test_array(self): + s = Generator(MT19937(range(10))) + assert_equal(s.integers(1000), 468) + s = Generator(MT19937(np.arange(10))) + assert_equal(s.integers(1000), 468) + s = Generator(MT19937([0])) + assert_equal(s.integers(1000), 973) + s = Generator(MT19937([4294967295])) + assert_equal(s.integers(1000), 265) + + def test_invalid_scalar(self): + # seed must be an unsigned 32 bit integer + assert_raises(TypeError, MT19937, -0.5) + assert_raises(ValueError, MT19937, -1) + + def test_invalid_array(self): + # seed must be an unsigned 32 bit integer + assert_raises(TypeError, MT19937, [-0.5]) + assert_raises(ValueError, MT19937, [-1]) + assert_raises(ValueError, MT19937, [4294967296]) + assert_raises(ValueError, MT19937, [1, 2, 4294967296]) + assert_raises(ValueError, MT19937, [1, -2, 4294967296]) + + def test_noninstantized_bitgen(self): + assert_raises(ValueError, Generator, MT19937) + + +class TestBinomial(object): + def test_n_zero(self): + # Tests the corner case of n == 0 for the binomial distribution. + # binomial(0, p) should be zero for any p in [0, 1]. + # This test addresses issue #3480. + zeros = np.zeros(2, dtype='int') + for p in [0, .5, 1]: + assert_(random.binomial(0, p) == 0) + assert_array_equal(random.binomial(zeros, p), zeros) + + def test_p_is_nan(self): + # Issue #4571. + assert_raises(ValueError, random.binomial, 1, np.nan) + + +class TestMultinomial(object): + def test_basic(self): + random.multinomial(100, [0.2, 0.8]) + + def test_zero_probability(self): + random.multinomial(100, [0.2, 0.8, 0.0, 0.0, 0.0]) + + def test_int_negative_interval(self): + assert_(-5 <= random.integers(-5, -1) < -1) + x = random.integers(-5, -1, 5) + assert_(np.all(-5 <= x)) + assert_(np.all(x < -1)) + + def test_size(self): + # gh-3173 + p = [0.5, 0.5] + assert_equal(random.multinomial(1, p, np.uint32(1)).shape, (1, 2)) + assert_equal(random.multinomial(1, p, np.uint32(1)).shape, (1, 2)) + assert_equal(random.multinomial(1, p, np.uint32(1)).shape, (1, 2)) + assert_equal(random.multinomial(1, p, [2, 2]).shape, (2, 2, 2)) + assert_equal(random.multinomial(1, p, (2, 2)).shape, (2, 2, 2)) + assert_equal(random.multinomial(1, p, np.array((2, 2))).shape, + (2, 2, 2)) + + assert_raises(TypeError, random.multinomial, 1, p, + float(1)) + + def test_invalid_prob(self): + assert_raises(ValueError, random.multinomial, 100, [1.1, 0.2]) + assert_raises(ValueError, random.multinomial, 100, [-.1, 0.9]) + + def test_invalid_n(self): + assert_raises(ValueError, random.multinomial, -1, [0.8, 0.2]) + assert_raises(ValueError, random.multinomial, [-1] * 10, [0.8, 0.2]) + + +class TestSetState(object): + def setup(self): + self.seed = 1234567890 + self.rg = Generator(MT19937(self.seed)) + self.bit_generator = self.rg.bit_generator + self.state = self.bit_generator.state + self.legacy_state = (self.state['bit_generator'], + self.state['state']['key'], + self.state['state']['pos']) + + def test_gaussian_reset(self): + # Make sure the cached every-other-Gaussian is reset. + old = self.rg.standard_normal(size=3) + self.bit_generator.state = self.state + new = self.rg.standard_normal(size=3) + assert_(np.all(old == new)) + + def test_gaussian_reset_in_media_res(self): + # When the state is saved with a cached Gaussian, make sure the + # cached Gaussian is restored. + + self.rg.standard_normal() + state = self.bit_generator.state + old = self.rg.standard_normal(size=3) + self.bit_generator.state = state + new = self.rg.standard_normal(size=3) + assert_(np.all(old == new)) + + def test_negative_binomial(self): + # Ensure that the negative binomial results take floating point + # arguments without truncation. + self.rg.negative_binomial(0.5, 0.5) + + +class TestIntegers(object): + rfunc = random.integers + + # valid integer/boolean types + itype = [bool, np.int8, np.uint8, np.int16, np.uint16, + np.int32, np.uint32, np.int64, np.uint64] + + def test_unsupported_type(self, endpoint): + assert_raises(TypeError, self.rfunc, 1, endpoint=endpoint, dtype=float) + + def test_bounds_checking(self, endpoint): + for dt in self.itype: + lbnd = 0 if dt is bool else np.iinfo(dt).min + ubnd = 2 if dt is bool else np.iinfo(dt).max + 1 + ubnd = ubnd - 1 if endpoint else ubnd + assert_raises(ValueError, self.rfunc, lbnd - 1, ubnd, + endpoint=endpoint, dtype=dt) + assert_raises(ValueError, self.rfunc, lbnd, ubnd + 1, + endpoint=endpoint, dtype=dt) + assert_raises(ValueError, self.rfunc, ubnd, lbnd, + endpoint=endpoint, dtype=dt) + assert_raises(ValueError, self.rfunc, 1, 0, endpoint=endpoint, + dtype=dt) + + assert_raises(ValueError, self.rfunc, [lbnd - 1], ubnd, + endpoint=endpoint, dtype=dt) + assert_raises(ValueError, self.rfunc, [lbnd], [ubnd + 1], + endpoint=endpoint, dtype=dt) + assert_raises(ValueError, self.rfunc, [ubnd], [lbnd], + endpoint=endpoint, dtype=dt) + assert_raises(ValueError, self.rfunc, 1, [0], + endpoint=endpoint, dtype=dt) + + def test_bounds_checking_array(self, endpoint): + for dt in self.itype: + lbnd = 0 if dt is bool else np.iinfo(dt).min + ubnd = 2 if dt is bool else np.iinfo(dt).max + (not endpoint) + + assert_raises(ValueError, self.rfunc, [lbnd - 1] * 2, [ubnd] * 2, + endpoint=endpoint, dtype=dt) + assert_raises(ValueError, self.rfunc, [lbnd] * 2, + [ubnd + 1] * 2, endpoint=endpoint, dtype=dt) + assert_raises(ValueError, self.rfunc, ubnd, [lbnd] * 2, + endpoint=endpoint, dtype=dt) + assert_raises(ValueError, self.rfunc, [1] * 2, 0, + endpoint=endpoint, dtype=dt) + + def test_rng_zero_and_extremes(self, endpoint): + for dt in self.itype: + lbnd = 0 if dt is bool else np.iinfo(dt).min + ubnd = 2 if dt is bool else np.iinfo(dt).max + 1 + ubnd = ubnd - 1 if endpoint else ubnd + is_open = not endpoint + + tgt = ubnd - 1 + assert_equal(self.rfunc(tgt, tgt + is_open, size=1000, + endpoint=endpoint, dtype=dt), tgt) + assert_equal(self.rfunc([tgt], tgt + is_open, size=1000, + endpoint=endpoint, dtype=dt), tgt) + + tgt = lbnd + assert_equal(self.rfunc(tgt, tgt + is_open, size=1000, + endpoint=endpoint, dtype=dt), tgt) + assert_equal(self.rfunc(tgt, [tgt + is_open], size=1000, + endpoint=endpoint, dtype=dt), tgt) + + tgt = (lbnd + ubnd) // 2 + assert_equal(self.rfunc(tgt, tgt + is_open, size=1000, + endpoint=endpoint, dtype=dt), tgt) + assert_equal(self.rfunc([tgt], [tgt + is_open], + size=1000, endpoint=endpoint, dtype=dt), + tgt) + + def test_rng_zero_and_extremes_array(self, endpoint): + size = 1000 + for dt in self.itype: + lbnd = 0 if dt is bool else np.iinfo(dt).min + ubnd = 2 if dt is bool else np.iinfo(dt).max + 1 + ubnd = ubnd - 1 if endpoint else ubnd + + tgt = ubnd - 1 + assert_equal(self.rfunc([tgt], [tgt + 1], + size=size, dtype=dt), tgt) + assert_equal(self.rfunc( + [tgt] * size, [tgt + 1] * size, dtype=dt), tgt) + assert_equal(self.rfunc( + [tgt] * size, [tgt + 1] * size, size=size, dtype=dt), tgt) + + tgt = lbnd + assert_equal(self.rfunc([tgt], [tgt + 1], + size=size, dtype=dt), tgt) + assert_equal(self.rfunc( + [tgt] * size, [tgt + 1] * size, dtype=dt), tgt) + assert_equal(self.rfunc( + [tgt] * size, [tgt + 1] * size, size=size, dtype=dt), tgt) + + tgt = (lbnd + ubnd) // 2 + assert_equal(self.rfunc([tgt], [tgt + 1], + size=size, dtype=dt), tgt) + assert_equal(self.rfunc( + [tgt] * size, [tgt + 1] * size, dtype=dt), tgt) + assert_equal(self.rfunc( + [tgt] * size, [tgt + 1] * size, size=size, dtype=dt), tgt) + + def test_full_range(self, endpoint): + # Test for ticket #1690 + + for dt in self.itype: + lbnd = 0 if dt is bool else np.iinfo(dt).min + ubnd = 2 if dt is bool else np.iinfo(dt).max + 1 + ubnd = ubnd - 1 if endpoint else ubnd + + try: + self.rfunc(lbnd, ubnd, endpoint=endpoint, dtype=dt) + except Exception as e: + raise AssertionError("No error should have been raised, " + "but one was with the following " + "message:\n\n%s" % str(e)) + + def test_full_range_array(self, endpoint): + # Test for ticket #1690 + + for dt in self.itype: + lbnd = 0 if dt is bool else np.iinfo(dt).min + ubnd = 2 if dt is bool else np.iinfo(dt).max + 1 + ubnd = ubnd - 1 if endpoint else ubnd + + try: + self.rfunc([lbnd] * 2, [ubnd], endpoint=endpoint, dtype=dt) + except Exception as e: + raise AssertionError("No error should have been raised, " + "but one was with the following " + "message:\n\n%s" % str(e)) + + def test_in_bounds_fuzz(self, endpoint): + # Don't use fixed seed + random.bit_generator.seed() + + for dt in self.itype[1:]: + for ubnd in [4, 8, 16]: + vals = self.rfunc(2, ubnd - endpoint, size=2 ** 16, + endpoint=endpoint, dtype=dt) + assert_(vals.max() < ubnd) + assert_(vals.min() >= 2) + + vals = self.rfunc(0, 2 - endpoint, size=2 ** 16, endpoint=endpoint, + dtype=bool) + assert_(vals.max() < 2) + assert_(vals.min() >= 0) + + def test_scalar_array_equiv(self, endpoint): + for dt in self.itype: + lbnd = 0 if dt is bool else np.iinfo(dt).min + ubnd = 2 if dt is bool else np.iinfo(dt).max + 1 + ubnd = ubnd - 1 if endpoint else ubnd + + size = 1000 + random.bit_generator.seed(1234) + scalar = self.rfunc(lbnd, ubnd, size=size, endpoint=endpoint, + dtype=dt) + + random.bit_generator.seed(1234) + scalar_array = self.rfunc([lbnd], [ubnd], size=size, + endpoint=endpoint, dtype=dt) + + random.bit_generator.seed(1234) + array = self.rfunc([lbnd] * size, [ubnd] * + size, size=size, endpoint=endpoint, dtype=dt) + assert_array_equal(scalar, scalar_array) + assert_array_equal(scalar, array) + + def test_repeatability(self, endpoint): + import hashlib + # We use a md5 hash of generated sequences of 1000 samples + # in the range [0, 6) for all but bool, where the range + # is [0, 2). Hashes are for little endian numbers. + tgt = {'bool': '7dd3170d7aa461d201a65f8bcf3944b0', + 'int16': '1b7741b80964bb190c50d541dca1cac1', + 'int32': '4dc9fcc2b395577ebb51793e58ed1a05', + 'int64': '17db902806f448331b5a758d7d2ee672', + 'int8': '27dd30c4e08a797063dffac2490b0be6', + 'uint16': '1b7741b80964bb190c50d541dca1cac1', + 'uint32': '4dc9fcc2b395577ebb51793e58ed1a05', + 'uint64': '17db902806f448331b5a758d7d2ee672', + 'uint8': '27dd30c4e08a797063dffac2490b0be6'} + + for dt in self.itype[1:]: + random.bit_generator.seed(1234) + + # view as little endian for hash + if sys.byteorder == 'little': + val = self.rfunc(0, 6 - endpoint, size=1000, endpoint=endpoint, + dtype=dt) + else: + val = self.rfunc(0, 6 - endpoint, size=1000, endpoint=endpoint, + dtype=dt).byteswap() + + res = hashlib.md5(val.view(np.int8)).hexdigest() + assert_(tgt[np.dtype(dt).name] == res) + + # bools do not depend on endianness + random.bit_generator.seed(1234) + val = self.rfunc(0, 2 - endpoint, size=1000, endpoint=endpoint, + dtype=bool).view(np.int8) + res = hashlib.md5(val).hexdigest() + assert_(tgt[np.dtype(bool).name] == res) + + def test_repeatability_broadcasting(self, endpoint): + for dt in self.itype: + lbnd = 0 if dt in (np.bool, bool, np.bool_) else np.iinfo(dt).min + ubnd = 2 if dt in ( + np.bool, bool, np.bool_) else np.iinfo(dt).max + 1 + ubnd = ubnd - 1 if endpoint else ubnd + + # view as little endian for hash + random.bit_generator.seed(1234) + val = self.rfunc(lbnd, ubnd, size=1000, endpoint=endpoint, + dtype=dt) + + random.bit_generator.seed(1234) + val_bc = self.rfunc([lbnd] * 1000, ubnd, endpoint=endpoint, + dtype=dt) + + assert_array_equal(val, val_bc) + + random.bit_generator.seed(1234) + val_bc = self.rfunc([lbnd] * 1000, [ubnd] * 1000, + endpoint=endpoint, dtype=dt) + + assert_array_equal(val, val_bc) + + def test_int64_uint64_broadcast_exceptions(self, endpoint): + configs = {np.uint64: ((0, 2**65), (-1, 2**62), (10, 9), (0, 0)), + np.int64: ((0, 2**64), (-(2**64), 2**62), (10, 9), (0, 0), + (-2**63-1, -2**63-1))} + for dtype in configs: + for config in configs[dtype]: + low, high = config + high = high - endpoint + low_a = np.array([[low]*10]) + high_a = np.array([high] * 10) + assert_raises(ValueError, random.integers, low, high, + endpoint=endpoint, dtype=dtype) + assert_raises(ValueError, random.integers, low_a, high, + endpoint=endpoint, dtype=dtype) + assert_raises(ValueError, random.integers, low, high_a, + endpoint=endpoint, dtype=dtype) + assert_raises(ValueError, random.integers, low_a, high_a, + endpoint=endpoint, dtype=dtype) + + low_o = np.array([[low]*10], dtype=np.object) + high_o = np.array([high] * 10, dtype=np.object) + assert_raises(ValueError, random.integers, low_o, high, + endpoint=endpoint, dtype=dtype) + assert_raises(ValueError, random.integers, low, high_o, + endpoint=endpoint, dtype=dtype) + assert_raises(ValueError, random.integers, low_o, high_o, + endpoint=endpoint, dtype=dtype) + + def test_int64_uint64_corner_case(self, endpoint): + # When stored in Numpy arrays, `lbnd` is casted + # as np.int64, and `ubnd` is casted as np.uint64. + # Checking whether `lbnd` >= `ubnd` used to be + # done solely via direct comparison, which is incorrect + # because when Numpy tries to compare both numbers, + # it casts both to np.float64 because there is + # no integer superset of np.int64 and np.uint64. However, + # `ubnd` is too large to be represented in np.float64, + # causing it be round down to np.iinfo(np.int64).max, + # leading to a ValueError because `lbnd` now equals + # the new `ubnd`. + + dt = np.int64 + tgt = np.iinfo(np.int64).max + lbnd = np.int64(np.iinfo(np.int64).max) + ubnd = np.uint64(np.iinfo(np.int64).max + 1 - endpoint) + + # None of these function calls should + # generate a ValueError now. + actual = random.integers(lbnd, ubnd, endpoint=endpoint, dtype=dt) + assert_equal(actual, tgt) + + def test_respect_dtype_singleton(self, endpoint): + # See gh-7203 + for dt in self.itype: + lbnd = 0 if dt is bool else np.iinfo(dt).min + ubnd = 2 if dt is bool else np.iinfo(dt).max + 1 + ubnd = ubnd - 1 if endpoint else ubnd + dt = np.bool_ if dt is bool else dt + + sample = self.rfunc(lbnd, ubnd, endpoint=endpoint, dtype=dt) + assert_equal(sample.dtype, dt) + + for dt in (bool, int, np.long): + lbnd = 0 if dt is bool else np.iinfo(dt).min + ubnd = 2 if dt is bool else np.iinfo(dt).max + 1 + ubnd = ubnd - 1 if endpoint else ubnd + + # gh-7284: Ensure that we get Python data types + sample = self.rfunc(lbnd, ubnd, endpoint=endpoint, dtype=dt) + assert not hasattr(sample, 'dtype') + assert_equal(type(sample), dt) + + def test_respect_dtype_array(self, endpoint): + # See gh-7203 + for dt in self.itype: + lbnd = 0 if dt is bool else np.iinfo(dt).min + ubnd = 2 if dt is bool else np.iinfo(dt).max + 1 + ubnd = ubnd - 1 if endpoint else ubnd + dt = np.bool_ if dt is bool else dt + + sample = self.rfunc([lbnd], [ubnd], endpoint=endpoint, dtype=dt) + assert_equal(sample.dtype, dt) + sample = self.rfunc([lbnd] * 2, [ubnd] * 2, endpoint=endpoint, + dtype=dt) + assert_equal(sample.dtype, dt) + + def test_zero_size(self, endpoint): + # See gh-7203 + for dt in self.itype: + sample = self.rfunc(0, 0, (3, 0, 4), endpoint=endpoint, dtype=dt) + assert sample.shape == (3, 0, 4) + assert sample.dtype == dt + assert self.rfunc(0, -10, 0, endpoint=endpoint, + dtype=dt).shape == (0,) + assert_equal(random.integers(0, 0, size=(3, 0, 4)).shape, + (3, 0, 4)) + assert_equal(random.integers(0, -10, size=0).shape, (0,)) + assert_equal(random.integers(10, 10, size=0).shape, (0,)) + + +class TestRandomDist(object): + # Make sure the random distribution returns the correct value for a + # given seed + + def setup(self): + self.seed = 1234567890 + + def test_integers(self): + random.bit_generator.seed(self.seed) + actual = random.integers(-99, 99, size=(3, 2)) + desired = np.array([[31, 3], + [-52, 41], + [-48, -66]]) + assert_array_equal(actual, desired) + + def test_integers_masked(self): + # Test masked rejection sampling algorithm to generate array of + # uint32 in an interval. + random.bit_generator.seed(self.seed) + actual = random.integers(0, 99, size=(3, 2), dtype=np.uint32) + desired = np.array([[2, 47], + [12, 51], + [33, 43]], dtype=np.uint32) + assert_array_equal(actual, desired) + + def test_integers_closed(self): + random.bit_generator.seed(self.seed) + actual = random.integers(-99, 99, size=(3, 2), endpoint=True) + desired = np.array([[31, 3], + [-52, 41], + [-48, -66]]) + assert_array_equal(actual, desired) + + def test_integers_max_int(self): + # Tests whether integers with closed=True can generate the + # maximum allowed Python int that can be converted + # into a C long. Previous implementations of this + # method have thrown an OverflowError when attempting + # to generate this integer. + actual = random.integers(np.iinfo('l').max, np.iinfo('l').max, + endpoint=True) + + desired = np.iinfo('l').max + assert_equal(actual, desired) + + def test_random(self): + random.bit_generator.seed(self.seed) + actual = random.random((3, 2)) + desired = np.array([[0.61879477158567997, 0.59162362775974664], + [0.88868358904449662, 0.89165480011560816], + [0.4575674820298663, 0.7781880808593471]]) + assert_array_almost_equal(actual, desired, decimal=15) + + random.bit_generator.seed(self.seed) + actual = random.random() + assert_array_almost_equal(actual, desired[0, 0], decimal=15) + + def test_random_float(self): + random.bit_generator.seed(self.seed) + actual = random.random((3, 2)) + desired = np.array([[0.6187948, 0.5916236], + [0.8886836, 0.8916548], + [0.4575675, 0.7781881]]) + assert_array_almost_equal(actual, desired, decimal=7) + + def test_random_float_scalar(self): + random.bit_generator.seed(self.seed) + actual = random.random(dtype=np.float32) + desired = 0.6187948 + assert_array_almost_equal(actual, desired, decimal=7) + + def test_random_unsupported_type(self): + assert_raises(TypeError, random.random, dtype='int32') + + def test_choice_uniform_replace(self): + random.bit_generator.seed(self.seed) + actual = random.choice(4, 4) + desired = np.array([2, 3, 2, 3], dtype=np.int64) + assert_array_equal(actual, desired) + + def test_choice_nonuniform_replace(self): + random.bit_generator.seed(self.seed) + actual = random.choice(4, 4, p=[0.4, 0.4, 0.1, 0.1]) + desired = np.array([1, 1, 2, 2], dtype=np.int64) + assert_array_equal(actual, desired) + + def test_choice_uniform_noreplace(self): + random.bit_generator.seed(self.seed) + actual = random.choice(4, 3, replace=False) + desired = np.array([0, 2, 3], dtype=np.int64) + assert_array_equal(actual, desired) + + def test_choice_nonuniform_noreplace(self): + random.bit_generator.seed(self.seed) + actual = random.choice(4, 3, replace=False, p=[0.1, 0.3, 0.5, 0.1]) + desired = np.array([2, 3, 1], dtype=np.int64) + assert_array_equal(actual, desired) + + def test_choice_noninteger(self): + random.bit_generator.seed(self.seed) + actual = random.choice(['a', 'b', 'c', 'd'], 4) + desired = np.array(['c', 'd', 'c', 'd']) + assert_array_equal(actual, desired) + + def test_choice_multidimensional_default_axis(self): + random.bit_generator.seed(self.seed) + actual = random.choice([[0, 1], [2, 3], [4, 5], [6, 7]], 3) + desired = np.array([[4, 5], [6, 7], [4, 5]]) + assert_array_equal(actual, desired) + + def test_choice_multidimensional_custom_axis(self): + random.bit_generator.seed(self.seed) + actual = random.choice([[0, 1], [2, 3], [4, 5], [6, 7]], 1, axis=1) + desired = np.array([[0], [2], [4], [6]]) + assert_array_equal(actual, desired) + + def test_choice_exceptions(self): + sample = random.choice + assert_raises(ValueError, sample, -1, 3) + assert_raises(ValueError, sample, 3., 3) + assert_raises(ValueError, sample, [], 3) + assert_raises(ValueError, sample, [1, 2, 3, 4], 3, + p=[[0.25, 0.25], [0.25, 0.25]]) + assert_raises(ValueError, sample, [1, 2], 3, p=[0.4, 0.4, 0.2]) + assert_raises(ValueError, sample, [1, 2], 3, p=[1.1, -0.1]) + assert_raises(ValueError, sample, [1, 2], 3, p=[0.4, 0.4]) + assert_raises(ValueError, sample, [1, 2, 3], 4, replace=False) + # gh-13087 + assert_raises(ValueError, sample, [1, 2, 3], -2, replace=False) + assert_raises(ValueError, sample, [1, 2, 3], (-1,), replace=False) + assert_raises(ValueError, sample, [1, 2, 3], (-1, 1), replace=False) + assert_raises(ValueError, sample, [1, 2, 3], 2, + replace=False, p=[1, 0, 0]) + + def test_choice_return_shape(self): + p = [0.1, 0.9] + # Check scalar + assert_(np.isscalar(random.choice(2, replace=True))) + assert_(np.isscalar(random.choice(2, replace=False))) + assert_(np.isscalar(random.choice(2, replace=True, p=p))) + assert_(np.isscalar(random.choice(2, replace=False, p=p))) + assert_(np.isscalar(random.choice([1, 2], replace=True))) + assert_(random.choice([None], replace=True) is None) + a = np.array([1, 2]) + arr = np.empty(1, dtype=object) + arr[0] = a + assert_(random.choice(arr, replace=True) is a) + + # Check 0-d array + s = tuple() + assert_(not np.isscalar(random.choice(2, s, replace=True))) + assert_(not np.isscalar(random.choice(2, s, replace=False))) + assert_(not np.isscalar(random.choice(2, s, replace=True, p=p))) + assert_(not np.isscalar(random.choice(2, s, replace=False, p=p))) + assert_(not np.isscalar(random.choice([1, 2], s, replace=True))) + assert_(random.choice([None], s, replace=True).ndim == 0) + a = np.array([1, 2]) + arr = np.empty(1, dtype=object) + arr[0] = a + assert_(random.choice(arr, s, replace=True).item() is a) + + # Check multi dimensional array + s = (2, 3) + p = [0.1, 0.1, 0.1, 0.1, 0.4, 0.2] + assert_equal(random.choice(6, s, replace=True).shape, s) + assert_equal(random.choice(6, s, replace=False).shape, s) + assert_equal(random.choice(6, s, replace=True, p=p).shape, s) + assert_equal(random.choice(6, s, replace=False, p=p).shape, s) + assert_equal(random.choice(np.arange(6), s, replace=True).shape, s) + + # Check zero-size + assert_equal(random.integers(0, 0, size=(3, 0, 4)).shape, (3, 0, 4)) + assert_equal(random.integers(0, -10, size=0).shape, (0,)) + assert_equal(random.integers(10, 10, size=0).shape, (0,)) + assert_equal(random.choice(0, size=0).shape, (0,)) + assert_equal(random.choice([], size=(0,)).shape, (0,)) + assert_equal(random.choice(['a', 'b'], size=(3, 0, 4)).shape, + (3, 0, 4)) + assert_raises(ValueError, random.choice, [], 10) + + def test_choice_nan_probabilities(self): + a = np.array([42, 1, 2]) + p = [None, None, None] + assert_raises(ValueError, random.choice, a, p=p) + + def test_choice_return_type(self): + # gh 9867 + p = np.ones(4) / 4. + actual = random.choice(4, 2) + assert actual.dtype == np.int64 + actual = random.choice(4, 2, replace=False) + assert actual.dtype == np.int64 + actual = random.choice(4, 2, p=p) + assert actual.dtype == np.int64 + actual = random.choice(4, 2, p=p, replace=False) + assert actual.dtype == np.int64 + + def test_choice_large_sample(self): + import hashlib + + choice_hash = '6395868be877d27518c832213c17977c' + random.bit_generator.seed(self.seed) + actual = random.choice(10000, 5000, replace=False) + if sys.byteorder != 'little': + actual = actual.byteswap() + res = hashlib.md5(actual.view(np.int8)).hexdigest() + assert_(choice_hash == res) + + def test_bytes(self): + random.bit_generator.seed(self.seed) + actual = random.bytes(10) + desired = b'\x82Ui\x9e\xff\x97+Wf\xa5' + assert_equal(actual, desired) + + def test_shuffle(self): + # Test lists, arrays (of various dtypes), and multidimensional versions + # of both, c-contiguous or not: + for conv in [lambda x: np.array([]), + lambda x: x, + lambda x: np.asarray(x).astype(np.int8), + lambda x: np.asarray(x).astype(np.float32), + lambda x: np.asarray(x).astype(np.complex64), + lambda x: np.asarray(x).astype(object), + lambda x: [(i, i) for i in x], + lambda x: np.asarray([[i, i] for i in x]), + lambda x: np.vstack([x, x]).T, + # gh-11442 + lambda x: (np.asarray([(i, i) for i in x], + [("a", int), ("b", int)]) + .view(np.recarray)), + # gh-4270 + lambda x: np.asarray([(i, i) for i in x], + [("a", object, (1,)), + ("b", np.int32, (1,))])]: + random.bit_generator.seed(self.seed) + alist = conv([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]) + random.shuffle(alist) + actual = alist + desired = conv([0, 1, 9, 6, 2, 4, 5, 8, 7, 3]) + assert_array_equal(actual, desired) + + def test_shuffle_masked(self): + # gh-3263 + a = np.ma.masked_values(np.reshape(range(20), (5, 4)) % 3 - 1, -1) + b = np.ma.masked_values(np.arange(20) % 3 - 1, -1) + a_orig = a.copy() + b_orig = b.copy() + for i in range(50): + random.shuffle(a) + assert_equal( + sorted(a.data[~a.mask]), sorted(a_orig.data[~a_orig.mask])) + random.shuffle(b) + assert_equal( + sorted(b.data[~b.mask]), sorted(b_orig.data[~b_orig.mask])) + + def test_permutation(self): + random.bit_generator.seed(self.seed) + alist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] + actual = random.permutation(alist) + desired = [0, 1, 9, 6, 2, 4, 5, 8, 7, 3] + assert_array_equal(actual, desired) + + random.bit_generator.seed(self.seed) + arr_2d = np.atleast_2d([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]).T + actual = random.permutation(arr_2d) + assert_array_equal(actual, np.atleast_2d(desired).T) + + def test_beta(self): + random.bit_generator.seed(self.seed) + actual = random.beta(.1, .9, size=(3, 2)) + desired = np.array( + [[1.45341850513746058e-02, 5.31297615662868145e-04], + [1.85366619058432324e-06, 4.19214516800110563e-03], + [1.58405155108498093e-04, 1.26252891949397652e-04]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_binomial(self): + random.bit_generator.seed(self.seed) + actual = random.binomial(100.123, .456, size=(3, 2)) + desired = np.array([[37, 43], + [42, 48], + [46, 45]]) + assert_array_equal(actual, desired) + + random.bit_generator.seed(self.seed) + actual = random.binomial(100.123, .456) + desired = 37 + assert_array_equal(actual, desired) + + def test_chisquare(self): + random.bit_generator.seed(self.seed) + actual = random.chisquare(50, size=(3, 2)) + desired = np.array([[22.2534560369812, 46.9302393710074], + [52.9974164611614, 85.3559029505718], + [46.1580841240719, 36.1933148548090]]) + assert_array_almost_equal(actual, desired, decimal=13) + + def test_dirichlet(self): + random.bit_generator.seed(self.seed) + alpha = np.array([51.72840233779265162, 39.74494232180943953]) + actual = random.dirichlet(alpha, size=(3, 2)) + desired = np.array([[[0.444382290764855, 0.555617709235145], + [0.468440809291970, 0.531559190708030]], + [[0.613461427360549, 0.386538572639451], + [0.529103072088183, 0.470896927911817]], + [[0.513490650101800, 0.486509349898200], + [0.558550925712797, 0.441449074287203]]]) + assert_array_almost_equal(actual, desired, decimal=15) + bad_alpha = np.array([5.4e-01, -1.0e-16]) + assert_raises(ValueError, random.dirichlet, bad_alpha) + + random.bit_generator.seed(self.seed) + alpha = np.array([51.72840233779265162, 39.74494232180943953]) + actual = random.dirichlet(alpha) + assert_array_almost_equal(actual, desired[0, 0], decimal=15) + + def test_dirichlet_size(self): + # gh-3173 + p = np.array([51.72840233779265162, 39.74494232180943953]) + assert_equal(random.dirichlet(p, np.uint32(1)).shape, (1, 2)) + assert_equal(random.dirichlet(p, np.uint32(1)).shape, (1, 2)) + assert_equal(random.dirichlet(p, np.uint32(1)).shape, (1, 2)) + assert_equal(random.dirichlet(p, [2, 2]).shape, (2, 2, 2)) + assert_equal(random.dirichlet(p, (2, 2)).shape, (2, 2, 2)) + assert_equal(random.dirichlet(p, np.array((2, 2))).shape, (2, 2, 2)) + + assert_raises(TypeError, random.dirichlet, p, float(1)) + + def test_dirichlet_bad_alpha(self): + # gh-2089 + alpha = np.array([5.4e-01, -1.0e-16]) + assert_raises(ValueError, random.dirichlet, alpha) + + def test_exponential(self): + random.bit_generator.seed(self.seed) + actual = random.exponential(1.1234, size=(3, 2)) + desired = np.array([[5.350682337747634, 1.152307441755771], + [3.867015473358779, 1.538765912839396], + [0.347846818048527, 2.715656549872026]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_exponential_0(self): + assert_equal(random.exponential(scale=0), 0) + assert_raises(ValueError, random.exponential, scale=-0.) + + def test_f(self): + random.bit_generator.seed(self.seed) + actual = random.f(12, 77, size=(3, 2)) + desired = np.array([[0.809498839488467, 2.867222762455471], + [0.588036831639353, 1.012185639664636], + [1.147554281917365, 1.150886518432105]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_gamma(self): + random.bit_generator.seed(self.seed) + actual = random.gamma(5, 3, size=(3, 2)) + desired = np.array([[12.46569350177219, 16.46580642087044], + [43.65744473309084, 11.98722785682592], + [6.50371499559955, 7.48465689751638]]) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_gamma_0(self): + assert_equal(random.gamma(shape=0, scale=0), 0) + assert_raises(ValueError, random.gamma, shape=-0., scale=-0.) + + def test_geometric(self): + random.bit_generator.seed(self.seed) + actual = random.geometric(.123456789, size=(3, 2)) + desired = np.array([[8, 7], + [17, 17], + [5, 12]]) + assert_array_equal(actual, desired) + + def test_geometric_exceptions(self): + assert_raises(ValueError, random.geometric, 1.1) + assert_raises(ValueError, random.geometric, [1.1] * 10) + assert_raises(ValueError, random.geometric, -0.1) + assert_raises(ValueError, random.geometric, [-0.1] * 10) + with np.errstate(invalid='ignore'): + assert_raises(ValueError, random.geometric, np.nan) + assert_raises(ValueError, random.geometric, [np.nan] * 10) + + def test_gumbel(self): + random.bit_generator.seed(self.seed) + actual = random.gumbel(loc=.123456789, scale=2.0, size=(3, 2)) + desired = np.array([[0.19591898743416816, 0.34405539668096674], + [-1.4492522252274278, -1.47374816298446865], + [1.10651090478803416, -0.69535848626236174]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_gumbel_0(self): + assert_equal(random.gumbel(scale=0), 0) + assert_raises(ValueError, random.gumbel, scale=-0.) + + def test_hypergeometric(self): + random.bit_generator.seed(self.seed) + actual = random.hypergeometric(10.1, 5.5, 14, size=(3, 2)) + desired = np.array([[10, 10], + [10, 10], + [9, 9]]) + assert_array_equal(actual, desired) + + # Test nbad = 0 + actual = random.hypergeometric(5, 0, 3, size=4) + desired = np.array([3, 3, 3, 3]) + assert_array_equal(actual, desired) + + actual = random.hypergeometric(15, 0, 12, size=4) + desired = np.array([12, 12, 12, 12]) + assert_array_equal(actual, desired) + + # Test ngood = 0 + actual = random.hypergeometric(0, 5, 3, size=4) + desired = np.array([0, 0, 0, 0]) + assert_array_equal(actual, desired) + + actual = random.hypergeometric(0, 15, 12, size=4) + desired = np.array([0, 0, 0, 0]) + assert_array_equal(actual, desired) + + def test_laplace(self): + random.bit_generator.seed(self.seed) + actual = random.laplace(loc=.123456789, scale=2.0, size=(3, 2)) + desired = np.array([[0.66599721112760157, 0.52829452552221945], + [3.12791959514407125, 3.18202813572992005], + [-0.05391065675859356, 1.74901336242837324]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_laplace_0(self): + assert_equal(random.laplace(scale=0), 0) + assert_raises(ValueError, random.laplace, scale=-0.) + + def test_logistic(self): + random.bit_generator.seed(self.seed) + actual = random.logistic(loc=.123456789, scale=2.0, size=(3, 2)) + desired = np.array([[1.09232835305011444, 0.8648196662399954], + [4.27818590694950185, 4.33897006346929714], + [-0.21682183359214885, 2.63373365386060332]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_lognormal(self): + random.bit_generator.seed(self.seed) + actual = random.lognormal(mean=.123456789, sigma=2.0, size=(3, 2)) + desired = np.array([[1.0894838661036e-03, 9.0990021488311e-01], + [6.9178869932225e-01, 2.7672077560016e-01], + [2.3248645126975e+00, 1.4609997951330e+00]]) + assert_array_almost_equal(actual, desired, decimal=13) + + def test_lognormal_0(self): + assert_equal(random.lognormal(sigma=0), 1) + assert_raises(ValueError, random.lognormal, sigma=-0.) + + def test_logseries(self): + random.bit_generator.seed(self.seed) + actual = random.logseries(p=.923456789, size=(3, 2)) + desired = np.array([[2, 2], + [6, 17], + [3, 6]]) + assert_array_equal(actual, desired) + + def test_logseries_exceptions(self): + with np.errstate(invalid='ignore'): + assert_raises(ValueError, random.logseries, np.nan) + assert_raises(ValueError, random.logseries, [np.nan] * 10) + + def test_multinomial(self): + random.bit_generator.seed(self.seed) + actual = random.multinomial(20, [1 / 6.] * 6, size=(3, 2)) + desired = np.array([[[4, 3, 5, 4, 2, 2], + [5, 2, 8, 2, 2, 1]], + [[3, 4, 3, 6, 0, 4], + [2, 1, 4, 3, 6, 4]], + [[4, 4, 2, 5, 2, 3], + [4, 3, 4, 2, 3, 4]]]) + assert_array_equal(actual, desired) + + def test_multivariate_normal(self): + random.bit_generator.seed(self.seed) + mean = (.123456789, 10) + cov = [[1, 0], [0, 1]] + size = (3, 2) + actual = random.multivariate_normal(mean, cov, size) + desired = np.array([[[-3.34929721161096100, 9.891061435770858], + [-0.12250896439641100, 9.295898449738300]], + [[0.48355927611635563, 10.127832101772366], + [3.11093021424924300, 10.283109168794352]], + [[-0.20332082341774727, 9.868532121697195], + [-1.33806889550667330, 9.813657233804179]]]) + + assert_array_almost_equal(actual, desired, decimal=15) + + # Check for default size, was raising deprecation warning + actual = random.multivariate_normal(mean, cov) + desired = np.array([-1.097443117192574, 10.535787051184261]) + assert_array_almost_equal(actual, desired, decimal=15) + + # Check that non positive-semidefinite covariance warns with + # RuntimeWarning + mean = [0, 0] + cov = [[1, 2], [2, 1]] + assert_warns(RuntimeWarning, random.multivariate_normal, mean, cov) + + # and that it doesn't warn with RuntimeWarning check_valid='ignore' + assert_no_warnings(random.multivariate_normal, mean, cov, + check_valid='ignore') + + # and that it raises with RuntimeWarning check_valid='raises' + assert_raises(ValueError, random.multivariate_normal, mean, cov, + check_valid='raise') + + cov = np.array([[1, 0.1], [0.1, 1]], dtype=np.float32) + with suppress_warnings() as sup: + random.multivariate_normal(mean, cov) + w = sup.record(RuntimeWarning) + assert len(w) == 0 + + mu = np.zeros(2) + cov = np.eye(2) + assert_raises(ValueError, random.multivariate_normal, mean, cov, + check_valid='other') + assert_raises(ValueError, random.multivariate_normal, + np.zeros((2, 1, 1)), cov) + assert_raises(ValueError, random.multivariate_normal, + mu, np.empty((3, 2))) + assert_raises(ValueError, random.multivariate_normal, + mu, np.eye(3)) + + def test_negative_binomial(self): + random.bit_generator.seed(self.seed) + actual = random.negative_binomial(n=100, p=.12345, size=(3, 2)) + desired = np.array([[521, 736], + [665, 690], + [723, 751]]) + assert_array_equal(actual, desired) + + def test_negative_binomial_exceptions(self): + with np.errstate(invalid='ignore'): + assert_raises(ValueError, random.negative_binomial, 100, np.nan) + assert_raises(ValueError, random.negative_binomial, 100, + [np.nan] * 10) + + def test_noncentral_chisquare(self): + random.bit_generator.seed(self.seed) + actual = random.noncentral_chisquare(df=5, nonc=5, size=(3, 2)) + desired = np.array([[9.47783251920357, 10.02066178260461], + [3.15869984192364, 10.5581565031544], + [5.01652540543548, 13.7689551218441]]) + assert_array_almost_equal(actual, desired, decimal=14) + + actual = random.noncentral_chisquare(df=.5, nonc=.2, size=(3, 2)) + desired = np.array([[0.00145153051285, 0.22432468724778], + [0.02956713468556, 0.00207192946898], + [1.41985055641800, 0.15451287602753]]) + assert_array_almost_equal(actual, desired, decimal=14) + + random.bit_generator.seed(self.seed) + actual = random.noncentral_chisquare(df=5, nonc=0, size=(3, 2)) + desired = np.array([[3.64881368071039, 5.48224544747803], + [20.41999842025404, 3.44075915187367], + [1.29765160605552, 1.64125033268606]]) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_noncentral_f(self): + random.bit_generator.seed(self.seed) + actual = random.noncentral_f(dfnum=5, dfden=2, nonc=1, + size=(3, 2)) + desired = np.array([[1.22680230963236, 2.56457837623956], + [2.7653304499494, 7.4336268865443], + [1.16362730891403, 2.54104276581491]]) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_noncentral_f_nan(self): + random.bit_generator.seed(self.seed) + actual = random.noncentral_f(dfnum=5, dfden=2, nonc=np.nan) + assert np.isnan(actual) + + def test_normal(self): + random.bit_generator.seed(self.seed) + actual = random.normal(loc=.123456789, scale=2.0, size=(3, 2)) + desired = np.array([[-6.822051212221923, -0.094420339458285], + [-0.368474717792823, -1.284746311523402], + [0.843661763232711, 0.379120992544734]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_normal_0(self): + assert_equal(random.normal(scale=0), 0) + assert_raises(ValueError, random.normal, scale=-0.) + + def test_pareto(self): + random.bit_generator.seed(self.seed) + actual = random.pareto(a=.123456789, size=(3, 2)) + desired = np.array([[5.6883528121891552e+16, 4.0569373841667057e+03], + [1.2854967019379475e+12, 6.5833156486851483e+04], + [1.1281132447159091e+01, 3.1895968171107006e+08]]) + # For some reason on 32-bit x86 Ubuntu 12.10 the [1, 0] entry in this + # matrix differs by 24 nulps. Discussion: + # https://mail.python.org/pipermail/numpy-discussion/2012-September/063801.html + # Consensus is that this is probably some gcc quirk that affects + # rounding but not in any important way, so we just use a looser + # tolerance on this test: + np.testing.assert_array_almost_equal_nulp(actual, desired, nulp=30) + + def test_poisson(self): + random.bit_generator.seed(self.seed) + actual = random.poisson(lam=.123456789, size=(3, 2)) + desired = np.array([[0, 0], + [1, 0], + [0, 0]]) + assert_array_equal(actual, desired) + + def test_poisson_exceptions(self): + lambig = np.iinfo('int64').max + lamneg = -1 + assert_raises(ValueError, random.poisson, lamneg) + assert_raises(ValueError, random.poisson, [lamneg] * 10) + assert_raises(ValueError, random.poisson, lambig) + assert_raises(ValueError, random.poisson, [lambig] * 10) + with np.errstate(invalid='ignore'): + assert_raises(ValueError, random.poisson, np.nan) + assert_raises(ValueError, random.poisson, [np.nan] * 10) + + def test_power(self): + random.bit_generator.seed(self.seed) + actual = random.power(a=.123456789, size=(3, 2)) + desired = np.array([[9.328833342693975e-01, 2.742250409261003e-02], + [7.684513237993961e-01, 9.297548209160028e-02], + [2.214811188828573e-05, 4.693448360603472e-01]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_rayleigh(self): + random.bit_generator.seed(self.seed) + actual = random.rayleigh(scale=10, size=(3, 2)) + desired = np.array([[13.8882496494248393, 13.383318339044731], + [20.95413364294492098, 21.08285015800712614], + [11.06066537006854311, 17.35468505778271009]]) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_rayleigh_0(self): + assert_equal(random.rayleigh(scale=0), 0) + assert_raises(ValueError, random.rayleigh, scale=-0.) + + def test_standard_cauchy(self): + random.bit_generator.seed(self.seed) + actual = random.standard_cauchy(size=(3, 2)) + desired = np.array([[31.87809592667601, 0.349332782046838], + [2.816995747731641, 10.552372563459114], + [2.485608017991235, 7.843211273201831]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_standard_exponential(self): + random.bit_generator.seed(self.seed) + actual = random.standard_exponential(size=(3, 2), method='inv') + desired = np.array([[0.96441739162374596, 0.89556604882105506], + [2.1953785836319808, 2.22243285392490542], + [0.6116915921431676, 1.50592546727413201]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_standard_expoential_type_error(self): + assert_raises(TypeError, random.standard_exponential, dtype=np.int32) + + def test_standard_gamma(self): + random.bit_generator.seed(self.seed) + actual = random.standard_gamma(shape=3, size=(3, 2)) + desired = np.array([[2.28483515569645, 3.29899524967824], + [11.12492298902645, 2.16784417297277], + [0.92121813690910, 1.12853552328470]]) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_standard_gammma_scalar_float(self): + random.bit_generator.seed(self.seed) + actual = random.standard_gamma(3, dtype=np.float32) + desired = 1.3877466 + assert_array_almost_equal(actual, desired, decimal=6) + + def test_standard_gamma_float(self): + random.bit_generator.seed(self.seed) + actual = random.standard_gamma(shape=3, size=(3, 2)) + desired = np.array([[2.2848352, 3.2989952], + [11.124923, 2.1678442], + [0.9212181, 1.1285355]]) + assert_array_almost_equal(actual, desired, decimal=5) + + def test_standard_gammma_float_out(self): + actual = np.zeros((3, 2), dtype=np.float32) + random.bit_generator.seed(self.seed) + random.standard_gamma(10.0, out=actual, dtype=np.float32) + desired = np.array([[6.9824033, 7.3731737], + [14.860578, 7.5327270], + [11.767487, 6.2320185]], dtype=np.float32) + assert_array_almost_equal(actual, desired, decimal=5) + + random.bit_generator.seed(self.seed) + random.standard_gamma(10.0, out=actual, size=(3, 2), dtype=np.float32) + assert_array_almost_equal(actual, desired, decimal=5) + + def test_standard_gamma_unknown_type(self): + assert_raises(TypeError, random.standard_gamma, 1., + dtype='int32') + + def test_out_size_mismatch(self): + out = np.zeros(10) + assert_raises(ValueError, random.standard_gamma, 10.0, size=20, + out=out) + assert_raises(ValueError, random.standard_gamma, 10.0, size=(10, 1), + out=out) + + def test_standard_gamma_0(self): + assert_equal(random.standard_gamma(shape=0), 0) + assert_raises(ValueError, random.standard_gamma, shape=-0.) + + def test_standard_normal(self): + random.bit_generator.seed(self.seed) + actual = random.standard_normal(size=(3, 2)) + desired = np.array([[-3.472754000610961, -0.108938564229143], + [-0.245965753396411, -0.704101550261701], + [0.360102487116356, 0.127832101772367]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_standard_normal_unsupported_type(self): + assert_raises(TypeError, random.standard_normal, dtype=np.int32) + + def test_standard_t(self): + random.bit_generator.seed(self.seed) + actual = random.standard_t(df=10, size=(3, 2)) + desired = np.array([[-3.68722108185508, -0.672031186266171], + [2.900224996448669, -0.199656996187739], + [-1.12179956985969, 1.85668262342106]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_triangular(self): + random.bit_generator.seed(self.seed) + actual = random.triangular(left=5.12, mode=10.23, right=20.34, + size=(3, 2)) + desired = np.array([[12.68117178949215784, 12.4129206149193152], + [16.20131377335158263, 16.25692138747600524], + [11.20400690911820263, 14.4978144835829923]]) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_uniform(self): + random.bit_generator.seed(self.seed) + actual = random.uniform(low=1.23, high=10.54, size=(3, 2)) + desired = np.array([[6.99097932346268003, 6.73801597444323974], + [9.50364421400426274, 9.53130618907631089], + [5.48995325769805476, 8.47493103280052118]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_uniform_range_bounds(self): + fmin = np.finfo('float').min + fmax = np.finfo('float').max + + func = random.uniform + assert_raises(OverflowError, func, -np.inf, 0) + assert_raises(OverflowError, func, 0, np.inf) + assert_raises(OverflowError, func, fmin, fmax) + assert_raises(OverflowError, func, [-np.inf], [0]) + assert_raises(OverflowError, func, [0], [np.inf]) + + # (fmax / 1e17) - fmin is within range, so this should not throw + # account for i386 extended precision DBL_MAX / 1e17 + DBL_MAX > + # DBL_MAX by increasing fmin a bit + random.uniform(low=np.nextafter(fmin, 1), high=fmax / 1e17) + + def test_scalar_exception_propagation(self): + # Tests that exceptions are correctly propagated in distributions + # when called with objects that throw exceptions when converted to + # scalars. + # + # Regression test for gh: 8865 + + class ThrowingFloat(np.ndarray): + def __float__(self): + raise TypeError + + throwing_float = np.array(1.0).view(ThrowingFloat) + assert_raises(TypeError, random.uniform, throwing_float, + throwing_float) + + class ThrowingInteger(np.ndarray): + def __int__(self): + raise TypeError + + throwing_int = np.array(1).view(ThrowingInteger) + assert_raises(TypeError, random.hypergeometric, throwing_int, 1, 1) + + def test_vonmises(self): + random.bit_generator.seed(self.seed) + actual = random.vonmises(mu=1.23, kappa=1.54, size=(3, 2)) + desired = np.array([[2.28567572673902042, 2.89163838442285037], + [0.38198375564286025, 2.57638023113890746], + [1.19153771588353052, 1.83509849681825354]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_vonmises_small(self): + # check infinite loop, gh-4720 + random.bit_generator.seed(self.seed) + r = random.vonmises(mu=0., kappa=1.1e-8, size=10**6) + assert_(np.isfinite(r).all()) + + def test_vonmises_nan(self): + random.bit_generator.seed(self.seed) + r = random.vonmises(mu=0., kappa=np.nan) + assert_(np.isnan(r)) + + def test_wald(self): + random.bit_generator.seed(self.seed) + actual = random.wald(mean=1.23, scale=1.54, size=(3, 2)) + desired = np.array([[0.10653278160339, 0.98771068102461], + [0.89276055317879, 0.13640126419923], + [0.9194319091599, 0.36037816317472]]) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_weibull(self): + random.bit_generator.seed(self.seed) + actual = random.weibull(a=1.23, size=(3, 2)) + desired = np.array([[3.557276979846361, 1.020870580998542], + [2.731847777612348, 1.29148068905082], + [0.385531483942839, 2.049551716717254]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_weibull_0(self): + random.bit_generator.seed(self.seed) + assert_equal(random.weibull(a=0, size=12), np.zeros(12)) + assert_raises(ValueError, random.weibull, a=-0.) + + def test_zipf(self): + random.bit_generator.seed(self.seed) + actual = random.zipf(a=1.23, size=(3, 2)) + desired = np.array([[66, 29], + [1, 1], + [3, 13]]) + assert_array_equal(actual, desired) + + +class TestBroadcast(object): + # tests that functions that broadcast behave + # correctly when presented with non-scalar arguments + def setup(self): + self.seed = 123456789 + + def set_seed(self): + random.bit_generator.seed(self.seed) + + def test_uniform(self): + low = [0] + high = [1] + uniform = random.uniform + desired = np.array([0.53283302478975902, + 0.53413660089041659, + 0.50955303552646702]) + + self.set_seed() + actual = uniform(low * 3, high) + assert_array_almost_equal(actual, desired, decimal=14) + + self.set_seed() + actual = uniform(low, high * 3) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_normal(self): + loc = [0] + scale = [1] + bad_scale = [-1] + normal = random.normal + desired = np.array([0.454879818179180, + -0.62749179463661, + -0.06063266769872]) + + self.set_seed() + actual = normal(loc * 3, scale) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, normal, loc * 3, bad_scale) + assert_raises(ValueError, random.normal, loc * 3, bad_scale) + + self.set_seed() + actual = normal(loc, scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, normal, loc, bad_scale * 3) + assert_raises(ValueError, random.normal, loc, bad_scale * 3) + + def test_beta(self): + a = [1] + b = [2] + bad_a = [-1] + bad_b = [-2] + beta = random.beta + desired = np.array([0.63222080311226, + 0.33310522220774, + 0.64494078460190]) + + self.set_seed() + actual = beta(a * 3, b) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, beta, bad_a * 3, b) + assert_raises(ValueError, beta, a * 3, bad_b) + + self.set_seed() + actual = beta(a, b * 3) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_exponential(self): + scale = [1] + bad_scale = [-1] + exponential = random.exponential + desired = np.array([1.68591211640990, + 3.14186859487914, + 0.67717375919228]) + + self.set_seed() + actual = exponential(scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, exponential, bad_scale * 3) + + def test_standard_gamma(self): + shape = [1] + bad_shape = [-1] + std_gamma = random.standard_gamma + desired = np.array([1.68591211640990, + 3.14186859487914, + 0.67717375919228]) + + self.set_seed() + actual = std_gamma(shape * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, std_gamma, bad_shape * 3) + + def test_gamma(self): + shape = [1] + scale = [2] + bad_shape = [-1] + bad_scale = [-2] + gamma = random.gamma + desired = np.array([3.37182423281980, + 6.28373718975827, + 1.35434751838456]) + + self.set_seed() + actual = gamma(shape * 3, scale) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, gamma, bad_shape * 3, scale) + assert_raises(ValueError, gamma, shape * 3, bad_scale) + + self.set_seed() + actual = gamma(shape, scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, gamma, bad_shape, scale * 3) + assert_raises(ValueError, gamma, shape, bad_scale * 3) + + def test_f(self): + dfnum = [1] + dfden = [2] + bad_dfnum = [-1] + bad_dfden = [-2] + f = random.f + desired = np.array([0.84207044881810, + 3.08607209903483, + 3.12823105933169]) + + self.set_seed() + actual = f(dfnum * 3, dfden) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, f, bad_dfnum * 3, dfden) + assert_raises(ValueError, f, dfnum * 3, bad_dfden) + + self.set_seed() + actual = f(dfnum, dfden * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, f, bad_dfnum, dfden * 3) + assert_raises(ValueError, f, dfnum, bad_dfden * 3) + + def test_noncentral_f(self): + dfnum = [2] + dfden = [3] + nonc = [4] + bad_dfnum = [0] + bad_dfden = [-1] + bad_nonc = [-2] + nonc_f = random.noncentral_f + desired = np.array([3.83710578542563, + 8.74926819712029, + 0.48892943835401]) + + self.set_seed() + actual = nonc_f(dfnum * 3, dfden, nonc) + assert_array_almost_equal(actual, desired, decimal=14) + assert np.all(np.isnan(nonc_f(dfnum, dfden, [np.nan] * 3))) + + assert_raises(ValueError, nonc_f, bad_dfnum * 3, dfden, nonc) + assert_raises(ValueError, nonc_f, dfnum * 3, bad_dfden, nonc) + assert_raises(ValueError, nonc_f, dfnum * 3, dfden, bad_nonc) + + self.set_seed() + actual = nonc_f(dfnum, dfden * 3, nonc) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, nonc_f, bad_dfnum, dfden * 3, nonc) + assert_raises(ValueError, nonc_f, dfnum, bad_dfden * 3, nonc) + assert_raises(ValueError, nonc_f, dfnum, dfden * 3, bad_nonc) + + self.set_seed() + actual = nonc_f(dfnum, dfden, nonc * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, nonc_f, bad_dfnum, dfden, nonc * 3) + assert_raises(ValueError, nonc_f, dfnum, bad_dfden, nonc * 3) + assert_raises(ValueError, nonc_f, dfnum, dfden, bad_nonc * 3) + + def test_noncentral_f_small_df(self): + self.set_seed() + desired = np.array([21.57878070681719, 1.17110217503908]) + actual = random.noncentral_f(0.9, 0.9, 2, size=2) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_chisquare(self): + df = [1] + bad_df = [-1] + chisquare = random.chisquare + desired = np.array([0.57022801133088286, + 0.51947702108840776, + 0.1320969254923558]) + + self.set_seed() + actual = chisquare(df * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, chisquare, bad_df * 3) + + def test_noncentral_chisquare(self): + df = [1] + nonc = [2] + bad_df = [-1] + bad_nonc = [-2] + nonc_chi = random.noncentral_chisquare + desired = np.array([2.20478739452297, + 1.45177405755115, + 1.00418921695354]) + + self.set_seed() + actual = nonc_chi(df * 3, nonc) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, nonc_chi, bad_df * 3, nonc) + assert_raises(ValueError, nonc_chi, df * 3, bad_nonc) + + self.set_seed() + actual = nonc_chi(df, nonc * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, nonc_chi, bad_df, nonc * 3) + assert_raises(ValueError, nonc_chi, df, bad_nonc * 3) + + def test_standard_t(self): + df = [1] + bad_df = [-1] + t = random.standard_t + desired = np.array([0.60081050724244, + -0.90380889829210, + -0.64499590504117]) + + self.set_seed() + actual = t(df * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, t, bad_df * 3) + assert_raises(ValueError, random.standard_t, bad_df * 3) + + def test_vonmises(self): + mu = [2] + kappa = [1] + bad_kappa = [-1] + vonmises = random.vonmises + desired = np.array([2.9883443664201312, + -2.7064099483995943, + -1.8672476700665914]) + + self.set_seed() + actual = vonmises(mu * 3, kappa) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, vonmises, mu * 3, bad_kappa) + + self.set_seed() + actual = vonmises(mu, kappa * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, vonmises, mu, bad_kappa * 3) + + def test_pareto(self): + a = [1] + bad_a = [-1] + pareto = random.pareto + desired = np.array([4.397371719158540, + 22.14707898642946, + 0.968306954322200]) + + self.set_seed() + actual = pareto(a * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, pareto, bad_a * 3) + assert_raises(ValueError, random.pareto, bad_a * 3) + + def test_weibull(self): + a = [1] + bad_a = [-1] + weibull = random.weibull + desired = np.array([1.68591211640990, + 3.14186859487914, + 0.67717375919228]) + + self.set_seed() + actual = weibull(a * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, weibull, bad_a * 3) + assert_raises(ValueError, random.weibull, bad_a * 3) + + def test_power(self): + a = [1] + bad_a = [-1] + power = random.power + desired = np.array([0.81472463783615, + 0.95679800459547, + 0.49194916077287]) + + self.set_seed() + actual = power(a * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, power, bad_a * 3) + assert_raises(ValueError, random.power, bad_a * 3) + + def test_laplace(self): + loc = [0] + scale = [1] + bad_scale = [-1] + laplace = random.laplace + desired = np.array([0.067921356028507157, + 0.070715642226971326, + 0.019290950698972624]) + + self.set_seed() + actual = laplace(loc * 3, scale) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, laplace, loc * 3, bad_scale) + + self.set_seed() + actual = laplace(loc, scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, laplace, loc, bad_scale * 3) + + def test_gumbel(self): + loc = [0] + scale = [1] + bad_scale = [-1] + gumbel = random.gumbel + desired = np.array([0.2730318639556768, + 0.26936705726291116, + 0.33906220393037939]) + + self.set_seed() + actual = gumbel(loc * 3, scale) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, gumbel, loc * 3, bad_scale) + + self.set_seed() + actual = gumbel(loc, scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, gumbel, loc, bad_scale * 3) + + def test_logistic(self): + loc = [0] + scale = [1] + bad_scale = [-1] + logistic = random.logistic + desired = np.array([0.13152135837586171, + 0.13675915696285773, + 0.038216792802833396]) + + self.set_seed() + actual = logistic(loc * 3, scale) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, logistic, loc * 3, bad_scale) + + self.set_seed() + actual = logistic(loc, scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, logistic, loc, bad_scale * 3) + assert_equal(random.logistic(1.0, 0.0), 1.0) + + def test_lognormal(self): + mean = [0] + sigma = [1] + bad_sigma = [-1] + lognormal = random.lognormal + desired = np.array([1.57598396702930, + 0.53392932731280, + 0.94116889802361]) + + self.set_seed() + actual = lognormal(mean * 3, sigma) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, lognormal, mean * 3, bad_sigma) + assert_raises(ValueError, random.lognormal, mean * 3, bad_sigma) + + self.set_seed() + actual = lognormal(mean, sigma * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, lognormal, mean, bad_sigma * 3) + assert_raises(ValueError, random.lognormal, mean, bad_sigma * 3) + + def test_rayleigh(self): + scale = [1] + bad_scale = [-1] + rayleigh = random.rayleigh + desired = np.array([1.2337491937897689, + 1.2360119924878694, + 1.1936818095781789]) + + self.set_seed() + actual = rayleigh(scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, rayleigh, bad_scale * 3) + + def test_wald(self): + mean = [0.5] + scale = [1] + bad_mean = [0] + bad_scale = [-2] + wald = random.wald + desired = np.array([0.36297361471752, + 0.52190135028254, + 0.55111022040727]) + + self.set_seed() + actual = wald(mean * 3, scale) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, wald, bad_mean * 3, scale) + assert_raises(ValueError, wald, mean * 3, bad_scale) + assert_raises(ValueError, random.wald, bad_mean * 3, scale) + assert_raises(ValueError, random.wald, mean * 3, bad_scale) + + self.set_seed() + actual = wald(mean, scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, wald, bad_mean, scale * 3) + assert_raises(ValueError, wald, mean, bad_scale * 3) + assert_raises(ValueError, random.wald, bad_mean, scale * 3) + assert_raises(ValueError, random.wald, mean, bad_scale * 3) + + def test_triangular(self): + left = [1] + right = [3] + mode = [2] + bad_left_one = [3] + bad_mode_one = [4] + bad_left_two, bad_mode_two = right * 2 + triangular = random.triangular + desired = np.array([2.03339048710429, + 2.0347400359389356, + 2.0095991069536208]) + + self.set_seed() + actual = triangular(left * 3, mode, right) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, triangular, bad_left_one * 3, mode, right) + assert_raises(ValueError, triangular, left * 3, bad_mode_one, right) + assert_raises(ValueError, triangular, bad_left_two * 3, bad_mode_two, + right) + + self.set_seed() + actual = triangular(left, mode * 3, right) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, triangular, bad_left_one, mode * 3, right) + assert_raises(ValueError, triangular, left, bad_mode_one * 3, right) + assert_raises(ValueError, triangular, bad_left_two, bad_mode_two * 3, + right) + + self.set_seed() + actual = triangular(left, mode, right * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, triangular, bad_left_one, mode, right * 3) + assert_raises(ValueError, triangular, left, bad_mode_one, right * 3) + assert_raises(ValueError, triangular, bad_left_two, bad_mode_two, + right * 3) + + assert_raises(ValueError, triangular, 10., 0., 20.) + assert_raises(ValueError, triangular, 10., 25., 20.) + assert_raises(ValueError, triangular, 10., 10., 10.) + + def test_binomial(self): + n = [1] + p = [0.5] + bad_n = [-1] + bad_p_one = [-1] + bad_p_two = [1.5] + binom = random.binomial + desired = np.array([1, 1, 1]) + + self.set_seed() + actual = binom(n * 3, p) + assert_array_equal(actual, desired) + assert_raises(ValueError, binom, bad_n * 3, p) + assert_raises(ValueError, binom, n * 3, bad_p_one) + assert_raises(ValueError, binom, n * 3, bad_p_two) + + self.set_seed() + actual = binom(n, p * 3) + assert_array_equal(actual, desired) + assert_raises(ValueError, binom, bad_n, p * 3) + assert_raises(ValueError, binom, n, bad_p_one * 3) + assert_raises(ValueError, binom, n, bad_p_two * 3) + + def test_negative_binomial(self): + n = [1] + p = [0.5] + bad_n = [-1] + bad_p_one = [-1] + bad_p_two = [1.5] + neg_binom = random.negative_binomial + desired = np.array([3, 1, 2], dtype=np.int64) + + self.set_seed() + actual = neg_binom(n * 3, p) + assert_array_equal(actual, desired) + assert_raises(ValueError, neg_binom, bad_n * 3, p) + assert_raises(ValueError, neg_binom, n * 3, bad_p_one) + assert_raises(ValueError, neg_binom, n * 3, bad_p_two) + + self.set_seed() + actual = neg_binom(n, p * 3) + assert_array_equal(actual, desired) + assert_raises(ValueError, neg_binom, bad_n, p * 3) + assert_raises(ValueError, neg_binom, n, bad_p_one * 3) + assert_raises(ValueError, neg_binom, n, bad_p_two * 3) + + def test_poisson(self): + max_lam = random._poisson_lam_max + + lam = [1] + bad_lam_one = [-1] + bad_lam_two = [max_lam * 2] + poisson = random.poisson + desired = np.array([1, 1, 0]) + + self.set_seed() + actual = poisson(lam * 3) + assert_array_equal(actual, desired) + assert_raises(ValueError, poisson, bad_lam_one * 3) + assert_raises(ValueError, poisson, bad_lam_two * 3) + + def test_zipf(self): + a = [2] + bad_a = [0] + zipf = random.zipf + desired = np.array([2, 2, 1]) + + self.set_seed() + actual = zipf(a * 3) + assert_array_equal(actual, desired) + assert_raises(ValueError, zipf, bad_a * 3) + with np.errstate(invalid='ignore'): + assert_raises(ValueError, zipf, np.nan) + assert_raises(ValueError, zipf, [0, 0, np.nan]) + + def test_geometric(self): + p = [0.5] + bad_p_one = [-1] + bad_p_two = [1.5] + geom = random.geometric + desired = np.array([2, 2, 2]) + + self.set_seed() + actual = geom(p * 3) + assert_array_equal(actual, desired) + assert_raises(ValueError, geom, bad_p_one * 3) + assert_raises(ValueError, geom, bad_p_two * 3) + + def test_hypergeometric(self): + ngood = [1] + nbad = [2] + nsample = [2] + bad_ngood = [-1] + bad_nbad = [-2] + bad_nsample_one = [-1] + bad_nsample_two = [4] + hypergeom = random.hypergeometric + desired = np.array([1, 1, 1]) + + self.set_seed() + actual = hypergeom(ngood * 3, nbad, nsample) + assert_array_equal(actual, desired) + assert_raises(ValueError, hypergeom, bad_ngood * 3, nbad, nsample) + assert_raises(ValueError, hypergeom, ngood * 3, bad_nbad, nsample) + assert_raises(ValueError, hypergeom, ngood * 3, nbad, bad_nsample_one) + assert_raises(ValueError, hypergeom, ngood * 3, nbad, bad_nsample_two) + + self.set_seed() + actual = hypergeom(ngood, nbad * 3, nsample) + assert_array_equal(actual, desired) + assert_raises(ValueError, hypergeom, bad_ngood, nbad * 3, nsample) + assert_raises(ValueError, hypergeom, ngood, bad_nbad * 3, nsample) + assert_raises(ValueError, hypergeom, ngood, nbad * 3, bad_nsample_one) + assert_raises(ValueError, hypergeom, ngood, nbad * 3, bad_nsample_two) + + self.set_seed() + actual = hypergeom(ngood, nbad, nsample * 3) + assert_array_equal(actual, desired) + assert_raises(ValueError, hypergeom, bad_ngood, nbad, nsample * 3) + assert_raises(ValueError, hypergeom, ngood, bad_nbad, nsample * 3) + assert_raises(ValueError, hypergeom, ngood, nbad, bad_nsample_one * 3) + assert_raises(ValueError, hypergeom, ngood, nbad, bad_nsample_two * 3) + + assert_raises(ValueError, hypergeom, -1, 10, 20) + assert_raises(ValueError, hypergeom, 10, -1, 20) + assert_raises(ValueError, hypergeom, 10, 10, -1) + assert_raises(ValueError, hypergeom, 10, 10, 25) + + def test_logseries(self): + p = [0.5] + bad_p_one = [2] + bad_p_two = [-1] + logseries = random.logseries + desired = np.array([1, 1, 1]) + + self.set_seed() + actual = logseries(p * 3) + assert_array_equal(actual, desired) + assert_raises(ValueError, logseries, bad_p_one * 3) + assert_raises(ValueError, logseries, bad_p_two * 3) + + def test_multinomial(self): + random.bit_generator.seed(self.seed) + actual = random.multinomial([5, 20], [1 / 6.] * 6, size=(3, 2)) + desired = np.array([[[1, 1, 1, 1, 0, 1], + [4, 5, 1, 4, 3, 3]], + [[1, 1, 1, 0, 0, 2], + [2, 0, 4, 3, 7, 4]], + [[1, 2, 0, 0, 2, 0], + [3, 2, 3, 4, 2, 6]]], dtype=np.int64) + assert_array_equal(actual, desired) + + random.bit_generator.seed(self.seed) + actual = random.multinomial([5, 20], [1 / 6.] * 6) + desired = np.array([[1, 1, 1, 1, 0, 1], + [4, 5, 1, 4, 3, 3]], dtype=np.int64) + assert_array_equal(actual, desired) + + +class TestThread(object): + # make sure each state produces the same sequence even in threads + def setup(self): + self.seeds = range(4) + + def check_function(self, function, sz): + from threading import Thread + + out1 = np.empty((len(self.seeds),) + sz) + out2 = np.empty((len(self.seeds),) + sz) + + # threaded generation + t = [Thread(target=function, args=(Generator(MT19937(s)), o)) + for s, o in zip(self.seeds, out1)] + [x.start() for x in t] + [x.join() for x in t] + + # the same serial + for s, o in zip(self.seeds, out2): + function(Generator(MT19937(s)), o) + + # these platforms change x87 fpu precision mode in threads + if np.intp().dtype.itemsize == 4 and sys.platform == "win32": + assert_array_almost_equal(out1, out2) + else: + assert_array_equal(out1, out2) + + def test_normal(self): + def gen_random(state, out): + out[...] = state.normal(size=10000) + + self.check_function(gen_random, sz=(10000,)) + + def test_exp(self): + def gen_random(state, out): + out[...] = state.exponential(scale=np.ones((100, 1000))) + + self.check_function(gen_random, sz=(100, 1000)) + + def test_multinomial(self): + def gen_random(state, out): + out[...] = state.multinomial(10, [1 / 6.] * 6, size=10000) + + self.check_function(gen_random, sz=(10000, 6)) + + +# See Issue #4263 +class TestSingleEltArrayInput(object): + def setup(self): + self.argOne = np.array([2]) + self.argTwo = np.array([3]) + self.argThree = np.array([4]) + self.tgtShape = (1,) + + def test_one_arg_funcs(self): + funcs = (random.exponential, random.standard_gamma, + random.chisquare, random.standard_t, + random.pareto, random.weibull, + random.power, random.rayleigh, + random.poisson, random.zipf, + random.geometric, random.logseries) + + probfuncs = (random.geometric, random.logseries) + + for func in funcs: + if func in probfuncs: # p < 1.0 + out = func(np.array([0.5])) + + else: + out = func(self.argOne) + + assert_equal(out.shape, self.tgtShape) + + def test_two_arg_funcs(self): + funcs = (random.uniform, random.normal, + random.beta, random.gamma, + random.f, random.noncentral_chisquare, + random.vonmises, random.laplace, + random.gumbel, random.logistic, + random.lognormal, random.wald, + random.binomial, random.negative_binomial) + + probfuncs = (random.binomial, random.negative_binomial) + + for func in funcs: + if func in probfuncs: # p <= 1 + argTwo = np.array([0.5]) + + else: + argTwo = self.argTwo + + out = func(self.argOne, argTwo) + assert_equal(out.shape, self.tgtShape) + + out = func(self.argOne[0], argTwo) + assert_equal(out.shape, self.tgtShape) + + out = func(self.argOne, argTwo[0]) + assert_equal(out.shape, self.tgtShape) + + def test_integers(self, endpoint): + itype = [np.bool, np.int8, np.uint8, np.int16, np.uint16, + np.int32, np.uint32, np.int64, np.uint64] + func = random.integers + high = np.array([1]) + low = np.array([0]) + + for dt in itype: + out = func(low, high, endpoint=endpoint, dtype=dt) + assert_equal(out.shape, self.tgtShape) + + out = func(low[0], high, endpoint=endpoint, dtype=dt) + assert_equal(out.shape, self.tgtShape) + + out = func(low, high[0], endpoint=endpoint, dtype=dt) + assert_equal(out.shape, self.tgtShape) + + def test_three_arg_funcs(self): + funcs = [random.noncentral_f, random.triangular, + random.hypergeometric] + + for func in funcs: + out = func(self.argOne, self.argTwo, self.argThree) + assert_equal(out.shape, self.tgtShape) + + out = func(self.argOne[0], self.argTwo, self.argThree) + assert_equal(out.shape, self.tgtShape) + + out = func(self.argOne, self.argTwo[0], self.argThree) + assert_equal(out.shape, self.tgtShape) diff --git a/numpy/random/tests/test_generator_mt19937_regressions.py b/numpy/random/tests/test_generator_mt19937_regressions.py new file mode 100644 index 000000000..cd4e08d6f --- /dev/null +++ b/numpy/random/tests/test_generator_mt19937_regressions.py @@ -0,0 +1,166 @@ +import sys +from numpy.testing import (assert_, assert_array_equal) +from numpy.compat import long +import numpy as np +import pytest +from numpy.random import Generator, MT19937 + +mt19937 = Generator(MT19937()) + + +class TestRegression(object): + + def test_VonMises_range(self): + # Make sure generated random variables are in [-pi, pi]. + # Regression test for ticket #986. + for mu in np.linspace(-7., 7., 5): + r = mt19937.vonmises(mu, 1, 50) + assert_(np.all(r > -np.pi) and np.all(r <= np.pi)) + + def test_hypergeometric_range(self): + # Test for ticket #921 + assert_(np.all(mt19937.hypergeometric(3, 18, 11, size=10) < 4)) + assert_(np.all(mt19937.hypergeometric(18, 3, 11, size=10) > 0)) + + # Test for ticket #5623 + args = [ + (2**20 - 2, 2**20 - 2, 2**20 - 2), # Check for 32-bit systems + ] + is_64bits = sys.maxsize > 2**32 + if is_64bits and sys.platform != 'win32': + # Check for 64-bit systems + args.append((2**40 - 2, 2**40 - 2, 2**40 - 2)) + for arg in args: + assert_(mt19937.hypergeometric(*arg) > 0) + + def test_logseries_convergence(self): + # Test for ticket #923 + N = 1000 + mt19937.bit_generator.seed(0) + rvsn = mt19937.logseries(0.8, size=N) + # these two frequency counts should be close to theoretical + # numbers with this large sample + # theoretical large N result is 0.49706795 + freq = np.sum(rvsn == 1) / float(N) + msg = "Frequency was %f, should be > 0.45" % freq + assert_(freq > 0.45, msg) + # theoretical large N result is 0.19882718 + freq = np.sum(rvsn == 2) / float(N) + msg = "Frequency was %f, should be < 0.23" % freq + assert_(freq < 0.23, msg) + + def test_permutation_longs(self): + mt19937.bit_generator.seed(1234) + a = mt19937.permutation(12) + mt19937.bit_generator.seed(1234) + b = mt19937.permutation(long(12)) + assert_array_equal(a, b) + + def test_shuffle_mixed_dimension(self): + # Test for trac ticket #2074 + for t in [[1, 2, 3, None], + [(1, 1), (2, 2), (3, 3), None], + [1, (2, 2), (3, 3), None], + [(1, 1), 2, 3, None]]: + mt19937.bit_generator.seed(12345) + shuffled = list(t) + mt19937.shuffle(shuffled) + assert_array_equal(shuffled, [t[0], t[3], t[1], t[2]]) + + def test_call_within_randomstate(self): + # Check that custom RandomState does not call into global state + m = Generator(MT19937()) # mt19937.RandomState() + res = np.array([0, 8, 7, 2, 1, 9, 4, 7, 0, 3]) + for i in range(3): + mt19937.bit_generator.seed(i) + m.bit_generator.seed(4321) + # If m.state is not honored, the result will change + assert_array_equal(m.choice(10, size=10, p=np.ones(10)/10.), res) + + def test_multivariate_normal_size_types(self): + # Test for multivariate_normal issue with 'size' argument. + # Check that the multivariate_normal size argument can be a + # numpy integer. + mt19937.multivariate_normal([0], [[0]], size=1) + mt19937.multivariate_normal([0], [[0]], size=np.int_(1)) + mt19937.multivariate_normal([0], [[0]], size=np.int64(1)) + + def test_beta_small_parameters(self): + # Test that beta with small a and b parameters does not produce + # NaNs due to roundoff errors causing 0 / 0, gh-5851 + mt19937.bit_generator.seed(1234567890) + x = mt19937.beta(0.0001, 0.0001, size=100) + assert_(not np.any(np.isnan(x)), 'Nans in mt19937.beta') + + def test_choice_sum_of_probs_tolerance(self): + # The sum of probs should be 1.0 with some tolerance. + # For low precision dtypes the tolerance was too tight. + # See numpy github issue 6123. + mt19937.bit_generator.seed(1234) + a = [1, 2, 3] + counts = [4, 4, 2] + for dt in np.float16, np.float32, np.float64: + probs = np.array(counts, dtype=dt) / sum(counts) + c = mt19937.choice(a, p=probs) + assert_(c in a) + with pytest.raises(ValueError): + mt19937.choice(a, p=probs*0.9) + + def test_shuffle_of_array_of_different_length_strings(self): + # Test that permuting an array of different length strings + # will not cause a segfault on garbage collection + # Tests gh-7710 + mt19937.bit_generator.seed(1234) + + a = np.array(['a', 'a' * 1000]) + + for _ in range(100): + mt19937.shuffle(a) + + # Force Garbage Collection - should not segfault. + import gc + gc.collect() + + def test_shuffle_of_array_of_objects(self): + # Test that permuting an array of objects will not cause + # a segfault on garbage collection. + # See gh-7719 + mt19937.bit_generator.seed(1234) + a = np.array([np.arange(1), np.arange(4)]) + + for _ in range(1000): + mt19937.shuffle(a) + + # Force Garbage Collection - should not segfault. + import gc + gc.collect() + + def test_permutation_subclass(self): + class N(np.ndarray): + pass + + mt19937.bit_generator.seed(1) + orig = np.arange(3).view(N) + perm = mt19937.permutation(orig) + assert_array_equal(perm, np.array([0, 2, 1])) + assert_array_equal(orig, np.arange(3).view(N)) + + class M(object): + a = np.arange(5) + + def __array__(self): + return self.a + + mt19937.bit_generator.seed(1) + m = M() + perm = mt19937.permutation(m) + assert_array_equal(perm, np.array([2, 1, 4, 0, 3])) + assert_array_equal(m.__array__(), np.arange(5)) + + def test_gamma_0(self): + assert mt19937.standard_gamma(0.0) == 0.0 + assert_array_equal(mt19937.standard_gamma([0.0]), 0.0) + + actual = mt19937.standard_gamma([0.0], dtype='float') + expected = np.array([0.], dtype=np.float32) + assert_array_equal(actual, expected) diff --git a/numpy/random/tests/test_random.py b/numpy/random/tests/test_random.py index a67901a0a..37bd121f3 100644 --- a/numpy/random/tests/test_random.py +++ b/numpy/random/tests/test_random.py @@ -43,7 +43,8 @@ class TestSeed(object): def test_invalid_array_shape(self): # gh-9832 - assert_raises(ValueError, np.random.RandomState, np.array([], dtype=np.int64)) + assert_raises(ValueError, np.random.RandomState, + np.array([], dtype=np.int64)) assert_raises(ValueError, np.random.RandomState, [[1, 2, 3]]) assert_raises(ValueError, np.random.RandomState, [[1, 2, 3], [4, 5, 6]]) @@ -349,9 +350,9 @@ class TestRandomDist(object): np.random.random_integers, np.iinfo('l').max, np.iinfo('l').max) - def test_random_sample(self): + def test_random(self): np.random.seed(self.seed) - actual = np.random.random_sample((3, 2)) + actual = np.random.random((3, 2)) desired = np.array([[0.61879477158567997, 0.59162362775974664], [0.88868358904449662, 0.89165480011560816], [0.4575674820298663, 0.7781880808593471]]) @@ -449,7 +450,8 @@ class TestRandomDist(object): assert_equal(np.random.randint(10, 10, size=0).shape, (0,)) assert_equal(np.random.choice(0, size=0).shape, (0,)) assert_equal(np.random.choice([], size=(0,)).shape, (0,)) - assert_equal(np.random.choice(['a', 'b'], size=(3, 0, 4)).shape, (3, 0, 4)) + assert_equal(np.random.choice(['a', 'b'], size=(3, 0, 4)).shape, + (3, 0, 4)) assert_raises(ValueError, np.random.choice, [], 10) def test_choice_nan_probabilities(self): @@ -692,7 +694,7 @@ class TestRandomDist(object): cov = [[1, 0], [0, 1]] size = (3, 2) actual = np.random.multivariate_normal(mean, cov, size) - desired = np.array([[[1.463620246718631, 11.73759122771936 ], + desired = np.array([[[1.463620246718631, 11.73759122771936], [1.622445133300628, 9.771356667546383]], [[2.154490787682787, 12.170324946056553], [1.719909438201865, 9.230548443648306]], @@ -720,7 +722,7 @@ class TestRandomDist(object): assert_raises(ValueError, np.random.multivariate_normal, mean, cov, check_valid='raise') - cov = np.array([[1, 0.1],[0.1, 1]], dtype=np.float32) + cov = np.array([[1, 0.1], [0.1, 1]], dtype=np.float32) with suppress_warnings() as sup: np.random.multivariate_normal(mean, cov) w = sup.record(RuntimeWarning) @@ -916,7 +918,8 @@ class TestRandomDist(object): raise TypeError throwing_float = np.array(1.0).view(ThrowingFloat) - assert_raises(TypeError, np.random.uniform, throwing_float, throwing_float) + assert_raises(TypeError, np.random.uniform, throwing_float, + throwing_float) class ThrowingInteger(np.ndarray): def __int__(self): @@ -1385,21 +1388,24 @@ class TestBroadcast(object): assert_array_almost_equal(actual, desired, decimal=14) assert_raises(ValueError, triangular, bad_left_one * 3, mode, right) assert_raises(ValueError, triangular, left * 3, bad_mode_one, right) - assert_raises(ValueError, triangular, bad_left_two * 3, bad_mode_two, right) + assert_raises(ValueError, triangular, bad_left_two * 3, bad_mode_two, + right) self.setSeed() actual = triangular(left, mode * 3, right) assert_array_almost_equal(actual, desired, decimal=14) assert_raises(ValueError, triangular, bad_left_one, mode * 3, right) assert_raises(ValueError, triangular, left, bad_mode_one * 3, right) - assert_raises(ValueError, triangular, bad_left_two, bad_mode_two * 3, right) + assert_raises(ValueError, triangular, bad_left_two, bad_mode_two * 3, + right) self.setSeed() actual = triangular(left, mode, right * 3) assert_array_almost_equal(actual, desired, decimal=14) assert_raises(ValueError, triangular, bad_left_one, mode, right * 3) assert_raises(ValueError, triangular, left, bad_mode_one, right * 3) - assert_raises(ValueError, triangular, bad_left_two, bad_mode_two, right * 3) + assert_raises(ValueError, triangular, bad_left_two, bad_mode_two, + right * 3) def test_binomial(self): n = [1] @@ -1448,7 +1454,7 @@ class TestBroadcast(object): assert_raises(ValueError, neg_binom, n, bad_p_two * 3) def test_poisson(self): - max_lam = np.random.RandomState().poisson_lam_max + max_lam = np.random.RandomState()._poisson_lam_max lam = [1] bad_lam_one = [-1] @@ -1537,6 +1543,7 @@ class TestBroadcast(object): assert_raises(ValueError, logseries, bad_p_one * 3) assert_raises(ValueError, logseries, bad_p_two * 3) + class TestThread(object): # make sure each state produces the same sequence even in threads def setup(self): @@ -1579,6 +1586,7 @@ class TestThread(object): out[...] = state.multinomial(10, [1/6.]*6, size=10000) self.check_function(gen_random, sz=(10000, 6)) + # See Issue #4263 class TestSingleEltArrayInput(object): def setup(self): diff --git a/numpy/random/tests/test_randomstate.py b/numpy/random/tests/test_randomstate.py new file mode 100644 index 000000000..5e2b93f52 --- /dev/null +++ b/numpy/random/tests/test_randomstate.py @@ -0,0 +1,1923 @@ +import hashlib +import pickle +import sys +import warnings + +import numpy as np +import pytest +from numpy.testing import ( + assert_, assert_raises, assert_equal, assert_warns, + assert_no_warnings, assert_array_equal, assert_array_almost_equal, + suppress_warnings + ) + +from numpy.random import MT19937, Xoshiro256, mtrand as random + +INT_FUNCS = {'binomial': (100.0, 0.6), + 'geometric': (.5,), + 'hypergeometric': (20, 20, 10), + 'logseries': (.5,), + 'multinomial': (20, np.ones(6) / 6.0), + 'negative_binomial': (100, .5), + 'poisson': (10.0,), + 'zipf': (2,), + } + +if np.iinfo(int).max < 2**32: + # Windows and some 32-bit platforms, e.g., ARM + INT_FUNC_HASHES = {'binomial': '670e1c04223ffdbab27e08fbbad7bdba', + 'logseries': '6bd0183d2f8030c61b0d6e11aaa60caf', + 'geometric': '6e9df886f3e1e15a643168568d5280c0', + 'hypergeometric': '7964aa611b046aecd33063b90f4dec06', + 'multinomial': '68a0b049c16411ed0aa4aff3572431e4', + 'negative_binomial': 'dc265219eec62b4338d39f849cd36d09', + 'poisson': '7b4dce8e43552fc82701c2fa8e94dc6e', + 'zipf': 'fcd2a2095f34578723ac45e43aca48c5', + } +else: + INT_FUNC_HASHES = {'binomial': 'b5f8dcd74f172836536deb3547257b14', + 'geometric': '8814571f45c87c59699d62ccd3d6c350', + 'hypergeometric': 'bc64ae5976eac452115a16dad2dcf642', + 'logseries': '84be924b37485a27c4a98797bc88a7a4', + 'multinomial': 'ec3c7f9cf9664044bb0c6fb106934200', + 'negative_binomial': '210533b2234943591364d0117a552969', + 'poisson': '0536a8850c79da0c78defd742dccc3e0', + 'zipf': 'f2841f504dd2525cd67cdcad7561e532', + } + + +@pytest.fixture(scope='module', params=INT_FUNCS) +def int_func(request): + return (request.param, INT_FUNCS[request.param], + INT_FUNC_HASHES[request.param]) + + +def assert_mt19937_state_equal(a, b): + assert_equal(a['bit_generator'], b['bit_generator']) + assert_array_equal(a['state']['key'], b['state']['key']) + assert_array_equal(a['state']['pos'], b['state']['pos']) + assert_equal(a['has_gauss'], b['has_gauss']) + assert_equal(a['gauss'], b['gauss']) + + +class TestSeed(object): + def test_scalar(self): + s = random.RandomState(0) + assert_equal(s.randint(1000), 684) + s = random.RandomState(4294967295) + assert_equal(s.randint(1000), 419) + + def test_array(self): + s = random.RandomState(range(10)) + assert_equal(s.randint(1000), 468) + s = random.RandomState(np.arange(10)) + assert_equal(s.randint(1000), 468) + s = random.RandomState([0]) + assert_equal(s.randint(1000), 973) + s = random.RandomState([4294967295]) + assert_equal(s.randint(1000), 265) + + def test_invalid_scalar(self): + # seed must be an unsigned 32 bit integer + assert_raises(TypeError, random.RandomState, -0.5) + assert_raises(ValueError, random.RandomState, -1) + + def test_invalid_array(self): + # seed must be an unsigned 32 bit integer + assert_raises(TypeError, random.RandomState, [-0.5]) + assert_raises(ValueError, random.RandomState, [-1]) + assert_raises(ValueError, random.RandomState, [4294967296]) + assert_raises(ValueError, random.RandomState, [1, 2, 4294967296]) + assert_raises(ValueError, random.RandomState, [1, -2, 4294967296]) + + def test_invalid_array_shape(self): + # gh-9832 + assert_raises(ValueError, random.RandomState, np.array([], + dtype=np.int64)) + assert_raises(ValueError, random.RandomState, [[1, 2, 3]]) + assert_raises(ValueError, random.RandomState, [[1, 2, 3], + [4, 5, 6]]) + + def test_seed_equivalency(self): + rs = random.RandomState(0) + rs2 = random.RandomState(MT19937(0)) + assert_mt19937_state_equal(rs.get_state(legacy=False), + rs2.get_state(legacy=False)) + + def test_invalid_initialization(self): + assert_raises(ValueError, random.RandomState, MT19937) + + +class TestBinomial(object): + def test_n_zero(self): + # Tests the corner case of n == 0 for the binomial distribution. + # binomial(0, p) should be zero for any p in [0, 1]. + # This test addresses issue #3480. + zeros = np.zeros(2, dtype='int') + for p in [0, .5, 1]: + assert_(random.binomial(0, p) == 0) + assert_array_equal(random.binomial(zeros, p), zeros) + + def test_p_is_nan(self): + # Issue #4571. + assert_raises(ValueError, random.binomial, 1, np.nan) + + +class TestMultinomial(object): + def test_basic(self): + random.multinomial(100, [0.2, 0.8]) + + def test_zero_probability(self): + random.multinomial(100, [0.2, 0.8, 0.0, 0.0, 0.0]) + + def test_int_negative_interval(self): + assert_(-5 <= random.randint(-5, -1) < -1) + x = random.randint(-5, -1, 5) + assert_(np.all(-5 <= x)) + assert_(np.all(x < -1)) + + def test_size(self): + # gh-3173 + p = [0.5, 0.5] + assert_equal(random.multinomial(1, p, np.uint32(1)).shape, (1, 2)) + assert_equal(random.multinomial(1, p, np.uint32(1)).shape, (1, 2)) + assert_equal(random.multinomial(1, p, np.uint32(1)).shape, (1, 2)) + assert_equal(random.multinomial(1, p, [2, 2]).shape, (2, 2, 2)) + assert_equal(random.multinomial(1, p, (2, 2)).shape, (2, 2, 2)) + assert_equal(random.multinomial(1, p, np.array((2, 2))).shape, + (2, 2, 2)) + + assert_raises(TypeError, random.multinomial, 1, p, + float(1)) + + def test_invalid_prob(self): + assert_raises(ValueError, random.multinomial, 100, [1.1, 0.2]) + assert_raises(ValueError, random.multinomial, 100, [-.1, 0.9]) + + def test_invalid_n(self): + assert_raises(ValueError, random.multinomial, -1, [0.8, 0.2]) + + +class TestSetState(object): + def setup(self): + self.seed = 1234567890 + self.random_state = random.RandomState(self.seed) + self.state = self.random_state.get_state() + + def test_basic(self): + old = self.random_state.tomaxint(16) + self.random_state.set_state(self.state) + new = self.random_state.tomaxint(16) + assert_(np.all(old == new)) + + def test_gaussian_reset(self): + # Make sure the cached every-other-Gaussian is reset. + old = self.random_state.standard_normal(size=3) + self.random_state.set_state(self.state) + new = self.random_state.standard_normal(size=3) + assert_(np.all(old == new)) + + def test_gaussian_reset_in_media_res(self): + # When the state is saved with a cached Gaussian, make sure the + # cached Gaussian is restored. + + self.random_state.standard_normal() + state = self.random_state.get_state() + old = self.random_state.standard_normal(size=3) + self.random_state.set_state(state) + new = self.random_state.standard_normal(size=3) + assert_(np.all(old == new)) + + def test_backwards_compatibility(self): + # Make sure we can accept old state tuples that do not have the + # cached Gaussian value. + old_state = self.state[:-2] + x1 = self.random_state.standard_normal(size=16) + self.random_state.set_state(old_state) + x2 = self.random_state.standard_normal(size=16) + self.random_state.set_state(self.state) + x3 = self.random_state.standard_normal(size=16) + assert_(np.all(x1 == x2)) + assert_(np.all(x1 == x3)) + + def test_negative_binomial(self): + # Ensure that the negative binomial results take floating point + # arguments without truncation. + self.random_state.negative_binomial(0.5, 0.5) + + def test_get_state_warning(self): + rs = random.RandomState(Xoshiro256()) + with suppress_warnings() as sup: + w = sup.record(RuntimeWarning) + state = rs.get_state() + assert_(len(w) == 1) + assert isinstance(state, dict) + assert state['bit_generator'] == 'Xoshiro256' + + def test_invalid_legacy_state_setting(self): + state = self.random_state.get_state() + new_state = ('Unknown', ) + state[1:] + assert_raises(ValueError, self.random_state.set_state, new_state) + assert_raises(TypeError, self.random_state.set_state, + np.array(new_state, dtype=np.object)) + state = self.random_state.get_state(legacy=False) + del state['bit_generator'] + assert_raises(ValueError, self.random_state.set_state, state) + + def test_pickle(self): + self.random_state.seed(0) + self.random_state.random_sample(100) + self.random_state.standard_normal() + pickled = self.random_state.get_state(legacy=False) + assert_equal(pickled['has_gauss'], 1) + rs_unpick = pickle.loads(pickle.dumps(self.random_state)) + unpickled = rs_unpick.get_state(legacy=False) + assert_mt19937_state_equal(pickled, unpickled) + + def test_state_setting(self): + attr_state = self.random_state.__getstate__() + self.random_state.standard_normal() + self.random_state.__setstate__(attr_state) + state = self.random_state.get_state(legacy=False) + assert_mt19937_state_equal(attr_state, state) + + def test_repr(self): + assert repr(self.random_state).startswith('RandomState(MT19937)') + + +class TestRandint(object): + + rfunc = random.randint + + # valid integer/boolean types + itype = [np.bool_, np.int8, np.uint8, np.int16, np.uint16, + np.int32, np.uint32, np.int64, np.uint64] + + def test_unsupported_type(self): + assert_raises(TypeError, self.rfunc, 1, dtype=float) + + def test_bounds_checking(self): + for dt in self.itype: + lbnd = 0 if dt is np.bool_ else np.iinfo(dt).min + ubnd = 2 if dt is np.bool_ else np.iinfo(dt).max + 1 + assert_raises(ValueError, self.rfunc, lbnd - 1, ubnd, dtype=dt) + assert_raises(ValueError, self.rfunc, lbnd, ubnd + 1, dtype=dt) + assert_raises(ValueError, self.rfunc, ubnd, lbnd, dtype=dt) + assert_raises(ValueError, self.rfunc, 1, 0, dtype=dt) + + def test_rng_zero_and_extremes(self): + for dt in self.itype: + lbnd = 0 if dt is np.bool_ else np.iinfo(dt).min + ubnd = 2 if dt is np.bool_ else np.iinfo(dt).max + 1 + + tgt = ubnd - 1 + assert_equal(self.rfunc(tgt, tgt + 1, size=1000, dtype=dt), tgt) + + tgt = lbnd + assert_equal(self.rfunc(tgt, tgt + 1, size=1000, dtype=dt), tgt) + + tgt = (lbnd + ubnd)//2 + assert_equal(self.rfunc(tgt, tgt + 1, size=1000, dtype=dt), tgt) + + def test_full_range(self): + # Test for ticket #1690 + + for dt in self.itype: + lbnd = 0 if dt is np.bool_ else np.iinfo(dt).min + ubnd = 2 if dt is np.bool_ else np.iinfo(dt).max + 1 + + try: + self.rfunc(lbnd, ubnd, dtype=dt) + except Exception as e: + raise AssertionError("No error should have been raised, " + "but one was with the following " + "message:\n\n%s" % str(e)) + + def test_in_bounds_fuzz(self): + # Don't use fixed seed + random.seed() + + for dt in self.itype[1:]: + for ubnd in [4, 8, 16]: + vals = self.rfunc(2, ubnd, size=2**16, dtype=dt) + assert_(vals.max() < ubnd) + assert_(vals.min() >= 2) + + vals = self.rfunc(0, 2, size=2**16, dtype=np.bool_) + + assert_(vals.max() < 2) + assert_(vals.min() >= 0) + + def test_repeatability(self): + # We use a md5 hash of generated sequences of 1000 samples + # in the range [0, 6) for all but bool, where the range + # is [0, 2). Hashes are for little endian numbers. + tgt = {'bool': '7dd3170d7aa461d201a65f8bcf3944b0', + 'int16': '1b7741b80964bb190c50d541dca1cac1', + 'int32': '4dc9fcc2b395577ebb51793e58ed1a05', + 'int64': '17db902806f448331b5a758d7d2ee672', + 'int8': '27dd30c4e08a797063dffac2490b0be6', + 'uint16': '1b7741b80964bb190c50d541dca1cac1', + 'uint32': '4dc9fcc2b395577ebb51793e58ed1a05', + 'uint64': '17db902806f448331b5a758d7d2ee672', + 'uint8': '27dd30c4e08a797063dffac2490b0be6'} + + for dt in self.itype[1:]: + random.seed(1234) + + # view as little endian for hash + if sys.byteorder == 'little': + val = self.rfunc(0, 6, size=1000, dtype=dt) + else: + val = self.rfunc(0, 6, size=1000, dtype=dt).byteswap() + + res = hashlib.md5(val.view(np.int8)).hexdigest() + assert_(tgt[np.dtype(dt).name] == res) + + # bools do not depend on endianness + random.seed(1234) + val = self.rfunc(0, 2, size=1000, dtype=bool).view(np.int8) + res = hashlib.md5(val).hexdigest() + assert_(tgt[np.dtype(bool).name] == res) + + def test_int64_uint64_corner_case(self): + # When stored in Numpy arrays, `lbnd` is casted + # as np.int64, and `ubnd` is casted as np.uint64. + # Checking whether `lbnd` >= `ubnd` used to be + # done solely via direct comparison, which is incorrect + # because when Numpy tries to compare both numbers, + # it casts both to np.float64 because there is + # no integer superset of np.int64 and np.uint64. However, + # `ubnd` is too large to be represented in np.float64, + # causing it be round down to np.iinfo(np.int64).max, + # leading to a ValueError because `lbnd` now equals + # the new `ubnd`. + + dt = np.int64 + tgt = np.iinfo(np.int64).max + lbnd = np.int64(np.iinfo(np.int64).max) + ubnd = np.uint64(np.iinfo(np.int64).max + 1) + + # None of these function calls should + # generate a ValueError now. + actual = random.randint(lbnd, ubnd, dtype=dt) + assert_equal(actual, tgt) + + def test_respect_dtype_singleton(self): + # See gh-7203 + for dt in self.itype: + lbnd = 0 if dt is np.bool_ else np.iinfo(dt).min + ubnd = 2 if dt is np.bool_ else np.iinfo(dt).max + 1 + + sample = self.rfunc(lbnd, ubnd, dtype=dt) + assert_equal(sample.dtype, np.dtype(dt)) + + for dt in (bool, int, np.long): + lbnd = 0 if dt is bool else np.iinfo(dt).min + ubnd = 2 if dt is bool else np.iinfo(dt).max + 1 + + # gh-7284: Ensure that we get Python data types + sample = self.rfunc(lbnd, ubnd, dtype=dt) + assert_(not hasattr(sample, 'dtype')) + assert_equal(type(sample), dt) + + +class TestRandomDist(object): + # Make sure the random distribution returns the correct value for a + # given seed + + def setup(self): + self.seed = 1234567890 + + def test_rand(self): + random.seed(self.seed) + actual = random.rand(3, 2) + desired = np.array([[0.61879477158567997, 0.59162362775974664], + [0.88868358904449662, 0.89165480011560816], + [0.4575674820298663, 0.7781880808593471]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_rand_singleton(self): + random.seed(self.seed) + actual = random.rand() + desired = 0.61879477158567997 + assert_array_almost_equal(actual, desired, decimal=15) + + def test_randn(self): + random.seed(self.seed) + actual = random.randn(3, 2) + desired = np.array([[1.34016345771863121, 1.73759122771936081], + [1.498988344300628, -0.2286433324536169], + [2.031033998682787, 2.17032494605655257]]) + assert_array_almost_equal(actual, desired, decimal=15) + + random.seed(self.seed) + actual = random.randn() + assert_array_almost_equal(actual, desired[0, 0], decimal=15) + + def test_randint(self): + random.seed(self.seed) + actual = random.randint(-99, 99, size=(3, 2)) + desired = np.array([[31, 3], + [-52, 41], + [-48, -66]]) + assert_array_equal(actual, desired) + + def test_random_integers(self): + random.seed(self.seed) + with suppress_warnings() as sup: + w = sup.record(DeprecationWarning) + actual = random.random_integers(-99, 99, size=(3, 2)) + assert_(len(w) == 1) + desired = np.array([[31, 3], + [-52, 41], + [-48, -66]]) + assert_array_equal(actual, desired) + + random.seed(self.seed) + with suppress_warnings() as sup: + w = sup.record(DeprecationWarning) + actual = random.random_integers(198, size=(3, 2)) + assert_(len(w) == 1) + assert_array_equal(actual, desired + 100) + + def test_tomaxint(self): + random.seed(self.seed) + rs = random.RandomState(self.seed) + actual = rs.tomaxint(size=(3, 2)) + if np.iinfo(np.int).max == 2147483647: + desired = np.array([[1328851649, 731237375], + [1270502067, 320041495], + [1908433478, 499156889]], dtype=np.int64) + else: + desired = np.array([[5707374374421908479, 5456764827585442327], + [8196659375100692377, 8224063923314595285], + [4220315081820346526, 7177518203184491332]], + dtype=np.int64) + + assert_equal(actual, desired) + + rs.seed(self.seed) + actual = rs.tomaxint() + assert_equal(actual, desired[0, 0]) + + def test_random_integers_max_int(self): + # Tests whether random_integers can generate the + # maximum allowed Python int that can be converted + # into a C long. Previous implementations of this + # method have thrown an OverflowError when attempting + # to generate this integer. + with suppress_warnings() as sup: + w = sup.record(DeprecationWarning) + actual = random.random_integers(np.iinfo('l').max, + np.iinfo('l').max) + assert_(len(w) == 1) + + desired = np.iinfo('l').max + assert_equal(actual, desired) + with suppress_warnings() as sup: + w = sup.record(DeprecationWarning) + typer = np.dtype('l').type + actual = random.random_integers(typer(np.iinfo('l').max), + typer(np.iinfo('l').max)) + assert_(len(w) == 1) + assert_equal(actual, desired) + + def test_random_integers_deprecated(self): + with warnings.catch_warnings(): + warnings.simplefilter("error", DeprecationWarning) + + # DeprecationWarning raised with high == None + assert_raises(DeprecationWarning, + random.random_integers, + np.iinfo('l').max) + + # DeprecationWarning raised with high != None + assert_raises(DeprecationWarning, + random.random_integers, + np.iinfo('l').max, np.iinfo('l').max) + + def test_random_sample(self): + random.seed(self.seed) + actual = random.random_sample((3, 2)) + desired = np.array([[0.61879477158567997, 0.59162362775974664], + [0.88868358904449662, 0.89165480011560816], + [0.4575674820298663, 0.7781880808593471]]) + assert_array_almost_equal(actual, desired, decimal=15) + + random.seed(self.seed) + actual = random.random_sample() + assert_array_almost_equal(actual, desired[0, 0], decimal=15) + + def test_choice_uniform_replace(self): + random.seed(self.seed) + actual = random.choice(4, 4) + desired = np.array([2, 3, 2, 3]) + assert_array_equal(actual, desired) + + def test_choice_nonuniform_replace(self): + random.seed(self.seed) + actual = random.choice(4, 4, p=[0.4, 0.4, 0.1, 0.1]) + desired = np.array([1, 1, 2, 2]) + assert_array_equal(actual, desired) + + def test_choice_uniform_noreplace(self): + random.seed(self.seed) + actual = random.choice(4, 3, replace=False) + desired = np.array([0, 1, 3]) + assert_array_equal(actual, desired) + + def test_choice_nonuniform_noreplace(self): + random.seed(self.seed) + actual = random.choice(4, 3, replace=False, p=[0.1, 0.3, 0.5, 0.1]) + desired = np.array([2, 3, 1]) + assert_array_equal(actual, desired) + + def test_choice_noninteger(self): + random.seed(self.seed) + actual = random.choice(['a', 'b', 'c', 'd'], 4) + desired = np.array(['c', 'd', 'c', 'd']) + assert_array_equal(actual, desired) + + def test_choice_exceptions(self): + sample = random.choice + assert_raises(ValueError, sample, -1, 3) + assert_raises(ValueError, sample, 3., 3) + assert_raises(ValueError, sample, [[1, 2], [3, 4]], 3) + assert_raises(ValueError, sample, [], 3) + assert_raises(ValueError, sample, [1, 2, 3, 4], 3, + p=[[0.25, 0.25], [0.25, 0.25]]) + assert_raises(ValueError, sample, [1, 2], 3, p=[0.4, 0.4, 0.2]) + assert_raises(ValueError, sample, [1, 2], 3, p=[1.1, -0.1]) + assert_raises(ValueError, sample, [1, 2], 3, p=[0.4, 0.4]) + assert_raises(ValueError, sample, [1, 2, 3], 4, replace=False) + # gh-13087 + assert_raises(ValueError, sample, [1, 2, 3], -2, replace=False) + assert_raises(ValueError, sample, [1, 2, 3], (-1,), replace=False) + assert_raises(ValueError, sample, [1, 2, 3], (-1, 1), replace=False) + assert_raises(ValueError, sample, [1, 2, 3], 2, + replace=False, p=[1, 0, 0]) + + def test_choice_return_shape(self): + p = [0.1, 0.9] + # Check scalar + assert_(np.isscalar(random.choice(2, replace=True))) + assert_(np.isscalar(random.choice(2, replace=False))) + assert_(np.isscalar(random.choice(2, replace=True, p=p))) + assert_(np.isscalar(random.choice(2, replace=False, p=p))) + assert_(np.isscalar(random.choice([1, 2], replace=True))) + assert_(random.choice([None], replace=True) is None) + a = np.array([1, 2]) + arr = np.empty(1, dtype=object) + arr[0] = a + assert_(random.choice(arr, replace=True) is a) + + # Check 0-d array + s = tuple() + assert_(not np.isscalar(random.choice(2, s, replace=True))) + assert_(not np.isscalar(random.choice(2, s, replace=False))) + assert_(not np.isscalar(random.choice(2, s, replace=True, p=p))) + assert_(not np.isscalar(random.choice(2, s, replace=False, p=p))) + assert_(not np.isscalar(random.choice([1, 2], s, replace=True))) + assert_(random.choice([None], s, replace=True).ndim == 0) + a = np.array([1, 2]) + arr = np.empty(1, dtype=object) + arr[0] = a + assert_(random.choice(arr, s, replace=True).item() is a) + + # Check multi dimensional array + s = (2, 3) + p = [0.1, 0.1, 0.1, 0.1, 0.4, 0.2] + assert_equal(random.choice(6, s, replace=True).shape, s) + assert_equal(random.choice(6, s, replace=False).shape, s) + assert_equal(random.choice(6, s, replace=True, p=p).shape, s) + assert_equal(random.choice(6, s, replace=False, p=p).shape, s) + assert_equal(random.choice(np.arange(6), s, replace=True).shape, s) + + # Check zero-size + assert_equal(random.randint(0, 0, size=(3, 0, 4)).shape, (3, 0, 4)) + assert_equal(random.randint(0, -10, size=0).shape, (0,)) + assert_equal(random.randint(10, 10, size=0).shape, (0,)) + assert_equal(random.choice(0, size=0).shape, (0,)) + assert_equal(random.choice([], size=(0,)).shape, (0,)) + assert_equal(random.choice(['a', 'b'], size=(3, 0, 4)).shape, + (3, 0, 4)) + assert_raises(ValueError, random.choice, [], 10) + + def test_choice_nan_probabilities(self): + a = np.array([42, 1, 2]) + p = [None, None, None] + assert_raises(ValueError, random.choice, a, p=p) + + def test_bytes(self): + random.seed(self.seed) + actual = random.bytes(10) + desired = b'\x82Ui\x9e\xff\x97+Wf\xa5' + assert_equal(actual, desired) + + def test_shuffle(self): + # Test lists, arrays (of various dtypes), and multidimensional versions + # of both, c-contiguous or not: + for conv in [lambda x: np.array([]), + lambda x: x, + lambda x: np.asarray(x).astype(np.int8), + lambda x: np.asarray(x).astype(np.float32), + lambda x: np.asarray(x).astype(np.complex64), + lambda x: np.asarray(x).astype(object), + lambda x: [(i, i) for i in x], + lambda x: np.asarray([[i, i] for i in x]), + lambda x: np.vstack([x, x]).T, + # gh-11442 + lambda x: (np.asarray([(i, i) for i in x], + [("a", int), ("b", int)]) + .view(np.recarray)), + # gh-4270 + lambda x: np.asarray([(i, i) for i in x], + [("a", object, (1,)), + ("b", np.int32, (1,))])]: + random.seed(self.seed) + alist = conv([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]) + random.shuffle(alist) + actual = alist + desired = conv([0, 1, 9, 6, 2, 4, 5, 8, 7, 3]) + assert_array_equal(actual, desired) + + def test_shuffle_masked(self): + # gh-3263 + a = np.ma.masked_values(np.reshape(range(20), (5, 4)) % 3 - 1, -1) + b = np.ma.masked_values(np.arange(20) % 3 - 1, -1) + a_orig = a.copy() + b_orig = b.copy() + for i in range(50): + random.shuffle(a) + assert_equal( + sorted(a.data[~a.mask]), sorted(a_orig.data[~a_orig.mask])) + random.shuffle(b) + assert_equal( + sorted(b.data[~b.mask]), sorted(b_orig.data[~b_orig.mask])) + + def test_permutation(self): + random.seed(self.seed) + alist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] + actual = random.permutation(alist) + desired = [0, 1, 9, 6, 2, 4, 5, 8, 7, 3] + assert_array_equal(actual, desired) + + random.seed(self.seed) + arr_2d = np.atleast_2d([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]).T + actual = random.permutation(arr_2d) + assert_array_equal(actual, np.atleast_2d(desired).T) + + def test_beta(self): + random.seed(self.seed) + actual = random.beta(.1, .9, size=(3, 2)) + desired = np.array( + [[1.45341850513746058e-02, 5.31297615662868145e-04], + [1.85366619058432324e-06, 4.19214516800110563e-03], + [1.58405155108498093e-04, 1.26252891949397652e-04]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_binomial(self): + random.seed(self.seed) + actual = random.binomial(100.123, .456, size=(3, 2)) + desired = np.array([[37, 43], + [42, 48], + [46, 45]]) + assert_array_equal(actual, desired) + + random.seed(self.seed) + actual = random.binomial(100.123, .456) + desired = 37 + assert_array_equal(actual, desired) + + def test_chisquare(self): + random.seed(self.seed) + actual = random.chisquare(50, size=(3, 2)) + desired = np.array([[63.87858175501090585, 68.68407748911370447], + [65.77116116901505904, 47.09686762438974483], + [72.3828403199695174, 74.18408615260374006]]) + assert_array_almost_equal(actual, desired, decimal=13) + + def test_dirichlet(self): + random.seed(self.seed) + alpha = np.array([51.72840233779265162, 39.74494232180943953]) + actual = random.dirichlet(alpha, size=(3, 2)) + desired = np.array([[[0.54539444573611562, 0.45460555426388438], + [0.62345816822039413, 0.37654183177960598]], + [[0.55206000085785778, 0.44793999914214233], + [0.58964023305154301, 0.41035976694845688]], + [[0.59266909280647828, 0.40733090719352177], + [0.56974431743975207, 0.43025568256024799]]]) + assert_array_almost_equal(actual, desired, decimal=15) + bad_alpha = np.array([5.4e-01, -1.0e-16]) + assert_raises(ValueError, random.dirichlet, bad_alpha) + + random.seed(self.seed) + alpha = np.array([51.72840233779265162, 39.74494232180943953]) + actual = random.dirichlet(alpha) + assert_array_almost_equal(actual, desired[0, 0], decimal=15) + + def test_dirichlet_size(self): + # gh-3173 + p = np.array([51.72840233779265162, 39.74494232180943953]) + assert_equal(random.dirichlet(p, np.uint32(1)).shape, (1, 2)) + assert_equal(random.dirichlet(p, np.uint32(1)).shape, (1, 2)) + assert_equal(random.dirichlet(p, np.uint32(1)).shape, (1, 2)) + assert_equal(random.dirichlet(p, [2, 2]).shape, (2, 2, 2)) + assert_equal(random.dirichlet(p, (2, 2)).shape, (2, 2, 2)) + assert_equal(random.dirichlet(p, np.array((2, 2))).shape, (2, 2, 2)) + + assert_raises(TypeError, random.dirichlet, p, float(1)) + + def test_dirichlet_bad_alpha(self): + # gh-2089 + alpha = np.array([5.4e-01, -1.0e-16]) + assert_raises(ValueError, random.dirichlet, alpha) + + def test_exponential(self): + random.seed(self.seed) + actual = random.exponential(1.1234, size=(3, 2)) + desired = np.array([[1.08342649775011624, 1.00607889924557314], + [2.46628830085216721, 2.49668106809923884], + [0.68717433461363442, 1.69175666993575979]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_exponential_0(self): + assert_equal(random.exponential(scale=0), 0) + assert_raises(ValueError, random.exponential, scale=-0.) + + def test_f(self): + random.seed(self.seed) + actual = random.f(12, 77, size=(3, 2)) + desired = np.array([[1.21975394418575878, 1.75135759791559775], + [1.44803115017146489, 1.22108959480396262], + [1.02176975757740629, 1.34431827623300415]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_gamma(self): + random.seed(self.seed) + actual = random.gamma(5, 3, size=(3, 2)) + desired = np.array([[24.60509188649287182, 28.54993563207210627], + [26.13476110204064184, 12.56988482927716078], + [31.71863275789960568, 33.30143302795922011]]) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_gamma_0(self): + assert_equal(random.gamma(shape=0, scale=0), 0) + assert_raises(ValueError, random.gamma, shape=-0., scale=-0.) + + def test_geometric(self): + random.seed(self.seed) + actual = random.geometric(.123456789, size=(3, 2)) + desired = np.array([[8, 7], + [17, 17], + [5, 12]]) + assert_array_equal(actual, desired) + + def test_geometric_exceptions(self): + assert_raises(ValueError, random.geometric, 1.1) + assert_raises(ValueError, random.geometric, [1.1] * 10) + assert_raises(ValueError, random.geometric, -0.1) + assert_raises(ValueError, random.geometric, [-0.1] * 10) + with suppress_warnings() as sup: + sup.record(RuntimeWarning) + assert_raises(ValueError, random.geometric, np.nan) + assert_raises(ValueError, random.geometric, [np.nan] * 10) + + def test_gumbel(self): + random.seed(self.seed) + actual = random.gumbel(loc=.123456789, scale=2.0, size=(3, 2)) + desired = np.array([[0.19591898743416816, 0.34405539668096674], + [-1.4492522252274278, -1.47374816298446865], + [1.10651090478803416, -0.69535848626236174]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_gumbel_0(self): + assert_equal(random.gumbel(scale=0), 0) + assert_raises(ValueError, random.gumbel, scale=-0.) + + def test_hypergeometric(self): + random.seed(self.seed) + actual = random.hypergeometric(10.1, 5.5, 14, size=(3, 2)) + desired = np.array([[10, 10], + [10, 10], + [9, 9]]) + assert_array_equal(actual, desired) + + # Test nbad = 0 + actual = random.hypergeometric(5, 0, 3, size=4) + desired = np.array([3, 3, 3, 3]) + assert_array_equal(actual, desired) + + actual = random.hypergeometric(15, 0, 12, size=4) + desired = np.array([12, 12, 12, 12]) + assert_array_equal(actual, desired) + + # Test ngood = 0 + actual = random.hypergeometric(0, 5, 3, size=4) + desired = np.array([0, 0, 0, 0]) + assert_array_equal(actual, desired) + + actual = random.hypergeometric(0, 15, 12, size=4) + desired = np.array([0, 0, 0, 0]) + assert_array_equal(actual, desired) + + def test_laplace(self): + random.seed(self.seed) + actual = random.laplace(loc=.123456789, scale=2.0, size=(3, 2)) + desired = np.array([[0.66599721112760157, 0.52829452552221945], + [3.12791959514407125, 3.18202813572992005], + [-0.05391065675859356, 1.74901336242837324]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_laplace_0(self): + assert_equal(random.laplace(scale=0), 0) + assert_raises(ValueError, random.laplace, scale=-0.) + + def test_logistic(self): + random.seed(self.seed) + actual = random.logistic(loc=.123456789, scale=2.0, size=(3, 2)) + desired = np.array([[1.09232835305011444, 0.8648196662399954], + [4.27818590694950185, 4.33897006346929714], + [-0.21682183359214885, 2.63373365386060332]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_lognormal(self): + random.seed(self.seed) + actual = random.lognormal(mean=.123456789, sigma=2.0, size=(3, 2)) + desired = np.array([[16.50698631688883822, 36.54846706092654784], + [22.67886599981281748, 0.71617561058995771], + [65.72798501792723869, 86.84341601437161273]]) + assert_array_almost_equal(actual, desired, decimal=13) + + def test_lognormal_0(self): + assert_equal(random.lognormal(sigma=0), 1) + assert_raises(ValueError, random.lognormal, sigma=-0.) + + def test_logseries(self): + random.seed(self.seed) + actual = random.logseries(p=.923456789, size=(3, 2)) + desired = np.array([[2, 2], + [6, 17], + [3, 6]]) + assert_array_equal(actual, desired) + + def test_logseries_exceptions(self): + with suppress_warnings() as sup: + sup.record(RuntimeWarning) + assert_raises(ValueError, random.logseries, np.nan) + assert_raises(ValueError, random.logseries, [np.nan] * 10) + + def test_multinomial(self): + random.seed(self.seed) + actual = random.multinomial(20, [1 / 6.] * 6, size=(3, 2)) + desired = np.array([[[4, 3, 5, 4, 2, 2], + [5, 2, 8, 2, 2, 1]], + [[3, 4, 3, 6, 0, 4], + [2, 1, 4, 3, 6, 4]], + [[4, 4, 2, 5, 2, 3], + [4, 3, 4, 2, 3, 4]]]) + assert_array_equal(actual, desired) + + def test_multivariate_normal(self): + random.seed(self.seed) + mean = (.123456789, 10) + cov = [[1, 0], [0, 1]] + size = (3, 2) + actual = random.multivariate_normal(mean, cov, size) + desired = np.array([[[1.463620246718631, 11.73759122771936], + [1.622445133300628, 9.771356667546383]], + [[2.154490787682787, 12.170324946056553], + [1.719909438201865, 9.230548443648306]], + [[0.689515026297799, 9.880729819607714], + [-0.023054015651998, 9.201096623542879]]]) + + assert_array_almost_equal(actual, desired, decimal=15) + + # Check for default size, was raising deprecation warning + actual = random.multivariate_normal(mean, cov) + desired = np.array([0.895289569463708, 9.17180864067987]) + assert_array_almost_equal(actual, desired, decimal=15) + + # Check that non positive-semidefinite covariance warns with + # RuntimeWarning + mean = [0, 0] + cov = [[1, 2], [2, 1]] + assert_warns(RuntimeWarning, random.multivariate_normal, mean, cov) + + # and that it doesn't warn with RuntimeWarning check_valid='ignore' + assert_no_warnings(random.multivariate_normal, mean, cov, + check_valid='ignore') + + # and that it raises with RuntimeWarning check_valid='raises' + assert_raises(ValueError, random.multivariate_normal, mean, cov, + check_valid='raise') + + cov = np.array([[1, 0.1], [0.1, 1]], dtype=np.float32) + with suppress_warnings() as sup: + random.multivariate_normal(mean, cov) + w = sup.record(RuntimeWarning) + assert len(w) == 0 + + mu = np.zeros(2) + cov = np.eye(2) + assert_raises(ValueError, random.multivariate_normal, mean, cov, + check_valid='other') + assert_raises(ValueError, random.multivariate_normal, + np.zeros((2, 1, 1)), cov) + assert_raises(ValueError, random.multivariate_normal, + mu, np.empty((3, 2))) + assert_raises(ValueError, random.multivariate_normal, + mu, np.eye(3)) + + def test_negative_binomial(self): + random.seed(self.seed) + actual = random.negative_binomial(n=100, p=.12345, size=(3, 2)) + desired = np.array([[848, 841], + [892, 611], + [779, 647]]) + assert_array_equal(actual, desired) + + def test_negative_binomial_exceptions(self): + with suppress_warnings() as sup: + sup.record(RuntimeWarning) + assert_raises(ValueError, random.negative_binomial, 100, np.nan) + assert_raises(ValueError, random.negative_binomial, 100, + [np.nan] * 10) + + def test_noncentral_chisquare(self): + random.seed(self.seed) + actual = random.noncentral_chisquare(df=5, nonc=5, size=(3, 2)) + desired = np.array([[23.91905354498517511, 13.35324692733826346], + [31.22452661329736401, 16.60047399466177254], + [5.03461598262724586, 17.94973089023519464]]) + assert_array_almost_equal(actual, desired, decimal=14) + + actual = random.noncentral_chisquare(df=.5, nonc=.2, size=(3, 2)) + desired = np.array([[1.47145377828516666, 0.15052899268012659], + [0.00943803056963588, 1.02647251615666169], + [0.332334982684171, 0.15451287602753125]]) + assert_array_almost_equal(actual, desired, decimal=14) + + random.seed(self.seed) + actual = random.noncentral_chisquare(df=5, nonc=0, size=(3, 2)) + desired = np.array([[9.597154162763948, 11.725484450296079], + [10.413711048138335, 3.694475922923986], + [13.484222138963087, 14.377255424602957]]) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_noncentral_f(self): + random.seed(self.seed) + actual = random.noncentral_f(dfnum=5, dfden=2, nonc=1, + size=(3, 2)) + desired = np.array([[1.40598099674926669, 0.34207973179285761], + [3.57715069265772545, 7.92632662577829805], + [0.43741599463544162, 1.1774208752428319]]) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_noncentral_f_nan(self): + random.seed(self.seed) + actual = random.noncentral_f(dfnum=5, dfden=2, nonc=np.nan) + assert np.isnan(actual) + + def test_normal(self): + random.seed(self.seed) + actual = random.normal(loc=.123456789, scale=2.0, size=(3, 2)) + desired = np.array([[2.80378370443726244, 3.59863924443872163], + [3.121433477601256, -0.33382987590723379], + [4.18552478636557357, 4.46410668111310471]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_normal_0(self): + assert_equal(random.normal(scale=0), 0) + assert_raises(ValueError, random.normal, scale=-0.) + + def test_pareto(self): + random.seed(self.seed) + actual = random.pareto(a=.123456789, size=(3, 2)) + desired = np.array( + [[2.46852460439034849e+03, 1.41286880810518346e+03], + [5.28287797029485181e+07, 6.57720981047328785e+07], + [1.40840323350391515e+02, 1.98390255135251704e+05]]) + # For some reason on 32-bit x86 Ubuntu 12.10 the [1, 0] entry in this + # matrix differs by 24 nulps. Discussion: + # https://mail.python.org/pipermail/numpy-discussion/2012-September/063801.html + # Consensus is that this is probably some gcc quirk that affects + # rounding but not in any important way, so we just use a looser + # tolerance on this test: + np.testing.assert_array_almost_equal_nulp(actual, desired, nulp=30) + + def test_poisson(self): + random.seed(self.seed) + actual = random.poisson(lam=.123456789, size=(3, 2)) + desired = np.array([[0, 0], + [1, 0], + [0, 0]]) + assert_array_equal(actual, desired) + + def test_poisson_exceptions(self): + lambig = np.iinfo('l').max + lamneg = -1 + assert_raises(ValueError, random.poisson, lamneg) + assert_raises(ValueError, random.poisson, [lamneg] * 10) + assert_raises(ValueError, random.poisson, lambig) + assert_raises(ValueError, random.poisson, [lambig] * 10) + with suppress_warnings() as sup: + sup.record(RuntimeWarning) + assert_raises(ValueError, random.poisson, np.nan) + assert_raises(ValueError, random.poisson, [np.nan] * 10) + + def test_power(self): + random.seed(self.seed) + actual = random.power(a=.123456789, size=(3, 2)) + desired = np.array([[0.02048932883240791, 0.01424192241128213], + [0.38446073748535298, 0.39499689943484395], + [0.00177699707563439, 0.13115505880863756]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_rayleigh(self): + random.seed(self.seed) + actual = random.rayleigh(scale=10, size=(3, 2)) + desired = np.array([[13.8882496494248393, 13.383318339044731], + [20.95413364294492098, 21.08285015800712614], + [11.06066537006854311, 17.35468505778271009]]) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_rayleigh_0(self): + assert_equal(random.rayleigh(scale=0), 0) + assert_raises(ValueError, random.rayleigh, scale=-0.) + + def test_standard_cauchy(self): + random.seed(self.seed) + actual = random.standard_cauchy(size=(3, 2)) + desired = np.array([[0.77127660196445336, -6.55601161955910605], + [0.93582023391158309, -2.07479293013759447], + [-4.74601644297011926, 0.18338989290760804]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_standard_exponential(self): + random.seed(self.seed) + actual = random.standard_exponential(size=(3, 2)) + desired = np.array([[0.96441739162374596, 0.89556604882105506], + [2.1953785836319808, 2.22243285392490542], + [0.6116915921431676, 1.50592546727413201]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_standard_gamma(self): + random.seed(self.seed) + actual = random.standard_gamma(shape=3, size=(3, 2)) + desired = np.array([[5.50841531318455058, 6.62953470301903103], + [5.93988484943779227, 2.31044849402133989], + [7.54838614231317084, 8.012756093271868]]) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_standard_gamma_0(self): + assert_equal(random.standard_gamma(shape=0), 0) + assert_raises(ValueError, random.standard_gamma, shape=-0.) + + def test_standard_normal(self): + random.seed(self.seed) + actual = random.standard_normal(size=(3, 2)) + desired = np.array([[1.34016345771863121, 1.73759122771936081], + [1.498988344300628, -0.2286433324536169], + [2.031033998682787, 2.17032494605655257]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_randn_singleton(self): + random.seed(self.seed) + actual = random.randn() + desired = np.array(1.34016345771863121) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_standard_t(self): + random.seed(self.seed) + actual = random.standard_t(df=10, size=(3, 2)) + desired = np.array([[0.97140611862659965, -0.08830486548450577], + [1.36311143689505321, -0.55317463909867071], + [-0.18473749069684214, 0.61181537341755321]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_triangular(self): + random.seed(self.seed) + actual = random.triangular(left=5.12, mode=10.23, right=20.34, + size=(3, 2)) + desired = np.array([[12.68117178949215784, 12.4129206149193152], + [16.20131377335158263, 16.25692138747600524], + [11.20400690911820263, 14.4978144835829923]]) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_uniform(self): + random.seed(self.seed) + actual = random.uniform(low=1.23, high=10.54, size=(3, 2)) + desired = np.array([[6.99097932346268003, 6.73801597444323974], + [9.50364421400426274, 9.53130618907631089], + [5.48995325769805476, 8.47493103280052118]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_uniform_range_bounds(self): + fmin = np.finfo('float').min + fmax = np.finfo('float').max + + func = random.uniform + assert_raises(OverflowError, func, -np.inf, 0) + assert_raises(OverflowError, func, 0, np.inf) + assert_raises(OverflowError, func, fmin, fmax) + assert_raises(OverflowError, func, [-np.inf], [0]) + assert_raises(OverflowError, func, [0], [np.inf]) + + # (fmax / 1e17) - fmin is within range, so this should not throw + # account for i386 extended precision DBL_MAX / 1e17 + DBL_MAX > + # DBL_MAX by increasing fmin a bit + random.uniform(low=np.nextafter(fmin, 1), high=fmax / 1e17) + + def test_scalar_exception_propagation(self): + # Tests that exceptions are correctly propagated in distributions + # when called with objects that throw exceptions when converted to + # scalars. + # + # Regression test for gh: 8865 + + class ThrowingFloat(np.ndarray): + def __float__(self): + raise TypeError + + throwing_float = np.array(1.0).view(ThrowingFloat) + assert_raises(TypeError, random.uniform, throwing_float, + throwing_float) + + class ThrowingInteger(np.ndarray): + def __int__(self): + raise TypeError + + throwing_int = np.array(1).view(ThrowingInteger) + assert_raises(TypeError, random.hypergeometric, throwing_int, 1, 1) + + def test_vonmises(self): + random.seed(self.seed) + actual = random.vonmises(mu=1.23, kappa=1.54, size=(3, 2)) + desired = np.array([[2.28567572673902042, 2.89163838442285037], + [0.38198375564286025, 2.57638023113890746], + [1.19153771588353052, 1.83509849681825354]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_vonmises_small(self): + # check infinite loop, gh-4720 + random.seed(self.seed) + r = random.vonmises(mu=0., kappa=1.1e-8, size=10**6) + assert_(np.isfinite(r).all()) + + def test_vonmises_nan(self): + random.seed(self.seed) + r = random.vonmises(mu=0., kappa=np.nan) + assert_(np.isnan(r)) + + def test_wald(self): + random.seed(self.seed) + actual = random.wald(mean=1.23, scale=1.54, size=(3, 2)) + desired = np.array([[3.82935265715889983, 5.13125249184285526], + [0.35045403618358717, 1.50832396872003538], + [0.24124319895843183, 0.22031101461955038]]) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_weibull(self): + random.seed(self.seed) + actual = random.weibull(a=1.23, size=(3, 2)) + desired = np.array([[0.97097342648766727, 0.91422896443565516], + [1.89517770034962929, 1.91414357960479564], + [0.67057783752390987, 1.39494046635066793]]) + assert_array_almost_equal(actual, desired, decimal=15) + + def test_weibull_0(self): + random.seed(self.seed) + assert_equal(random.weibull(a=0, size=12), np.zeros(12)) + assert_raises(ValueError, random.weibull, a=-0.) + + def test_zipf(self): + random.seed(self.seed) + actual = random.zipf(a=1.23, size=(3, 2)) + desired = np.array([[66, 29], + [1, 1], + [3, 13]]) + assert_array_equal(actual, desired) + + +class TestBroadcast(object): + # tests that functions that broadcast behave + # correctly when presented with non-scalar arguments + def setup(self): + self.seed = 123456789 + + def set_seed(self): + random.seed(self.seed) + + def test_uniform(self): + low = [0] + high = [1] + uniform = random.uniform + desired = np.array([0.53283302478975902, + 0.53413660089041659, + 0.50955303552646702]) + + self.set_seed() + actual = uniform(low * 3, high) + assert_array_almost_equal(actual, desired, decimal=14) + + self.set_seed() + actual = uniform(low, high * 3) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_normal(self): + loc = [0] + scale = [1] + bad_scale = [-1] + normal = random.normal + desired = np.array([2.2129019979039612, + 2.1283977976520019, + 1.8417114045748335]) + + self.set_seed() + actual = normal(loc * 3, scale) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, normal, loc * 3, bad_scale) + + self.set_seed() + actual = normal(loc, scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, normal, loc, bad_scale * 3) + + def test_beta(self): + a = [1] + b = [2] + bad_a = [-1] + bad_b = [-2] + beta = random.beta + desired = np.array([0.19843558305989056, + 0.075230336409423643, + 0.24976865978980844]) + + self.set_seed() + actual = beta(a * 3, b) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, beta, bad_a * 3, b) + assert_raises(ValueError, beta, a * 3, bad_b) + + self.set_seed() + actual = beta(a, b * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, beta, bad_a, b * 3) + assert_raises(ValueError, beta, a, bad_b * 3) + + def test_exponential(self): + scale = [1] + bad_scale = [-1] + exponential = random.exponential + desired = np.array([0.76106853658845242, + 0.76386282278691653, + 0.71243813125891797]) + + self.set_seed() + actual = exponential(scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, exponential, bad_scale * 3) + + def test_standard_gamma(self): + shape = [1] + bad_shape = [-1] + std_gamma = random.standard_gamma + desired = np.array([0.76106853658845242, + 0.76386282278691653, + 0.71243813125891797]) + + self.set_seed() + actual = std_gamma(shape * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, std_gamma, bad_shape * 3) + + def test_gamma(self): + shape = [1] + scale = [2] + bad_shape = [-1] + bad_scale = [-2] + gamma = random.gamma + desired = np.array([1.5221370731769048, + 1.5277256455738331, + 1.4248762625178359]) + + self.set_seed() + actual = gamma(shape * 3, scale) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, gamma, bad_shape * 3, scale) + assert_raises(ValueError, gamma, shape * 3, bad_scale) + + self.set_seed() + actual = gamma(shape, scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, gamma, bad_shape, scale * 3) + assert_raises(ValueError, gamma, shape, bad_scale * 3) + + def test_f(self): + dfnum = [1] + dfden = [2] + bad_dfnum = [-1] + bad_dfden = [-2] + f = random.f + desired = np.array([0.80038951638264799, + 0.86768719635363512, + 2.7251095168386801]) + + self.set_seed() + actual = f(dfnum * 3, dfden) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, f, bad_dfnum * 3, dfden) + assert_raises(ValueError, f, dfnum * 3, bad_dfden) + + self.set_seed() + actual = f(dfnum, dfden * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, f, bad_dfnum, dfden * 3) + assert_raises(ValueError, f, dfnum, bad_dfden * 3) + + def test_noncentral_f(self): + dfnum = [2] + dfden = [3] + nonc = [4] + bad_dfnum = [0] + bad_dfden = [-1] + bad_nonc = [-2] + nonc_f = random.noncentral_f + desired = np.array([9.1393943263705211, + 13.025456344595602, + 8.8018098359100545]) + + self.set_seed() + actual = nonc_f(dfnum * 3, dfden, nonc) + assert_array_almost_equal(actual, desired, decimal=14) + assert np.all(np.isnan(nonc_f(dfnum, dfden, [np.nan] * 3))) + + assert_raises(ValueError, nonc_f, bad_dfnum * 3, dfden, nonc) + assert_raises(ValueError, nonc_f, dfnum * 3, bad_dfden, nonc) + assert_raises(ValueError, nonc_f, dfnum * 3, dfden, bad_nonc) + + self.set_seed() + actual = nonc_f(dfnum, dfden * 3, nonc) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, nonc_f, bad_dfnum, dfden * 3, nonc) + assert_raises(ValueError, nonc_f, dfnum, bad_dfden * 3, nonc) + assert_raises(ValueError, nonc_f, dfnum, dfden * 3, bad_nonc) + + self.set_seed() + actual = nonc_f(dfnum, dfden, nonc * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, nonc_f, bad_dfnum, dfden, nonc * 3) + assert_raises(ValueError, nonc_f, dfnum, bad_dfden, nonc * 3) + assert_raises(ValueError, nonc_f, dfnum, dfden, bad_nonc * 3) + + def test_noncentral_f_small_df(self): + self.set_seed() + desired = np.array([6.869638627492048, 0.785880199263955]) + actual = random.noncentral_f(0.9, 0.9, 2, size=2) + assert_array_almost_equal(actual, desired, decimal=14) + + def test_chisquare(self): + df = [1] + bad_df = [-1] + chisquare = random.chisquare + desired = np.array([0.57022801133088286, + 0.51947702108840776, + 0.1320969254923558]) + + self.set_seed() + actual = chisquare(df * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, chisquare, bad_df * 3) + + def test_noncentral_chisquare(self): + df = [1] + nonc = [2] + bad_df = [-1] + bad_nonc = [-2] + nonc_chi = random.noncentral_chisquare + desired = np.array([9.0015599467913763, + 4.5804135049718742, + 6.0872302432834564]) + + self.set_seed() + actual = nonc_chi(df * 3, nonc) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, nonc_chi, bad_df * 3, nonc) + assert_raises(ValueError, nonc_chi, df * 3, bad_nonc) + + self.set_seed() + actual = nonc_chi(df, nonc * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, nonc_chi, bad_df, nonc * 3) + assert_raises(ValueError, nonc_chi, df, bad_nonc * 3) + + def test_standard_t(self): + df = [1] + bad_df = [-1] + t = random.standard_t + desired = np.array([3.0702872575217643, + 5.8560725167361607, + 1.0274791436474273]) + + self.set_seed() + actual = t(df * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, t, bad_df * 3) + assert_raises(ValueError, random.standard_t, bad_df * 3) + + def test_vonmises(self): + mu = [2] + kappa = [1] + bad_kappa = [-1] + vonmises = random.vonmises + desired = np.array([2.9883443664201312, + -2.7064099483995943, + -1.8672476700665914]) + + self.set_seed() + actual = vonmises(mu * 3, kappa) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, vonmises, mu * 3, bad_kappa) + + self.set_seed() + actual = vonmises(mu, kappa * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, vonmises, mu, bad_kappa * 3) + + def test_pareto(self): + a = [1] + bad_a = [-1] + pareto = random.pareto + desired = np.array([1.1405622680198362, + 1.1465519762044529, + 1.0389564467453547]) + + self.set_seed() + actual = pareto(a * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, pareto, bad_a * 3) + assert_raises(ValueError, random.pareto, bad_a * 3) + + def test_weibull(self): + a = [1] + bad_a = [-1] + weibull = random.weibull + desired = np.array([0.76106853658845242, + 0.76386282278691653, + 0.71243813125891797]) + + self.set_seed() + actual = weibull(a * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, weibull, bad_a * 3) + assert_raises(ValueError, random.weibull, bad_a * 3) + + def test_power(self): + a = [1] + bad_a = [-1] + power = random.power + desired = np.array([0.53283302478975902, + 0.53413660089041659, + 0.50955303552646702]) + + self.set_seed() + actual = power(a * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, power, bad_a * 3) + assert_raises(ValueError, random.power, bad_a * 3) + + def test_laplace(self): + loc = [0] + scale = [1] + bad_scale = [-1] + laplace = random.laplace + desired = np.array([0.067921356028507157, + 0.070715642226971326, + 0.019290950698972624]) + + self.set_seed() + actual = laplace(loc * 3, scale) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, laplace, loc * 3, bad_scale) + + self.set_seed() + actual = laplace(loc, scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, laplace, loc, bad_scale * 3) + + def test_gumbel(self): + loc = [0] + scale = [1] + bad_scale = [-1] + gumbel = random.gumbel + desired = np.array([0.2730318639556768, + 0.26936705726291116, + 0.33906220393037939]) + + self.set_seed() + actual = gumbel(loc * 3, scale) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, gumbel, loc * 3, bad_scale) + + self.set_seed() + actual = gumbel(loc, scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, gumbel, loc, bad_scale * 3) + + def test_logistic(self): + loc = [0] + scale = [1] + bad_scale = [-1] + logistic = random.logistic + desired = np.array([0.13152135837586171, + 0.13675915696285773, + 0.038216792802833396]) + + self.set_seed() + actual = logistic(loc * 3, scale) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, logistic, loc * 3, bad_scale) + + self.set_seed() + actual = logistic(loc, scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, logistic, loc, bad_scale * 3) + assert_equal(random.logistic(1.0, 0.0), 1.0) + + def test_lognormal(self): + mean = [0] + sigma = [1] + bad_sigma = [-1] + lognormal = random.lognormal + desired = np.array([9.1422086044848427, + 8.4013952870126261, + 6.3073234116578671]) + + self.set_seed() + actual = lognormal(mean * 3, sigma) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, lognormal, mean * 3, bad_sigma) + assert_raises(ValueError, random.lognormal, mean * 3, bad_sigma) + + self.set_seed() + actual = lognormal(mean, sigma * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, lognormal, mean, bad_sigma * 3) + assert_raises(ValueError, random.lognormal, mean, bad_sigma * 3) + + def test_rayleigh(self): + scale = [1] + bad_scale = [-1] + rayleigh = random.rayleigh + desired = np.array([1.2337491937897689, + 1.2360119924878694, + 1.1936818095781789]) + + self.set_seed() + actual = rayleigh(scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, rayleigh, bad_scale * 3) + + def test_wald(self): + mean = [0.5] + scale = [1] + bad_mean = [0] + bad_scale = [-2] + wald = random.wald + desired = np.array([0.11873681120271318, + 0.12450084820795027, + 0.9096122728408238]) + + self.set_seed() + actual = wald(mean * 3, scale) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, wald, bad_mean * 3, scale) + assert_raises(ValueError, wald, mean * 3, bad_scale) + assert_raises(ValueError, random.wald, bad_mean * 3, scale) + assert_raises(ValueError, random.wald, mean * 3, bad_scale) + + self.set_seed() + actual = wald(mean, scale * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, wald, bad_mean, scale * 3) + assert_raises(ValueError, wald, mean, bad_scale * 3) + assert_raises(ValueError, wald, 0.0, 1) + assert_raises(ValueError, wald, 0.5, 0.0) + + def test_triangular(self): + left = [1] + right = [3] + mode = [2] + bad_left_one = [3] + bad_mode_one = [4] + bad_left_two, bad_mode_two = right * 2 + triangular = random.triangular + desired = np.array([2.03339048710429, + 2.0347400359389356, + 2.0095991069536208]) + + self.set_seed() + actual = triangular(left * 3, mode, right) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, triangular, bad_left_one * 3, mode, right) + assert_raises(ValueError, triangular, left * 3, bad_mode_one, right) + assert_raises(ValueError, triangular, bad_left_two * 3, bad_mode_two, + right) + + self.set_seed() + actual = triangular(left, mode * 3, right) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, triangular, bad_left_one, mode * 3, right) + assert_raises(ValueError, triangular, left, bad_mode_one * 3, right) + assert_raises(ValueError, triangular, bad_left_two, bad_mode_two * 3, + right) + + self.set_seed() + actual = triangular(left, mode, right * 3) + assert_array_almost_equal(actual, desired, decimal=14) + assert_raises(ValueError, triangular, bad_left_one, mode, right * 3) + assert_raises(ValueError, triangular, left, bad_mode_one, right * 3) + assert_raises(ValueError, triangular, bad_left_two, bad_mode_two, + right * 3) + + assert_raises(ValueError, triangular, 10., 0., 20.) + assert_raises(ValueError, triangular, 10., 25., 20.) + assert_raises(ValueError, triangular, 10., 10., 10.) + + def test_binomial(self): + n = [1] + p = [0.5] + bad_n = [-1] + bad_p_one = [-1] + bad_p_two = [1.5] + binom = random.binomial + desired = np.array([1, 1, 1]) + + self.set_seed() + actual = binom(n * 3, p) + assert_array_equal(actual, desired) + assert_raises(ValueError, binom, bad_n * 3, p) + assert_raises(ValueError, binom, n * 3, bad_p_one) + assert_raises(ValueError, binom, n * 3, bad_p_two) + + self.set_seed() + actual = binom(n, p * 3) + assert_array_equal(actual, desired) + assert_raises(ValueError, binom, bad_n, p * 3) + assert_raises(ValueError, binom, n, bad_p_one * 3) + assert_raises(ValueError, binom, n, bad_p_two * 3) + + def test_negative_binomial(self): + n = [1] + p = [0.5] + bad_n = [-1] + bad_p_one = [-1] + bad_p_two = [1.5] + neg_binom = random.negative_binomial + desired = np.array([1, 0, 1]) + + self.set_seed() + actual = neg_binom(n * 3, p) + assert_array_equal(actual, desired) + assert_raises(ValueError, neg_binom, bad_n * 3, p) + assert_raises(ValueError, neg_binom, n * 3, bad_p_one) + assert_raises(ValueError, neg_binom, n * 3, bad_p_two) + + self.set_seed() + actual = neg_binom(n, p * 3) + assert_array_equal(actual, desired) + assert_raises(ValueError, neg_binom, bad_n, p * 3) + assert_raises(ValueError, neg_binom, n, bad_p_one * 3) + assert_raises(ValueError, neg_binom, n, bad_p_two * 3) + + def test_poisson(self): + max_lam = random.RandomState()._poisson_lam_max + + lam = [1] + bad_lam_one = [-1] + bad_lam_two = [max_lam * 2] + poisson = random.poisson + desired = np.array([1, 1, 0]) + + self.set_seed() + actual = poisson(lam * 3) + assert_array_equal(actual, desired) + assert_raises(ValueError, poisson, bad_lam_one * 3) + assert_raises(ValueError, poisson, bad_lam_two * 3) + + def test_zipf(self): + a = [2] + bad_a = [0] + zipf = random.zipf + desired = np.array([2, 2, 1]) + + self.set_seed() + actual = zipf(a * 3) + assert_array_equal(actual, desired) + assert_raises(ValueError, zipf, bad_a * 3) + with np.errstate(invalid='ignore'): + assert_raises(ValueError, zipf, np.nan) + assert_raises(ValueError, zipf, [0, 0, np.nan]) + + def test_geometric(self): + p = [0.5] + bad_p_one = [-1] + bad_p_two = [1.5] + geom = random.geometric + desired = np.array([2, 2, 2]) + + self.set_seed() + actual = geom(p * 3) + assert_array_equal(actual, desired) + assert_raises(ValueError, geom, bad_p_one * 3) + assert_raises(ValueError, geom, bad_p_two * 3) + + def test_hypergeometric(self): + ngood = [1] + nbad = [2] + nsample = [2] + bad_ngood = [-1] + bad_nbad = [-2] + bad_nsample_one = [0] + bad_nsample_two = [4] + hypergeom = random.hypergeometric + desired = np.array([1, 1, 1]) + + self.set_seed() + actual = hypergeom(ngood * 3, nbad, nsample) + assert_array_equal(actual, desired) + assert_raises(ValueError, hypergeom, bad_ngood * 3, nbad, nsample) + assert_raises(ValueError, hypergeom, ngood * 3, bad_nbad, nsample) + assert_raises(ValueError, hypergeom, ngood * 3, nbad, bad_nsample_one) + assert_raises(ValueError, hypergeom, ngood * 3, nbad, bad_nsample_two) + + self.set_seed() + actual = hypergeom(ngood, nbad * 3, nsample) + assert_array_equal(actual, desired) + assert_raises(ValueError, hypergeom, bad_ngood, nbad * 3, nsample) + assert_raises(ValueError, hypergeom, ngood, bad_nbad * 3, nsample) + assert_raises(ValueError, hypergeom, ngood, nbad * 3, bad_nsample_one) + assert_raises(ValueError, hypergeom, ngood, nbad * 3, bad_nsample_two) + + self.set_seed() + actual = hypergeom(ngood, nbad, nsample * 3) + assert_array_equal(actual, desired) + assert_raises(ValueError, hypergeom, bad_ngood, nbad, nsample * 3) + assert_raises(ValueError, hypergeom, ngood, bad_nbad, nsample * 3) + assert_raises(ValueError, hypergeom, ngood, nbad, bad_nsample_one * 3) + assert_raises(ValueError, hypergeom, ngood, nbad, bad_nsample_two * 3) + + assert_raises(ValueError, hypergeom, -1, 10, 20) + assert_raises(ValueError, hypergeom, 10, -1, 20) + assert_raises(ValueError, hypergeom, 10, 10, 0) + assert_raises(ValueError, hypergeom, 10, 10, 25) + + def test_logseries(self): + p = [0.5] + bad_p_one = [2] + bad_p_two = [-1] + logseries = random.logseries + desired = np.array([1, 1, 1]) + + self.set_seed() + actual = logseries(p * 3) + assert_array_equal(actual, desired) + assert_raises(ValueError, logseries, bad_p_one * 3) + assert_raises(ValueError, logseries, bad_p_two * 3) + + +class TestThread(object): + # make sure each state produces the same sequence even in threads + def setup(self): + self.seeds = range(4) + + def check_function(self, function, sz): + from threading import Thread + + out1 = np.empty((len(self.seeds),) + sz) + out2 = np.empty((len(self.seeds),) + sz) + + # threaded generation + t = [Thread(target=function, args=(random.RandomState(s), o)) + for s, o in zip(self.seeds, out1)] + [x.start() for x in t] + [x.join() for x in t] + + # the same serial + for s, o in zip(self.seeds, out2): + function(random.RandomState(s), o) + + # these platforms change x87 fpu precision mode in threads + if np.intp().dtype.itemsize == 4 and sys.platform == "win32": + assert_array_almost_equal(out1, out2) + else: + assert_array_equal(out1, out2) + + def test_normal(self): + def gen_random(state, out): + out[...] = state.normal(size=10000) + + self.check_function(gen_random, sz=(10000,)) + + def test_exp(self): + def gen_random(state, out): + out[...] = state.exponential(scale=np.ones((100, 1000))) + + self.check_function(gen_random, sz=(100, 1000)) + + def test_multinomial(self): + def gen_random(state, out): + out[...] = state.multinomial(10, [1 / 6.] * 6, size=10000) + + self.check_function(gen_random, sz=(10000, 6)) + + +# See Issue #4263 +class TestSingleEltArrayInput(object): + def setup(self): + self.argOne = np.array([2]) + self.argTwo = np.array([3]) + self.argThree = np.array([4]) + self.tgtShape = (1,) + + def test_one_arg_funcs(self): + funcs = (random.exponential, random.standard_gamma, + random.chisquare, random.standard_t, + random.pareto, random.weibull, + random.power, random.rayleigh, + random.poisson, random.zipf, + random.geometric, random.logseries) + + probfuncs = (random.geometric, random.logseries) + + for func in funcs: + if func in probfuncs: # p < 1.0 + out = func(np.array([0.5])) + + else: + out = func(self.argOne) + + assert_equal(out.shape, self.tgtShape) + + def test_two_arg_funcs(self): + funcs = (random.uniform, random.normal, + random.beta, random.gamma, + random.f, random.noncentral_chisquare, + random.vonmises, random.laplace, + random.gumbel, random.logistic, + random.lognormal, random.wald, + random.binomial, random.negative_binomial) + + probfuncs = (random.binomial, random.negative_binomial) + + for func in funcs: + if func in probfuncs: # p <= 1 + argTwo = np.array([0.5]) + + else: + argTwo = self.argTwo + + out = func(self.argOne, argTwo) + assert_equal(out.shape, self.tgtShape) + + out = func(self.argOne[0], argTwo) + assert_equal(out.shape, self.tgtShape) + + out = func(self.argOne, argTwo[0]) + assert_equal(out.shape, self.tgtShape) + + def test_three_arg_funcs(self): + funcs = [random.noncentral_f, random.triangular, + random.hypergeometric] + + for func in funcs: + out = func(self.argOne, self.argTwo, self.argThree) + assert_equal(out.shape, self.tgtShape) + + out = func(self.argOne[0], self.argTwo, self.argThree) + assert_equal(out.shape, self.tgtShape) + + out = func(self.argOne, self.argTwo[0], self.argThree) + assert_equal(out.shape, self.tgtShape) + + +# Ensure returned array dtype is corect for platform +def test_integer_dtype(int_func): + random.seed(123456789) + fname, args, md5 = int_func + f = getattr(random, fname) + actual = f(*args, size=2) + assert_(actual.dtype == np.dtype('l')) + + +def test_integer_repeat(int_func): + random.seed(123456789) + fname, args, md5 = int_func + f = getattr(random, fname) + val = f(*args, size=1000000) + if sys.byteorder != 'little': + val = val.byteswap() + res = hashlib.md5(val.view(np.int8)).hexdigest() + assert_(res == md5) diff --git a/numpy/random/tests/test_randomstate_regression.py b/numpy/random/tests/test_randomstate_regression.py new file mode 100644 index 000000000..9c319319e --- /dev/null +++ b/numpy/random/tests/test_randomstate_regression.py @@ -0,0 +1,157 @@ +import sys +from numpy.testing import ( + assert_, assert_array_equal, assert_raises, + ) +from numpy.compat import long +import numpy as np + +from numpy.random import mtrand as random + + +class TestRegression(object): + + def test_VonMises_range(self): + # Make sure generated random variables are in [-pi, pi]. + # Regression test for ticket #986. + for mu in np.linspace(-7., 7., 5): + r = random.vonmises(mu, 1, 50) + assert_(np.all(r > -np.pi) and np.all(r <= np.pi)) + + def test_hypergeometric_range(self): + # Test for ticket #921 + assert_(np.all(random.hypergeometric(3, 18, 11, size=10) < 4)) + assert_(np.all(random.hypergeometric(18, 3, 11, size=10) > 0)) + + # Test for ticket #5623 + args = [ + (2**20 - 2, 2**20 - 2, 2**20 - 2), # Check for 32-bit systems + ] + is_64bits = sys.maxsize > 2**32 + if is_64bits and sys.platform != 'win32': + # Check for 64-bit systems + args.append((2**40 - 2, 2**40 - 2, 2**40 - 2)) + for arg in args: + assert_(random.hypergeometric(*arg) > 0) + + def test_logseries_convergence(self): + # Test for ticket #923 + N = 1000 + random.seed(0) + rvsn = random.logseries(0.8, size=N) + # these two frequency counts should be close to theoretical + # numbers with this large sample + # theoretical large N result is 0.49706795 + freq = np.sum(rvsn == 1) / float(N) + msg = "Frequency was %f, should be > 0.45" % freq + assert_(freq > 0.45, msg) + # theoretical large N result is 0.19882718 + freq = np.sum(rvsn == 2) / float(N) + msg = "Frequency was %f, should be < 0.23" % freq + assert_(freq < 0.23, msg) + + def test_permutation_longs(self): + random.seed(1234) + a = random.permutation(12) + random.seed(1234) + b = random.permutation(long(12)) + assert_array_equal(a, b) + + def test_shuffle_mixed_dimension(self): + # Test for trac ticket #2074 + for t in [[1, 2, 3, None], + [(1, 1), (2, 2), (3, 3), None], + [1, (2, 2), (3, 3), None], + [(1, 1), 2, 3, None]]: + random.seed(12345) + shuffled = list(t) + random.shuffle(shuffled) + assert_array_equal(shuffled, [t[0], t[3], t[1], t[2]]) + + def test_call_within_randomstate(self): + # Check that custom RandomState does not call into global state + m = random.RandomState() + res = np.array([0, 8, 7, 2, 1, 9, 4, 7, 0, 3]) + for i in range(3): + random.seed(i) + m.seed(4321) + # If m.state is not honored, the result will change + assert_array_equal(m.choice(10, size=10, p=np.ones(10)/10.), res) + + def test_multivariate_normal_size_types(self): + # Test for multivariate_normal issue with 'size' argument. + # Check that the multivariate_normal size argument can be a + # numpy integer. + random.multivariate_normal([0], [[0]], size=1) + random.multivariate_normal([0], [[0]], size=np.int_(1)) + random.multivariate_normal([0], [[0]], size=np.int64(1)) + + def test_beta_small_parameters(self): + # Test that beta with small a and b parameters does not produce + # NaNs due to roundoff errors causing 0 / 0, gh-5851 + random.seed(1234567890) + x = random.beta(0.0001, 0.0001, size=100) + assert_(not np.any(np.isnan(x)), 'Nans in random.beta') + + def test_choice_sum_of_probs_tolerance(self): + # The sum of probs should be 1.0 with some tolerance. + # For low precision dtypes the tolerance was too tight. + # See numpy github issue 6123. + random.seed(1234) + a = [1, 2, 3] + counts = [4, 4, 2] + for dt in np.float16, np.float32, np.float64: + probs = np.array(counts, dtype=dt) / sum(counts) + c = random.choice(a, p=probs) + assert_(c in a) + assert_raises(ValueError, random.choice, a, p=probs*0.9) + + def test_shuffle_of_array_of_different_length_strings(self): + # Test that permuting an array of different length strings + # will not cause a segfault on garbage collection + # Tests gh-7710 + random.seed(1234) + + a = np.array(['a', 'a' * 1000]) + + for _ in range(100): + random.shuffle(a) + + # Force Garbage Collection - should not segfault. + import gc + gc.collect() + + def test_shuffle_of_array_of_objects(self): + # Test that permuting an array of objects will not cause + # a segfault on garbage collection. + # See gh-7719 + random.seed(1234) + a = np.array([np.arange(1), np.arange(4)]) + + for _ in range(1000): + random.shuffle(a) + + # Force Garbage Collection - should not segfault. + import gc + gc.collect() + + def test_permutation_subclass(self): + class N(np.ndarray): + pass + + random.seed(1) + orig = np.arange(3).view(N) + perm = random.permutation(orig) + assert_array_equal(perm, np.array([0, 2, 1])) + assert_array_equal(orig, np.arange(3).view(N)) + + class M(object): + a = np.arange(5) + + def __array__(self): + return self.a + + random.seed(1) + m = M() + perm = random.permutation(m) + assert_array_equal(perm, np.array([2, 1, 4, 0, 3])) + assert_array_equal(m.__array__(), np.arange(5)) diff --git a/numpy/random/tests/test_regression.py b/numpy/random/tests/test_regression.py index ca9bbbc71..509e2d57f 100644 --- a/numpy/random/tests/test_regression.py +++ b/numpy/random/tests/test_regression.py @@ -29,7 +29,8 @@ class TestRegression(object): ] is_64bits = sys.maxsize > 2**32 if is_64bits and sys.platform != 'win32': - args.append((2**40 - 2, 2**40 - 2, 2**40 - 2)) # Check for 64-bit systems + # Check for 64-bit systems + args.append((2**40 - 2, 2**40 - 2, 2**40 - 2)) for arg in args: assert_(np.random.hypergeometric(*arg) > 0) diff --git a/numpy/random/tests/test_smoke.py b/numpy/random/tests/test_smoke.py new file mode 100644 index 000000000..c94e1a285 --- /dev/null +++ b/numpy/random/tests/test_smoke.py @@ -0,0 +1,894 @@ +import pickle +import time +from functools import partial + +import numpy as np +import pytest +from numpy.testing import assert_equal, assert_, assert_array_equal +from numpy.random import (Generator, MT19937, DSFMT, ThreeFry, + PCG32, PCG64, Philox, Xoshiro256, Xoshiro512, + entropy) + + +@pytest.fixture(scope='module', + params=(np.bool, np.int8, np.int16, np.int32, np.int64, + np.uint8, np.uint16, np.uint32, np.uint64)) +def dtype(request): + return request.param + + +def params_0(f): + val = f() + assert_(np.isscalar(val)) + val = f(10) + assert_(val.shape == (10,)) + val = f((10, 10)) + assert_(val.shape == (10, 10)) + val = f((10, 10, 10)) + assert_(val.shape == (10, 10, 10)) + val = f(size=(5, 5)) + assert_(val.shape == (5, 5)) + + +def params_1(f, bounded=False): + a = 5.0 + b = np.arange(2.0, 12.0) + c = np.arange(2.0, 102.0).reshape((10, 10)) + d = np.arange(2.0, 1002.0).reshape((10, 10, 10)) + e = np.array([2.0, 3.0]) + g = np.arange(2.0, 12.0).reshape((1, 10, 1)) + if bounded: + a = 0.5 + b = b / (1.5 * b.max()) + c = c / (1.5 * c.max()) + d = d / (1.5 * d.max()) + e = e / (1.5 * e.max()) + g = g / (1.5 * g.max()) + + # Scalar + f(a) + # Scalar - size + f(a, size=(10, 10)) + # 1d + f(b) + # 2d + f(c) + # 3d + f(d) + # 1d size + f(b, size=10) + # 2d - size - broadcast + f(e, size=(10, 2)) + # 3d - size + f(g, size=(10, 10, 10)) + + +def comp_state(state1, state2): + identical = True + if isinstance(state1, dict): + for key in state1: + identical &= comp_state(state1[key], state2[key]) + elif type(state1) != type(state2): + identical &= type(state1) == type(state2) + else: + if (isinstance(state1, (list, tuple, np.ndarray)) and isinstance( + state2, (list, tuple, np.ndarray))): + for s1, s2 in zip(state1, state2): + identical &= comp_state(s1, s2) + else: + identical &= state1 == state2 + return identical + + +def warmup(rg, n=None): + if n is None: + n = 11 + np.random.randint(0, 20) + rg.standard_normal(n) + rg.standard_normal(n) + rg.standard_normal(n, dtype=np.float32) + rg.standard_normal(n, dtype=np.float32) + rg.integers(0, 2 ** 24, n, dtype=np.uint64) + rg.integers(0, 2 ** 48, n, dtype=np.uint64) + rg.standard_gamma(11.0, n) + rg.standard_gamma(11.0, n, dtype=np.float32) + rg.random(n, dtype=np.float64) + rg.random(n, dtype=np.float32) + + +class RNG(object): + @classmethod + def setup_class(cls): + # Overridden in test classes. Place holder to silence IDE noise + cls.bit_generator = Xoshiro256 + cls.advance = None + cls.seed = [12345] + cls.rg = Generator(cls.bit_generator(*cls.seed)) + cls.initial_state = cls.rg.bit_generator.state + cls.seed_vector_bits = 64 + cls._extra_setup() + + @classmethod + def _extra_setup(cls): + cls.vec_1d = np.arange(2.0, 102.0) + cls.vec_2d = np.arange(2.0, 102.0)[None, :] + cls.mat = np.arange(2.0, 102.0, 0.01).reshape((100, 100)) + cls.seed_error = TypeError + + def _reset_state(self): + self.rg.bit_generator.state = self.initial_state + + def test_init(self): + rg = Generator(self.bit_generator()) + state = rg.bit_generator.state + rg.standard_normal(1) + rg.standard_normal(1) + rg.bit_generator.state = state + new_state = rg.bit_generator.state + assert_(comp_state(state, new_state)) + + def test_advance(self): + state = self.rg.bit_generator.state + if hasattr(self.rg.bit_generator, 'advance'): + self.rg.bit_generator.advance(self.advance) + assert_(not comp_state(state, self.rg.bit_generator.state)) + else: + bitgen_name = self.rg.bit_generator.__class__.__name__ + pytest.skip('Advance is not supported by {0}'.format(bitgen_name)) + + def test_jump(self): + state = self.rg.bit_generator.state + if hasattr(self.rg.bit_generator, 'jumped'): + bit_gen2 = self.rg.bit_generator.jumped() + jumped_state = bit_gen2.state + assert_(not comp_state(state, jumped_state)) + self.rg.random(2 * 3 * 5 * 7 * 11 * 13 * 17) + self.rg.bit_generator.state = state + bit_gen3 = self.rg.bit_generator.jumped() + rejumped_state = bit_gen3.state + assert_(comp_state(jumped_state, rejumped_state)) + else: + bitgen_name = self.rg.bit_generator.__class__.__name__ + if bitgen_name not in ('',): + raise AttributeError('no "jumped" in %s' % bitgen_name) + pytest.skip('Jump is not supported by {0}'.format(bitgen_name)) + + def test_uniform(self): + r = self.rg.uniform(-1.0, 0.0, size=10) + assert_(len(r) == 10) + assert_((r > -1).all()) + assert_((r <= 0).all()) + + def test_uniform_array(self): + r = self.rg.uniform(np.array([-1.0] * 10), 0.0, size=10) + assert_(len(r) == 10) + assert_((r > -1).all()) + assert_((r <= 0).all()) + r = self.rg.uniform(np.array([-1.0] * 10), + np.array([0.0] * 10), size=10) + assert_(len(r) == 10) + assert_((r > -1).all()) + assert_((r <= 0).all()) + r = self.rg.uniform(-1.0, np.array([0.0] * 10), size=10) + assert_(len(r) == 10) + assert_((r > -1).all()) + assert_((r <= 0).all()) + + def test_random(self): + assert_(len(self.rg.random(10)) == 10) + params_0(self.rg.random) + + def test_standard_normal_zig(self): + assert_(len(self.rg.standard_normal(10)) == 10) + + def test_standard_normal(self): + assert_(len(self.rg.standard_normal(10)) == 10) + params_0(self.rg.standard_normal) + + def test_standard_gamma(self): + assert_(len(self.rg.standard_gamma(10, 10)) == 10) + assert_(len(self.rg.standard_gamma(np.array([10] * 10), 10)) == 10) + params_1(self.rg.standard_gamma) + + def test_standard_exponential(self): + assert_(len(self.rg.standard_exponential(10)) == 10) + params_0(self.rg.standard_exponential) + + def test_standard_exponential_float(self): + randoms = self.rg.standard_exponential(10, dtype='float32') + assert_(len(randoms) == 10) + assert randoms.dtype == np.float32 + params_0(partial(self.rg.standard_exponential, dtype='float32')) + + def test_standard_exponential_float_log(self): + randoms = self.rg.standard_exponential(10, dtype='float32', + method='inv') + assert_(len(randoms) == 10) + assert randoms.dtype == np.float32 + params_0(partial(self.rg.standard_exponential, dtype='float32', + method='inv')) + + def test_standard_cauchy(self): + assert_(len(self.rg.standard_cauchy(10)) == 10) + params_0(self.rg.standard_cauchy) + + def test_standard_t(self): + assert_(len(self.rg.standard_t(10, 10)) == 10) + params_1(self.rg.standard_t) + + def test_binomial(self): + assert_(self.rg.binomial(10, .5) >= 0) + assert_(self.rg.binomial(1000, .5) >= 0) + + def test_reset_state(self): + state = self.rg.bit_generator.state + int_1 = self.rg.integers(2**31) + self.rg.bit_generator.state = state + int_2 = self.rg.integers(2**31) + assert_(int_1 == int_2) + + def test_entropy_init(self): + rg = Generator(self.bit_generator()) + rg2 = Generator(self.bit_generator()) + assert_(not comp_state(rg.bit_generator.state, + rg2.bit_generator.state)) + + def test_seed(self): + rg = Generator(self.bit_generator(*self.seed)) + rg2 = Generator(self.bit_generator(*self.seed)) + rg.random() + rg2.random() + assert_(comp_state(rg.bit_generator.state, rg2.bit_generator.state)) + + def test_reset_state_gauss(self): + rg = Generator(self.bit_generator(*self.seed)) + rg.standard_normal() + state = rg.bit_generator.state + n1 = rg.standard_normal(size=10) + rg2 = Generator(self.bit_generator()) + rg2.bit_generator.state = state + n2 = rg2.standard_normal(size=10) + assert_array_equal(n1, n2) + + def test_reset_state_uint32(self): + rg = Generator(self.bit_generator(*self.seed)) + rg.integers(0, 2 ** 24, 120, dtype=np.uint32) + state = rg.bit_generator.state + n1 = rg.integers(0, 2 ** 24, 10, dtype=np.uint32) + rg2 = Generator(self.bit_generator()) + rg2.bit_generator.state = state + n2 = rg2.integers(0, 2 ** 24, 10, dtype=np.uint32) + assert_array_equal(n1, n2) + + def test_reset_state_float(self): + rg = Generator(self.bit_generator(*self.seed)) + rg.random(dtype='float32') + state = rg.bit_generator.state + n1 = rg.random(size=10, dtype='float32') + rg2 = Generator(self.bit_generator()) + rg2.bit_generator.state = state + n2 = rg2.random(size=10, dtype='float32') + assert_((n1 == n2).all()) + + def test_shuffle(self): + original = np.arange(200, 0, -1) + permuted = self.rg.permutation(original) + assert_((original != permuted).any()) + + def test_permutation(self): + original = np.arange(200, 0, -1) + permuted = self.rg.permutation(original) + assert_((original != permuted).any()) + + def test_beta(self): + vals = self.rg.beta(2.0, 2.0, 10) + assert_(len(vals) == 10) + vals = self.rg.beta(np.array([2.0] * 10), 2.0) + assert_(len(vals) == 10) + vals = self.rg.beta(2.0, np.array([2.0] * 10)) + assert_(len(vals) == 10) + vals = self.rg.beta(np.array([2.0] * 10), np.array([2.0] * 10)) + assert_(len(vals) == 10) + vals = self.rg.beta(np.array([2.0] * 10), np.array([[2.0]] * 10)) + assert_(vals.shape == (10, 10)) + + def test_bytes(self): + vals = self.rg.bytes(10) + assert_(len(vals) == 10) + + def test_chisquare(self): + vals = self.rg.chisquare(2.0, 10) + assert_(len(vals) == 10) + params_1(self.rg.chisquare) + + def test_exponential(self): + vals = self.rg.exponential(2.0, 10) + assert_(len(vals) == 10) + params_1(self.rg.exponential) + + def test_f(self): + vals = self.rg.f(3, 1000, 10) + assert_(len(vals) == 10) + + def test_gamma(self): + vals = self.rg.gamma(3, 2, 10) + assert_(len(vals) == 10) + + def test_geometric(self): + vals = self.rg.geometric(0.5, 10) + assert_(len(vals) == 10) + params_1(self.rg.exponential, bounded=True) + + def test_gumbel(self): + vals = self.rg.gumbel(2.0, 2.0, 10) + assert_(len(vals) == 10) + + def test_laplace(self): + vals = self.rg.laplace(2.0, 2.0, 10) + assert_(len(vals) == 10) + + def test_logitic(self): + vals = self.rg.logistic(2.0, 2.0, 10) + assert_(len(vals) == 10) + + def test_logseries(self): + vals = self.rg.logseries(0.5, 10) + assert_(len(vals) == 10) + + def test_negative_binomial(self): + vals = self.rg.negative_binomial(10, 0.2, 10) + assert_(len(vals) == 10) + + def test_noncentral_chisquare(self): + vals = self.rg.noncentral_chisquare(10, 2, 10) + assert_(len(vals) == 10) + + def test_noncentral_f(self): + vals = self.rg.noncentral_f(3, 1000, 2, 10) + assert_(len(vals) == 10) + vals = self.rg.noncentral_f(np.array([3] * 10), 1000, 2) + assert_(len(vals) == 10) + vals = self.rg.noncentral_f(3, np.array([1000] * 10), 2) + assert_(len(vals) == 10) + vals = self.rg.noncentral_f(3, 1000, np.array([2] * 10)) + assert_(len(vals) == 10) + + def test_normal(self): + vals = self.rg.normal(10, 0.2, 10) + assert_(len(vals) == 10) + + def test_pareto(self): + vals = self.rg.pareto(3.0, 10) + assert_(len(vals) == 10) + + def test_poisson(self): + vals = self.rg.poisson(10, 10) + assert_(len(vals) == 10) + vals = self.rg.poisson(np.array([10] * 10)) + assert_(len(vals) == 10) + params_1(self.rg.poisson) + + def test_power(self): + vals = self.rg.power(0.2, 10) + assert_(len(vals) == 10) + + def test_integers(self): + vals = self.rg.integers(10, 20, 10) + assert_(len(vals) == 10) + + def test_rayleigh(self): + vals = self.rg.rayleigh(0.2, 10) + assert_(len(vals) == 10) + params_1(self.rg.rayleigh, bounded=True) + + def test_vonmises(self): + vals = self.rg.vonmises(10, 0.2, 10) + assert_(len(vals) == 10) + + def test_wald(self): + vals = self.rg.wald(1.0, 1.0, 10) + assert_(len(vals) == 10) + + def test_weibull(self): + vals = self.rg.weibull(1.0, 10) + assert_(len(vals) == 10) + + def test_zipf(self): + vals = self.rg.zipf(10, 10) + assert_(len(vals) == 10) + vals = self.rg.zipf(self.vec_1d) + assert_(len(vals) == 100) + vals = self.rg.zipf(self.vec_2d) + assert_(vals.shape == (1, 100)) + vals = self.rg.zipf(self.mat) + assert_(vals.shape == (100, 100)) + + def test_hypergeometric(self): + vals = self.rg.hypergeometric(25, 25, 20) + assert_(np.isscalar(vals)) + vals = self.rg.hypergeometric(np.array([25] * 10), 25, 20) + assert_(vals.shape == (10,)) + + def test_triangular(self): + vals = self.rg.triangular(-5, 0, 5) + assert_(np.isscalar(vals)) + vals = self.rg.triangular(-5, np.array([0] * 10), 5) + assert_(vals.shape == (10,)) + + def test_multivariate_normal(self): + mean = [0, 0] + cov = [[1, 0], [0, 100]] # diagonal covariance + x = self.rg.multivariate_normal(mean, cov, 5000) + assert_(x.shape == (5000, 2)) + x_zig = self.rg.multivariate_normal(mean, cov, 5000) + assert_(x.shape == (5000, 2)) + x_inv = self.rg.multivariate_normal(mean, cov, 5000) + assert_(x.shape == (5000, 2)) + assert_((x_zig != x_inv).any()) + + def test_multinomial(self): + vals = self.rg.multinomial(100, [1.0 / 3, 2.0 / 3]) + assert_(vals.shape == (2,)) + vals = self.rg.multinomial(100, [1.0 / 3, 2.0 / 3], size=10) + assert_(vals.shape == (10, 2)) + + def test_dirichlet(self): + s = self.rg.dirichlet((10, 5, 3), 20) + assert_(s.shape == (20, 3)) + + def test_pickle(self): + pick = pickle.dumps(self.rg) + unpick = pickle.loads(pick) + assert_((type(self.rg) == type(unpick))) + assert_(comp_state(self.rg.bit_generator.state, + unpick.bit_generator.state)) + + pick = pickle.dumps(self.rg) + unpick = pickle.loads(pick) + assert_((type(self.rg) == type(unpick))) + assert_(comp_state(self.rg.bit_generator.state, + unpick.bit_generator.state)) + + def test_seed_array(self): + if self.seed_vector_bits is None: + bitgen_name = self.bit_generator.__name__ + pytest.skip('Vector seeding is not supported by ' + '{0}'.format(bitgen_name)) + + if self.seed_vector_bits == 32: + dtype = np.uint32 + else: + dtype = np.uint64 + seed = np.array([1], dtype=dtype) + self.rg.bit_generator.seed(seed) + state1 = self.rg.bit_generator.state + self.rg.bit_generator.seed(1) + state2 = self.rg.bit_generator.state + assert_(comp_state(state1, state2)) + + seed = np.arange(4, dtype=dtype) + self.rg.bit_generator.seed(seed) + state1 = self.rg.bit_generator.state + self.rg.bit_generator.seed(seed[0]) + state2 = self.rg.bit_generator.state + assert_(not comp_state(state1, state2)) + + seed = np.arange(1500, dtype=dtype) + self.rg.bit_generator.seed(seed) + state1 = self.rg.bit_generator.state + self.rg.bit_generator.seed(seed[0]) + state2 = self.rg.bit_generator.state + assert_(not comp_state(state1, state2)) + + seed = 2 ** np.mod(np.arange(1500, dtype=dtype), + self.seed_vector_bits - 1) + 1 + self.rg.bit_generator.seed(seed) + state1 = self.rg.bit_generator.state + self.rg.bit_generator.seed(seed[0]) + state2 = self.rg.bit_generator.state + assert_(not comp_state(state1, state2)) + + def test_seed_array_error(self): + if self.seed_vector_bits == 32: + out_of_bounds = 2 ** 32 + else: + out_of_bounds = 2 ** 64 + + seed = -1 + with pytest.raises(ValueError): + self.rg.bit_generator.seed(seed) + + seed = np.array([-1], dtype=np.int32) + with pytest.raises(ValueError): + self.rg.bit_generator.seed(seed) + + seed = np.array([1, 2, 3, -5], dtype=np.int32) + with pytest.raises(ValueError): + self.rg.bit_generator.seed(seed) + + seed = np.array([1, 2, 3, out_of_bounds]) + with pytest.raises(ValueError): + self.rg.bit_generator.seed(seed) + + def test_uniform_float(self): + rg = Generator(self.bit_generator(12345)) + warmup(rg) + state = rg.bit_generator.state + r1 = rg.random(11, dtype=np.float32) + rg2 = Generator(self.bit_generator()) + warmup(rg2) + rg2.bit_generator.state = state + r2 = rg2.random(11, dtype=np.float32) + assert_array_equal(r1, r2) + assert_equal(r1.dtype, np.float32) + assert_(comp_state(rg.bit_generator.state, rg2.bit_generator.state)) + + def test_gamma_floats(self): + rg = Generator(self.bit_generator()) + warmup(rg) + state = rg.bit_generator.state + r1 = rg.standard_gamma(4.0, 11, dtype=np.float32) + rg2 = Generator(self.bit_generator()) + warmup(rg2) + rg2.bit_generator.state = state + r2 = rg2.standard_gamma(4.0, 11, dtype=np.float32) + assert_array_equal(r1, r2) + assert_equal(r1.dtype, np.float32) + assert_(comp_state(rg.bit_generator.state, rg2.bit_generator.state)) + + def test_normal_floats(self): + rg = Generator(self.bit_generator()) + warmup(rg) + state = rg.bit_generator.state + r1 = rg.standard_normal(11, dtype=np.float32) + rg2 = Generator(self.bit_generator()) + warmup(rg2) + rg2.bit_generator.state = state + r2 = rg2.standard_normal(11, dtype=np.float32) + assert_array_equal(r1, r2) + assert_equal(r1.dtype, np.float32) + assert_(comp_state(rg.bit_generator.state, rg2.bit_generator.state)) + + def test_normal_zig_floats(self): + rg = Generator(self.bit_generator()) + warmup(rg) + state = rg.bit_generator.state + r1 = rg.standard_normal(11, dtype=np.float32) + rg2 = Generator(self.bit_generator()) + warmup(rg2) + rg2.bit_generator.state = state + r2 = rg2.standard_normal(11, dtype=np.float32) + assert_array_equal(r1, r2) + assert_equal(r1.dtype, np.float32) + assert_(comp_state(rg.bit_generator.state, rg2.bit_generator.state)) + + def test_output_fill(self): + rg = self.rg + state = rg.bit_generator.state + size = (31, 7, 97) + existing = np.empty(size) + rg.bit_generator.state = state + rg.standard_normal(out=existing) + rg.bit_generator.state = state + direct = rg.standard_normal(size=size) + assert_equal(direct, existing) + + sized = np.empty(size) + rg.bit_generator.state = state + rg.standard_normal(out=sized, size=sized.shape) + + existing = np.empty(size, dtype=np.float32) + rg.bit_generator.state = state + rg.standard_normal(out=existing, dtype=np.float32) + rg.bit_generator.state = state + direct = rg.standard_normal(size=size, dtype=np.float32) + assert_equal(direct, existing) + + def test_output_filling_uniform(self): + rg = self.rg + state = rg.bit_generator.state + size = (31, 7, 97) + existing = np.empty(size) + rg.bit_generator.state = state + rg.random(out=existing) + rg.bit_generator.state = state + direct = rg.random(size=size) + assert_equal(direct, existing) + + existing = np.empty(size, dtype=np.float32) + rg.bit_generator.state = state + rg.random(out=existing, dtype=np.float32) + rg.bit_generator.state = state + direct = rg.random(size=size, dtype=np.float32) + assert_equal(direct, existing) + + def test_output_filling_exponential(self): + rg = self.rg + state = rg.bit_generator.state + size = (31, 7, 97) + existing = np.empty(size) + rg.bit_generator.state = state + rg.standard_exponential(out=existing) + rg.bit_generator.state = state + direct = rg.standard_exponential(size=size) + assert_equal(direct, existing) + + existing = np.empty(size, dtype=np.float32) + rg.bit_generator.state = state + rg.standard_exponential(out=existing, dtype=np.float32) + rg.bit_generator.state = state + direct = rg.standard_exponential(size=size, dtype=np.float32) + assert_equal(direct, existing) + + def test_output_filling_gamma(self): + rg = self.rg + state = rg.bit_generator.state + size = (31, 7, 97) + existing = np.zeros(size) + rg.bit_generator.state = state + rg.standard_gamma(1.0, out=existing) + rg.bit_generator.state = state + direct = rg.standard_gamma(1.0, size=size) + assert_equal(direct, existing) + + existing = np.zeros(size, dtype=np.float32) + rg.bit_generator.state = state + rg.standard_gamma(1.0, out=existing, dtype=np.float32) + rg.bit_generator.state = state + direct = rg.standard_gamma(1.0, size=size, dtype=np.float32) + assert_equal(direct, existing) + + def test_output_filling_gamma_broadcast(self): + rg = self.rg + state = rg.bit_generator.state + size = (31, 7, 97) + mu = np.arange(97.0) + 1.0 + existing = np.zeros(size) + rg.bit_generator.state = state + rg.standard_gamma(mu, out=existing) + rg.bit_generator.state = state + direct = rg.standard_gamma(mu, size=size) + assert_equal(direct, existing) + + existing = np.zeros(size, dtype=np.float32) + rg.bit_generator.state = state + rg.standard_gamma(mu, out=existing, dtype=np.float32) + rg.bit_generator.state = state + direct = rg.standard_gamma(mu, size=size, dtype=np.float32) + assert_equal(direct, existing) + + def test_output_fill_error(self): + rg = self.rg + size = (31, 7, 97) + existing = np.empty(size) + with pytest.raises(TypeError): + rg.standard_normal(out=existing, dtype=np.float32) + with pytest.raises(ValueError): + rg.standard_normal(out=existing[::3]) + existing = np.empty(size, dtype=np.float32) + with pytest.raises(TypeError): + rg.standard_normal(out=existing, dtype=np.float64) + + existing = np.zeros(size, dtype=np.float32) + with pytest.raises(TypeError): + rg.standard_gamma(1.0, out=existing, dtype=np.float64) + with pytest.raises(ValueError): + rg.standard_gamma(1.0, out=existing[::3], dtype=np.float32) + existing = np.zeros(size, dtype=np.float64) + with pytest.raises(TypeError): + rg.standard_gamma(1.0, out=existing, dtype=np.float32) + with pytest.raises(ValueError): + rg.standard_gamma(1.0, out=existing[::3]) + + def test_integers_broadcast(self, dtype): + if dtype == np.bool: + upper = 2 + lower = 0 + else: + info = np.iinfo(dtype) + upper = int(info.max) + 1 + lower = info.min + self._reset_state() + a = self.rg.integers(lower, [upper] * 10, dtype=dtype) + self._reset_state() + b = self.rg.integers([lower] * 10, upper, dtype=dtype) + assert_equal(a, b) + self._reset_state() + c = self.rg.integers(lower, upper, size=10, dtype=dtype) + assert_equal(a, c) + self._reset_state() + d = self.rg.integers(np.array( + [lower] * 10), np.array([upper], dtype=np.object), size=10, + dtype=dtype) + assert_equal(a, d) + self._reset_state() + e = self.rg.integers( + np.array([lower] * 10), np.array([upper] * 10), size=10, + dtype=dtype) + assert_equal(a, e) + + self._reset_state() + a = self.rg.integers(0, upper, size=10, dtype=dtype) + self._reset_state() + b = self.rg.integers([upper] * 10, dtype=dtype) + assert_equal(a, b) + + def test_integers_numpy(self, dtype): + high = np.array([1]) + low = np.array([0]) + + out = self.rg.integers(low, high, dtype=dtype) + assert out.shape == (1,) + + out = self.rg.integers(low[0], high, dtype=dtype) + assert out.shape == (1,) + + out = self.rg.integers(low, high[0], dtype=dtype) + assert out.shape == (1,) + + def test_integers_broadcast_errors(self, dtype): + if dtype == np.bool: + upper = 2 + lower = 0 + else: + info = np.iinfo(dtype) + upper = int(info.max) + 1 + lower = info.min + with pytest.raises(ValueError): + self.rg.integers(lower, [upper + 1] * 10, dtype=dtype) + with pytest.raises(ValueError): + self.rg.integers(lower - 1, [upper] * 10, dtype=dtype) + with pytest.raises(ValueError): + self.rg.integers([lower - 1], [upper] * 10, dtype=dtype) + with pytest.raises(ValueError): + self.rg.integers([0], [0], dtype=dtype) + + +class TestMT19937(RNG): + @classmethod + def setup_class(cls): + cls.bit_generator = MT19937 + cls.advance = None + cls.seed = [2 ** 21 + 2 ** 16 + 2 ** 5 + 1] + cls.rg = Generator(cls.bit_generator(*cls.seed)) + cls.initial_state = cls.rg.bit_generator.state + cls.seed_vector_bits = 32 + cls._extra_setup() + cls.seed_error = ValueError + + def test_numpy_state(self): + nprg = np.random.RandomState() + nprg.standard_normal(99) + state = nprg.get_state() + self.rg.bit_generator.state = state + state2 = self.rg.bit_generator.state + assert_((state[1] == state2['state']['key']).all()) + assert_((state[2] == state2['state']['pos'])) + + +class TestPhilox(RNG): + @classmethod + def setup_class(cls): + cls.bit_generator = Philox + cls.advance = 2**63 + 2**31 + 2**15 + 1 + cls.seed = [12345] + cls.rg = Generator(cls.bit_generator(*cls.seed)) + cls.initial_state = cls.rg.bit_generator.state + cls.seed_vector_bits = 64 + cls._extra_setup() + + +class TestThreeFry(RNG): + @classmethod + def setup_class(cls): + cls.bit_generator = ThreeFry + cls.advance = 2 ** 63 + 2 ** 31 + 2 ** 15 + 1 + cls.seed = [12345] + cls.rg = Generator(cls.bit_generator(*cls.seed)) + cls.initial_state = cls.rg.bit_generator.state + cls.seed_vector_bits = 64 + cls._extra_setup() + + +class TestXoshiro256(RNG): + @classmethod + def setup_class(cls): + cls.bit_generator = Xoshiro256 + cls.advance = None + cls.seed = [12345] + cls.rg = Generator(cls.bit_generator(*cls.seed)) + cls.initial_state = cls.rg.bit_generator.state + cls.seed_vector_bits = 64 + cls._extra_setup() + + +class TestXoshiro512(RNG): + @classmethod + def setup_class(cls): + cls.bit_generator = Xoshiro512 + cls.advance = None + cls.seed = [12345] + cls.rg = Generator(cls.bit_generator(*cls.seed)) + cls.initial_state = cls.rg.bit_generator.state + cls.seed_vector_bits = 64 + cls._extra_setup() + + +class TestDSFMT(RNG): + @classmethod + def setup_class(cls): + cls.bit_generator = DSFMT + cls.advance = None + cls.seed = [12345] + cls.rg = Generator(cls.bit_generator(*cls.seed)) + cls.initial_state = cls.rg.bit_generator.state + cls._extra_setup() + cls.seed_vector_bits = 32 + + +class TestEntropy(object): + def test_entropy(self): + e1 = entropy.random_entropy() + e2 = entropy.random_entropy() + assert_((e1 != e2)) + e1 = entropy.random_entropy(10) + e2 = entropy.random_entropy(10) + assert_((e1 != e2).all()) + e1 = entropy.random_entropy(10, source='system') + e2 = entropy.random_entropy(10, source='system') + assert_((e1 != e2).all()) + + def test_fallback(self): + e1 = entropy.random_entropy(source='fallback') + time.sleep(0.1) + e2 = entropy.random_entropy(source='fallback') + assert_((e1 != e2)) + + +class TestPCG64(RNG): + @classmethod + def setup_class(cls): + cls.bit_generator = PCG64 + cls.advance = 2 ** 96 + 2 ** 48 + 2 ** 21 + 2 ** 16 + 2 ** 5 + 1 + cls.seed = [2 ** 96 + 2 ** 48 + 2 ** 21 + 2 ** 16 + 2 ** 5 + 1, + 2 ** 21 + 2 ** 16 + 2 ** 5 + 1] + cls.rg = Generator(cls.bit_generator(*cls.seed)) + cls.initial_state = cls.rg.bit_generator.state + cls.seed_vector_bits = None + cls._extra_setup() + + def test_seed_array_error(self): + # GH #82 for error type changes + if self.seed_vector_bits == 32: + out_of_bounds = 2 ** 32 + else: + out_of_bounds = 2 ** 64 + + seed = -1 + with pytest.raises(ValueError): + self.rg.bit_generator.seed(seed) + + error_type = ValueError if self.seed_vector_bits else TypeError + seed = np.array([-1], dtype=np.int32) + with pytest.raises(error_type): + self.rg.bit_generator.seed(seed) + + seed = np.array([1, 2, 3, -5], dtype=np.int32) + with pytest.raises(error_type): + self.rg.bit_generator.seed(seed) + + seed = np.array([1, 2, 3, out_of_bounds]) + with pytest.raises(error_type): + self.rg.bit_generator.seed(seed) + + +class TestPCG32(TestPCG64): + @classmethod + def setup_class(cls): + cls.bit_generator = PCG32 + cls.advance = 2 ** 48 + 2 ** 21 + 2 ** 16 + 2 ** 5 + 1 + cls.seed = [2 ** 48 + 2 ** 21 + 2 ** 16 + 2 ** 5 + 1, + 2 ** 21 + 2 ** 16 + 2 ** 5 + 1] + cls.rg = Generator(cls.bit_generator(*cls.seed)) + cls.initial_state = cls.rg.bit_generator.state + cls.seed_vector_bits = None + cls._extra_setup() |