source: XMLIO_V2/external/include/random/discrete-uniform.h @ 80

Last change on this file since 80 was 80, checked in by ymipsl, 14 years ago

ajout lib externe

  • Property svn:eol-style set to native
File size: 568 bytes
Line 
1#ifndef BZ_RANDOM_DISCRETE_UNIFORM_H
2#define BZ_RANDOM_DISCRETE_UNIFORM_H
3
4#include <random/default.h>
5
6BZ_NAMESPACE(ranlib)
7
8template<typename T = unsigned int, typename IRNG = defaultIRNG,
9    typename stateTag = defaultState>
10class DiscreteUniform : public IRNGWrapper<IRNG,stateTag>
11{
12public:
13    typedef T T_numtype;
14
15    DiscreteUniform(T n)
16    {
17        BZPRECONDITION(n < 4294967295U);
18        n_ = n;
19    }
20
21    T random()
22    {
23        return this->irng_.random() % n_;
24    }
25
26private:
27    T n_;
28};
29
30BZ_NAMESPACE_END
31
32#endif // BZ_RANDOM_DISCRETE_UNIFORM_H
Note: See TracBrowser for help on using the repository browser.