aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/random_provider/random_provider.cpp
diff options
context:
space:
mode:
authorvvvv <vvvv@yandex-team.ru>2022-02-10 16:46:37 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:46:37 +0300
commita693106aae8a3a3c7236a4ae953058a9611d7a92 (patch)
tree49e222ea1c5804306084bb3ae065bb702625360f /library/cpp/random_provider/random_provider.cpp
parentad94e93a059747f4fc3d7add88d1a83daf40b733 (diff)
downloadydb-a693106aae8a3a3c7236a4ae953058a9611d7a92.tar.gz
Restoring authorship annotation for <vvvv@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/random_provider/random_provider.cpp')
-rw-r--r--library/cpp/random_provider/random_provider.cpp134
1 files changed, 67 insertions, 67 deletions
diff --git a/library/cpp/random_provider/random_provider.cpp b/library/cpp/random_provider/random_provider.cpp
index 5f09d8358a..64cb48b8b7 100644
--- a/library/cpp/random_provider/random_provider.cpp
+++ b/library/cpp/random_provider/random_provider.cpp
@@ -1,75 +1,75 @@
-#include "random_provider.h"
-#include <util/random/mersenne.h>
-#include <util/random/random.h>
+#include "random_provider.h"
+#include <util/random/mersenne.h>
+#include <util/random/random.h>
#include <util/system/unaligned_mem.h>
-
-namespace {
- void SetV4(TGUID& g) {
- g.dw[1] &= 0x0fffffff;
- g.dw[1] |= 0x40000000;
-
- g.dw[2] &= 0xffffff3f;
- g.dw[2] |= 0x00000080;
- }
-}
-
-class TDefaultRandomProvider: public IRandomProvider {
-public:
- ui64 GenRand() noexcept override {
- return RandomNumber<ui64>();
- }
-
- TGUID GenGuid() noexcept override {
- TGUID ret;
- CreateGuid(&ret);
- return ret;
- }
-
+
+namespace {
+ void SetV4(TGUID& g) {
+ g.dw[1] &= 0x0fffffff;
+ g.dw[1] |= 0x40000000;
+
+ g.dw[2] &= 0xffffff3f;
+ g.dw[2] |= 0x00000080;
+ }
+}
+
+class TDefaultRandomProvider: public IRandomProvider {
+public:
+ ui64 GenRand() noexcept override {
+ return RandomNumber<ui64>();
+ }
+
+ TGUID GenGuid() noexcept override {
+ TGUID ret;
+ CreateGuid(&ret);
+ return ret;
+ }
+
TGUID GenUuid4() noexcept override {
- TGUID ret;
+ TGUID ret;
WriteUnaligned<ui64>(ret.dw, RandomNumber<ui64>());
WriteUnaligned<ui64>(ret.dw + 2, RandomNumber<ui64>());
- SetV4(ret);
- return ret;
- }
-};
-
-class TDeterministicRandomProvider: public IRandomProvider {
-public:
- TDeterministicRandomProvider(ui64 seed)
- : Gen(seed)
- {
- }
-
- ui64 GenRand() noexcept override {
- return Gen.GenRand();
- }
-
- TGUID GenGuid() noexcept override {
- TGUID ret;
+ SetV4(ret);
+ return ret;
+ }
+};
+
+class TDeterministicRandomProvider: public IRandomProvider {
+public:
+ TDeterministicRandomProvider(ui64 seed)
+ : Gen(seed)
+ {
+ }
+
+ ui64 GenRand() noexcept override {
+ return Gen.GenRand();
+ }
+
+ TGUID GenGuid() noexcept override {
+ TGUID ret;
WriteUnaligned<ui64>(ret.dw, Gen.GenRand());
- ret.dw[2] = (ui32)Gen.GenRand();
- ret.dw[3] = ++GuidCount;
- return ret;
- }
-
+ ret.dw[2] = (ui32)Gen.GenRand();
+ ret.dw[3] = ++GuidCount;
+ return ret;
+ }
+
TGUID GenUuid4() noexcept override {
- TGUID ret;
+ TGUID ret;
WriteUnaligned<ui64>(ret.dw, Gen.GenRand());
WriteUnaligned<ui64>(ret.dw + 2, Gen.GenRand());
- SetV4(ret);
- return ret;
- }
-
-private:
- TMersenne<ui64> Gen;
- ui32 GuidCount = 0;
-};
-
-TIntrusivePtr<IRandomProvider> CreateDefaultRandomProvider() {
- return TIntrusivePtr<IRandomProvider>(new TDefaultRandomProvider());
-}
-
-TIntrusivePtr<IRandomProvider> CreateDeterministicRandomProvider(ui64 seed) {
- return TIntrusivePtr<IRandomProvider>(new TDeterministicRandomProvider(seed));
-}
+ SetV4(ret);
+ return ret;
+ }
+
+private:
+ TMersenne<ui64> Gen;
+ ui32 GuidCount = 0;
+};
+
+TIntrusivePtr<IRandomProvider> CreateDefaultRandomProvider() {
+ return TIntrusivePtr<IRandomProvider>(new TDefaultRandomProvider());
+}
+
+TIntrusivePtr<IRandomProvider> CreateDeterministicRandomProvider(ui64 seed) {
+ return TIntrusivePtr<IRandomProvider>(new TDeterministicRandomProvider(seed));
+}