home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / compsrcs / misc / volume05 / random < prev    next >
SHell self-extracting ARchive  |  1991-08-27  |  3.5 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: SHell self-extracting ARchive (archive/shar).

You can browse this item here: random

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file ASCII text default
100% TrID E-Mail message (Var. 2) default
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime application/mbox default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 20 64 65 63 | 77 72 6c 21 6c 61 62 72 |From dec|wrl!labr|
|00000010| 65 61 21 72 75 74 67 65 | 72 73 21 6d 61 69 6c 72 |ea!rutge|rs!mailr|
|00000020| 75 73 21 63 77 6a 63 63 | 21 68 61 6c 21 6e 63 6f |us!cwjcc|!hal!nco|
|00000030| 61 73 74 21 61 6c 6c 62 | 65 72 79 20 53 75 6e 20 |ast!allb|ery Sun |
|00000040| 4f 63 74 20 33 30 20 31 | 35 3a 30 35 3a 35 39 20 |Oct 30 1|5:05:59 |
|00000050| 50 53 54 20 31 39 38 38 | 0a 41 72 74 69 63 6c 65 |PST 1988|.Article|
|00000060| 20 36 38 36 20 6f 66 20 | 63 6f 6d 70 2e 73 6f 75 | 686 of |comp.sou|
|00000070| 72 63 65 73 2e 6d 69 73 | 63 3a 0a 50 61 74 68 3a |rces.mis|c:.Path:|
|00000080| 20 67 72 61 6e 69 74 65 | 21 64 65 63 77 72 6c 21 | granite|!decwrl!|
|00000090| 6c 61 62 72 65 61 21 72 | 75 74 67 65 72 73 21 6d |labrea!r|utgers!m|
|000000a0| 61 69 6c 72 75 73 21 63 | 77 6a 63 63 21 68 61 6c |ailrus!c|wjcc!hal|
|000000b0| 21 6e 63 6f 61 73 74 21 | 61 6c 6c 62 65 72 79 0a |!ncoast!|allbery.|
|000000c0| 46 72 6f 6d 3a 20 66 75 | 61 74 40 63 75 6e 69 78 |From: fu|at@cunix|
|000000d0| 63 2e 63 63 2e 63 6f 6c | 75 6d 62 69 61 2e 65 64 |c.cc.col|umbia.ed|
|000000e0| 75 20 28 46 75 61 74 20 | 43 2e 20 42 61 72 61 6e |u (Fuat |C. Baran|
|000000f0| 29 0a 4e 65 77 73 67 72 | 6f 75 70 73 3a 20 63 6f |).Newsgr|oups: co|
|00000100| 6d 70 2e 73 6f 75 72 63 | 65 73 2e 6d 69 73 63 0a |mp.sourc|es.misc.|
|00000110| 53 75 62 6a 65 63 74 3a | 20 76 30 35 69 30 30 39 |Subject:| v05i009|
|00000120| 3a 20 4d 69 6e 69 6d 61 | 6c 20 53 74 61 6e 64 61 |: Minima|l Standa|
|00000130| 72 64 20 52 61 6e 64 6f | 6d 20 4e 75 6d 62 65 72 |rd Rando|m Number|
|00000140| 20 47 65 6e 65 72 61 74 | 6f 72 0a 4b 65 79 77 6f | Generat|or.Keywo|
|00000150| 72 64 73 3a 20 72 61 6e | 64 6f 6d 20 6e 75 6d 62 |rds: ran|dom numb|
|00000160| 65 72 20 67 65 6e 65 72 | 61 74 6f 72 0a 4d 65 73 |er gener|ator.Mes|
|00000170| 73 61 67 65 2d 49 44 3a | 20 3c 31 30 35 37 40 63 |sage-ID:| <1057@c|
|00000180| 75 6e 69 78 63 2e 63 6f | 6c 75 6d 62 69 61 2e 65 |unixc.co|lumbia.e|
|00000190| 64 75 3e 0a 44 61 74 65 | 3a 20 32 38 20 4f 63 74 |du>.Date|: 28 Oct|
|000001a0| 20 38 38 20 30 32 3a 33 | 31 3a 32 30 20 47 4d 54 | 88 02:3|1:20 GMT|
|000001b0| 0a 53 65 6e 64 65 72 3a | 20 61 6c 6c 62 65 72 79 |.Sender:| allbery|
|000001c0| 40 6e 63 6f 61 73 74 2e | 55 55 43 50 0a 52 65 70 |@ncoast.|UUCP.Rep|
|000001d0| 6c 79 2d 54 6f 3a 20 66 | 75 61 74 40 63 75 6e 69 |ly-To: f|uat@cuni|
|000001e0| 78 63 2e 63 63 2e 63 6f | 6c 75 6d 62 69 61 2e 65 |xc.cc.co|lumbia.e|
|000001f0| 64 75 20 28 46 75 61 74 | 20 43 2e 20 42 61 72 61 |du (Fuat| C. Bara|
|00000200| 6e 29 0a 4f 72 67 61 6e | 69 7a 61 74 69 6f 6e 3a |n).Organ|ization:|
|00000210| 20 43 6f 6c 75 6d 62 69 | 61 20 55 6e 69 76 65 72 | Columbi|a Univer|
|00000220| 73 69 74 79 20 43 65 6e | 74 65 72 20 66 6f 72 20 |sity Cen|ter for |
|00000230| 43 6f 6d 70 75 74 69 6e | 67 20 41 63 74 69 76 69 |Computin|g Activi|
|00000240| 74 69 65 73 0a 4c 69 6e | 65 73 3a 20 31 32 32 0a |ties.Lin|es: 122.|
|00000250| 41 70 70 72 6f 76 65 64 | 3a 20 61 6c 6c 62 65 72 |Approved|: allber|
|00000260| 79 40 6e 63 6f 61 73 74 | 2e 55 55 43 50 0a 0a 50 |y@ncoast|.UUCP..P|
|00000270| 6f 73 74 69 6e 67 2d 6e | 75 6d 62 65 72 3a 20 56 |osting-n|umber: V|
|00000280| 6f 6c 75 6d 65 20 35 2c | 20 49 73 73 75 65 20 39 |olume 5,| Issue 9|
|00000290| 0a 53 75 62 6d 69 74 74 | 65 64 2d 62 79 3a 20 22 |.Submitt|ed-by: "|
|000002a0| 46 75 61 74 20 43 2e 20 | 42 61 72 61 6e 22 20 3c |Fuat C. |Baran" <|
|000002b0| 66 75 61 74 40 63 75 6e | 69 78 63 2e 63 63 2e 63 |fuat@cun|ixc.cc.c|
|000002c0| 6f 6c 75 6d 62 69 61 2e | 65 64 75 3e 0a 41 72 63 |olumbia.|edu>.Arc|
|000002d0| 68 69 76 65 2d 6e 61 6d | 65 3a 20 72 61 6e 64 6f |hive-nam|e: rando|
|000002e0| 6d 0a 0a 5b 43 6f 6e 66 | 6c 69 63 74 21 21 21 20 |m..[Conf|lict!!! |
|000002f0| 20 42 53 44 20 61 6c 72 | 65 61 64 79 20 68 61 73 | BSD alr|eady has|
|00000300| 20 61 20 72 61 6e 64 6f | 6d 28 29 20 77 68 69 63 | a rando|m() whic|
|00000310| 68 20 69 73 20 62 65 74 | 74 65 72 20 74 68 61 6e |h is bet|ter than|
|00000320| 20 72 61 6e 64 28 29 2e | 20 20 2b 2b 62 73 61 5d | rand().| ++bsa]|
|00000330| 0a 0a 49 20 64 6f 6e 27 | 74 20 6b 6e 6f 77 20 69 |..I don'|t know i|
|00000340| 66 20 74 68 69 73 20 69 | 73 20 72 65 61 6c 6c 79 |f this i|s really|
|00000350| 20 77 6f 72 74 68 20 70 | 6f 73 74 69 6e 67 20 28 | worth p|osting (|
|00000360| 49 20 6a 75 73 74 20 63 | 6f 6e 76 65 72 74 65 64 |I just c|onverted|
|00000370| 0a 70 73 65 75 64 6f 2d | 63 6f 64 65 20 74 6f 20 |.pseudo-|code to |
|00000380| 43 20 66 72 6f 6d 20 74 | 68 65 20 6c 61 74 65 73 |C from t|he lates|
|00000390| 74 20 69 73 73 75 65 20 | 6f 66 20 43 41 43 4d 29 |t issue |of CACM)|
|000003a0| 2c 20 62 75 74 20 69 6e | 20 63 61 73 65 20 6f 74 |, but in| case ot|
|000003b0| 68 65 72 0a 70 65 6f 70 | 6c 65 20 6e 65 65 64 20 |her.peop|le need |
|000003c0| 74 68 69 73 20 49 20 74 | 68 6f 75 67 68 74 20 49 |this I t|hought I|
|000003d0| 27 64 20 6d 61 6b 65 20 | 69 74 20 61 76 61 69 6c |'d make |it avail|
|000003e0| 61 62 6c 65 2e 20 20 49 | 74 20 69 6d 70 6c 65 6d |able. I|t implem|
|000003f0| 65 6e 74 73 20 61 0a 22 | 6d 69 6e 69 6d 61 6c 20 |ents a."|minimal |
|00000400| 73 74 61 6e 64 61 72 64 | 20 72 61 6e 64 6f 6d 20 |standard| random |
|00000410| 6e 75 6d 62 65 72 20 67 | 65 6e 65 72 61 74 6f 72 |number g|enerator|
|00000420| 22 20 64 69 73 63 75 73 | 73 65 64 20 69 6e 20 43 |" discus|sed in C|
|00000430| 41 43 4d 2e 20 20 49 74 | 20 69 73 0a 6d 65 61 6e |ACM. It| is.mean|
|00000440| 74 20 61 73 20 61 20 72 | 65 70 6c 61 63 65 6d 65 |t as a r|eplaceme|
|00000450| 6e 74 20 66 6f 72 20 72 | 61 6e 64 28 33 29 20 74 |nt for r|and(3) t|
|00000460| 68 61 74 20 63 6f 6d 65 | 73 20 77 69 74 68 20 34 |hat come|s with 4|
|00000470| 2e 78 20 42 53 44 20 77 | 68 69 63 68 20 69 73 0a |.x BSD w|hich is.|
|00000480| 73 61 69 64 20 74 6f 20 | 62 65 20 61 20 70 6f 6f |said to |be a poo|
|00000490| 72 20 67 65 6e 65 72 61 | 74 6f 72 20 61 63 63 6f |r genera|tor acco|
|000004a0| 72 64 69 6e 67 20 74 6f | 20 74 68 65 20 61 72 74 |rding to| the art|
|000004b0| 69 63 6c 65 2e 20 20 49 | 74 20 73 68 6f 75 6c 64 |icle. I|t should|
|000004c0| 20 77 6f 72 6b 0a 6f 6e | 20 61 6e 79 20 73 79 73 | work.on| any sys|
|000004d0| 74 65 6d 20 69 6e 20 77 | 68 69 63 68 20 74 68 65 |tem in w|hich the|
|000004e0| 20 6d 61 78 69 6d 75 6d | 20 69 6e 74 65 67 65 72 | maximum| integer|
|000004f0| 20 69 73 20 32 5e 33 31 | 2d 31 20 28 77 68 65 6e | is 2^31|-1 (when|
|00000500| 20 63 6f 6d 70 69 6c 65 | 64 0a 77 69 74 68 20 2d | compile|d.with -|
|00000510| 44 54 45 53 54 20 69 74 | 20 63 68 65 63 6b 73 20 |DTEST it| checks |
|00000520| 74 6f 20 73 65 65 20 77 | 68 65 74 68 65 72 20 6f |to see w|hether o|
|00000530| 72 20 6e 6f 74 20 69 74 | 20 77 61 73 20 69 6d 70 |r not it| was imp|
|00000540| 6c 65 6d 65 6e 74 65 64 | 0a 63 6f 72 72 65 63 74 |lemented|.correct|
|00000550| 6c 79 29 2e 0a 0a 09 09 | 09 09 09 2d 2d 46 75 61 |ly).....|...--Fua|
|00000560| 74 0a 0a 23 21 20 2f 62 | 69 6e 2f 73 68 0a 23 20 |t..#! /b|in/sh.# |
|00000570| 54 68 69 73 20 69 73 20 | 61 20 73 68 65 6c 6c 20 |This is |a shell |
|00000580| 61 72 63 68 69 76 65 2c | 20 6d 65 61 6e 69 6e 67 |archive,| meaning|
|00000590| 3a 0a 23 20 31 2e 20 52 | 65 6d 6f 76 65 20 65 76 |:.# 1. R|emove ev|
|000005a0| 65 72 79 74 68 69 6e 67 | 20 61 62 6f 76 65 20 74 |erything| above t|
|000005b0| 68 65 20 23 21 20 2f 62 | 69 6e 2f 73 68 20 6c 69 |he #! /b|in/sh li|
|000005c0| 6e 65 2e 0a 23 20 32 2e | 20 53 61 76 65 20 74 68 |ne..# 2.| Save th|
|000005d0| 65 20 72 65 73 75 6c 74 | 69 6e 67 20 74 65 78 74 |e result|ing text|
|000005e0| 20 69 6e 20 61 20 66 69 | 6c 65 2e 0a 23 20 33 2e | in a fi|le..# 3.|
|000005f0| 20 45 78 65 63 75 74 65 | 20 74 68 65 20 66 69 6c | Execute| the fil|
|00000600| 65 20 77 69 74 68 20 2f | 62 69 6e 2f 73 68 20 28 |e with /|bin/sh (|
|00000610| 6e 6f 74 20 63 73 68 29 | 20 74 6f 20 63 72 65 61 |not csh)| to crea|
|00000620| 74 65 3a 0a 23 09 72 61 | 6e 64 6f 6d 2e 63 0a 23 |te:.#.ra|ndom.c.#|
|00000630| 20 54 68 69 73 20 61 72 | 63 68 69 76 65 20 63 72 | This ar|chive cr|
|00000640| 65 61 74 65 64 3a 20 4d | 6f 6e 20 4f 63 74 20 32 |eated: M|on Oct 2|
|00000650| 34 20 31 37 3a 32 37 3a | 32 36 20 31 39 38 38 0a |4 17:27:|26 1988.|
|00000660| 65 78 70 6f 72 74 20 50 | 41 54 48 3b 20 50 41 54 |export P|ATH; PAT|
|00000670| 48 3d 2f 62 69 6e 3a 2f | 75 73 72 2f 62 69 6e 3a |H=/bin:/|usr/bin:|
|00000680| 24 50 41 54 48 0a 69 66 | 20 74 65 73 74 20 2d 66 |$PATH.if| test -f|
|00000690| 20 27 72 61 6e 64 6f 6d | 2e 63 27 0a 74 68 65 6e | 'random|.c'.then|
|000006a0| 0a 09 65 63 68 6f 20 73 | 68 61 72 3a 20 22 77 69 |..echo s|har: "wi|
|000006b0| 6c 6c 20 6e 6f 74 20 6f | 76 65 72 2d 77 72 69 74 |ll not o|ver-writ|
|000006c0| 65 20 65 78 69 73 74 69 | 6e 67 20 66 69 6c 65 20 |e existi|ng file |
|000006d0| 27 72 61 6e 64 6f 6d 2e | 63 27 22 0a 65 6c 73 65 |'random.|c'".else|
|000006e0| 0a 73 65 64 20 27 73 2f | 5e 58 2f 2f 27 20 3c 3c |.sed 's/|^X//' <<|
|000006f0| 20 5c 53 48 41 52 5f 45 | 4f 46 20 3e 20 27 72 61 | \SHAR_E|OF > 'ra|
|00000700| 6e 64 6f 6d 2e 63 27 0a | 58 2f 2a 2a 0a 58 20 2a |ndom.c'.|X/**.X *|
|00000710| 2a 20 72 61 6e 64 6f 6d | 2e 63 3a 20 4d 69 6e 69 |* random|.c: Mini|
|00000720| 6d 61 6c 20 53 74 61 6e | 64 61 72 64 20 50 73 65 |mal Stan|dard Pse|
|00000730| 75 64 6f 2d 52 61 6e 64 | 6f 6d 20 4e 75 6d 62 65 |udo-Rand|om Numbe|
|00000740| 72 20 47 65 6e 65 72 61 | 74 6f 72 0a 58 20 2a 2a |r Genera|tor.X **|
|00000750| 0a 58 20 2a 2a 20 41 75 | 74 68 6f 72 3a 20 46 75 |.X ** Au|thor: Fu|
|00000760| 61 74 20 43 2e 20 42 61 | 72 61 6e 2c 20 43 6f 6c |at C. Ba|ran, Col|
|00000770| 75 6d 62 69 61 20 55 6e | 69 76 65 72 73 69 74 79 |umbia Un|iversity|
|00000780| 2c 20 31 39 38 38 0a 58 | 20 2a 2a 0a 58 20 2a 2a |, 1988.X| **.X **|
|00000790| 20 42 61 73 65 64 20 6f | 6e 20 63 6f 64 65 20 69 | Based o|n code i|
|000007a0| 6e 20 22 52 61 6e 64 6f | 6d 20 4e 75 6d 62 65 72 |n "Rando|m Number|
|000007b0| 20 47 65 6e 65 72 61 74 | 6f 72 73 3a 20 47 6f 6f | Generat|ors: Goo|
|000007c0| 64 20 4f 6e 65 73 20 61 | 72 65 20 48 61 72 64 20 |d Ones a|re Hard |
|000007d0| 74 6f 20 46 69 6e 64 22 | 2c 0a 58 20 2a 2a 20 62 |to Find"|,.X ** b|
|000007e0| 79 20 53 74 65 70 68 65 | 6e 20 4b 2e 20 50 61 72 |y Stephe|n K. Par|
|000007f0| 6b 20 61 6e 64 20 4b 65 | 69 74 68 20 57 2e 20 4d |k and Ke|ith W. M|
|00000800| 69 6c 6c 65 72 20 69 6e | 20 43 6f 6d 6d 75 6e 69 |iller in| Communi|
|00000810| 63 61 74 69 6f 6e 73 20 | 6f 66 20 74 68 65 20 41 |cations |of the A|
|00000820| 43 4d 2c 0a 58 20 2a 2a | 20 33 31 2c 20 31 30 20 |CM,.X **| 31, 10 |
|00000830| 28 4f 63 74 2e 20 31 39 | 38 38 29 20 70 70 2e 20 |(Oct. 19|88) pp. |
|00000840| 31 31 39 32 2d 31 32 30 | 31 2e 0a 58 20 2a 2a 0a |1192-120|1..X **.|
|00000850| 58 20 2a 2a 20 52 65 71 | 75 69 72 65 6d 65 6e 74 |X ** Req|uirement|
|00000860| 73 3a 20 6d 61 78 69 6e | 74 20 6d 75 73 74 20 62 |s: maxin|t must b|
|00000870| 65 20 32 5e 33 31 20 2d | 31 20 6f 72 20 6c 61 72 |e 2^31 -|1 or lar|
|00000880| 67 65 72 2e 0a 58 20 2a | 2a 0a 58 20 2a 2a 20 43 |ger..X *|*.X ** C|
|00000890| 6f 6d 70 69 6c 65 20 77 | 69 74 68 20 2d 44 54 45 |ompile w|ith -DTE|
|000008a0| 53 54 20 61 6e 64 20 72 | 75 6e 20 74 6f 20 73 65 |ST and r|un to se|
|000008b0| 65 20 69 66 20 69 74 20 | 77 61 73 20 69 6d 70 6c |e if it |was impl|
|000008c0| 65 6d 65 6e 74 65 64 20 | 63 6f 72 72 65 63 74 6c |emented |correctl|
|000008d0| 79 2e 0a 58 20 2a 2a 2f | 0a 58 0a 58 2f 2a 20 73 |y..X **/|.X.X/* s|
|000008e0| 6f 6d 65 20 63 6f 6e 73 | 74 61 6e 74 73 20 77 65 |ome cons|tants we|
|000008f0| 20 6e 65 65 64 20 2a 2f | 0a 58 23 64 65 66 69 6e | need */|.X#defin|
|00000900| 65 20 41 20 31 36 38 30 | 37 0a 58 23 64 65 66 69 |e A 1680|7.X#defi|
|00000910| 6e 65 20 4d 20 32 31 34 | 37 34 38 33 36 34 37 09 |ne M 214|7483647.|
|00000920| 09 09 2f 2a 20 4d 65 72 | 73 65 6e 6e 65 20 70 72 |../* Mer|senne pr|
|00000930| 69 6d 65 20 32 5e 33 31 | 20 2d 31 20 2a 2f 0a 58 |ime 2^31| -1 */.X|
|00000940| 23 64 65 66 69 6e 65 20 | 51 20 31 32 37 37 37 33 |#define |Q 127773|
|00000950| 09 09 09 2f 2a 20 4d 20 | 64 69 76 20 41 20 28 4d |.../* M |div A (M|
|00000960| 20 2f 20 41 29 20 2a 2f | 0a 58 23 64 65 66 69 6e | / A) */|.X#defin|
|00000970| 65 20 52 20 32 38 33 36 | 09 09 09 09 2f 2a 20 4d |e R 2836|..../* M|
|00000980| 20 6d 6f 64 20 41 20 28 | 4d 20 25 20 41 29 20 2a | mod A (|M % A) *|
|00000990| 2f 0a 58 0a 58 73 74 61 | 74 69 63 20 6c 6f 6e 67 |/.X.Xsta|tic long|
|000009a0| 20 73 65 65 64 20 3d 20 | 31 3b 09 09 09 2f 2a 20 | seed = |1;.../* |
|000009b0| 69 6e 69 74 69 61 6c 69 | 7a 65 20 77 69 74 68 20 |initiali|ze with |
|000009c0| 72 61 6e 64 5f 69 6e 69 | 74 28 29 20 2a 2f 0a 58 |rand_ini|t() */.X|
|000009d0| 0a 58 0a 58 2f 2a 0a 58 | 20 2a 20 72 61 6e 64 6f |.X.X/*.X| * rando|
|000009e0| 6d 3a 0a 58 20 2a 20 6d | 69 6e 69 6d 61 6c 20 73 |m:.X * m|inimal s|
|000009f0| 74 61 6e 64 61 72 64 20 | 72 61 6e 64 6f 6d 20 6e |tandard |random n|
|00000a00| 75 6d 62 65 72 20 67 65 | 6e 65 72 61 74 6f 72 2e |umber ge|nerator.|
|00000a10| 0a 58 20 2a 20 63 61 6c | 6c 20 72 61 6e 64 5f 69 |.X * cal|l rand_i|
|00000a20| 6e 69 74 20 66 69 72 73 | 74 20 74 6f 20 69 6e 69 |nit firs|t to ini|
|00000a30| 74 69 61 6c 69 7a 65 20 | 73 65 65 64 2e 0a 58 20 |tialize |seed..X |
|00000a40| 2a 20 72 65 74 75 72 6e | 73 20 61 20 72 61 6e 64 |* return|s a rand|
|00000a50| 6f 6d 20 66 6c 6f 61 74 | 2e 0a 58 20 2a 2f 0a 58 |om float|..X */.X|
|00000a60| 0a 58 66 6c 6f 61 74 0a | 58 72 61 6e 64 6f 6d 20 |.Xfloat.|Xrandom |
|00000a70| 28 29 20 7b 0a 58 20 20 | 20 20 6c 6f 6e 67 20 68 |() {.X | long h|
|00000a80| 69 2c 20 6c 6f 3b 0a 58 | 20 20 20 20 0a 58 20 20 |i, lo;.X| .X |
|00000a90| 20 20 68 69 20 3d 20 73 | 65 65 64 20 2f 20 51 3b | hi = s|eed / Q;|
|00000aa0| 0a 58 20 20 20 20 6c 6f | 20 3d 20 73 65 65 64 20 |.X lo| = seed |
|00000ab0| 25 20 51 3b 0a 58 20 20 | 20 20 69 66 20 28 28 73 |% Q;.X | if ((s|
|00000ac0| 65 65 64 20 3d 20 41 20 | 2a 20 6c 6f 20 2d 20 52 |eed = A |* lo - R|
|00000ad0| 20 2a 20 68 69 29 20 3c | 3d 20 30 29 0a 58 20 20 | * hi) <|= 0).X |
|00000ae0| 20 20 20 20 20 20 73 65 | 65 64 20 2b 3d 20 4d 3b | se|ed += M;|
|00000af0| 0a 58 20 20 20 20 72 65 | 74 75 72 6e 20 28 28 66 |.X re|turn ((f|
|00000b00| 6c 6f 61 74 29 20 73 65 | 65 64 20 2f 20 4d 29 3b |loat) se|ed / M);|
|00000b10| 0a 58 7d 0a 58 0a 58 0a | 58 2f 2a 0a 58 20 2a 20 |.X}.X.X.|X/*.X * |
|00000b20| 72 61 6e 64 5f 69 6e 69 | 74 3a 0a 58 20 2a 20 69 |rand_ini|t:.X * i|
|00000b30| 6e 69 74 69 61 6c 69 7a | 65 20 73 65 65 64 2e 0a |nitializ|e seed..|
|00000b40| 58 20 2a 2f 0a 58 0a 58 | 76 6f 69 64 0a 58 72 61 |X */.X.X|void.Xra|
|00000b50| 6e 64 5f 69 6e 69 74 20 | 28 73 29 0a 58 6c 6f 6e |nd_init |(s).Xlon|
|00000b60| 67 20 73 3b 0a 58 7b 0a | 58 20 20 20 20 73 65 65 |g s;.X{.|X see|
|00000b70| 64 20 3d 20 73 3b 0a 58 | 7d 0a 58 0a 58 0a 58 23 |d = s;.X|}.X.X.X#|
|00000b80| 69 66 64 65 66 20 54 45 | 53 54 0a 58 0a 58 6d 61 |ifdef TE|ST.X.Xma|
|00000b90| 69 6e 20 28 29 20 7b 0a | 58 20 20 20 20 69 6e 74 |in () {.|X int|
|00000ba0| 20 69 3b 0a 58 20 20 20 | 20 66 6c 6f 61 74 20 72 | i;.X | float r|
|00000bb0| 3b 0a 58 0a 58 20 20 20 | 20 72 61 6e 64 5f 69 6e |;.X.X | rand_in|
|00000bc0| 69 74 20 28 31 29 3b 0a | 58 20 20 20 20 66 6f 72 |it (1);.|X for|
|00000bd0| 20 28 69 20 3d 20 30 3b | 20 69 20 3c 20 31 30 30 | (i = 0;| i < 100|
|00000be0| 30 30 3b 20 69 2b 2b 29 | 0a 58 09 72 20 3d 20 72 |00; i++)|.X.r = r|
|00000bf0| 61 6e 64 6f 6d 28 29 3b | 0a 58 20 20 20 20 70 72 |andom();|.X pr|
|00000c00| 69 6e 74 66 20 28 22 53 | 65 65 64 20 69 73 20 25 |intf ("S|eed is %|
|00000c10| 6c 64 20 28 73 68 6f 75 | 6c 64 20 62 65 20 31 30 |ld (shou|ld be 10|
|00000c20| 34 33 36 31 38 30 36 35 | 29 5c 6e 22 2c 20 73 65 |43618065|)\n", se|
|00000c30| 65 64 29 3b 0a 58 7d 0a | 58 0a 58 23 65 6c 73 65 |ed);.X}.|X.X#else|
|00000c40| 0a 58 0a 58 6d 61 69 6e | 20 28 29 20 7b 0a 58 20 |.X.Xmain| () {.X |
|00000c50| 20 20 20 69 6e 74 20 69 | 3b 0a 58 0a 58 20 20 20 | int i|;.X.X |
|00000c60| 20 66 6f 72 20 28 69 20 | 3d 20 30 3b 20 69 20 3c | for (i |= 0; i <|
|00000c70| 20 31 30 30 30 30 30 30 | 3b 20 69 2b 2b 29 0a 58 | 1000000|; i++).X|
|00000c80| 09 72 61 6e 64 6f 6d 28 | 29 3b 0a 58 7d 0a 58 0a |.random(|);.X}.X.|
|00000c90| 58 23 65 6e 64 69 66 20 | 2f 2a 20 54 45 53 54 20 |X#endif |/* TEST |
|00000ca0| 2a 2f 0a 58 0a 58 0a 53 | 48 41 52 5f 45 4f 46 0a |*/.X.X.S|HAR_EOF.|
|00000cb0| 66 69 0a 65 78 69 74 20 | 30 0a 23 09 45 6e 64 20 |fi.exit |0.#.End |
|00000cc0| 6f 66 20 73 68 65 6c 6c | 20 61 72 63 68 69 76 65 |of shell| archive|
|00000cd0| 0a 0a 0a 0a 2d 2d 20 0a | 49 4e 54 45 52 4e 45 54 |....-- .|INTERNET|
|00000ce0| 3a 20 66 75 61 74 40 63 | 6f 6c 75 6d 62 69 61 2e |: fuat@c|olumbia.|
|00000cf0| 65 64 75 20 20 20 20 20 | 20 20 20 20 20 55 2e 53 |edu | U.S|
|00000d00| 2e 20 4d 41 49 4c 3a 20 | 43 6f 6c 75 6d 62 69 61 |. MAIL: |Columbia|
|00000d10| 20 55 6e 69 76 65 72 73 | 69 74 79 0a 42 49 54 4e | Univers|ity.BITN|
|00000d20| 45 54 3a 20 20 20 66 75 | 61 74 40 63 75 6e 69 78 |ET: fu|at@cunix|
|00000d30| 63 2e 63 63 2e 63 6f 6c | 75 6d 62 69 61 2e 65 64 |c.cc.col|umbia.ed|
|00000d40| 75 20 20 20 20 20 20 20 | 20 20 20 20 43 65 6e 74 |u | Cent|
|00000d50| 65 72 20 66 6f 72 20 43 | 6f 6d 70 75 74 69 6e 67 |er for C|omputing|
|00000d60| 20 41 63 74 69 76 69 74 | 69 65 73 0a 55 53 45 4e | Activit|ies.USEN|
|00000d70| 45 54 3a 20 20 20 2e 2e | 2e 21 72 75 74 67 65 72 |ET: ..|.!rutger|
|00000d80| 73 21 63 6f 6c 75 6d 62 | 69 61 21 63 75 6e 69 78 |s!columb|ia!cunix|
|00000d90| 63 21 66 75 61 74 20 20 | 20 20 20 20 37 31 32 20 |c!fuat | 712 |
|00000da0| 57 61 74 73 6f 6e 20 4c | 61 62 73 2c 20 36 31 32 |Watson L|abs, 612|
|00000db0| 20 57 31 31 35 74 68 20 | 53 74 2e 0a 50 48 4f 4e | W115th |St..PHON|
|00000dc0| 45 3a 20 20 20 20 28 32 | 31 32 29 20 32 38 30 2d |E: (2|12) 280-|
|00000dd0| 35 31 32 38 20 20 20 20 | 20 20 20 20 20 20 20 20 |5128 | |
|00000de0| 20 20 20 20 20 20 20 20 | 20 20 20 20 4e 65 77 20 | | New |
|00000df0| 59 6f 72 6b 2c 20 4e 59 | 20 31 30 30 32 35 0a 0a |York, NY| 10025..|
|00000e00| 0a | |. | |
+--------+-------------------------+-------------------------+--------+--------+