1--TEST-- 2gmp_random_seed() basic tests 3--SKIPIF-- 4<?php if (!extension_loaded("gmp")) print "skip"; ?> 5<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?> 6--FILE-- 7<?php 8 9// zero int 10var_dump(gmp_random_seed(0)); 11 12var_dump(gmp_strval(gmp_random())); 13var_dump(gmp_strval(gmp_random(1))); 14var_dump(gmp_strval(gmp_random(10))); 15 16var_dump(gmp_strval(gmp_random_bits(10))); 17var_dump(gmp_strval(gmp_random_bits(100))); 18var_dump(gmp_strval(gmp_random_bits(1000))); 19 20var_dump(gmp_strval(gmp_random_range(0, 10000))); 21var_dump(gmp_strval(gmp_random_range(-10000, 10000))); 22var_dump(gmp_strval(gmp_random_range(-10000, 0))); 23 24 25// zero gmp 26var_dump(gmp_random_seed(gmp_init(0))); 27 28var_dump(gmp_strval(gmp_random())); 29var_dump(gmp_strval(gmp_random(1))); 30var_dump(gmp_strval(gmp_random(10))); 31 32var_dump(gmp_strval(gmp_random_bits(10))); 33var_dump(gmp_strval(gmp_random_bits(100))); 34var_dump(gmp_strval(gmp_random_bits(1000))); 35 36var_dump(gmp_strval(gmp_random_range(0, 10000))); 37var_dump(gmp_strval(gmp_random_range(-10000, 10000))); 38var_dump(gmp_strval(gmp_random_range(-10000, 0))); 39 40 41// negative int 42var_dump(gmp_random_seed(-100)); 43 44var_dump(gmp_strval(gmp_random())); 45var_dump(gmp_strval(gmp_random(1))); 46var_dump(gmp_strval(gmp_random(10))); 47 48var_dump(gmp_strval(gmp_random_bits(10))); 49var_dump(gmp_strval(gmp_random_bits(100))); 50var_dump(gmp_strval(gmp_random_bits(1000))); 51 52var_dump(gmp_strval(gmp_random_range(0, 10000))); 53var_dump(gmp_strval(gmp_random_range(-10000, 10000))); 54var_dump(gmp_strval(gmp_random_range(-10000, 0))); 55 56 57// negative gmp 58var_dump(gmp_random_seed(gmp_init(-100))); 59 60var_dump(gmp_strval(gmp_random())); 61var_dump(gmp_strval(gmp_random(1))); 62var_dump(gmp_strval(gmp_random(10))); 63 64var_dump(gmp_strval(gmp_random_bits(10))); 65var_dump(gmp_strval(gmp_random_bits(100))); 66var_dump(gmp_strval(gmp_random_bits(1000))); 67 68var_dump(gmp_strval(gmp_random_range(0, 10000))); 69var_dump(gmp_strval(gmp_random_range(-10000, 10000))); 70var_dump(gmp_strval(gmp_random_range(-10000, 0))); 71 72 73// positive int 74var_dump(gmp_random_seed(100)); 75 76var_dump(gmp_strval(gmp_random())); 77var_dump(gmp_strval(gmp_random(1))); 78var_dump(gmp_strval(gmp_random(10))); 79 80var_dump(gmp_strval(gmp_random_bits(10))); 81var_dump(gmp_strval(gmp_random_bits(100))); 82var_dump(gmp_strval(gmp_random_bits(1000))); 83 84var_dump(gmp_strval(gmp_random_range(0, 10000))); 85var_dump(gmp_strval(gmp_random_range(-10000, 10000))); 86var_dump(gmp_strval(gmp_random_range(-10000, 0))); 87 88 89// positive gmp 90var_dump(gmp_random_seed(100)); 91 92var_dump(gmp_strval(gmp_random())); 93var_dump(gmp_strval(gmp_random(1))); 94var_dump(gmp_strval(gmp_random(10))); 95 96var_dump(gmp_strval(gmp_random_bits(10))); 97var_dump(gmp_strval(gmp_random_bits(100))); 98var_dump(gmp_strval(gmp_random_bits(1000))); 99 100var_dump(gmp_strval(gmp_random_range(0, 10000))); 101var_dump(gmp_strval(gmp_random_range(-10000, 10000))); 102var_dump(gmp_strval(gmp_random_range(-10000, 0))); 103 104 105$seed = gmp_init(1); 106$seed <<= 512; 107 108// large negative gmp 109var_dump(gmp_random_seed($seed * -1)); 110 111var_dump(gmp_strval(gmp_random())); 112var_dump(gmp_strval(gmp_random(1))); 113var_dump(gmp_strval(gmp_random(10))); 114 115var_dump(gmp_strval(gmp_random_bits(10))); 116var_dump(gmp_strval(gmp_random_bits(100))); 117var_dump(gmp_strval(gmp_random_bits(1000))); 118 119var_dump(gmp_strval(gmp_random_range(0, 10000))); 120var_dump(gmp_strval(gmp_random_range(-10000, 10000))); 121var_dump(gmp_strval(gmp_random_range(-10000, 0))); 122 123 124// large positive gmp 125var_dump(gmp_random_seed($seed)); 126 127var_dump(gmp_strval(gmp_random())); 128var_dump(gmp_strval(gmp_random(1))); 129var_dump(gmp_strval(gmp_random(10))); 130 131var_dump(gmp_strval(gmp_random_bits(10))); 132var_dump(gmp_strval(gmp_random_bits(100))); 133var_dump(gmp_strval(gmp_random_bits(1000))); 134 135var_dump(gmp_strval(gmp_random_range(0, 10000))); 136var_dump(gmp_strval(gmp_random_range(-10000, 10000))); 137var_dump(gmp_strval(gmp_random_range(-10000, 0))); 138 139 140// standard non conversion error 141var_dump(gmp_random_seed('not a number')); 142 143 144echo "Done\n"; 145?> 146--EXPECTF-- 147NULL 148string(193) "2000022451473107283132031190545479155678097978829612864726689673263990484954900429188146529905019042225609517482723730948135765344007937183893986134210303199345433818579954244943136664096571499" 149string(10) "3792281639" 150string(97) "1281406676617847191505318987040099388645126071814252743902229506206669580396236451813261179688680" 151string(2) "86" 152string(30) "539590049119295715487546581833" 153string(301) "1421393257467327495225454368915273750356127352353055226245692071178379257048985726109650766437957017507708821700349355658110489309871463201057688894986035545794429493563972043777521547094922637182497036750765553664196591958728194711096442220858890056073974348364544481270013556644174056049511198143353" 154string(4) "8971" 155string(4) "7838" 156string(5) "-7823" 157NULL 158string(193) "2000022451473107283132031190545479155678097978829612864726689673263990484954900429188146529905019042225609517482723730948135765344007937183893986134210303199345433818579954244943136664096571499" 159string(10) "3792281639" 160string(97) "1281406676617847191505318987040099388645126071814252743902229506206669580396236451813261179688680" 161string(2) "86" 162string(30) "539590049119295715487546581833" 163string(301) "1421393257467327495225454368915273750356127352353055226245692071178379257048985726109650766437957017507708821700349355658110489309871463201057688894986035545794429493563972043777521547094922637182497036750765553664196591958728194711096442220858890056073974348364544481270013556644174056049511198143353" 164string(4) "8971" 165string(4) "7838" 166string(5) "-7823" 167NULL 168string(193) "2481908463276861025880840116973116041137167231715512003123396619946362384184452775649311777755189162364804428739438733886421190841599393284032499618736594054572838636962845446571583771860379424" 169string(9) "513032517" 170string(97) "1269389652350468424962405917839748437534426606829298977422985976022226588797299164880342257267822" 171string(3) "111" 172string(31) "1007352579363975542750518386428" 173string(301) "5972672173406546932378461222050826195392618168845902231231085819967980051373112173617569638344495916340820360974139193579303652817960325137050189614326029375858951250371622253667077551034119958866481056760107123567590230789917209543206262943739654964107980961862387602012190907147667678648223791029527" 174string(4) "2362" 175string(5) "-9377" 176string(5) "-8435" 177NULL 178string(193) "2481908463276861025880840116973116041137167231715512003123396619946362384184452775649311777755189162364804428739438733886421190841599393284032499618736594054572838636962845446571583771860379424" 179string(9) "513032517" 180string(97) "1269389652350468424962405917839748437534426606829298977422985976022226588797299164880342257267822" 181string(3) "111" 182string(31) "1007352579363975542750518386428" 183string(301) "5972672173406546932378461222050826195392618168845902231231085819967980051373112173617569638344495916340820360974139193579303652817960325137050189614326029375858951250371622253667077551034119958866481056760107123567590230789917209543206262943739654964107980961862387602012190907147667678648223791029527" 184string(4) "2362" 185string(5) "-9377" 186string(5) "-8435" 187NULL 188string(193) "2481908463276861025880840116973116041137167231715512003123396619946362384184452775649311777755189162364804428739438733886421190841599393284032499618736594054572838636962845446571583771860379424" 189string(9) "513032517" 190string(97) "1269389652350468424962405917839748437534426606829298977422985976022226588797299164880342257267822" 191string(3) "111" 192string(31) "1007352579363975542750518386428" 193string(301) "5972672173406546932378461222050826195392618168845902231231085819967980051373112173617569638344495916340820360974139193579303652817960325137050189614326029375858951250371622253667077551034119958866481056760107123567590230789917209543206262943739654964107980961862387602012190907147667678648223791029527" 194string(4) "2362" 195string(5) "-9377" 196string(5) "-8435" 197NULL 198string(193) "2481908463276861025880840116973116041137167231715512003123396619946362384184452775649311777755189162364804428739438733886421190841599393284032499618736594054572838636962845446571583771860379424" 199string(9) "513032517" 200string(97) "1269389652350468424962405917839748437534426606829298977422985976022226588797299164880342257267822" 201string(3) "111" 202string(31) "1007352579363975542750518386428" 203string(301) "5972672173406546932378461222050826195392618168845902231231085819967980051373112173617569638344495916340820360974139193579303652817960325137050189614326029375858951250371622253667077551034119958866481056760107123567590230789917209543206262943739654964107980961862387602012190907147667678648223791029527" 204string(4) "2362" 205string(5) "-9377" 206string(5) "-8435" 207NULL 208string(193) "4314861641594785951065006537821497084129700255567731661104366342587560122488351847486220156468888511744226746306538524023190734733433083354034308520246964938498767672539252131810891590624763642" 209string(10) "3301287097" 210string(97) "1532710025135934106005683287301200805525218110207399702226596673360222079570223526337866801028045" 211string(3) "317" 212string(30) "949682013136255600092941702271" 213string(302) "10419061168407861659407303769436775291881708415032871985692089124472434944956010985892897595466043265819000974537553172663152640727594826474137173310039809413311432062725623183603946900548710858191078057179743726366436832870919212340219523613153893742764101120396858424887711932475871305848021245801132" 214string(4) "2417" 215string(5) "-7975" 216string(4) "-378" 217NULL 218string(193) "4314861641594785951065006537821497084129700255567731661104366342587560122488351847486220156468888511744226746306538524023190734733433083354034308520246964938498767672539252131810891590624763642" 219string(10) "3301287097" 220string(97) "1532710025135934106005683287301200805525218110207399702226596673360222079570223526337866801028045" 221string(3) "317" 222string(30) "949682013136255600092941702271" 223string(302) "10419061168407861659407303769436775291881708415032871985692089124472434944956010985892897595466043265819000974537553172663152640727594826474137173310039809413311432062725623183603946900548710858191078057179743726366436832870919212340219523613153893742764101120396858424887711932475871305848021245801132" 224string(4) "2417" 225string(5) "-7975" 226string(4) "-378" 227 228Warning: gmp_random_seed(): Unable to convert variable to GMP - string is not an integer in %s on line %d 229bool(false) 230Done