forked from enthought/pyql
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path_rngtraits.pxd
More file actions
32 lines (25 loc) · 1.43 KB
/
_rngtraits.pxd
File metadata and controls
32 lines (25 loc) · 1.43 KB
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
28
29
30
31
32
from quantlib.types cimport BigNatural, Size
from ._inverse_cumulative_rsg cimport InverseCumulativeRsg
from ._sobol_rsg cimport SobolRsg
from ._randomsequencegenerator cimport RandomSequenceGenerator
from ._mt19937uniformrng cimport MersenneTwisterUniformRng
from ._zigguratgaussianrng cimport ZigguratGaussianRng
from ._xoshiro256starstaruniformrng cimport Xoshiro256StarStarUniformRng
cdef extern from 'ql/math/distributions/normaldistribution.hpp' namespace 'QuantLib' nogil:
cdef cppclass InverseCumulativeNormal:
pass
cdef extern from 'ql/math/randomnumbers/rngtraits.hpp' namespace 'QuantLib' nogil:
cdef cppclass GenericPseudoRandom[URNG, IC]:
ctypedef RandomSequenceGenerator[URNG] ursg_type
ctypedef InverseCumulativeRsg[ursg_type, IC] rsg_type
@staticmethod
rsg_type make_sequence_generator(Size dimension,
BigNatural seed)
ctypedef GenericPseudoRandom[MersenneTwisterUniformRng, InverseCumulativeNormal] PseudoRandom
cdef cppclass GenericLowDiscrepancy[URSG, IC]:
ctypedef InverseCumulativeRsg[URSG, IC] rsg_type
@staticmethod
rsg_type make_sequence_generator(Size dimension,
BigNatural seed)
ctypedef GenericLowDiscrepancy[SobolRsg, InverseCumulativeNormal] LowDiscrepancy
ctypedef RandomSequenceGenerator[ZigguratGaussianRng[Xoshiro256StarStarUniformRng]] ZigguratPseudoRandom