00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef __G_RAND_H__
00029 #define __G_RAND_H__
00030
00031 #include <_ansi.h>
00032 #include <glib/gtypes.h>
00033
00034 G_BEGIN_DECLS
00035
00036 typedef struct _GRand GRand;
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047 IMPORT_C GRand* g_rand_new_with_seed (guint32 seed);
00048 IMPORT_C GRand* g_rand_new_with_seed_array (const guint32 *seed,
00049 guint seed_length);
00050 IMPORT_C GRand* g_rand_new (void);
00051 IMPORT_C void g_rand_free (GRand *rand_);
00052 IMPORT_C GRand* g_rand_copy (GRand *rand_);
00053 IMPORT_C void g_rand_set_seed (GRand *rand_,
00054 guint32 seed);
00055 IMPORT_C void g_rand_set_seed_array (GRand *rand_,
00056 const guint32 *seed,
00057 guint seed_length);
00058
00059 #define g_rand_boolean(rand_) ((g_rand_int (rand_) & (1 << 15)) != 0)
00060
00061 IMPORT_C guint32 g_rand_int (GRand *rand_);
00062 IMPORT_C gint32 g_rand_int_range (GRand *rand_,
00063 gint32 begin,
00064 gint32 end);
00065 IMPORT_C gdouble g_rand_double (GRand *rand_);
00066 IMPORT_C gdouble g_rand_double_range (GRand *rand_,
00067 gdouble begin,
00068 gdouble end);
00069 IMPORT_C void g_random_set_seed (guint32 seed);
00070
00071 #define g_random_boolean() ((g_random_int () & (1 << 15)) != 0)
00072
00073 IMPORT_C guint32 g_random_int (void);
00074 IMPORT_C gint32 g_random_int_range (gint32 begin,
00075 gint32 end);
00076 IMPORT_C gdouble g_random_double (void);
00077 IMPORT_C gdouble g_random_double_range (gdouble begin,
00078 gdouble end);
00079
00080
00081 G_END_DECLS
00082
00083 #endif
00084
00085
00086
00087
00088
00089