SHOW:
|
|
- or go back to the newest paste.
1 | //file: myclass.h | |
2 | status myclass::doThat(param1, param2){ | |
3 | ||
4 | bool cond = shouldIStop(param1, param2, param3, param4); | |
5 | status myStatus = NOTLEAF; | |
6 | if(!cond){ | |
7 | ... | |
8 | doSomething(param3, param4); | |
9 | ... | |
10 | ... | |
11 | ... | |
12 | doThat(param1, param2, param3, param4); | |
13 | } | |
14 | else{ | |
15 | ... | |
16 | ... | |
17 | myStatus = LEAF; | |
18 | ... | |
19 | } | |
20 | return (myStatus); | |
21 | } | |
22 | ||
23 | void myclass::doSomething(double treshmin, double treshmax) | |
24 | { | |
25 | - | std::random_device rd; |
25 | + | mygen gen(treshmin, treshmax); |
26 | - | static std::mt19937 engine(rd()); |
26 | + | |
27 | double curThreshold = gen(); | |
28 | - | double curThreshold = randomDoubleEngine(engine, treshmin, treshmax ); |
28 | + | |
29 | } | |
30 | ||
31 | //file: utilities.h | |
32 | struct mygen | |
33 | - | template <typename Generator> |
33 | + | |
34 | - | double randomDoubleEngine(Generator& engine, double low_bound, double high_bound ) |
34 | + | mygen(double low, double high) : dist(low, high) {} |
35 | double operator()() { return dist(eng); } | |
36 | - | if (low_bound > high_bound){ |
36 | + | private: |
37 | - | std::swap(low_bound, high_bound); |
37 | + | |
38 | - | } |
38 | + | std::mt19937 engine; |
39 | std::uniform_real_distribution<> dist; | |
40 | - | return std::uniform_real_distribution<>( low_bound, high_bound )( engine ); |
40 | + |