clProbDist
An OpenCL library for probability distributions
Typedefs | Functions
gamma.clh File Reference

Device-side API for the gamma distribution. More...

#include "clProbDist.clh"
#include "exponential.clh"
#include "normal.clh"
#include "private/gamma.c.h"

Typedefs

typedef struct _clprobdistGamma clprobdistGamma
 Gamma distribution object [device]. More...
 

Functions

clprobdistStatus clprobdistGammaCopyOverFromGlobal (_CLPROBDIST_GAMMA_OBJ_MEM clprobdistGamma *destDist, __global const clprobdistGamma *srcDist)
 Copy a distribution object into already allocated memory [device-only]. More...
 
Functions for use with explicit distribution parameters
double clprobdistGammaDensityWithObject (_CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma *dist, double x, clprobdistStatus *err)
 Probability density function [device]. More...
 
double clprobdistGammaCDFWithObject (_CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma *dist, double x, clprobdistStatus *err)
 Cumulative density function [device]. More...
 
double clprobdistGammaComplCDFWithObject (_CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma *dist, double x, clprobdistStatus *err)
 Complementary CDF or reliability function [device]. More...
 
double clprobdistGammaInverseCDFWithObject (_CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma *dist, double u, clprobdistStatus *err)
 Inverse cumulative density function [device]. More...
 
double clprobdistGammaMeanWithObject (_CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma *dist, clprobdistStatus *err)
 Mean of the distribution [device]. More...
 
double clprobdistGammaVarianceWithObject (_CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma *dist, clprobdistStatus *err)
 Variance of the distribution [device]. More...
 
double clprobdistGammaStdDeviationWithObject (_CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma *dist, clprobdistStatus *err)
 Standard deviation of the distribution [device]. More...
 
double clprobdistGammaGetAlpha (_CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma *dist, clprobdistStatus *err)
 Return the shape parameter of the distribution [device]. More...
 
double clprobdistGammaGetLambda (_CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma *dist, clprobdistStatus *err)
 Return the scale parameter of the distribution [device]. More...
 
double clprobdistGammaDensity (double alpha, double lambda, int decprec, double x, clprobdistStatus *err)
 Probability density function [device]. More...
 
double clprobdistGammaCDF (double alpha, double lambda, int decprec, double x, clprobdistStatus *err)
 Cumulative density function [device]. More...
 
double clprobdistGammaComplCDF (double alpha, double lambda, int decprec, double x, clprobdistStatus *err)
 Complementary CDF or reliability function [device]. More...
 
double clprobdistGammaInverseCDF (double alpha, double lambda, int decprec, double u, clprobdistStatus *err)
 Inverse cumulative density function [device]. More...
 
double clprobdistGammaMean (double alpha, double lambda, int decprec, clprobdistStatus *err)
 Mean of the distribution [device]. More...
 
double clprobdistGammaVariance (double alpha, double lambda, int decprec, clprobdistStatus *err)
 Variance of the distribution [device]. More...
 
double clprobdistGammaStdDeviation (double alpha, double lambda, int decprec, clprobdistStatus *err)
 Standard deviation of the distribution [device]. More...
 

Detailed Description

Device-side API for the gamma distribution.

In the function declarations of this file, the preprocessor symbol _CLPROBDIST_GAMMA_OBJ_MEM expands to the selected memory type for this distribution type.

Typedef Documentation

typedef struct _clprobdistGamma clprobdistGamma

Gamma distribution object [device].

A structure that represents a gamma distribution object.

Function Documentation

double clprobdistGammaDensityWithObject ( _CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma dist,
double  x,
clprobdistStatus err 
)

Probability density function [device].

Return \(f(x)\), the value at \(x=\)x of the probability density function associated with the distribution object dist.

This function is defined only for continuous distributions (see Implemented distributions).

Parameters
[in]distDistribution object.
[in]xValue of \(x\).
[out]errError status variable, or NULL.
Returns
Value of \(f(x)\).
double clprobdistGammaCDFWithObject ( _CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma dist,
double  x,
clprobdistStatus err 
)

Cumulative density function [device].

Return \(F(x)\), the value at \(x=\)x of the distribution function associated with the distribution object dist.

Parameters
[in]distDistribution object.
[in]xValue of \(x\).
[out]errError status variable, or NULL.
Returns
Value of \(F(x)\).
double clprobdistGammaComplCDFWithObject ( _CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma dist,
double  x,
clprobdistStatus err 
)

Complementary CDF or reliability function [device].

Return \(\bar F(x)\), the value of the complementary distribution function associated with the distribution object dist.

Parameters
[in]distDistribution object.
[in]xValue of \(x\).
[out]errError status variable, or NULL.
Returns
Value of \(\bar F(x)\).
double clprobdistGammaInverseCDFWithObject ( _CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma dist,
double  u,
clprobdistStatus err 
)

Inverse cumulative density function [device].

Return \(F^{-1}(u)\), the value at \(u=\)u of the inverse distribution function associated with the distribution object dist. The type of the return value is cl_int for a discrete distribution of cl_double for a continuous distribution.

Parameters
[in]distDistribution object.
[in]uValue of \(u \in [0,1]\).
[out]errError status variable, or NULL.
Returns
Value of \(F^{-1}(u)\).
double clprobdistGammaMeanWithObject ( _CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma dist,
clprobdistStatus err 
)

Mean of the distribution [device].

Return the mean of the distribution associated with the distribution object dist.

Parameters
[in]distDistribution object.
[out]errError status variable, or NULL.
Returns
Mean of the distribution.
double clprobdistGammaVarianceWithObject ( _CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma dist,
clprobdistStatus err 
)

Variance of the distribution [device].

Return the variance of the distribution associated with the distribution object dist.

