1#! /usr/bin/bc 2 3define x(x) { 4 seed = x 5 seed@20 6 return seed 7} 8 9define y(x) { 10 auto s 11 seed@20 12 s = x(x) 13 seed@20 14 return s 15} 16 17define void u(x) { 18 seed = x 19 seed@20 20} 21 22define void v(x) { 23 u(x) 24 seed@20 25} 26 27define g(x) { 28 auto s 29 s = irand(x) 30 s < x 31 return seed 32} 33 34define h(x) { 35 auto s 36 s = g(x) 37 s == seed 38 return s 39} 40 41define j(x) { 42 auto s, r 43 seed@20 44 s = seed 45 r = rand() 46 seed = x 47 s != seed 48 return rand() 49} 50 51define k(x) { 52 auto s, r 53 s = seed 54 seed@20 55 r = j(x) 56 s != seed 57 seed = x 58 rand() == r 59 return r 60} 61 62define m(*a[]) { 63 auto i 64 seed = seed 65 for (i = 0; i < 100; ++i) { 66 a[i] = rand() 67 } 68 return seed 69} 70 71v(50.5) 72seed@20 73 74s = y(75.25) 75s@20 76seed@20 77 78r = rand() 79i = irand(r) 80 81i < r 82 83s = h(maxrand() ^ 4) 84s == seed 85 86seed = 2398.0625 87r = k(38.45) 88seed = 38.45 89r == rand() 90 91s = m(a[]) 92 93for (i = 0; i < 100; ++i) { 94 rand() == a[i] 95} 96 97s == seed 98