Your IP : 3.15.138.214
B
� f�k � @ s� d Z ddlmZ ddlmZmZ ddl m
ZmZ
mZmZmZ ddl mZmZmZmZ ddlmZ ddlm Z!m"Z# ddl$m%Z& dd l'Z(dd l)Z*dd lZ+d
ddd
ddddddddddddddddddd d!gZ,d"e
d#� ed$� Z-d$e Z.ed%�Z/d&ed'� Z0d(Z1d)e1 Z2dd l3Z3G d*d
� d
e3j4�Z4G d+d!� d!e4�Z5d,d-� Z6d4d/d0�Z7e4� Z8e8j9Z9e8j:Z:e8j;Z;e8j<Z<e8j=Z=e8j>Z>e8j?Z?e8j@Z@e8jAZAe8jBZBe8jCZCe8jDZDe8jEZEe8jFZFe8jGZGe8jHZHe8jIZIe8jJZJe8jKZKe8jLZLe8jMZMe8jNZNeOe+d1��r�e+jPe8j9d2� eQd3k�r�e7� d S )5a� Random variable generators.
integers
--------
uniform within range
sequences
---------
pick random element
pick random sample
pick weighted random sample
generate random permutation
distributions on the real line:
------------------------------
uniform
triangular
normal (Gaussian)
lognormal
negative exponential
gamma
beta
pareto
Weibull
distributions on the circle (angles 0 to 2pi)
---------------------------------------------
circular uniform
von Mises
General notes on the underlying Mersenne Twister core generator:
* The period is 2**19937-1.
* It is one of the most extensively tested generators in existence.
* The random() method is implemented in C, executes in a single Python step,
and is, therefore, threadsafe.
� )�warn)�
MethodType�BuiltinMethodType)�log�exp�pi�e�ceil)�sqrt�acos�cos�sin)�urandom)�Set�Sequence)�sha512N�Random�seed�random�uniform�randint�choice�sample� randrange�shuffle�
normalvariate�lognormvariate�expovariate�vonmisesvariate�gammavariate�
triangular�gauss�betavariate�
paretovariate�weibullvariate�getstate�setstate�getrandbits�choices�SystemRandom� g �g @g @g �?g @�5 � c s e Zd ZdZdZd;dd�Zd<� fdd� Z� fd d
�Z� fdd�Zd
d� Z dd� Z
dd� Zddefdd�Z
dd� Zede>