**Important:**
The information in this document is obsolete and should not be used for new development.

**Inside Macintosh:****QuickDraw GX Environment and Utilities**/**Chapter 8 - QuickDraw GX Mathematics**/**Using QuickDraw GX Mathematics**

## Generating Random Numbers

You can use the QuickDraw GX random number functions to return a sequence of random numbers. The`RandomBits`

function generates random integers in the range of 0 to 2count- 1, wherecountis the number of bits in the integer to be generated by the random number generator.The

`SetRandomSeed`

function allows you to use a seed other than the default seed. If the`SetRandomSeed`

function is not used, the initial seed will always be 0. You can use the`GetRandomSeed`

function to return the value of the current seed.Listing 8-8 is a sample function that generates an unsigned random number between zero and the value passed in the

`limit`

parameter. It uses the`RandomBits`

function, and it also uses the`WideMultiply`

function, correcting for the fact that`WideMultiply`

works with signed long integers whereas this random generator uses unsigned longs.

Listing 8-8 A random number generator

unsigned long RandomLong(unsigned long limit) { wide temp; unsigned long random = RandomBits(32, 0); /* This treats random and limit as signed */ WideMultiply(random, limit, &temp); if ((long)limit < 0) temp.hi += random; /* correct for the "sign" of limit */ if ((long)random < 0) temp.hi += limit; /* correct for the "sign" of random */ return temp.hi; }The general topic of random numbers and the functions you use to generate them generation are discussed in the section "Random Number Generation" beginning on page 8-58.

7 JUL 1996