#ifndef _GOOMTOOLS_H #define _GOOMTOOLS_H #define NB_RAND 0x10000 #define RAND_INIT(gd,i) \ srand (i); \ if (gd->rand_tab == NULL) \ gd->rand_tab = g_malloc (NB_RAND * sizeof(gint)) ;\ gd->rand_pos = 0; \ while (gd->rand_pos < NB_RAND) \ gd->rand_tab [gd->rand_pos++] = rand (); #define RAND(gd) \ (gd->rand_tab[gd->rand_pos = ((gd->rand_pos + 1) % NB_RAND)]) #define RAND_CLOSE(gd) \ g_free (gd->rand_tab); \ gd->rand_tab = NULL; /*#define iRAND(i) ((guint32)((float)i * RAND()/RAND_MAX)) */ #define iRAND(gd,i) (RAND(gd) % i) #endif