From: Sebastian Wilhelmi Date: Thu, 31 May 2001 08:12:35 +0000 (+0000) Subject: Fix to stupid bug in g_random_boolean, also both functions now return 1 or X-Git-Tag: GLIB_1_3_6~16 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=08e47ea9f40e38d35b25934a0a34d3606c3443b1;p=platform%2Fupstream%2Fglib.git Fix to stupid bug in g_random_boolean, also both functions now return 1 or 2001-05-31 Sebastian Wilhelmi * grand.h (g_random_boolean, g_rand_boolean): Fix to stupid bug in g_random_boolean, also both functions now return 1 or 0 instead of 1<<15 or 0. --- diff --git a/ChangeLog b/ChangeLog index 74e0a47..98ae6ec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2001-05-31 Sebastian Wilhelmi + * grand.h (g_random_boolean, g_rand_boolean): Fix to stupid bug in + g_random_boolean, also both functions now return 1 or 0 instead of + 1<<15 or 0. + + * tests/rand-test.c: Extended testcases. + * configure.in: Remove G_HAVE_ISO_CXX_VARARGS and G_HAVE_ISO_C_VARARGS and define G_HAVE_ISO_VARARGS directly guarded by #if(n)def __cplusplus. diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 74e0a47..98ae6ec 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,5 +1,11 @@ 2001-05-31 Sebastian Wilhelmi + * grand.h (g_random_boolean, g_rand_boolean): Fix to stupid bug in + g_random_boolean, also both functions now return 1 or 0 instead of + 1<<15 or 0. + + * tests/rand-test.c: Extended testcases. + * configure.in: Remove G_HAVE_ISO_CXX_VARARGS and G_HAVE_ISO_C_VARARGS and define G_HAVE_ISO_VARARGS directly guarded by #if(n)def __cplusplus. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 74e0a47..98ae6ec 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,5 +1,11 @@ 2001-05-31 Sebastian Wilhelmi + * grand.h (g_random_boolean, g_rand_boolean): Fix to stupid bug in + g_random_boolean, also both functions now return 1 or 0 instead of + 1<<15 or 0. + + * tests/rand-test.c: Extended testcases. + * configure.in: Remove G_HAVE_ISO_CXX_VARARGS and G_HAVE_ISO_C_VARARGS and define G_HAVE_ISO_VARARGS directly guarded by #if(n)def __cplusplus. diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 74e0a47..98ae6ec 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,5 +1,11 @@ 2001-05-31 Sebastian Wilhelmi + * grand.h (g_random_boolean, g_rand_boolean): Fix to stupid bug in + g_random_boolean, also both functions now return 1 or 0 instead of + 1<<15 or 0. + + * tests/rand-test.c: Extended testcases. + * configure.in: Remove G_HAVE_ISO_CXX_VARARGS and G_HAVE_ISO_C_VARARGS and define G_HAVE_ISO_VARARGS directly guarded by #if(n)def __cplusplus. diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 74e0a47..98ae6ec 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,5 +1,11 @@ 2001-05-31 Sebastian Wilhelmi + * grand.h (g_random_boolean, g_rand_boolean): Fix to stupid bug in + g_random_boolean, also both functions now return 1 or 0 instead of + 1<<15 or 0. + + * tests/rand-test.c: Extended testcases. + * configure.in: Remove G_HAVE_ISO_CXX_VARARGS and G_HAVE_ISO_C_VARARGS and define G_HAVE_ISO_VARARGS directly guarded by #if(n)def __cplusplus. diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 74e0a47..98ae6ec 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,5 +1,11 @@ 2001-05-31 Sebastian Wilhelmi + * grand.h (g_random_boolean, g_rand_boolean): Fix to stupid bug in + g_random_boolean, also both functions now return 1 or 0 instead of + 1<<15 or 0. + + * tests/rand-test.c: Extended testcases. + * configure.in: Remove G_HAVE_ISO_CXX_VARARGS and G_HAVE_ISO_C_VARARGS and define G_HAVE_ISO_VARARGS directly guarded by #if(n)def __cplusplus. diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 74e0a47..98ae6ec 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,5 +1,11 @@ 2001-05-31 Sebastian Wilhelmi + * grand.h (g_random_boolean, g_rand_boolean): Fix to stupid bug in + g_random_boolean, also both functions now return 1 or 0 instead of + 1<<15 or 0. + + * tests/rand-test.c: Extended testcases. + * configure.in: Remove G_HAVE_ISO_CXX_VARARGS and G_HAVE_ISO_C_VARARGS and define G_HAVE_ISO_VARARGS directly guarded by #if(n)def __cplusplus. diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 74e0a47..98ae6ec 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,5 +1,11 @@ 2001-05-31 Sebastian Wilhelmi + * grand.h (g_random_boolean, g_rand_boolean): Fix to stupid bug in + g_random_boolean, also both functions now return 1 or 0 instead of + 1<<15 or 0. + + * tests/rand-test.c: Extended testcases. + * configure.in: Remove G_HAVE_ISO_CXX_VARARGS and G_HAVE_ISO_C_VARARGS and define G_HAVE_ISO_VARARGS directly guarded by #if(n)def __cplusplus. diff --git a/glib/grand.h b/glib/grand.h index 8cbeff6..5accc1a 100644 --- a/glib/grand.h +++ b/glib/grand.h @@ -49,7 +49,7 @@ void g_rand_free (GRand *rand); void g_rand_set_seed (GRand *rand, guint32 seed); -#define g_rand_boolean(rand) (g_rand_int ((rand)) & (1<<15)) +#define g_rand_boolean(rand) ((g_rand_int (rand) & (1 << 15)) != 0) guint32 g_rand_int (GRand *rand); gint32 g_rand_int_range (GRand *rand, @@ -62,7 +62,7 @@ gdouble g_rand_double_range (GRand *rand, void g_random_set_seed (guint32 seed); -#define g_random_boolean() (g_rand_boolean ((rand))) +#define g_random_boolean() ((g_random_int () & (1 << 15)) != 0) guint32 g_random_int (void); gint32 g_random_int_range (gint32 begin, diff --git a/grand.h b/grand.h index 8cbeff6..5accc1a 100644 --- a/grand.h +++ b/grand.h @@ -49,7 +49,7 @@ void g_rand_free (GRand *rand); void g_rand_set_seed (GRand *rand, guint32 seed); -#define g_rand_boolean(rand) (g_rand_int ((rand)) & (1<<15)) +#define g_rand_boolean(rand) ((g_rand_int (rand) & (1 << 15)) != 0) guint32 g_rand_int (GRand *rand); gint32 g_rand_int_range (GRand *rand, @@ -62,7 +62,7 @@ gdouble g_rand_double_range (GRand *rand, void g_random_set_seed (guint32 seed); -#define g_random_boolean() (g_rand_boolean ((rand))) +#define g_random_boolean() ((g_random_int () & (1 << 15)) != 0) guint32 g_random_int (void); gint32 g_random_int_range (gint32 begin, diff --git a/tests/rand-test.c b/tests/rand-test.c index cd89f0a..d13735c 100644 --- a/tests/rand-test.c +++ b/tests/rand-test.c @@ -40,15 +40,31 @@ int main() { gint32 i; gdouble d; + gboolean b; i = g_rand_int_range (rand, 8,16); g_assert (i >= 8 && i < 16); + i = g_random_int_range (8,16); + g_assert (i >= 8 && i < 16); + d = g_rand_double (rand); g_assert (d >= 0 && d < 1); + d = g_random_double (); + g_assert (d >= 0 && d < 1); + d = g_rand_double_range (rand, -8, 32); g_assert (d >= -8 && d < 32); + + d = g_random_double_range (-8, 32); + g_assert (d >= -8 && d < 32); + + b = g_random_boolean (); + g_assert (b == TRUE || b == FALSE); + + b = g_rand_boolean (rand); + g_assert (b == TRUE || b == FALSE); } g_rand_free (rand);