sig
type qrng_type = NIEDERREITER_2 | SOBOL
type t
val make : Qrng.qrng_type -> int -> Qrng.t
external init : Qrng.t -> unit = "ml_gsl_qrng_init"
external get : Qrng.t -> float array -> unit = "ml_gsl_qrng_get"
external sample : Qrng.t -> float array = "ml_gsl_qrng_sample"
external name : Qrng.t -> string = "ml_gsl_qrng_name"
external dimension : Qrng.t -> int = "ml_gsl_qrng_dimension"
external memcpy : src:Qrng.t -> dst:Qrng.t -> unit = "ml_gsl_qrng_memcpy"
external clone : Qrng.t -> Qrng.t = "ml_gsl_qrng_clone"
end