
/**

\defgroup random_mat Random Number Generation

\brief Random Number Generation Functions

Functions to generate and manage random numbers and random number engines.

\ingroup data_mat

===============================================================================

\addtogroup arrayfire_func
@{

\defgroup random_func_random_engine randomEngine

\brief Functions to create, modify, use, and destroy randomEngine objects.

A \ref af::randomEngine object can be used to generate psuedo random numbers
using various types of random number generation algorithms defined by \ref
af::randomEngineType.

\ingroup random_mat

===============================================================================

\defgroup random_func_randu randu

\brief Create a random array sampled from uniform distribution.

The type of engine used is defined by \ref af::randomEngine.

The data is uniformly distributed between [0, 1].

\ingroup random_mat

===============================================================================

\defgroup random_func_randn randn

\brief Create a random array sampled from normal distribution.

The type of engine used is defined by \ref af::randomEngine.

The data is centered around 0.

\ingroup random_mat

===============================================================================

\defgroup random_func_set_default_engine setDefaultRandomEngineType

\brief Set the default random engine type.

This random engine type is used when calling random number functions without
an \ref af::randomEngine object as an argument.

\ingroup random_mat

===============================================================================

\defgroup random_func_get_default_engine getDefaultRandomEngine

\brief Returns the default random engine object.

Returns the \ref af::randomEngine that is currently set as default.

Note that there is no need to call \ref af_release_random_engine on the handle
returned by \ref af_get_default_random_engine.

\ingroup random_mat

===============================================================================

\defgroup random_func_set_seed setSeed

\brief Set the seed for random number generation.

Sets the seed for the current default random engine.

\ingroup random_mat

===============================================================================

\defgroup random_func_get_seed getSeed

\brief Returns the seed for random number generation.

Returns the seed for the current default random engine.

\ingroup random_mat


@}
*/
