1# copied/adapted from Sage development tree version 6.9
2# distutils: libraries = gmp
3
4from .types cimport *
5
6cdef extern from "gmp.h":
7
8    ### Random Number Functions ###
9
10    # Random State Initialization
11    void gmp_randinit_default (gmp_randstate_t state)
12    int gmp_randinit_mt (gmp_randstate_t state)
13    void gmp_randinit_lc_2exp (gmp_randstate_t state, mpz_t a, unsigned long c, unsigned long m2exp)
14    int gmp_randinit_lc_2exp_size (gmp_randstate_t state, unsigned long size)
15    int gmp_randinit_set (gmp_randstate_t rop, gmp_randstate_t op)
16    # void gmp_randinit (gmp_randstate_t state, gmp_randalg_t alg, ...)
17    void gmp_randclear (gmp_randstate_t state)
18
19    # Random State Seeding
20    void gmp_randseed (gmp_randstate_t state, mpz_t seed)
21    void gmp_randseed_ui (gmp_randstate_t state, unsigned long int seed)
22
23    # Random State Miscellaneous
24    unsigned long gmp_urandomb_ui (gmp_randstate_t state, unsigned long n)
25    unsigned long gmp_urandomm_ui (gmp_randstate_t state, unsigned long n)
26