Implémentation du raytracing pour Global Memory/Shared Memory/Constant Memory
[GPU.git] / WCudaMSE / BilatTools_CPP / src / core / tools / header / AleaTools.h
1 #ifndef ALEATOOLS_H_
2 #define ALEATOOLS_H_
3
4 #include <cstdlib>
5 #include <time.h>
6
7 /*----------------------------------------------------------------------*\
8 |* Declaration *|
9 \*---------------------------------------------------------------------*/
10
11
12 /**
13 * Not thread safe, see OpenpTools to obtian random number with parrallel thread
14 */
15 class AleaTools
16 {
17 public:
18
19 /*--------------------------------------*\
20 |* Constructor *|
21 \*-------------------------------------*/
22
23 /**
24 * practice srand(time(NULL));
25 */
26 AleaTools();
27
28 AleaTools(uint seed);
29
30 /*--------------------------------------*\
31 |* Destructor *|
32 \*-------------------------------------*/
33
34 virtual ~AleaTools();
35
36 /*--------------------------------------*\
37 |* Methodes *|
38 \*-------------------------------------*/
39
40 /**
41 * in [a,b]
42 * Attention : pas thread safe
43 */
44 double uniformeAB(double a,double b);
45
46 /**
47 * in [0,1]
48 * Attention : pas thread safe
49 */
50 double uniforme01(void);
51
52 /**
53 * in [a,b]
54 * Attention : pas thread safe
55 */
56 int uniformeAB(int a,int b);
57
58
59 private:
60
61 /*--------------------------------------*\
62 |* Methodes *|
63 \*-------------------------------------*/
64
65 /*--------------------------------------*\
66 |* Attributs *|
67 \*-------------------------------------*/
68
69 };
70
71 #endif
72
73
74 /*----------------------------------------------------------------------*\
75 |* End *|
76 \*---------------------------------------------------------------------*/