aboutsummaryrefslogtreecommitdiffstats
path: root/util/random/normal.cpp
blob: 8ef56c6a34929eb680e905a68f85ee1ec2260544 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "normal.h" 
#include "common_ops.h" 
#include "random.h" 
 
namespace { 
    template <class T> 
    struct TSysRNG: public TCommonRNG<T, TSysRNG<T>> { 
        inline T GenRand() noexcept { 
            return RandomNumber<T>(); 
        } 
    }; 
} 
 
template <> 
float StdNormalRandom<float>() noexcept { 
    return StdNormalDistribution<float>(TSysRNG<ui64>()); 
} 
 
template <> 
double StdNormalRandom<double>() noexcept { 
    return StdNormalDistribution<double>(TSysRNG<ui64>()); 
} 
 
template <> 
long double StdNormalRandom<long double>() noexcept { 
    return StdNormalDistribution<long double>(TSysRNG<ui64>()); 
}