clProbDist
An OpenCL library for probability distributions
Typedefs
exponential.h File Reference

API of the exponential distribution. More...

#include "clProbDist/clProbDist.h"
#include "clProbDist/continuous.h"

Go to the source code of this file.

Typedefs

typedef struct _clprobdistExponential clprobdistExponential
 Exponential distribution object [device]. More...
 

Functions

Functions to create and destroy distribution objects
clprobdistExponentialclprobdistExponentialCreate (cl_double lambda, size_t *bufSize, clprobdistStatus *err)
 Create a distribution object. More...
 
clprobdistStatus clprobdistExponentialDestroy (clprobdistExponential *dist)
 Destroy a distribution object. More...
 
Functions for use with a distribution object
cl_double clprobdistExponentialDensityWithObject (const clprobdistExponential *dist, cl_double x, clprobdistStatus *err)
 Probability density function [device]. More...
 
cl_double clprobdistExponentialCDFWithObject (const clprobdistExponential *dist, cl_double x, clprobdistStatus *err)
 Cumulative density function [device]. More...
 
cl_double clprobdistExponentialComplCDFWithObject (const clprobdistExponential *dist, cl_double x, clprobdistStatus *err)
 Complementary CDF or reliability function [device]. More...
 
cl_double clprobdistExponentialInverseCDFWithObject (const clprobdistExponential *dist, cl_double u, clprobdistStatus *err)
 Inverse cumulative density function [device]. More...
 
cl_double clprobdistExponentialMeanWithObject (const clprobdistExponential *dist, clprobdistStatus *err)
 Mean of the distribution [device]. More...
 
cl_double clprobdistExponentialVarianceWithObject (const clprobdistExponential *dist, clprobdistStatus *err)
 Variance of the distribution [device]. More...
 
cl_double clprobdistExponentialStdDeviationWithObject (const clprobdistExponential *dist, clprobdistStatus *err)
 Standard deviation of the distribution [device]. More...
 
cl_double clprobdistExponentialGetLambda (const clprobdistExponential *dist, clprobdistStatus *err)
 Return the value of the inverse mean \(\lambda\) [device].
 
clprobdistStatus clprobdistExponentialSetLambda (clprobdistExponential *dist, cl_double newlambda)
 Change the value of the inverse mean \(\lambda\) [device].
 
Functions for use with explicit distribution parameters
cl_double clprobdistExponentialDensity (cl_double lambda, cl_double x, clprobdistStatus *err)
 Probability density function [device]. More...
 
cl_double clprobdistExponentialCDF (cl_double lambda, cl_double x, clprobdistStatus *err)
 Cumulative density function [device]. More...
 
cl_double clprobdistExponentialComplCDF (cl_double lambda, cl_double x, clprobdistStatus *err)
 Complementary CDF or reliability function [device]. More...
 
cl_double clprobdistExponentialInverseCDF (cl_double lambda, cl_double u, clprobdistStatus *err)
 Inverse cumulative density function [device]. More...
 
cl_double clprobdistExponentialMean (cl_double lambda, clprobdistStatus *err)
 Mean of the distribution [device]. More...
 
cl_double clprobdistExponentialVariance (cl_double lambda, clprobdistStatus *err)
 Variance of the distribution [device]. More...
 
cl_double clprobdistExponentialStdDeviation (cl_double lambda, clprobdistStatus *err)
 Standard deviation of the distribution [device]. More...
 

Detailed Description

API of the exponential distribution.

Implementation of clProbDist_template.h for the exponential distribution, adapted from [5] .

Typedef Documentation

typedef struct _clprobdistExponential clprobdistExponential

Exponential distribution object [device].

A structure that represents an exponential distribution object.

Function Documentation

clprobdistExponential* clprobdistExponentialCreate ( cl_double  lambda,
size_t *  bufSize,
clprobdistStatus err 
)

Create a distribution object.

