# Distribution Initialization and Finalization

The Short Vector Random Number Generator (SVRNG) library supports the following distributions:

- uniform (single and double floating point and 32-bit integer)
- normal (single and double floating point)

SVRNG distributions must be initialized before random numbers can be generated. The initialization and finalization routines in this section allocate memory, pre-compute loop-invariant values and broadcast scalar constants for fast vector generation. Update functions are also provided to re-compute these numbers without memory re-allocation. More detail on the figures of merit for these distributions can be found in the Figures of Merit for Random Number Generators and Testing of Distribution Random Number Generators sections of the Notes for Intel® oneAPI Math Kernel Library Vector Statistics document referenced in the Introduction.

Parent topic: Intrinsics for the Short Vector Random Number Generator Library

- svrng_new_uniform_distribution_[int|float|double]/svrng_update_uniform_distribution_[int|float|double]
  Allocates and initializes constants for the uniform distribution with specified parameters
- svrng_new_normal_distribution_[float|double]/svrng_update_normal_distribution_[float|double]
  Allocates and initializes constants for the normal distribution with specified parameters
- svrng_delete_distribution
  Deallocates memory for the specified distribution

## See Also

Introduction