]> pd.if.org Git - pdclib/blob - functions/stdlib/rand.c
40d782448421c4e1201fe31b7dd97aff3c16d94c
[pdclib] / functions / stdlib / rand.c
1 /* $Id$ */
2
3 /* rand( void )
4
5    This file is part of the Public Domain C Library (PDCLib).
6    Permission is granted to use, modify, and / or redistribute at will.
7 */
8
9 #include <stdlib.h>
10
11 #ifndef REGTEST
12
13 int rand( void )
14 {
15     _PDCLIB_seed = _PDCLIB_seed * 1103515245 + 12345;
16     return (int)( _PDCLIB_seed / 65536 ) % 32768;
17 }
18
19 #endif
20
21 #ifdef TEST
22 #include <_PDCLIB_test.h>
23
24 int main( void )
25 {
26     int rnd1, rnd2;
27     TESTCASE( ( rnd1 = rand() ) < RAND_MAX );
28     TESTCASE( ( rnd2 = rand() ) < RAND_MAX );
29     srand( 1 );
30     TESTCASE( rand() == rnd1 );
31     TESTCASE( rand() == rnd2 );
32     return TEST_RESULTS;
33 }
34
35 #endif