libvisual  0.5.0
lv_random_c.cpp
1 #include "lv_random.h"
2 #include "lv_common.h"
3 
4 using namespace LV;
5 
6 extern "C" {
7 
9 
10  VisRandomContext *visual_random_context_new (VisRandomSeed seed)
11  {
12  return new RandomContext (seed);
13  }
14 
15  void visual_random_context_free (VisRandomContext *rcontext)
16  {
17  delete rcontext;
18  }
19 
20  void visual_random_context_set_seed (VisRandomContext *rcontext, VisRandomSeed seed)
21  {
22  visual_return_if_fail (rcontext != nullptr);
23 
24  rcontext->set_seed (seed);
25  }
26 
27  uint32_t visual_random_context_int (VisRandomContext *rcontext)
28  {
29  visual_return_val_if_fail (rcontext != nullptr, 0);
30 
31  return rcontext->get_int ();
32  }
33 
34  uint32_t visual_random_context_int_range (VisRandomContext *rcontext, unsigned int min, unsigned int max)
35  {
36  visual_return_val_if_fail (rcontext != nullptr, 0);
37 
38  return rcontext->get_int (min, max);
39  }
40 
41  double visual_random_context_double (VisRandomContext *rcontext)
42  {
43  visual_return_val_if_fail (rcontext != nullptr, 0.0);
44 
45  return rcontext->get_double ();
46  }
47 
48  float visual_random_context_float (VisRandomContext *rcontext)
49  {
50  visual_return_val_if_fail (rcontext != nullptr, 0.0);
51 
52  return rcontext->get_float ();
53  }
54 
55 } // C extern