CONTENTS | INDEX | PREV | NEXT

 rand
 srand 

 NAME
  rand    - return pseudo random number
  srand   - set seed for pseudo random number

 SYNOPSIS
  #include <stdio.h>
  #include <stdlib.h>

  int n = rand(void);
  (void) srand(seed)

  unsigned int seed;

 FUNCTION
  rand() returns a random number as a positive integer ranging from
  0 to RAND_MAX.  RAND_MAX is defined in stdlib.h and is at least
  32767.  DICE implements it as 2147483647 == 0x7FFFFFFF

  The initial seed used to generate the pseudo random sequence is 1,
  but may be reinitialized to any number you desire using srand().
  rand() is guarenteed to return the same sequence for the same
  seed.

 EXAMPLE
  #include <stdio.h>
  #include <stdlib.h>

  main(ac, av)
  char *av[];
  {
      short i;
      short j;

      if (ac == 2) {
      int seed = strtol(av[1], NULL, 0);
      srand(seed);
      printf("using seed = %dn", seed);
      } else {
      puts("using seed = 1");
      }
      for (i = 0; i < 10; ++i) {
      int n = rand();
      printf("Random number: %08lx (%d)n", n, n);
      }
      for (i = 0; i < 31; ++i) {
      int isone = 0;
      long mask = 1 << i;
      for (j = 0; j < 32767; ++j) {
          if (rand() & mask)
          ++isone;
      }
      printf("bit %d %5d:%-5d (dev %d)n", i, 32767 - isone, isone, 16384 - isone);
      }
      return(0);
  }

 INPUTS
  unsigned int seed;  An unsigned integer used to seed the
              pseudo random number generator via srand()

 RESULTS
  int n;      returned by rand(), this number will be a positive integer.