mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-04 21:54:27 +08:00
* Exploration * Initial work on GA fro Rgroup Symmetry * GA for rgroup decomp and fingerprint rgroup symmetry scoring * Continuing development * Exploration * Initial work on GA fro Rgroup Symmetry * GA for rgroup decomp and fingerprint rgroup symmetry scoring * Continuing development * Further development * Continued tweaks * Function rename * Continued tweaks * Bug fix for variance calculation * Copyright notices. Remove Eigen dependency. RdKit logging. Clock fix. * Changes to fix build failures * Fixes for Windows dynamic DLL build * Included GA export.h file * Fixed RGroupDecomp CMakeLists.txt * Notebooks working, GGroup labelling bug fixed * Fix windows build. More options for example GA program * More bugs found and tests adjusted * Fixed Python rgroup test * Trivial change to trigger CI * OSX java and windows build fixes * Windows DLL fix * Fix segmentation error * proposed change * Possible fix for segmentation fault * CR fixes * CR fixes * CR fixes * Recreates molecules from rgroups where possible Co-authored-by: greg landrum <greg.landrum@gmail.com> Co-authored-by: Brian Kelley <fustigator@gmail.com>
44 lines
981 B
C++
44 lines
981 B
C++
//
|
|
// Copyright (C) 2020 Gareth Jones, Glysade LLC
|
|
//
|
|
// @@ All Rights Reserved @@
|
|
// This file is part of the RDKit.
|
|
// The contents are covered by the terms of the BSD license
|
|
// which is included in the file license.txt, found at the root
|
|
// of the RDKit source tree.
|
|
//
|
|
|
|
#include "RandomUtil.h"
|
|
|
|
using std::mt19937;
|
|
using std::uniform_real_distribution;
|
|
|
|
namespace GarethUtil {
|
|
|
|
// RandomUtil::RandomUtil(uint32_t seed_) :
|
|
// realDistribution(0, 1){
|
|
// seed(seed_);
|
|
//}
|
|
|
|
RandomUtil::RandomUtil() : realDistribution(0, 1) {}
|
|
|
|
RandomUtil::~RandomUtil() {}
|
|
|
|
void RandomUtil::seed(uint32_t seed_) { rng.seed(seed_); }
|
|
|
|
double RandomUtil::normalRand() { return realDistribution(rng); }
|
|
|
|
int RandomUtil::randomInt(int bottom, int top) {
|
|
int step = rng() % (top - bottom);
|
|
return bottom + step;
|
|
}
|
|
|
|
bool RandomUtil::randomBoolean() { return normalRand() < 0.5; }
|
|
|
|
RandomUtil &RandomUtil::getInstance() {
|
|
static RandomUtil rng;
|
|
return rng;
|
|
}
|
|
|
|
} // namespace GarethUtil
|