Parameters
[in]distDistribution object.
[out]errError status variable, or NULL.
Returns
Variance of the distribution.
double clprobdistGammaStdDeviationWithObject ( _CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma dist,
clprobdistStatus err 
)

Standard deviation of the distribution [device].

Return the standard deviation of the distribution associated with the distribution object dist.

Parameters
[in]distDistribution object.
[out]errError status variable, or NULL.
Returns
Standard deviation of the distribution.
double clprobdistGammaGetAlpha ( _CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma dist,
clprobdistStatus err 
)

Return the shape parameter of the distribution [device].

Parameters
[in]distDistribution object.
[out]errError status variable, or NULL.
Returns
Value of the shape parameter \(\alpha\).
double clprobdistGammaGetLambda ( _CLPROBDIST_GAMMA_OBJ_MEM const clprobdistGamma dist,
clprobdistStatus err 
)

Return the scale parameter of the distribution [device].

Parameters
[in]distDistribution object.
[out]errError status variable, or NULL.
Returns
Value of the scale parameter \(\lambda\).
double clprobdistGammaDensity ( double  alpha,
double  lambda,
int  decprec,
double  x,
clprobdistStatus err 
)

Probability density function [device].

See also
clprobdistGammaDensityWithObject()
Parameters
[in]alphaValue of the shape parameter \(\alpha\).
[in]lambdaValue of the scale parameter \(\lambda\).
[in]decprecThis parameter is unused but present for uniformity.
[in]xValue of \(x\).
[out]errError status variable, or NULL.
Returns
Value of \(f(x)\).
double clprobdistGammaCDF ( double  alpha,
double  lambda,
int  decprec,
double  x,
clprobdistStatus err 
)

Cumulative density function [device].

See also
clprobdistGammaCDFWithObject()
Parameters
[in]alphaValue of the shape parameter \(\alpha\).
[in]lambdaValue of the scale parameter \(\lambda\).
[in]decprecValue of \(d\).
[in]xValue of \(x\).
[out]errError status variable, or NULL.
Returns
Value of \(F(x)\).
double clprobdistGammaComplCDF ( double  alpha,
double  lambda,
int  decprec,
double  x,
clprobdistStatus err 
)

Complementary CDF or reliability function [device].

See also
clprobdistGammaComplCDFWithObject()
Parameters
[in]alphaValue of the shape parameter \(\alpha\).
[in]lambdaValue of the scale parameter \(\lambda\).
[in]decprecValue of \(d\).
[in]xValue of \(x\).
[out]errError status variable, or NULL.
Returns
Value of \(\bar F(x)\).
double clprobdistGammaInverseCDF ( double  alpha,
double  lambda,
int  decprec,
double  u,
clprobdistStatus err 
)

Inverse cumulative density function [device].

See also
clprobdistGammaInverseCDFWithObject()
Parameters
[in]alphaValue of the shape parameter \(\alpha\).
[in]lambdaValue of the scale parameter \(\lambda\).
[in]decprecValue of \(d\).
[in]uValue of \(u \in [0,1]\).
[out]errError status variable, or NULL.
Returns
Value of \(F^{-1}(u)\).
double clprobdistGammaMean ( double  alpha,
double  lambda,
int  decprec,
clprobdistStatus err 
)

Mean of the distribution [device].

See also
clprobdistGammaMeanWithObject()
Parameters
[in]alphaValue of the shape parameter \(\alpha\).
[in]lambdaValue of the scale parameter \(\lambda\).
[in]decprecThis parameter is unused but present for uniformity.
[out]errError status variable, or NULL.
Returns
Mean of the distribution.
double clprobdistGammaVariance ( double  alpha,
double  lambda,
int  decprec,
clprobdistStatus err 
)

Variance of the distribution [device].

See also
clprobdistGammaVarianceWithObject()
Parameters
[in]alphaValue of the shape parameter \(\alpha\).
[in]lambdaValue of the scale parameter \(\lambda\).
[in]decprecThis parameter is unused but present for uniformity.
[out]errError status variable, or NULL.
Returns
Variance of the distribution.
double clprobdistGammaStdDeviation ( double  alpha,
double  lambda,
int  decprec,
clprobdistStatus err 
)

Standard deviation of the distribution [device].

See also
clprobdistGammaStdDeviationWithObject()
Parameters
[in]alphaValue of the shape parameter \(\alpha\).
[in]lambdaValue of the scale parameter \(\lambda\).
[in]decprecThis parameter is unused but present for uniformity.
[out]errError status variable, or NULL.
Returns
Standard deviation of the distribution.
clprobdistStatus clprobdistGammaCopyOverFromGlobal ( _CLPROBDIST_GAMMA_OBJ_MEM clprobdistGamma destDist,
__global const clprobdistGamma srcDist 
)

Copy a distribution object into already allocated memory [device-only].

Copy the distribution object srcDist located in global memory into the buffer destDist located in local or private memory. This function does not allocate memory for the distribution object, it assumes that this has already been done.

When the distribution API is configured to use distribution objects stored in global memory (the default), there is no need to copy distribution objects across memory types, since the kernel already receives them in global memory (see Device memory types). The same applies to constant memory. In such cases, this function is not defined.

Parameters
[out]destDistDestination buffer into which to copy (its content will be overwritten). The qualifier _CLPROBDIST_<DIST>_OBJ_MEM, where <DIST> is the uppercase distribution name, is replaced with the OpenCL keywords __private or __local, respectively.
[in]srcDistDistribution object to be copied.
Returns
Error status
Warning
This function is available only on the device.
This function is available only when CLPROBDIST_GAMMA_OBJ_MEM is set to CLPROBDIST_MEM_TYPE_LOCAL or to CLPROBDIST_MEM_TYPE_PRIVATE.