* Reimplement von Mises-Fisher distribution, making it consistent with the common interface ([#302])

* Reimplement mixture models, improving efficiency, numerical stability, and the friendliness of the user interface. ([#303])

* Reimplement Wishart and InverseWishart distributions. They now support the use of positive definite matrices of arbitrary subtype of `AbstractPDMat`. ([#304])

* Add ``probs`` method for ``Categorical``, ``Multinomial``, and ``MixtureModel``.

* Add ``probs`` methods for discrete distributions ([#305]).

When ``x`` is a scalar, it returns whether x is within the support of ``d``.

When ``x`` is an array, it returns whether every element in x is within the support of ``d``.

.. function:: probs(d, rgn)

Get/compute the probabilities over a range of values. Here, ``rgn`` should be in the form of ``a:b``.

**Note:** computing the probabilities over a contiguous range of values can take advantage of the recursive relations between probability masses and thus is often more efficient than computing these probabilities individually.

.. function:: probs(d)

Get/compute the entire probability vector of ``d``. This is equivalent to ``probs(d, minimum(d):maximum(d))``.

**Note:** this method is only defined for *bounded* distributions.

.. function:: pdf(d, x)

The pdf value(s) evaluated at ``x``.

...

...

@@ -99,7 +112,7 @@ Probability Evaluation

The logarithm of the pdf value(s) evaluated at x, i.e. ``log(pdf(x))``.

**Node:** The internal implementation may directly evaluate logpdf instead of first computing pdf and then taking the logarithm, for better numerical stability or efficiency.

**Note:** The internal implementation may directly evaluate logpdf instead of first computing pdf and then taking the logarithm, for better numerical stability or efficiency.