Create a new exponential distribution object. Since this function allocates memory for the new distribution object; clprobdistDestroy() must be called to release the allocated memory.

Parameters
[in]lambdaValue of the inverse mean \(\lambda\).
[out]bufSizeSize in bytes of the created distribution object, or NULL.
[out]errError status variable, or NULL.
Returns
New distribution object.
clprobdistStatus clprobdistExponentialDestroy ( clprobdistExponential dist)

Destroy a distribution object.

Release the resources associated to a distribution object.

Parameters
[in,out]distDistribution object.
Returns
Error status.
cl_double clprobdistExponentialDensityWithObject ( const clprobdistExponential dist,
cl_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)\).
cl_double clprobdistExponentialCDFWithObject ( const clprobdistExponential dist,
cl_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)\).
cl_double clprobdistExponentialComplCDFWithObject ( const clprobdistExponential dist,
cl_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)\).
cl_double clprobdistExponentialInverseCDFWithObject ( const clprobdistExponential dist,
cl_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)\).
cl_double clprobdistExponentialMeanWithObject ( const clprobdistExponential 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.
cl_double clprobdistExponentialVarianceWithObject ( const clprobdistExponential 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.
cl_double clprobdistExponentialStdDeviationWithObject ( const clprobdistExponential 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.
cl_double clprobdistExponentialDensity ( cl_double  lambda,
cl_double  x,
clprobdistStatus err 
)

Probability density function [device].

See also
clprobdistExponentialDensityWithObject()
Parameters
[in]lambdaValue of the inverse mean \(\lambda\).
[in]xValue of \(x\).
[out]errError status variable, or NULL.
Returns
Value of \(f(x)\).
cl_double clprobdistExponentialCDF ( cl_double  lambda,
cl_double  x,
clprobdistStatus err 
)

Cumulative density function [device].

See also
clprobdistExponentialCDFWithObject()
Parameters
[in]lambdaValue of the inverse mean \(\lambda\).
[in]xValue of \(x\).
[out]errError status variable, or NULL.
Returns
Value of \(F(x)\).
cl_double clprobdistExponentialComplCDF ( cl_double  lambda,
cl_double  x,
clprobdistStatus err 
)

Complementary CDF or reliability function [device].

See also
clprobdistExponentialComplCDFWithObject()
Parameters
[in]lambdaValue of the inverse mean \(\lambda\).
[in]xValue of \(x\).
[out]errError status variable, or NULL.
Returns
Value of \(\bar F(x)\).
cl_double clprobdistExponentialInverseCDF ( cl_double  lambda,
cl_double  u,
clprobdistStatus err 
)

Inverse cumulative density function [device].

See also
clprobdistExponentialInverseCDFWithObject()
Parameters
[in]lambdaValue of the inverse mean \(\lambda\).
[in]uValue of \(u \in [0,1]\).
[out]errError status variable, or NULL.
Returns
Value of \(F^{-1}(u)\).
cl_double clprobdistExponentialMean ( cl_double  lambda,
clprobdistStatus err 
)

Mean of the distribution [device].

See also
clprobdistExponentialMeanWithObject()
Parameters
[in]lambdaValue of the inverse mean \(\lambda\).
[out]errError status variable, or NULL.
Returns
Mean of the distribution.
cl_double clprobdistExponentialVariance ( cl_double  lambda,
clprobdistStatus err 
)

Variance of the distribution [device].

See also
clprobdistExponentialVarianceWithObject()
Parameters
[in]lambdaValue of the inverse mean \(\lambda\).
[out]errError status variable, or NULL.
Returns
Variance of the distribution.
cl_double clprobdistExponentialStdDeviation ( cl_double  lambda,
clprobdistStatus err 
)

Standard deviation of the distribution [device].

See also
clprobdistExponentialStdDeviationWithObject()
Parameters
[in]lambdaValue of the inverse mean \(\lambda\).
[out]errError status variable, or NULL.
Returns
Standard deviation of the distribution.