Your IP : 3.144.9.183
3
\2k � @ 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*d
ddd
ddddddddddddddddddd d!gZ+d"e
d2� ed$� Z,d$e Z-ed%�Z.d&ed'� Z/d(Z0d)e0 Z1dd l2Z2G d*d
� d
e2j3�Z3G d+d!� d!e3�Z4d,d-� Z5d3d/d0�Z6e3� Z7e7j8Z8e7j9Z9e7j:Z:e7j;Z;e7j<Z<e7j=Z=e7j>Z>e7j?Z?e7j@Z@e7jAZAe7jBZBe7jCZCe7jDZDe7jEZEe7jFZFe7jGZGe7jHZHe7jIZIe7jJZJe7jKZKe7jLZLe7jMZMeNd1k�r�e6� d S )4a� 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>