Sun Sep 17 2000 Elliot Lee <sopwith@redhat.com> Define g_alloca() as an
[platform/upstream/glib.git] / tests / rand-test.c
1 #include <glib.h>
2
3 const gint32 first_numbers[] = 
4 {
5   0x7a7a7a7a,
6   0x20aea82a,
7   0xcab337ab,
8   0xdcf770ea,
9   0xdf552b2f,
10   0x32d1ef7f,
11   0x6bed6dd9,
12   0x7222df44,
13   0x6b842128,
14   0x07f8579a,
15   0x9dad1004,
16   0x2df264f2,
17   0x13b48989,
18   0xf2929475,
19   0x30f30c97,
20   0x3f9a1ea7,
21   0x3bf04710,
22   0xb85bd69e,
23   0x790a48b0,
24   0xfa06b85f,
25   0xa64cc9e3
26 };
27
28 const gint length = sizeof (first_numbers) / sizeof (first_numbers[0]);
29
30 int main()
31 {
32   guint n;
33
34   GRand* rand = g_rand_new_with_seed (first_numbers[0]);
35
36   for (n = 1; n < length; n++)
37     g_assert (first_numbers[n] == g_rand_int (rand));
38
39   for (n = 1; n < 100000; n++)
40     {
41       gint32 i;
42       gdouble d;
43
44       i = g_rand_int_range (rand, 8,16);
45       g_assert (i >= 8 && i < 16);
46       
47       d = g_rand_double (rand);
48       g_assert (d >= 0 && d < 1);
49
50       d = g_rand_double_range (rand, -8, 32);
51       g_assert (d >= -8 && d < 32);
52     }
53
54   g_rand_free (rand);
55
56   return 0;
57 }
58