Bugfixes
* Fixes an issue with sampling from the `bernoulli` distribution.
* Fixes a bug with the implementation of `lclip` and `rclip`.
New distributions
* Adds `discrete` to calculate a discrete distribution. Example: `discrete({'A': 0.3, 'B': 0.3, 'C': 0.4})` will return A 30% of the time, B 30% of the time, and C 40% of the time.
* Adds `poisson(lam)` to calculate a poisson distribution.
* Adds `gamma(size, scale)` to calculate a gamma distribution.
Bayesian library updates
* Adds `bayes.bayesnet` to do bayesian inferece (see README).
* `bayes.update` now can take an `evidence_weight` parameter. Typically this would be equal to the number of samples.
* **[Breaking change]** `bayes.bayes` has been renamed `bayes.simple_bayes`.
Other
* **[Breaking change]** `credibility`, which defines the size of the interval (e.g., `credibility=0.8` for an 80% CI), is now a property of the distribution rather than the sampler. That is, you should now call `sample(norm(1, 3, credibility=0.8))` whereas previously it was `sample(norm(1, 3), credibility=0.8)`. This will allow mixing of distributions with different credible ranges.
* **[Breaking change]** Numbers have been changed from functions to global variables. Use `thousand` or `K` instead of `thousand()` (old/deprecated).
* `sample` now has a nice progress reporter if `verbose=True`.
* The `exponential` distribution now implements `lclip` and `rclip`.
* The `mixture` distribution can infer equal weights if no weights are given.
* The `mixture` distribution can infer the last weight if the last weight is not given.
* `geomean` and `geomean_odds` can infer the last weight if the last weight is not given.
* You can use `flip_coin` and `roll_die(sides)` to flip a coin or roll a die.
* `event_happens` and `event` are aliases for `event_occurs`.
* `get_percentiles` will now cast output to `int` if `digits=0`.
* `get_log_percentiles` now has a default value for `percentiles`.
* You can now set the seed for the RNG using `sq.set_seed`.
Non-visible backend changes
* Now has tests via pytest.
* The random numbers now come from a numpy generator as opposed to the previous deprecated `np.random` methods.
* The `sample` module (containing the `sample` function) has been renamed `samplers`.