From: "John M. Aldrich" Newsgroups: comp.os.msdos.djgpp Subject: Re: Simple random number generation question Date: Fri, 27 Mar 1998 19:02:54 -0500 Organization: Two pounds of chaos and a pinch of salt. Lines: 35 Message-ID: <351C3E2E.5F5C@cs.com> References: <1998032722364801 DOT RAA11959 AT ladder03 DOT news DOT aol DOT com> NNTP-Posting-Host: ppp246.cs.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk KillFerFun wrote: > > How do you seed the random number generator (like with Borland's randomize() > function)? > > Is there any list of legal DJGPP commands and usages? I use a Borland C++ help > file, but many of the functions are not portable. Could someone point me to a > URL? Much appreciated... The libc documentation comes with DJGPP and can be read with the GNU Info reader (v2gnu/txi390b.zip). Just install Info and type "info libc" to read it. DJGPP has the ANSI-standard functions rand() and srand() (randomize is a Borland-ism that I particularly detest). You call srand() to seed the RNG and rand() to obtain random values from 0 to RAND_MAX (defined in . A good seed value is the system clock - include and call srand((int)time(NULL)). You can clip the value from rand() to the desired range with the mod (%) operator. DJGPP also has a more complex, and more robust RNG called random(), which you can seed with the srandom() function. It's nonstandard but provides substantially better performance than rand(), at the cost of some speed. P.S.: The documentation for srand() was inadvertently omitted from the v2.01 libc.inf. It will be in the next version. -- --------------------------------------------------------------------- | John M. Aldrich | "A 'critic' is a man who creates | | aka Fighteer I | nothing and thereby feels qualified | | mailto:fighteer AT cs DOT com | to judge the work of creative men." | | http://www.cs.com/fighteer | - Lazarus Long | ---------------------------------------------------------------------