home *** CD-ROM | disk | FTP | other *** search
- /*-----------------------------------------------------*/
- /* RAND.C */
- /* Zufallszahlen-Generator */
- /*-----------------------------------------------------*/
-
- static unsigned int seed; /* Merker für Zufallszahl */
- /* "Privat" in Modul ! */
-
- double rand(void){
-
- # define c 824.0
- # define k 0.0
- # define m 10657.0
- double s;
-
- /* Real-Arithmerik um Integer-Overflow zu vermeiden! */
- s = (double)seed*c + k;
- s = s - (double)(((int)(s/m)) * m); /* s mod m */
- seed = (unsigned int)s;
- return(s/m);
- }
-
- void randomize(init)
- int init;
- {
- if (init < 0)
- seed = (unsigned int)(-init);
- else
- seed = (unsigned int)init;
- }
- /*-----------------------------------------------------*/
- /* Ende RAND.C */