Your IP : 3.17.76.163
a
R�f�z � @ s� d Z ddlmZ ddlmZmZm Z
mZm
Z ddlmZmZmZmZ ddlmZmZ ddlmZ ddlmZ m!Z" ddl#m$Z%m&Z' dd l(m(Z) dd
lZ*dd
l+Z+zddl,m-Z, W n e.y� ddl/m-Z, Y n0 g d�Z0d
ed� ed� Z1ed�Z2ded� Z3dZ4de4 Z5G dd� de+j6�Z6G dd� de6�Z7e6� Z8e8j9Z9e8j:Z:e8j;Z;e8j<Z<e8j=Z=e8j>Z>e8j?Z?e8j@Z@e8jAZAe8jBZBe8jCZCe8jDZDe8jEZEe8jFZFe8jGZGe8jHZHe8jIZIe8jJZJe8jKZKe8jLZLe8jMZMe8jNZNe8jOZOdd� ZPd!dd�ZQeRe*d��r�e*jSe8j9d� eTd k�r�eQ� d
S )"a� Random variable generators.
bytes
-----
uniform bytes (values between 0 and 255)
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)�log�exp�pi�e�ceil)�sqrt�acos�cos�sin)�tau�floor)�urandom)�Set�Sequence)�
accumulate�repeat)�bisectN)�sha512)�Random�SystemRandom�betavariate�choice�choices�expovariate�gammavariate�gauss�getrandbits�getstate�lognormvariate�
normalvariate�
paretovariate� randbytes�randint�random� randrange�sample�seed�setstate�shuffle�
triangular�uniform�vonmisesvariate�weibullvariate� g �� @� @� �?� @�5 � c s* e Zd ZdZdZdBdd�ZdC� fdd� Z� fd d
�Z� fdd�Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
de>