aboutsummaryrefslogtreecommitdiffstats
path: root/util/random/mersenne.h
diff options
context:
space:
mode:
authorAnton Samokhvalov <pg83@yandex.ru>2022-02-10 16:45:17 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:17 +0300
commitd3a398281c6fd1d3672036cb2d63f842d2cb28c5 (patch)
treedd4bd3ca0f36b817e96812825ffaf10d645803f2 /util/random/mersenne.h
parent72cb13b4aff9bc9cf22e49251bc8fd143f82538f (diff)
downloadydb-d3a398281c6fd1d3672036cb2d63f842d2cb28c5.tar.gz
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 2 of 2.
Diffstat (limited to 'util/random/mersenne.h')
-rw-r--r--util/random/mersenne.h72
1 files changed, 36 insertions, 36 deletions
diff --git a/util/random/mersenne.h b/util/random/mersenne.h
index 464159c81d..b2044604ac 100644
--- a/util/random/mersenne.h
+++ b/util/random/mersenne.h
@@ -1,46 +1,46 @@
#pragma once
-
-#include "mersenne64.h"
-#include "mersenne32.h"
-#include "common_ops.h"
-
-namespace NPrivate {
- template <class T>
- struct TMersenneTraits;
-
- template <>
- struct TMersenneTraits<ui64> {
+
+#include "mersenne64.h"
+#include "mersenne32.h"
+#include "common_ops.h"
+
+namespace NPrivate {
+ template <class T>
+ struct TMersenneTraits;
+
+ template <>
+ struct TMersenneTraits<ui64> {
using TImpl = TMersenne64;
- };
-
- template <>
- struct TMersenneTraits<ui32> {
+ };
+
+ template <>
+ struct TMersenneTraits<ui32> {
using TImpl = TMersenne32;
- };
-}
-
+ };
+}
+
class IInputStream;
-
-template <class T>
+
+template <class T>
class TMersenne: public TCommonRNG<T, TMersenne<T>>, public ::NPrivate::TMersenneTraits<T>::TImpl {
-public:
+public:
using TBase = typename ::NPrivate::TMersenneTraits<T>::TImpl;
-
+
inline TMersenne() noexcept {
- }
-
+ }
+
inline TMersenne(T seed) noexcept
- : TBase(seed)
- {
- }
-
+ : TBase(seed)
+ {
+ }
+
inline TMersenne(IInputStream& pool)
- : TBase(pool)
- {
- }
-
+ : TBase(pool)
+ {
+ }
+
inline TMersenne(const T* keys, size_t len) noexcept
- : TBase(keys, len)
- {
- }
-};
+ : TBase(keys, len)
+ {
+ }
+};