summaryrefslogtreecommitdiff
path: root/Cython/Includes/libcpp/random.pxd
diff options
context:
space:
mode:
Diffstat (limited to 'Cython/Includes/libcpp/random.pxd')
-rw-r--r--Cython/Includes/libcpp/random.pxd156
1 files changed, 154 insertions, 2 deletions
diff --git a/Cython/Includes/libcpp/random.pxd b/Cython/Includes/libcpp/random.pxd
index e879c8f64..9e48bb27f 100644
--- a/Cython/Includes/libcpp/random.pxd
+++ b/Cython/Includes/libcpp/random.pxd
@@ -1,10 +1,14 @@
-from libc.stdint cimport uint_fast32_t
+from libc.stdint cimport uint_fast32_t, uint_fast64_t
cdef extern from "<random>" namespace "std" nogil:
- cdef cppclass mt19937:
+ cdef cppclass random_device:
ctypedef uint_fast32_t result_type
+ random_device() except +
+ result_type operator()() except +
+ cdef cppclass mt19937:
+ ctypedef uint_fast32_t result_type
mt19937() except +
mt19937(result_type seed) except +
result_type operator()() except +
@@ -12,3 +16,151 @@ cdef extern from "<random>" namespace "std" nogil:
result_type max() except +
void discard(size_t z) except +
void seed(result_type seed) except +
+
+ cdef cppclass mt19937_64:
+ ctypedef uint_fast64_t result_type
+
+ mt19937_64() except +
+ mt19937_64(result_type seed) except +
+ result_type operator()() except +
+ result_type min() except +
+ result_type max() except +
+ void discard(size_t z) except +
+ void seed(result_type seed) except +
+
+ cdef cppclass uniform_int_distribution[T]:
+ ctypedef T result_type
+ uniform_int_distribution() except +
+ uniform_int_distribution(T, T) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+ cdef cppclass uniform_real_distribution[T]:
+ ctypedef T result_type
+ uniform_real_distribution() except +
+ uniform_real_distribution(T, T) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+ cdef cppclass bernoulli_distribution:
+ ctypedef bint result_type
+ bernoulli_distribution() except +
+ bernoulli_distribution(double) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+ cdef cppclass binomial_distribution[T]:
+ ctypedef T result_type
+ binomial_distribution() except +
+ binomial_distribution(T, double) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+ cdef cppclass geometric_distribution[T]:
+ ctypedef T result_type
+ geometric_distribution() except +
+ geometric_distribution(double) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+
+ cdef cppclass negative_binomial_distribution[T]:
+ ctypedef T result_type
+ negative_binomial_distribution() except +
+ negative_binomial_distribution(T, double) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+ cdef cppclass poisson_distribution[T]:
+ ctypedef T result_type
+ poisson_distribution() except +
+ poisson_distribution(double) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+ cdef cppclass exponential_distribution[T]:
+ ctypedef T result_type
+ exponential_distribution() except +
+ exponential_distribution(result_type) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+ cdef cppclass gamma_distribution[T]:
+ ctypedef T result_type
+ gamma_distribution() except +
+ gamma_distribution(result_type, result_type) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+ cdef cppclass weibull_distribution[T]:
+ ctypedef T result_type
+ weibull_distribution() except +
+ weibull_distribution(result_type, result_type) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+ cdef cppclass extreme_value_distribution[T]:
+ ctypedef T result_type
+ extreme_value_distribution() except +
+ extreme_value_distribution(result_type, result_type) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+ cdef cppclass normal_distribution[T]:
+ ctypedef T result_type
+ normal_distribution() except +
+ normal_distribution(result_type, result_type) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+ cdef cppclass lognormal_distribution[T]:
+ ctypedef T result_type
+ lognormal_distribution() except +
+ lognormal_distribution(result_type, result_type) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+ cdef cppclass chi_squared_distribution[T]:
+ ctypedef T result_type
+ chi_squared_distribution() except +
+ chi_squared_distribution(result_type) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+ cdef cppclass cauchy_distribution[T]:
+ ctypedef T result_type
+ cauchy_distribution() except +
+ cauchy_distribution(result_type, result_type) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+ cdef cppclass fisher_f_distribution[T]:
+ ctypedef T result_type
+ fisher_f_distribution() except +
+ fisher_f_distribution(result_type, result_type) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +
+
+ cdef cppclass student_t_distribution[T]:
+ ctypedef T result_type
+ student_t_distribution() except +
+ student_t_distribution(result_type) except +
+ result_type operator()[Generator](Generator&) except +
+ result_type min() except +
+ result_type max() except +