| //===----------------------------------------------------------------------===// |
| // |
| // ÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊThe LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| // <random> |
| |
| // class seed_seq; |
| |
| // template<class RandomAccessIterator> |
| // void generate(RandomAccessIterator begin, RandomAccessIterator end); |
| |
| #include <random> |
| #include <cassert> |
| |
| |
| |
| int main() |
| { |
| { |
| // These numbers generated from a slightly altered version of dSFMT |
| // http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html |
| unsigned a[] = |
| { |
| 509928861u, |
| 482551238u, |
| 141770655u, |
| 3445468037u, |
| 1614807826u, |
| 3110698871u, |
| 809182926u, |
| 2644632325u, |
| 3885131857u, |
| 1278630374u, |
| 3648975313u, |
| 1217833759u, |
| 1509686260u, |
| 2817190507u, |
| 134525747u, |
| 250267852u, |
| 2559105345u, |
| 2416641579u, |
| 426100435u, |
| 486929906u, |
| 241178241u, |
| 3531539379u, |
| 704692991u, |
| 3001633456u, |
| 3990516671u, |
| 2619782509u, |
| 588842726u, |
| 2871949673u, |
| 621390331u, |
| 2304055997u, |
| 3809702625u, |
| 2471383485u, |
| 1630735687u, |
| 2167939898u, |
| 2070992669u, |
| 2826890739u, |
| 1714346061u, |
| 1912761420u, |
| 539780511u, |
| 716119356u, |
| 1342493369u, |
| 1216009367u, |
| 2864243850u, |
| 36288867u, |
| 2981095630u, |
| 2480586007u, |
| 1287539180u, |
| 1804977887u, |
| 2219960896u, |
| 297158412u, |
| 2839013626u, |
| 1971706101u, |
| 3588181149u, |
| 1387242816u, |
| 3713499635u, |
| 3408234160u, |
| 3179393218u, |
| 1359207226u, |
| 3119279997u, |
| 2777679329u, |
| 125221793u, |
| 902631799u, |
| 949389096u, |
| 3415339313u, |
| 4117407143u, |
| 3119227103u, |
| 1787026946u, |
| 3917387257u, |
| 3936044384u, |
| 2242085379u, |
| 1140709958u, |
| 2523265662u, |
| 3627073995u, |
| 3604398568u, |
| 1427913954u, |
| 2465898599u, |
| 3825653050u, |
| 2090876078u, |
| 232270946u, |
| 3116274782u, |
| 1252172657u, |
| 3197497894u, |
| 3983224490u, |
| 1939344836u, |
| 4158531887u, |
| 88050086u, |
| 2343094701u, |
| 1067025562u, |
| 3321491106u, |
| 3772162169u, |
| 909332669u, |
| 1671671873u, |
| 755193996u, |
| 978524521u, |
| 2164582730u, |
| 1757783103u, |
| 3411415001u, |
| 850017018u, |
| 3068762300u, |
| 555996984u, |
| 2404040146u, |
| 3397007611u, |
| 237680219u, |
| 245818821u, |
| 177824968u, |
| 3220945682u, |
| 304446762u, |
| 2267298065u, |
| 1878973555u, |
| 3050739800u, |
| 535731508u, |
| 1160102565u, |
| 4109066907u, |
| 984269821u, |
| 3681788896u, |
| 60254699u, |
| 3890962421u, |
| 2991673698u, |
| 3982271427u, |
| 3514243671u, |
| 1234870914u, |
| 2069958363u, |
| 3867828422u, |
| 1847469687u, |
| 503598128u, |
| 967934988u, |
| 289386211u, |
| 393279961u, |
| 835485527u, |
| 3708682854u, |
| 965218590u, |
| 4020339834u, |
| 2159101708u, |
| 2575134771u, |
| 376656690u, |
| 3499375240u, |
| 3105954900u, |
| 2786692328u, |
| 3458480699u, |
| 1207173847u, |
| 2051152535u, |
| 2738812911u, |
| 2954646330u, |
| 2774866710u, |
| 2162149150u, |
| 3993372257u, |
| 2868120585u, |
| 3086420190u, |
| 3791115537u, |
| 3226697711u, |
| 1818303409u, |
| 4206013897u, |
| 1245186807u, |
| 1680347447u, |
| 684800149u, |
| 2372078492u, |
| 2566952562u, |
| 3310947940u, |
| 3885964747u, |
| 3270357885u, |
| 2098965232u, |
| 609044652u, |
| 434910954u, |
| 93043847u, |
| 805217072u, |
| 883298424u, |
| 3850995479u, |
| 1840717689u, |
| 124278163u, |
| 4250050101u, |
| 2337070911u, |
| 2576763405u, |
| 2518189119u, |
| 3059082421u, |
| 1532107996u, |
| 2920167825u, |
| 2726963926u, |
| 3951524890u, |
| 1272835728u, |
| 1039392592u, |
| 1237920408u, |
| 1996153268u, |
| 647883626u, |
| 4064365193u, |
| 355588474u, |
| 3625797533u, |
| 1209959194u, |
| 503163662u, |
| 530295589u, |
| 1668578780u, |
| 969028048u, |
| 2489337768u, |
| 841218738u, |
| 14126306u, |
| 1854884627u, |
| 3617055808u, |
| 202224793u, |
| 1744552899u, |
| 1559016256u, |
| 3455976027u, |
| 1064269942u, |
| 2990703287u, |
| 1169718685u, |
| 1411804743u, |
| 290849805u, |
| 756035681u, |
| 1505272475u, |
| 1426658932u, |
| 16045749u, |
| 3900455443u, |
| 108521850u, |
| 1009491914u, |
| 3928801938u, |
| 1022079325u, |
| 3076867150u, |
| 4268343543u, |
| 2886814247u, |
| 2005055376u, |
| 1649037732u, |
| 1954533894u, |
| 3779223482u, |
| 1093746989u, |
| 2376482601u, |
| 3561720470u, |
| 1870836501u, |
| 651953759u, |
| 1504660027u, |
| 2097900540u, |
| 2252668945u, |
| 2469849023u, |
| 1986217648u, |
| 2026387757u, |
| 131611273u, |
| 1467981299u, |
| 3440588252u, |
| 1916199579u, |
| 959039804u, |
| 2895114746u, |
| 3292235117u, |
| 649379239u, |
| 28649189u, |
| 3121113086u, |
| 3829761771u, |
| 1675837301u, |
| 1636154723u, |
| 3737794169u, |
| 4082428060u, |
| 1904712095u, |
| 2483810990u, |
| 979972563u, |
| 1269082707u, |
| 370986843u, |
| 1233170438u, |
| 3008501783u, |
| 3905837878u, |
| 1566704758u, |
| 2380919351u, |
| 159980022u, |
| 1334100319u, |
| 2492554074u, |
| 137995234u, |
| 2318192908u, |
| 2608964837u, |
| 1061756617u, |
| 2760140790u, |
| 4069446576u, |
| 1995030350u, |
| 1037005594u, |
| 3489306635u, |
| 1588786838u, |
| 513304862u, |
| 3305490303u, |
| 2264317975u, |
| 3441620307u, |
| 4116970950u, |
| 3121104936u, |
| 1889858928u, |
| 2336693483u, |
| 3906421686u, |
| 2112501080u, |
| 2916376262u, |
| 2244436629u, |
| 663123276u, |
| 774309763u, |
| 258379821u, |
| 3845948150u, |
| 3747409682u, |
| 275936617u, |
| 563064995u, |
| 4049677403u, |
| 2099547498u, |
| 699768412u, |
| 1193153383u, |
| 4289059706u, |
| 3228950241u, |
| 1258043728u, |
| 1334659727u, |
| 3780523664u, |
| 1150773584u, |
| 2509712235u, |
| 2088544320u, |
| 1610096547u, |
| 3486280247u, |
| 1737969289u, |
| 1530372860u, |
| 2563496419u, |
| 2535243890u, |
| 998106254u, |
| 816066803u, |
| 1138534811u, |
| 1405672211u, |
| 2094652173u, |
| 1516292650u, |
| 2618233360u, |
| 3603340340u, |
| 247950637u, |
| 119238855u, |
| 1858201484u, |
| 3459729922u, |
| 157759693u, |
| 8278624u, |
| 3223944237u, |
| 3937209237u, |
| 3820737454u, |
| 839194830u, |
| 2385155004u, |
| 3872251779u, |
| 1375779033u, |
| 2333521764u, |
| 4025446588u, |
| 3839106064u, |
| 374878047u, |
| 1312756310u, |
| 1661068116u, |
| 1321601295u, |
| 4254646350u, |
| 3813168945u, |
| 134103711u, |
| 1535586498u, |
| 82369644u, |
| 411323516u, |
| 761969086u, |
| 819179215u, |
| 582595825u, |
| 3212591411u, |
| 665647256u, |
| 2372804634u, |
| 2378814089u, |
| 801724318u, |
| 658137482u, |
| 2084329677u, |
| 2512952888u, |
| 1573871611u, |
| 570440739u, |
| 3791634131u, |
| 1754412850u, |
| 406040873u, |
| 2576963615u, |
| 535767962u, |
| 1405150444u, |
| 3050488583u, |
| 3870648463u, |
| 2201665400u, |
| 178518008u, |
| 1050761986u, |
| 1635790851u, |
| 2757604743u, |
| 1194306620u, |
| 3895813535u, |
| 259506203u, |
| 1836108753u, |
| 555242075u, |
| 2574778399u, |
| 777988603u, |
| 2306149504u, |
| 2810362568u, |
| 402408487u, |
| 2163697780u, |
| 1982851065u, |
| 153191404u, |
| 1346605886u, |
| 197579289u, |
| 3847665347u, |
| 2437615293u, |
| 819252195u, |
| 3379927756u, |
| 1375088563u, |
| 2650550959u, |
| 2949512074u, |
| 3616578300u, |
| 1616680753u, |
| 1943918335u, |
| 2372676669u, |
| 599487215u, |
| 2422499758u, |
| 3164569986u, |
| 594265585u, |
| 667867933u, |
| 2382753501u, |
| 1213715652u, |
| 1470661916u, |
| 566771851u, |
| 463440918u, |
| 3056034602u, |
| 4101174909u, |
| 130576467u, |
| 2390765932u, |
| 1878895359u, |
| 2047260663u, |
| 3236801323u, |
| 1417182786u, |
| 2650291174u, |
| 541535507u, |
| 2050658788u, |
| 1497955566u, |
| 2322165653u, |
| 2177087336u, |
| 1286897331u, |
| 1168276780u, |
| 2296212785u, |
| 865258239u, |
| 1996766009u, |
| 2012854679u, |
| 1601388981u, |
| 2613134235u, |
| 1657591526u, |
| 2928355430u, |
| 3608354462u, |
| 744304148u, |
| 4205438799u, |
| 3436255438u, |
| 2852837451u, |
| 3546154475u, |
| 2198801660u, |
| 2941229067u, |
| 1725744406u, |
| 1576016233u, |
| 326273484u, |
| 3350602572u, |
| 2525026956u, |
| 529269391u, |
| 742537386u, |
| 966948684u, |
| 4207482684u, |
| 1647708147u, |
| 772473614u, |
| 4100132656u, |
| 2071821864u, |
| 1304991378u, |
| 2104686786u, |
| 494532571u, |
| 1596637043u, |
| 3530310572u, |
| 3844404338u, |
| 311529967u, |
| 2146085784u, |
| 1023590767u, |
| 3264294551u, |
| 1868912500u, |
| 1616049700u, |
| 4044971489u, |
| 226083499u, |
| 2644402452u, |
| 671262u, |
| 3856282165u, |
| 2788249556u, |
| 2975877350u, |
| 3022011519u, |
| 482463024u, |
| 3197313892u, |
| 2458947070u, |
| 213085732u, |
| 3423982376u, |
| 1127434251u, |
| 3003351323u, |
| 3859782824u, |
| 1452447943u, |
| 1377205388u, |
| 294467710u, |
| 4017757977u, |
| 4176004933u, |
| 1973840971u, |
| 1057204069u, |
| 2631053578u, |
| 1518315828u, |
| 1733084351u, |
| 2897935365u, |
| 371135589u, |
| 2166429075u, |
| 1316999184u, |
| 917942378u, |
| 4234919037u, |
| 3994887147u, |
| 202839671u, |
| 2611806597u, |
| 1763402132u, |
| 2528354843u, |
| 2928374144u, |
| 4287461088u, |
| 3374274817u, |
| 2515840515u, |
| 1174711579u, |
| 1526125414u, |
| 1328334421u, |
| 1467789564u, |
| 746112865u, |
| 2522923249u, |
| 2846786366u, |
| 785624778u, |
| 3640382502u, |
| 699425627u, |
| 2333340032u, |
| 879149811u, |
| 1012137370u, |
| 3671295088u, |
| 1115225691u, |
| 2008076767u, |
| 3224593008u, |
| 409074767u, |
| 3405081375u, |
| 1732184447u, |
| 4131742042u, |
| 2887579728u, |
| 411122719u, |
| 49575303u, |
| 2452487329u, |
| 132404436u, |
| 2634269867u, |
| 628865612u, |
| 2089064207u, |
| 3493619675u, |
| 573570698u, |
| 2803401952u, |
| 1846326706u, |
| 2776480783u, |
| 3202282367u, |
| 161406647u, |
| 555882857u, |
| 3002347158u, |
| 3646590134u, |
| 3970439001u, |
| 3593229755u, |
| 589030935u, |
| 1156189491u, |
| 4233262968u, |
| 1884160487u, |
| 1538393768u, |
| 2259575756u, |
| 1419917258u, |
| 658738179u, |
| 2762821193u, |
| 3753817926u, |
| 760570680u, |
| 900223123u, |
| 3199204483u, |
| 3152387802u, |
| 3518662321u, |
| 1138026800u, |
| 4166103824u, |
| 4256962887u, |
| 3860671603u, |
| 2476911454u, |
| 336216996u, |
| 708885235u, |
| 725397672u, |
| 1803116762u, |
| 2785555576u, |
| 101740015u, |
| 4078718445u, |
| 1955237214u, |
| 9650972u, |
| 449296169u, |
| 584729435u, |
| 3295180521u, |
| 589654348u, |
| 4256205129u, |
| 3872811168u, |
| 1159848257u, |
| 3914402308u, |
| 739056677u, |
| 2654817235u, |
| 2975781832u, |
| 2945335776u, |
| 2792662538u, |
| 4124362519u, |
| 1578034244u, |
| 347127450u, |
| 818851140u, |
| 2127100315u, |
| 2486499071u, |
| 4198130806u, |
| 1869105609u, |
| 1961961717u, |
| 1651285423u, |
| 376774848u, |
| 2681263019u, |
| 1185959234u, |
| 1674813864u, |
| 32812913u, |
| 3511671436u, |
| 3250344299u, |
| 2961919237u, |
| 722029715u, |
| 3677835234u, |
| 3534013806u, |
| 2896926420u, |
| 2405611392u, |
| 1523923100u, |
| 538451356u, |
| 2872548905u, |
| 3122230170u, |
| 337087364u, |
| 2659340735u, |
| 3849128055u, |
| 556114376u, |
| 1997152544u, |
| 3761450839u, |
| 3143779940u, |
| 3256759779u, |
| 2844565122u, |
| 228442897u, |
| 3589092287u, |
| 786119294u, |
| 4089515771u, |
| 3720982051u, |
| 1236422652u, |
| 2002271241u, |
| 98809947u, |
| 1925281885u, |
| 3856119646u, |
| 3522402037u, |
| 2119723860u, |
| 3500067577u, |
| 3688915105u, |
| 443441159u, |
| 1795715271u, |
| 2772968214u, |
| 921416086u, |
| 4274010930u, |
| 3123194886u, |
| 4156595625u, |
| 2153773382u, |
| 1880645824u, |
| 1783695477u, |
| 2639075904u, |
| 2369609874u, |
| 2020298024u, |
| 3035677150u, |
| 20152938u, |
| 3700162244u, |
| 2301383878u, |
| 704787941u, |
| 1912605772u, |
| 801557569u, |
| 3080244537u, |
| 2116665331u, |
| 2452111071u, |
| 3506260614u, |
| 862540580u, |
| 1275699972u, |
| 66210903u, |
| 106773917u, |
| 3693457478u, |
| 2402783622u, |
| 1239121180u, |
| 676003037u, |
| 2603048829u, |
| 1725001637u, |
| 1220274379u, |
| 24507488u, |
| 903764486u, |
| 4189545897u, |
| 1702746631u, |
| 3218068652u, |
| 3306659191u, |
| 790973134u, |
| 1265526960u, |
| 3431804268u, |
| 3325211765u, |
| 3605213000u, |
| 2877687268u, |
| 2252987926u, |
| 2380945092u, |
| 858624424u, |
| 1002964636u, |
| 1862801950u, |
| 1624111941u, |
| 2506763607u, |
| 760658520u, |
| 2734479345u, |
| 3411969548u, |
| 771362694u, |
| 3655222003u, |
| 2713412965u, |
| 2617767046u, |
| 1779451182u, |
| 3696950253u, |
| 1494085808u, |
| 1423735456u, |
| 800705781u, |
| 3797847307u, |
| 3518984231u, |
| 196474988u, |
| 1813335502u, |
| 2243046583u, |
| 2578707704u, |
| 2592488572u, |
| 4085007200u, |
| 3609770110u, |
| 2731535571u, |
| 3190540952u, |
| 1865257805u, |
| 1804143221u, |
| 3166875197u, |
| 1184225570u, |
| 2013135819u, |
| 3678444101u, |
| 2569887572u, |
| 3559018477u, |
| 3823772506u, |
| 1537738480u, |
| 713705243u, |
| 792081862u, |
| 1581340885u, |
| 3140030205u, |
| 3435723625u, |
| 3093218524u, |
| 3683643763u, |
| 753869336u, |
| 590258834u, |
| 608176704u, |
| 180732483u, |
| 31365344u, |
| 29753898u, |
| 2899243456u, |
| 1020423361u, |
| 152655309u, |
| 3809554076u, |
| 2069071231u, |
| 4000441303u, |
| 3046501174u, |
| 1897816893u, |
| 1610689080u, |
| 2580357110u, |
| 255270539u, |
| 3363490012u, |
| 3711397066u, |
| 3983751767u, |
| 1725231855u, |
| 172296475u, |
| 2179003295u, |
| 660196982u, |
| 526538193u, |
| 2137670317u, |
| 2219075701u, |
| 1987239722u, |
| 856404486u, |
| 2976933454u, |
| 3678014122u, |
| 2713682703u, |
| 3329090001u, |
| 2248358519u, |
| 3254616418u, |
| 1747030903u, |
| 1620566606u, |
| 880370315u, |
| 2337236788u, |
| 2883145755u |
| }; |
| const int n = 768; |
| unsigned b[n] = {0}; |
| unsigned v[] = {3, 5, 7}; |
| const int size = sizeof(v)/sizeof(v[0]); |
| std::seed_seq s(v, v + size); |
| s.generate(b, b + n); |
| for (int i = 0; i < n; ++i) |
| assert(a[i] == b[i]); |
| } |
| } |