Metadata-Version: 2.1
Name: HomemadeRandom
Version: 0.1.5
Summary: A random number generator built from scratch for ISYE6644 class project
Home-page: https://github.com/dstar30/HomemadeRandom
Author: Daniel Jiang
License: MIT license
Description: # Random Variate Generator
        This package provides access to a few frequently used discrete and continuous distributions.
        
        
        ## Installation
        ### Normal Installation
        `pip install HomemadeRandom`
        
        ## API Details and Examples
        
        Start using the library by running  
        `from HomemadeRandom import Random`  
        
        Initialize a HomemadeRandom object with two parameters: type of base random number generator and a seed.  
        Select a base random number generator from the following:  
        1. "desert" - desert island. A good LCG (linear congruential generator).
            * The seed must be between 1 and 2147483646 (inclusive)
        2. "randu" - bad LCG
            * The seed must be between 1 and 2147483647 (inclusive)
        
        
        Example:  
        `random_object = Random('desert', seed=10)`
        
        #### Discrete Distributions
        1. Bernoulli  
        `HomemadeRandom.bernoulli(p=0.5)`  
        Parameter: (optional) p: floats. 0 <= p <= 1. Probability of a success event
        
        2. Binomial  
        `HomemadeRandom.binomial(n, p)`  
        Parameter: n: int. n > 0. Total number of trials  
        Parameter: p: floats. 0 <= p <= 1. Probability of a success event  
        
        3. Geometric  
        `HomemadeRandom.geometric(p, mode=0)`  
        Parameter: p: floats. 0 <= p <= 1. Probability of a success event  
        Parameter: (optional) mode: int. Mode 0 is the fast and direct way. Any other mode will use the other implementation, which was implemented for academic purpose.  
        
        4. Poisson  
        `HomemadeRandom.poisson(lmbda)`  
        Parameter: lmbda: floats. lmbda >= 0. Number of arrivals in one time unit  
        
        #### Continuous Distributions
        1. Uniform  
        `HomemadeRandom.uniform(a=0, b=1)`  
        Parameter: (optional) a: floats. lower bound of uniform distribution, inclusive  
        Parameter: (optional) b: floats. upper bound of uniform distribution, exclusive  
        
        2. Exponential  
        `HomemadeRandom.exponential(lmbda)`  
        Parameter: lmbda: mean time between events  
        
        3. Normal  
        `HomemadeRandom.normal(mu=0, sigma=1.0)`  
        Parameter: (optional) mu: floats. mean of a normal distribution
        Parameter: (optional) sigma: floats. standard deviation of a normal distribution
          
        4. Gamma  
        `HomemadeRandom.gamma(alpha, beta)`  
        Parameter: alpha: floats. shape parameter  
        Parameter: beta: floats. rate parameter  
        
        5. Weibull  
        `HomemadeRandom.weibull(alpha, beta)`  
        Parameter: alpha: floats. shape parameter  
        Parameter: beta: floats. scale parameter  
        
        6. Triangular  
        `HomemadeRandom.triangular(low=0.0, high=1.0, mode=None)`  
        Parameter: low: floats. lower limit  
        Parameter: high: floats. upper limit  
        Parameter: mode: floats. number with highest probability where a <= c <= b
        
        
        ##### See `tests/test.py` for actual usage
        
        [0.0.1] - 2020-11-30
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.7
Classifier: License :: OSI Approved :: MIT License
Description-Content-Type: text/markdown
