-GRand* g_rand_new_with_seed (guint32 seed);
-GRand* g_rand_new (void);
-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)) != 0)
-
-guint32 g_rand_int (GRand *rand);
-gint32 g_rand_int_range (GRand *rand,
- gint32 begin,
- gint32 end);
-gdouble g_rand_double (GRand *rand);
-gdouble g_rand_double_range (GRand *rand,
- gdouble begin,
- gdouble end);
-
-void g_random_set_seed (guint32 seed);
+GLIB_AVAILABLE_IN_ALL
+GRand* g_rand_new_with_seed (guint32 seed);
+GLIB_AVAILABLE_IN_ALL
+GRand* g_rand_new_with_seed_array (const guint32 *seed,
+ guint seed_length);
+GLIB_AVAILABLE_IN_ALL
+GRand* g_rand_new (void);
+GLIB_AVAILABLE_IN_ALL
+void g_rand_free (GRand *rand_);
+GLIB_AVAILABLE_IN_ALL
+GRand* g_rand_copy (GRand *rand_);
+GLIB_AVAILABLE_IN_ALL
+void g_rand_set_seed (GRand *rand_,
+ guint32 seed);
+GLIB_AVAILABLE_IN_ALL
+void g_rand_set_seed_array (GRand *rand_,
+ const guint32 *seed,
+ guint seed_length);
+
+#define g_rand_boolean(rand_) ((g_rand_int (rand_) & (1 << 15)) != 0)
+
+GLIB_AVAILABLE_IN_ALL
+guint32 g_rand_int (GRand *rand_);
+GLIB_AVAILABLE_IN_ALL
+gint32 g_rand_int_range (GRand *rand_,
+ gint32 begin,
+ gint32 end);
+GLIB_AVAILABLE_IN_ALL
+gdouble g_rand_double (GRand *rand_);
+GLIB_AVAILABLE_IN_ALL
+gdouble g_rand_double_range (GRand *rand_,
+ gdouble begin,
+ gdouble end);
+GLIB_AVAILABLE_IN_ALL
+void g_random_set_seed (guint32 seed);