summaryrefslogtreecommitdiffstats
path: root/gst/goom/goom_tools.h
blob: 91f310c2498dd66572d0d79b95dafb72df1ebfc5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef _GOOMTOOLS_H
#define _GOOMTOOLS_H

#define NB_RAND 0x10000

/* in graphic.c */
extern int * rand_tab ;
extern unsigned short rand_pos ;

#define RAND_INIT(i) \
        srand (i) ;\
        if (!rand_tab)\
                rand_tab = (int *) malloc (NB_RAND * sizeof(int)) ;\
        rand_pos = 1 ;\
        while (rand_pos != 0)\
                rand_tab [rand_pos++] = rand () ;

#define RAND()\
        (rand_tab[rand_pos = rand_pos + 1])

#define RAND_CLOSE()\
        free (rand_tab);\
        rand_tab = 0;


/*#define iRAND(i) ((guint32)((float)i * RAND()/RAND_MAX)) */
#define iRAND(i) (RAND()%i)
        
#endif