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