1# Verify serialization 2 3use strict; 4use warnings; 5 6use Test::More 'tests' => 2004; 7use Config; 8 9my @WARN; 10BEGIN { 11 # Warning signal handler 12 $SIG{__WARN__} = sub { push(@WARN, @_); }; 13} 14 15use_ok('Math::Random::MT::Auto', ':!auto'); 16use_ok('Math::Random::MT::Auto::Range'); 17 18# Known test values for irand() 19my @base_rint = ($Config{'uvsize'} == 8) ? 20 ( # 64-bit randoms 21 7266447313870364031, 4946485549665804864, 16945909448695747420, 16394063075524226720, 4873882236456199058, 22 14877448043947020171, 6740343660852211943, 13857871200353263164, 5249110015610582907, 10205081126064480383, 23 1235879089597390050, 17320312680810499042, 16489141110565194782, 8942268601720066061, 13520575722002588570, 24 14226945236717732373, 9383926873555417063, 15690281668532552105, 11510704754157191257, 15864264574919463609, 25 6489677788245343319, 5112602299894754389, 10828930062652518694, 15942305434158995996, 15445717675088218264, 26 4764500002345775851, 14673753115101942098, 236502320419669032, 13670483975188204088, 14931360615268175698, 27 8904234204977263924, 12836915408046564963, 12120302420213647524, 15755110976537356441, 5405758943702519480, 28 10951858968426898805, 17251681303478610375, 4144140664012008120, 18286145806977825275, 13075804672185204371, 29 10831805955733617705, 6172975950399619139, 12837097014497293886, 12903857913610213846, 560691676108914154, 30 1074659097419704618, 14266121283820281686, 11696403736022963346, 13383246710985227247, 7132746073714321322, 31 10608108217231874211, 9027884570906061560, 12893913769120703138, 15675160838921962454, 2511068401785704737, 32 14483183001716371453, 3774730664208216065, 5083371700846102796, 9583498264570933637, 17119870085051257224, 33 5217910858257235075, 10612176809475689857, 1924700483125896976, 7171619684536160599, 10949279256701751503, 34 15596196964072664893, 14097948002655599357, 615821766635933047, 5636498760852923045, 17618792803942051220, 35 580805356741162327, 425267967796817241, 8381470634608387938, 13212228678420887626, 16993060308636741960, 36 957923366004347591, 6210242862396777185, 1012818702180800310, 15299383925974515757, 17501832009465945633, 37 17453794942891241229, 15807805462076484491, 8407189590930420827, 974125122787311712, 1861591264068118966, 38 997568339582634050, 18046771844467391493, 17981867688435687790, 3809841506498447207, 9460108917638135678, 39 16172980638639374310, 958022432077424298, 4393365126459778813, 13408683141069553686, 13900005529547645957, 40 15773550354402817866, 16475327524349230602, 6260298154874769264, 12224576659776460914, 6405294864092763507, 41 7585484664713203306, 5187641382818981381, 12435998400285353380, 13554353441017344755, 646091557254529188, 42 11393747116974949255, 16797249248413342857, 15713519023537495495, 12823504709579858843, 4738086532119935073, 43 4429068783387643752, 585582692562183870, 1048280754023674130, 6788940719869959076, 11670856244972073775, 44 2488756775360218862, 2061695363573180185, 6884655301895085032, 3566345954323888697, 12784319933059041817, 45 4772468691551857254, 6864898938209826895, 7198730565322227090, 2452224231472687253, 13424792606032445807, 46 10827695224855383989, 11016608897122070904, 14683280565151378358, 7077866519618824360, 17487079941198422333, 47 3956319990205097495, 5804870313319323478, 8017203611194497730, 3310931575584983808, 5009341981771541845, 48 6930001938490791874, 14415278059151389495, 11001114762641844083, 6715939435439735925, 411419160297131328, 49 4522402260441335284, 3381955501804126859, 15935778656111987797, 4345051260540166684, 13978444093099579683, 50 9219789505504949817, 9245142924137529075, 11628184459157386459, 7242398879359936370, 8511401943157540109, 51 11948130810477009827, 6865450671488705049, 13965005347172621081, 15956599226522058336, 7737868921014130584, 52 2107342503741411693, 15818996300425101108, 16399939197527488760, 13971145494081508107, 3910681448359868691, 53 4249175367970221090, 9735751321242454020, 12418107929362160460, 241792245481991138, 5806488997649497146, 54 10724207982663648949, 1121862814449214435, 1326996977123564236, 4902706567834759475, 12782714623891689967, 55 7306216312942796257, 15681656478863766664, 957364844878149318, 5651946387216554503, 8197027112357634782, 56 6302075516351125977, 13454588464089597862, 15638309200463515550, 10116604639722073476, 12052913535387714920, 57 2889379661594013754, 15383926144832314187, 7841953313015471731, 17310575136995821873, 9820021961316981626, 58 15319619724109527290, 15349724127275899898, 10511508162402504492, 6289553862380300393, 15046218882019267110, 59 11772020174577005930, 3537640779967351792, 6801855569284252424, 17687268231192623388, 12968358613633237218, 60 1429775571144180123, 10427377732172208413, 12155566091986788996, 16465954421598296115, 12710429690464359999, 61 9547226351541565595, 12156624891403410342, 2985938688676214686, 18066917785985010959, 5975570403614438776, 62 11541343163022500560, 11115388652389704592, 9499328389494710074, 9247163036769651820, 3688303938005101774, 63 2210483654336887556, 15458161910089693228, 6558785204455557683, 1288373156735958118, 18433986059948829624, 64 3435082195390932486, 16822351800343061990, 3120532877336962310, 16681785111062885568, 7835551710041302304, 65 2612798015018627203, 15083279177152657491, 6591467229462292195, 10592706450534565444, 7438147750787157163, 66 323186165595851698, 7444710627467609883, 8473714411329896576, 2782675857700189492, 3383567662400128329, 67 3200233909833521327, 12897601280285604448, 3612068790453735040, 8324209243736219497, 15789570356497723463, 68 1083312926512215996, 4797349136059339390, 5556729349871544986, 18266943104929747076, 1620389818516182276, 69 172225355691600141, 3034352936522087096, 1266779576738385285, 3906668377244742888, 6961783143042492788, 70 17159706887321247572, 4676208075243319061, 10315634697142985816, 13435140047933251189, 716076639492622016, 71 13847954035438697558, 7195811275139178570, 10815312636510328870, 6214164734784158515, 16412194511839921544, 72 3862249798930641332, 1005482699535576005, 4644542796609371301, 17600091057367987283, 4209958422564632034, 73 5419285945389823940, 11453701547564354601, 9951588026679380114, 7425168333159839689, 8436306210125134906, 74 11216615872596820107, 3681345096403933680, 5770016989916553752, 11102855936150871733, 11187980892339693935, 75 396336430216428875, 6384853777489155236, 7551613839184151117, 16527062023276943109, 13429850429024956898, 76 9901753960477271766, 9731501992702612259, 5217575797614661659, 10311708346636548706, 15111747519735330483, 77 4353415295139137513, 1845293119018433391, 11952006873430493561, 3531972641585683893, 16852246477648409827, 78 15956854822143321380, 12314609993579474774, 16763911684844598963, 16392145690385382634, 1545507136970403756, 79 17771199061862790062, 12121348462972638971, 12613068545148305776, 954203144844315208, 1257976447679270605, 80 3664184785462160180, 2747964788443845091, 15895917007470512307, 15552935765724302120, 16366915862261682626, 81 8385468783684865323, 10745343827145102946, 2485742734157099909, 916246281077683950, 15214206653637466707, 82 12895483149474345798, 1079510114301747843, 10718876134480663664, 1259990987526807294, 8326303777037206221, 83 14104661172014248293, 15531278677382192198, 3874303698666230242, 3611366553819264523, 1358753803061653874, 84 1552102816982246938, 14492630642488100979, 15001394966632908727, 2273140352787320862, 17843678642369606172, 85 2903980458593894032, 16971437123015263604, 12969653681729206264, 3593636458822318001, 9719758956915223015, 86 7437601263394568346, 3327758049015164431, 17851524109089292731, 14769614194455139039, 8017093497335662337, 87 12026985381690317404, 739616144640253634, 15535375191850690266, 2418267053891303448, 15314073759564095878, 88 10333316143274529509, 16565481511572123421, 16317667579273275294, 13991958187675987741, 3753596784796798785, 89 9078249094693663275, 8459506356724650587, 12579909555010529099, 7827737296967050903, 5489801927693999341, 90 10995988997350541459, 14721747867313883304, 7915884580303296560, 4105766302083365910, 12455549072515054554, 91 13602111324515032467, 5205971628932290989, 5034622965420036444, 9134927878875794005, 11319873529597990213, 92 14815445109496752058, 2266601052460299470, 5696993487088103383, 6540200741841280242, 6631495948031875490, 93 5328340585170897740, 17897267040961463930, 9030000260502624168, 14285709137129830926, 12854071997824681544, 94 15408328651008978682, 1063314403033437073, 13765209628446252802, 242013711116865605, 4772374239432528212, 95 2515855479965038648, 5872624715703151235, 14237704570091006662, 678604024776645862, 12329607334079533339, 96 17570877682732917020, 2695443415284373666, 4312672841405514468, 6454343485137106900, 8425658828390111343, 97 16335501385875554899, 5551095603809016713, 11781094401885925035, 9395557946368382509, 9765123360948816956, 98 18107191819981188154, 16049267500594757404, 16349966108299794199, 1040405303135858246, 2366386386131378192, 99 223761048139910454, 15375217587047847934, 15231693398695187454, 12916726640254571028, 8878036960829635584, 100 1626201782473074365, 5758998126998248293, 18077917959300292758, 10585588923088536745, 15072345664541731497, 101 3559348759319842667, 12744591691872202375, 2388494115860283059, 6414691845696331748, 3069528498807764495, 102 8737958486926519702, 18059264986425101074, 3139684427605102737, 12378931902986734693, 410666675039477949, 103 12139894855769838924, 5780722552400398675, 7039346665375142557, 3020733445712569008, 2612305843503943561, 104 13651771214166527665, 16478681918975800939, 566088527565499576, 4715785502295754870, 6957318344287196220, 105 11645756868405128885, 13139951104358618000, 17650948583490040612, 18168787973649736637, 5486282999836125542, 106 6122201977153895166, 17324241605502052782, 10063523107521105867, 17537430712468011382, 10828407533637104262, 107 10294139354198325113, 12557151830240236401, 16673044307512640231, 10918020421896090419, 11077531235278014145, 108 5499571814940871256, 2334252435740638702, 18177461912527387031, 2000007376901262542, 7968425560071444214, 109 1472650787501520648, 3115849849651526279, 7980970700139577536, 12153253535907642097, 8109716914843248719, 110 3154976533165008908, 5553369513523832559, 10345792701798576501, 3677445364544507875, 10637177623943913351, 111 7380255087060498096, 14479400372337014801, 15381362583330700960, 204531043189704802, 13699106540959723942, 112 3817903465872254783, 10972364467110284934, 2701394334530963810, 2931625600749229147, 16428252083632828910, 113 11873166501966812913, 5566810080537233762, 7840617383807795056, 10699413880206684652, 18259119259617231436, 114 10332714341486317526, 10137911902863059694, 669146221352346842, 8373571610024623455, 10620002450820868661, 115 12220730820779815970, 5902974968095412898, 7931010481705150841, 16413777368097063650, 11273457888324769727, 116 13719113891065284171, 8327795098009702553, 10333342364827584837, 6202832891413866653, 9137034567886143162, 117 14514450826524340059, 473610156015331016, 813689571029117640, 13776316799690285717, 10429708855338427756, 118 8995290140880620858, 2320123852041754384, 8082864073645003641, 6961777411740398590, 10008644283003991179, 119 3239064015890722333, 16762634970725218787, 16467281536733948427, 10563290046315192938, 5108560603794851559, 120 15121667220761532906, 14155440077372845941, 10050536352394623377, 15474881667376037792, 3448088038819200619, 121 3692020001240358871, 6444847992258394902, 8687650838094264665, 3028124591188972359, 16945232313401161629, 122 15547830510283682816, 3982930188609442149, 14270781928849894661, 13768475593433447867, 13815150225221307677, 123 8502397232429564693, 718377350715476994, 7459266877697905475, 8353375565171101521, 7807281661994435472, 124 16924127046922196149, 10157812396471387805, 2519858716882670232, 7384148884750265792, 8077153156180046901, 125 3499231286164597752, 2700106282881469611, 14679824700835879737, 14188324938219126828, 3016120398601032793, 126 10858152824243889420, 9412371965669250534, 4857522662584941069, 984331743838900386, 4094160040294753142, 127 2368635764350388458, 15101240511397838657, 15584415763303953578, 7831857200208015446, 1952643641639729063, 128 4184323302594028609, 16795120381104846695, 3541559381538365280, 15408472870896842474, 5628362450757896366, 129 16277348886873708846, 12437047172652330846, 10172715019035948149, 1999700669649752791, 6217957085626135027, 130 11220551167830336823, 16478747645632411810, 5437280487207382147, 11382378739613087836, 15866932785489521505, 131 5502694314775516684, 16440179278067648435, 15510104554374162846, 15722061259110909195, 10760687291786964354, 132 10736868329920212671, 4166148127664495614, 14303518358120527892, 9122250801678898571, 10028508179936801946, 133 216630713752669403, 10655207865433859491, 4041437116174699233, 6280982262534375348, 297501356638818866, 134 13976146806363377485, 13752396481560145603, 11472199956603637419, 16393728429143900496, 14752844047515986640, 135 1524477318846038424, 6596889774254235440, 1591982099532234960, 8065146456116391065, 3964696017750868345, 136 17040425970526664920, 11511165586176539991, 3443401252003315103, 16314977947073778249, 16860120454903458341, 137 5370503221561340846, 15362920279125264094, 2822458124714999779, 14575378304387898337, 9689406052675046032, 138 2872149351415175149, 13019620945255883050, 14929026760148695825, 8503417349692327218, 9677798905341573754, 139 828949921821462483, 16110482368362750196, 15794218816553655671, 14942910774764855088, 12026350906243760195, 140 13610867176871462505, 18324536557697872582, 2658962269666727629, 327225403251576027, 9207535177029277544, 141 8744129291351887858, 6129603385168921503, 18385497655031085907, 13024478718952333892, 14547683159720717167, 142 5932119629366981711, 325385464632594563, 3559879386019806291, 6629264948665231298, 14358245326238118181, 143 15662449672706340765, 13975503159145803297, 3609534220891499022, 4224273587485638227, 9274084767162416370, 144 13156843921244091998, 18284750575626858789, 14664767920489118779, 11292057742031803221, 13919998707305829132, 145 14473305049457001422, 9696877879685767807, 1406758246007973837, 2429517644459056881, 14361215588101587430, 146 11386164476149757528, 10474116023593331839, 2921165656527786564, 15604610369733358953, 12955027028676000544, 147 10314281035410779907, 3167047178514709947, 1088721329408346700, 17930425515478182741, 7466411836095405617, 148 15534027454610690575, 10879629128927506091, 11502219301371200635, 13915106894453889418, 4226784327815861027, 149 12335222183627106346, 3648499746356007767, 18441388887898023393, 18117929843327093625, 4237736098094830438, 150 14229123019768296655, 3930112058127932690, 12663879236019645778, 9281161952002617309, 4978473890680876319, 151 845759387067546611, 1386164484606776333, 8008554770639925512, 11159581016793288971, 18065390393740782906, 152 17647985458967631018, 9092379465737744314, 2914678236848656327, 4376066698447630270, 16057186499919087528, 153 3031333261848790078, 2926746602873431597, 7931945763526885287, 147649915388326849, 15801792398814946230, 154 5265900391686545347, 16173686275871890830, 7562781050481886043, 5853506575839330404, 14957980734704564792, 155 10944286556353523404, 1783009880614150597, 9529762028588888983, 822992871011696119, 2130074274744257510, 156 8000279549284809219, 3514744284158856431, 128770032569293263, 3737367602618100572, 16364836605077998543, 157 783266423471782696, 4569418252658970391, 11093950688157406886, 14888808512267628166, 4217786261273670948, 158 17047486076688645713, 14133826721458860485, 17539744882220127106, 12394675039129853905, 5757634999463277090, 159 9621947619435861331, 1182210208559436772, 14603391040490913939, 17481976703660945893, 14063388816234683976, 160 2046622692581829572, 8294969799792017441, 5293778434844788058, 17976364049306763808, 399482430848083948, 161 16495545010129798933, 15241340958282367519, 989828753826900814, 17616558773874893537, 2471817920909589004, 162 11764082277667899978, 9618755269550400950, 1240014743757147125, 1887649378641563002, 1842982574728131416, 163 13243531042427194002, 7688268125537013927, 3080422097287486736, 2562894809975407783, 12428984115620094788, 164 1355581933694478148, 9895969242586224966, 8628445623963160889, 4298916726468199239, 12773165416305557280, 165 5240726258301567487, 4975412836403427561, 1842172398579595303, 7812151462958058676, 17974510987263071769, 166 14980707022065991200, 18294903201142729875, 12911672684850242753, 8979482998667235743, 16808468362384462073, 167 5981317232108359798, 12373702800369335100, 16119707581920094765, 2782738549717633602, 15454155188515389391, 168 16495638000603654629, 16348757069342790497, 7769562861984504567, 17504300515449231559, 5557710032938318996, 169 11846125204788401203, 13957316349928882624, 2738350683717432043, 15738068448047700954, 6224714837294524999, 170 6081930777706411111, 11366312928059597928, 4355315799925031482, 12393324728734964015, 15277140291994338591, 171 1406052433297386355, 15859448364509213398, 1672805458341158435, 2926095111610982994, 11056431822276774455, 172 12083767323511977430, 3296968762229741153, 12312076899982286460, 17769284994682227273, 15349428916826953443, 173 1056147296359223910, 18305757538706977431, 6214378374180465222, 14279648441175008454, 17791306410319136644, 174 956593013486324072, 2921235772936241950, 10002890515925652606, 10399654693663712506, 6446247931049971441, 175 6380465770144534958, 11439178472613251620, 10131486500045494660, 3692642123868351947, 10972816599561388940, 176 4931112976348785580, 8213967169213816566, 15336469859637867841, 15026830342847689383, 7524668622380765825, 177 17309937346758783807, 372780684412666438, 5642417144539399955, 18303842993081194577, 11085303253831702827, 178 15658163165983586950, 8517521928922081563, 16091186344159989860, 17614656488010863910, 4736067146481515156, 179 13449945221374241354, 17755469346196579408, 13300502638545717375, 6611828134763118043, 14177591906740276597, 180 9340430243077460347, 7499765399826404087, 3409518087967832469, 9013253864026602045, 4444307427984430192, 181 3729283608700519712, 13642048880719588383, 16486557958022946240, 2996465014991157904, 10020049344596426576, 182 12302485648009883778, 8492591321344423126, 17407986443716172520, 10530482934957373052, 15740662350540828750, 183 1790629986901049436, 6305948377669917188, 15092985352503125323, 928505047232899787, 14404651977039851607, 184 7564177565277805597, 3411236815351677870, 7752718145953236134, 12315979971311483798, 12477729506691004724, 185 14654956300924793305, 6689803038918974388, 1540738812233000153, 13508351811701989957, 15864432023192136053, 186 7990997967273843917, 7424300239290765161, 39585249496300263, 3877436595063283319, 10710642254398044448, 187 4653804418844456375, 1232267496410380283, 3690525514009038824, 15459770765077428485, 13240346522153894145, 188 5674964360688390624, 16973644653010587289, 15924280764204855206, 15196708627253442662, 17596174821341373274, 189 16196745023027393691, 6980050627399795351, 17582264380857746637, 18170372407506856324, 12108126025631005514, 190 15687749089493373169, 5814107289258228434, 9381977959648494876, 15895601183088112734, 16267869075651604263, 191 15228381979765852785, 11949618678312581999, 4545324791131029438, 582725409406225185, 15282520250746126790, 192 14758446535973412711, 7605613563088071833, 1111140641057375915, 5364843095234852245, 218335432181198977, 193 4891472444796201742, 4564628942836375772, 15500501278323817088, 4913946328556108657, 2684786251736694229, 194 12090498456116310122, 5310885782157038567, 5032788439854011923, 12627401038822728242, 11869662610126430929, 195 17650156853043540226, 12126672500118808436, 10437658933435653256, 13133995470637873311, 4601324715591152820, 196 1874350460376708372, 5808688626286061164, 13777088437302430376, 5018451954762213522, 2588296738534474754, 197 5503414509154170711, 5230497186769951796, 13261090710400573914, 8515217303152165705, 11074538219737365303, 198 15481562385740613213, 12705484409881007350, 14221931471178549498, 12905633420087112297, 17337759164357146506, 199 14081997515778175224, 17384320185513122939, 7131793076779216692, 17483217190312403109, 900692047897995877, 200 14723287313048560400, 6132094372965340305, 7572797575350925726, 12725160700431903514, 380860122911632449, 201 1900504978569024571, 8423729759529914138, 7305587201606052334, 12446871355267313320, 4615812356515386206, 202 3361817115406652303, 17690418922000878428, 14632214537567910559, 2709702289926174775, 3459675155951086144, 203 7788364399926538150, 16043992474431955950, 15830963823784930267, 4216893617835797954, 538159724689093771, 204 16029152738918251363, 14444848757576686696, 12941757045272633696, 10900480525147953314, 12547307449905859302, 205 16001571796892398181, 407942194622690676, 13873235372903944444, 18071603799493008777, 1015646077646778622, 206 9387605808959554815, 11566702442022019410, 7061722181092883183, 2629032108249254109, 5271820053177594520, 207 12640880742139693547, 10098688629735675775, 5716304472850923064, 3312674502353063071, 7295926377425759633, 208 833281439103466115, 16316743519466861667, 9912050326606348167, 11651133878100804242, 18026798122431692459, 209 6157758321723692663, 4856021830695749349, 7074321707293278978, 10748097797809573561, 2949954440753264783, 210 9813922580940661152, 9949237950172138336, 15643982711269455885, 16078663425810239127, 12508044395364228880, 211 12920301578340189344, 15368071871011048915, 1610400750626363239, 11994736084146033126, 6042574085746186088, 212 4154587549267685807, 15915752367312946034, 1191196620621769193, 467437822242538360, 2836463788873877488, 213 10476401302029164984, 1716169985450737419, 5327734953288310341, 3994170067185955262, 884431883768190063, 214 11019001754831208284, 14322807384384895215, 161011537360955545, 1466223959660131656, 5227048585229497539, 215 12410731857504225031, 2142243279080761103, 17682826799106851430, 1792612570704179953, 14727410295243056025, 216 1459567192481221274, 5669760721687603135, 17507918443756456845, 10354471145847018200, 10362475129248202288, 217 13143844410150939443, 6861184673150072028, 18396524361124732580, 543906666394301875, 12476817828199026728, 218 11853496871128122868, 12747674713108891748, 7986179867749890282, 9158195177777627533, 2217320706811118570, 219 8631389005200569973, 5538133061362648855, 3369942850878700758, 7813559982698427184, 509051590411815948, 220 10197035660403006684, 13004818533162292132, 9831652587047067687, 7619315254749630976, 994412663058993407 221 ) : 222 ( # 32-bit randoms 223 1067595299, 955945823, 477289528, 4107218783, 4228976476, 224 3344332714, 3355579695, 227628506, 810200273, 2591290167, 225 2560260675, 3242736208, 646746669, 1479517882, 4245472273, 226 1143372638, 3863670494, 3221021970, 1773610557, 1138697238, 227 1421897700, 1269916527, 2859934041, 1764463362, 3874892047, 228 3965319921, 72549643, 2383988930, 2600218693, 3237492380, 229 2792901476, 725331109, 605841842, 271258942, 715137098, 230 3297999536, 1322965544, 4229579109, 1395091102, 3735697720, 231 2101727825, 3730287744, 2950434330, 1661921839, 2895579582, 232 2370511479, 1004092106, 2247096681, 2111242379, 3237345263, 233 4082424759, 219785033, 2454039889, 3709582971, 835606218, 234 2411949883, 2735205030, 756421180, 2175209704, 1873865952, 235 2762534237, 4161807854, 3351099340, 181129879, 3269891896, 236 776029799, 2218161979, 3001745796, 1866825872, 2133627728, 237 34862734, 1191934573, 3102311354, 2916517763, 1012402762, 238 2184831317, 4257399449, 2899497138, 3818095062, 3030756734, 239 1282161629, 420003642, 2326421477, 2741455717, 1278020671, 240 3744179621, 271777016, 2626330018, 2560563991, 3055977700, 241 4233527566, 1228397661, 3595579322, 1077915006, 2395931898, 242 1851927286, 3013683506, 1999971931, 3006888962, 1049781534, 243 1488758959, 3491776230, 104418065, 2448267297, 3075614115, 244 3872332600, 891912190, 3936547759, 2269180963, 2633455084, 245 1047636807, 2604612377, 2709305729, 1952216715, 207593580, 246 2849898034, 670771757, 2210471108, 467711165, 263046873, 247 3569667915, 1042291111, 3863517079, 1464270005, 2758321352, 248 3790799816, 2301278724, 3106281430, 7974801, 2792461636, 249 555991332, 621766759, 1322453093, 853629228, 686962251, 250 1455120532, 957753161, 1802033300, 1021534190, 3486047311, 251 1902128914, 3701138056, 4176424663, 1795608698, 560858864, 252 3737752754, 3141170998, 1553553385, 3367807274, 711546358, 253 2475125503, 262969859, 251416325, 2980076994, 1806565895, 254 969527843, 3529327173, 2736343040, 2987196734, 1649016367, 255 2206175811, 3048174801, 3662503553, 3138851612, 2660143804, 256 1663017612, 1816683231, 411916003, 3887461314, 2347044079, 257 1015311755, 1203592432, 2170947766, 2569420716, 813872093, 258 1105387678, 1431142475, 220570551, 4243632715, 4179591855, 259 2607469131, 3090613241, 282341803, 1734241730, 1391822177, 260 1001254810, 827927915, 1886687171, 3935097347, 2631788714, 261 3905163266, 110554195, 2447955646, 3717202975, 3304793075, 262 3739614479, 3059127468, 953919171, 2590123714, 1132511021, 263 3795593679, 2788030429, 982155079, 3472349556, 859942552, 264 2681007391, 2299624053, 647443547, 233600422, 608168955, 265 3689327453, 1849778220, 1608438222, 3968158357, 2692977776, 266 2851872572, 246750393, 3582818628, 3329652309, 4036366910, 267 1012970930, 950780808, 3959768744, 2538550045, 191422718, 268 2658142375, 3276369011, 2927737484, 1234200027, 1920815603, 269 3536074689, 1535612501, 2184142071, 3276955054, 428488088, 270 2378411984, 4059769550, 3913744741, 2732139246, 64369859, 271 3755670074, 842839565, 2819894466, 2414718973, 1010060670, 272 1839715346, 2410311136, 152774329, 3485009480, 4102101512, 273 2852724304, 879944024, 1785007662, 2748284463, 1354768064, 274 3267784736, 2269127717, 3001240761, 3179796763, 895723219, 275 865924942, 4291570937, 89355264, 1471026971, 4114180745, 276 3201939751, 2867476999, 2460866060, 3603874571, 2238880432, 277 3308416168, 2072246611, 2755653839, 3773737248, 1709066580, 278 4282731467, 2746170170, 2832568330, 433439009, 3175778732, 279 26248366, 2551382801, 183214346, 3893339516, 1928168445, 280 1337157619, 3429096554, 3275170900, 1782047316, 4264403756, 281 1876594403, 4289659572, 3223834894, 1728705513, 4068244734, 282 2867840287, 1147798696, 302879820, 1730407747, 1923824407, 283 1180597908, 1569786639, 198796327, 560793173, 2107345620, 284 2705990316, 3448772106, 3678374155, 758635715, 884524671, 285 486356516, 1774865603, 3881226226, 2635213607, 1181121587, 286 1508809820, 3178988241, 1594193633, 1235154121, 326117244, 287 2304031425, 937054774, 2687415945, 3192389340, 2003740439, 288 1823766188, 2759543402, 10067710, 1533252662, 4132494984, 289 82378136, 420615890, 3467563163, 541562091, 3535949864, 290 2277319197, 3330822853, 3215654174, 4113831979, 4204996991, 291 2162248333, 3255093522, 2219088909, 2978279037, 255818579, 292 2859348628, 3097280311, 2569721123, 1861951120, 2907080079, 293 2719467166, 998319094, 2521935127, 2404125338, 259456032, 294 2086860995, 1839848496, 1893547357, 2527997525, 1489393124, 295 2860855349, 76448234, 2264934035, 744914583, 2586791259, 296 1385380501, 66529922, 1819103258, 1899300332, 2098173828, 297 1793831094, 276463159, 360132945, 4178212058, 595015228, 298 177071838, 2800080290, 1573557746, 1548998935, 378454223, 299 1460534296, 1116274283, 3112385063, 3709761796, 827999348, 300 3580042847, 1913901014, 614021289, 4278528023, 1905177404, 301 45407939, 3298183234, 1184848810, 3644926330, 3923635459, 302 1627046213, 3677876759, 969772772, 1160524753, 1522441192, 303 452369933, 1527502551, 832490847, 1003299676, 1071381111, 304 2891255476, 973747308, 4086897108, 1847554542, 3895651598, 305 2227820339, 1621250941, 2881344691, 3583565821, 3510404498, 306 849362119, 862871471, 797858058, 2867774932, 2821282612, 307 3272403146, 3997979905, 209178708, 1805135652, 6783381, 308 2823361423, 792580494, 4263749770, 776439581, 3798193823, 309 2853444094, 2729507474, 1071873341, 1329010206, 1289336450, 310 3327680758, 2011491779, 80157208, 922428856, 1158943220, 311 1667230961, 2461022820, 2608845159, 387516115, 3345351910, 312 1495629111, 4098154157, 3156649613, 3525698599, 4134908037, 313 446713264, 2137537399, 3617403512, 813966752, 1157943946, 314 3734692965, 1680301658, 3180398473, 3509854711, 2228114612, 315 1008102291, 486805123, 863791847, 3189125290, 1050308116, 316 3777341526, 4291726501, 844061465, 1347461791, 2826481581, 317 745465012, 2055805750, 4260209475, 2386693097, 2980646741, 318 447229436, 2077782664, 1232942813, 4023002732, 1399011509, 319 3140569849, 2579909222, 3794857471, 900758066, 2887199683, 320 1720257997, 3367494931, 2668921229, 955539029, 3818726432, 321 1105704962, 3889207255, 2277369307, 2746484505, 1761846513, 322 2413916784, 2685127085, 4240257943, 1166726899, 4215215715, 323 3082092067, 3960461946, 1663304043, 2087473241, 4162589986, 324 2507310778, 1579665506, 767234210, 970676017, 492207530, 325 1441679602, 1314785090, 3262202570, 3417091742, 1561989210, 326 3011406780, 1146609202, 3262321040, 1374872171, 1634688712, 327 1280458888, 2230023982, 419323804, 3262899800, 39783310, 328 1641619040, 1700368658, 2207946628, 2571300939, 2424079766, 329 780290914, 2715195096, 3390957695, 163151474, 2309534542, 330 1860018424, 555755123, 280320104, 1604831083, 2713022383, 331 1728987441, 3639955502, 623065489, 3828630947, 4275479050, 332 3516347383, 2343951195, 2430677756, 635534992, 3868699749, 333 808442435, 3070644069, 4282166003, 2093181383, 2023555632, 334 1568662086, 3422372620, 4134522350, 3016979543, 3259320234, 335 2888030729, 3185253876, 4258779643, 1267304371, 1022517473, 336 815943045, 929020012, 2995251018, 3371283296, 3608029049, 337 2018485115, 122123397, 2810669150, 1411365618, 1238391329, 338 1186786476, 3155969091, 2242941310, 1765554882, 279121160, 339 4279838515, 1641578514, 3796324015, 13351065, 103516986, 340 1609694427, 551411743, 2493771609, 1316337047, 3932650856, 341 4189700203, 463397996, 2937735066, 1855616529, 2626847990, 342 55091862, 3823351211, 753448970, 4045045500, 1274127772, 343 1124182256, 92039808, 2126345552, 425973257, 386287896, 344 2589870191, 1987762798, 4084826973, 2172456685, 3366583455, 345 3602966653, 2378803535, 2901764433, 3716929006, 3710159000, 346 2653449155, 3469742630, 3096444476, 3932564653, 2595257433, 347 318974657, 3146202484, 853571438, 144400272, 3768408841, 348 782634401, 2161109003, 570039522, 1886241521, 14249488, 349 2230804228, 1604941699, 3928713335, 3921942509, 2155806892, 350 134366254, 430507376, 1924011722, 276713377, 196481886, 351 3614810992, 1610021185, 1785757066, 851346168, 3761148643, 352 2918835642, 3364422385, 3012284466, 3735958851, 2643153892, 353 3778608231, 1164289832, 205853021, 2876112231, 3503398282, 354 3078397001, 3472037921, 1748894853, 2740861475, 316056182, 355 1660426908, 168885906, 956005527, 3984354789, 566521563, 356 1001109523, 1216710575, 2952284757, 3834433081, 3842608301, 357 2467352408, 3974441264, 3256601745, 1409353924, 1329904859, 358 2307560293, 3125217879, 3622920184, 3832785684, 3882365951, 359 2308537115, 2659155028, 1450441945, 3532257603, 3186324194, 360 1225603425, 1124246549, 175808705, 3009142319, 2796710159, 361 3651990107, 160762750, 1902254979, 1698648476, 1134980669, 362 497144426, 3302689335, 4057485630, 3603530763, 4087252587, 363 427812652, 286876201, 823134128, 1627554964, 3745564327, 364 2589226092, 4202024494, 62878473, 3275585894, 3987124064, 365 2791777159, 1916869511, 2585861905, 1375038919, 1403421920, 366 60249114, 3811870450, 3021498009, 2612993202, 528933105, 367 2757361321, 3341402964, 2621861700, 273128190, 4015252178, 368 3094781002, 1621621288, 2337611177, 1796718448, 1258965619, 369 4241913140, 2138560392, 3022190223, 4174180924, 450094611, 370 3274724580, 617150026, 2704660665, 1469700689, 1341616587, 371 356715071, 1188789960, 2278869135, 1766569160, 2795896635, 372 57824704, 2893496380, 1235723989, 1630694347, 3927960522, 373 428891364, 1814070806, 2287999787, 4125941184, 3968103889, 374 3548724050, 1025597707, 1404281500, 2002212197, 92429143, 375 2313943944, 2403086080, 3006180634, 3561981764, 1671860914, 376 1768520622, 1803542985, 844848113, 3006139921, 1410888995, 377 1157749833, 2125704913, 1789979528, 1799263423, 741157179, 378 2405862309, 767040434, 2655241390, 3663420179, 2172009096, 379 2511931187, 1680542666, 231857466, 1154981000, 157168255, 380 1454112128, 3505872099, 1929775046, 2309422350, 2143329496, 381 2960716902, 407610648, 2938108129, 2581749599, 538837155, 382 2342628867, 430543915, 740188568, 1937713272, 3315215132, 383 2085587024, 4030765687, 766054429, 3517641839, 689721775, 384 1294158986, 1753287754, 4202601348, 1974852792, 33459103, 385 3568087535, 3144677435, 1686130825, 4134943013, 3005738435, 386 3599293386, 426570142, 754104406, 3660892564, 1964545167, 387 829466833, 821587464, 1746693036, 1006492428, 1595312919, 388 1256599985, 1024482560, 1897312280, 2902903201, 691790057, 389 1037515867, 3176831208, 1968401055, 2173506824, 1089055278, 390 1748401123, 2941380082, 968412354, 1818753861, 2973200866, 391 3875951774, 1119354008, 3988604139, 1647155589, 2232450826, 392 3486058011, 3655784043, 3759258462, 847163678, 1082052057, 393 989516446, 2871541755, 3196311070, 3929963078, 658187585, 394 3664944641, 2175149170, 2203709147, 2756014689, 2456473919, 395 3890267390, 1293787864, 2830347984, 3059280931, 4158802520, 396 1561677400, 2586570938, 783570352, 1355506163, 31495586, 397 3789437343, 3340549429, 2092501630, 896419368, 671715824, 398 3530450081, 3603554138, 1055991716, 3442308219, 1499434728, 399 3130288473, 3639507000, 17769680, 2259741420, 487032199, 400 4227143402, 3693771256, 1880482820, 3924810796, 381462353, 401 4017855991, 2452034943, 2736680833, 2209866385, 2128986379, 402 437874044, 595759426, 641721026, 1636065708, 3899136933, 403 629879088, 3591174506, 351984326, 2638783544, 2348444281, 404 2341604660, 2123933692, 143443325, 1525942256, 364660499, 405 599149312, 939093251, 1523003209, 106601097, 376589484, 406 1346282236, 1297387043, 764598052, 3741218111, 933457002, 407 1886424424, 3219631016, 525405256, 3014235619, 323149677, 408 2038881721, 4100129043, 2851715101, 2984028078, 1888574695, 409 2014194741, 3515193880, 4180573530, 3461824363, 2641995497, 410 3179230245, 2902294983, 2217320456, 4040852155, 1784656905, 411 3311906931, 87498458, 2752971818, 2635474297, 2831215366, 412 3682231106, 2920043893, 3772929704, 2816374944, 309949752, 413 2383758854, 154870719, 385111597, 1191604312, 1840700563, 414 872191186, 2925548701, 1310412747, 2102066999, 1504727249, 415 3574298750, 1191230036, 3330575266, 3180292097, 3539347721, 416 681369118, 3305125752, 3648233597, 950049240, 4173257693, 417 1760124957, 512151405, 681175196, 580563018, 1169662867, 418 4015033554, 2687781101, 699691603, 2673494188, 1137221356, 419 123599888, 472658308, 1053598179, 1012713758, 3481064843, 420 3759461013, 3981457956, 3830587662, 1877191791, 3650996736, 421 988064871, 3515461600, 4089077232, 2225147448, 1249609188, 422 2643151863, 3896204135, 2416995901, 1397735321, 3460025646); 423 424 425# Set predetermined seed for verification test 426my @base_seed = ($Config{'uvsize'} == 8) 427 ? (0x12345, 0x23456, 0x34567, 0x45678) 428 : (0x123, 0x234, 0x345, 0x456); 429 430my $obj = Math::Random::MT::Auto->new('SEED' => \@base_seed); 431if (! ok(! $@, 'Create object')) { 432 diag('Failure creating object: ' . $@); 433} 434 435my $dump = $obj->dump(); 436my $obj2 = Object::InsideOut->pump($dump); 437 438foreach my $rand (@base_rint) { 439 is($obj2->irand, $rand => 'irand'); 440} 441 442 443my ($LO, $HI) = (1000, 9999); 444sub range 445{ 446 return (($_[0] % (($HI + 1) - $LO)) + $LO); 447} 448 449my $robj = Math::Random::MT::Auto::Range->new('SEED' => \@base_seed, 450 'LOW' => $LO, 451 'HIGH' => $HI, 452 'TYPE' => 'INTEGER'); 453if (! ok(! $@, 'Create object')) { 454 diag('Failure creating object: ' . $@); 455} 456 457my $dump; 458if ($] > 5.006) { 459 $dump = $robj->dump(1); 460} else { 461 $dump = $robj->dump(); 462} 463my $robj2 = Object::InsideOut->pump($dump); 464 465foreach my $rand (@base_rint) { 466 is($robj2->rrand, range($rand) => 'rrand'); 467} 468 469exit(0); 470 471# EOF 472