Developer Reference for Intel® oneAPI Math Kernel Library for C
vRngChiSquare
Generates chi-square distributed random values.
Syntax
status = vsRngChiSquare( method, stream, n, r, v );
status = vdRngChiSquare( method, stream, n, r, v );
Include Files
- mkl.h
Input Parameters
| Name | Type | Description | 
|---|---|---|
| method | const MKL_INT | Generation method. The specific value is: VSL_RNG_METHOD_CHISQUARE_CHI2GAMMAFor a description of VSL_RNG_METHOD_CHISQUARE_CHI2GAMMA, see Random Number Generators Naming Conventions. | 
| stream | VSLStreamStatePtr | Pointer to the stream state structure | 
| n | const MKL_INT | Number of random values to be generated | 
| v | const MKL_INT | Degrees of freedom | 
Output Parameters
| Name | Type | Description | 
|---|---|---|
| r | float* for vsRngChiSquare double* for vdRngChiSquare | Vector of n random numbers with chi-square distribution | 
Description
The vRngChiSquare function generates random numbers with chi-square distribution and ν degrees of freedom, ν ∈N, ν > 0.
The probability density function is:

The cumulative distribution function is:

Return Values
- VSL_ERROR_OK, VSL_STATUS_OK
-  
     Indicates no error, execution is successful. 
- VSL_ERROR_NULL_PTR
-  
     stream is a NULL pointer. 
- VSL_RNG_ERROR_BAD_STREAM
-  
     stream is not a valid random stream. 
- VSL_RNG_ERROR_BAD_UPDATE
-  
     Callback function for an abstract BRNG returns an invalid number of updated entries in a buffer, that is, < 0 or > nmax. 
- VSL_RNG_ERROR_NO_NUMBERS
-  
     Callback function for an abstract BRNG returns 0 as the number of updated entries in a buffer. 
- VSL_RNG_ERROR_QRNG_PERIOD_ELAPSED
-  
     Period of the generator has been exceeded. 
- VSL_RNG_ERROR_NONDETERM_NRETRIES_EXCEEDED
-  
     Number of retries to generate a random number by using non-deterministic random number generator exceeds threshold. 
- VSL_RNG_ERROR_ARS5_NOT_SUPPORTED
-  
     ARS-5 random number generator is not supported on the CPU running the application.