| 18 | boost::uniform_int<UInt64>* UniqueIdGenerator::dist_ = nullptr; |
| 19 | |
| 20 | UInt64 UniqueIdGenerator::getUniqueId() |
| 21 | { |
| 22 | UniqueIdGenerator& instance = getInstance_(); |
| 23 | #ifdef _OPENMP |
| 24 | UInt64 val; |
| 25 | #pragma omp critical (OPENMS_UniqueIdGenerator_getUniqueId) |
| 26 | { |
| 27 | val = (*instance.dist_)(*instance.rng_); |
| 28 | } |
| 29 | // note: OpenMP can only work on a structured block, return needs to be outside that block |
| 30 | return val; |
| 31 | #else |
| 32 | return (*instance.dist_)(*instance.rng_); |
| 33 | #endif |
| 34 | } |
| 35 | |
| 36 | UInt64 UniqueIdGenerator::getSeed() |
| 37 | { |
no outgoing calls