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