diff --git a/glib/grand.c b/glib/grand.c index b97617bf2..bb1bffe1b 100644 --- a/glib/grand.c +++ b/glib/grand.c @@ -586,7 +586,11 @@ g_rand_double (GRand* rand) gdouble g_rand_double_range (GRand* rand, gdouble begin, gdouble end) { - return g_rand_double (rand) * (end - begin) + begin; + gdouble r; + + r = g_rand_double (rand); + + return r * end - (r - 1) * begin; } /**