synfig-core  1.0.3
random.h
Go to the documentation of this file.
1 /* === S Y N F I G ========================================================= */
22 /* ========================================================================= */
23 
24 /* === S T A R T =========================================================== */
25 
26 #ifndef __SYNFIG_RANDOM_H
27 #define __SYNFIG_RANDOM_H
28 
29 /* === H E A D E R S ======================================================= */
30 
31 /* === M A C R O S ========================================================= */
32 
33 /* === T Y P E D E F S ===================================================== */
34 
35 /* === C L A S S E S & S T R U C T S ======================================= */
36 
37 
38 #define POOL_SIZE (256)
39 class Random
40 {
41  int pool_[POOL_SIZE];
42  int seed_;
43 
44  int x_mask, y_mask, t_mask;
45 
46 public:
47 
48  void set_seed(int x);
49  int get_seed()const { return seed_; }
50 
52  {
59  };
60 
61  float operator()(int salt,int x,int y=0, int t=0)const;
62  float operator()(SmoothType smooth,int subseed,float x,float y=0, float t=0)const;
63 };
64 
65 /* === E N D =============================================================== */
66 
67 #endif