cMHN 1.2
C++ library for learning MHNs with pRC
Loading...
Searching...
No Matches
random.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSD-2-Clause
2
3#ifndef pRC_CORE_COMPLEX_RANDOM_H
4#define pRC_CORE_COMPLEX_RANDOM_H
5
8
9namespace pRC
10{
11 template<class T, class URNG, template<class...> class D>
12 requires IsRandomEngine<URNG> && IsRandomDistribution<D<T>>
13 struct Random<Complex<T>, URNG, D<T>>
14 {
15 public:
16 Random(URNG &rng, D<T> &distribution)
17 : mRNG(rng)
18 , mDistribution(distribution)
19 {
20 }
21
22 constexpr auto operator()()
23 {
24 return Complex<T>(mDistribution(mRNG), mDistribution(mRNG));
25 }
26
27 private:
28 URNG &mRNG;
29 D<T> &mDistribution;
30 };
31}
32#endif // pRC_CORE_COMPLEX_RANDOM_H
pRC::Size const D
Definition CalculatePThetaTests.cpp:9
Definition complex.hpp:22
Definition value.hpp:12
pRC::Float<> T
Definition externs_nonTT.hpp:1
Definition cholesky.hpp:10
Complex(T const &) -> Complex< T >
Random(URNG &rng, D< T > &distribution)
Definition random.hpp:16
constexpr auto operator()()
Definition random.hpp:22
Definition random.hpp:12