clProbDist
An OpenCL library for probability distributions
|
Device-side API for the exponential distribution. More...
Typedefs | |
typedef struct _clprobdistExponential | clprobdistExponential |
Exponential distribution object [device]. More... | |
Functions | |
clprobdistStatus | clprobdistExponentialCopyOverFromGlobal (_CLPROBDIST_EXPONENTIAL_OBJ_MEM clprobdistExponential *destDist, __global const clprobdistExponential *srcDist) |
Copy a distribution object into already allocated memory [device-only]. More... | |
Functions for use with a distribution object | |
double | clprobdistExponentialDensityWithObject (_CLPROBDIST_EXPONENTIAL_OBJ_MEM const clprobdistExponential *dist, double x, clprobdistStatus *err) |
Probability density function [device]. More... | |
double | clprobdistExponentialCDFWithObject (_CLPROBDIST_EXPONENTIAL_OBJ_MEM const clprobdistExponential *dist, double x, clprobdistStatus *err) |
Cumulative density function [device]. More... | |
double | clprobdistExponentialComplCDFWithObject (_CLPROBDIST_EXPONENTIAL_OBJ_MEM const clprobdistExponential *dist, double x, clprobdistStatus *err) |
Complementary CDF or reliability function [device]. More... | |
double | clprobdistExponentialInverseCDFWithObject (_CLPROBDIST_EXPONENTIAL_OBJ_MEM const clprobdistExponential *dist, double u, clprobdistStatus *err) |
Inverse cumulative density function [device]. More... | |
double | clprobdistExponentialMeanWithObject (_CLPROBDIST_EXPONENTIAL_OBJ_MEM const clprobdistExponential *dist, clprobdistStatus *err) |
Mean of the distribution [device]. More... | |
double | clprobdistExponentialVarianceWithObject (_CLPROBDIST_EXPONENTIAL_OBJ_MEM const clprobdistExponential *dist, clprobdistStatus *err) |
Variance of the distribution [device]. More... | |
double | clprobdistExponentialStdDeviationWithObject (_CLPROBDIST_EXPONENTIAL_OBJ_MEM const clprobdistExponential *dist, clprobdistStatus *err) |
Standard deviation of the distribution [device]. More... | |
double | clprobdistExponentialGetLambda (_CLPROBDIST_EXPONENTIAL_OBJ_MEM const clprobdistExponential *dist, clprobdistStatus *err) |
Return the value of the inverse mean \(\lambda\) [device]. | |
clprobdistStatus | clprobdistExponentialSetLambda (_CLPROBDIST_EXPONENTIAL_OBJ_MEM clprobdistExponential *dist, double newlambda) |
Change the value of the inverse mean \(\lambda\) [device]. | |
Functions for use with explicit distribution parameters | |
double | clprobdistExponentialDensity (double lambda, double x, clprobdistStatus *err) |
Probability density function [device]. More... | |
double | clprobdistExponentialCDF (double lambda, double x, clprobdistStatus *err) |
Cumulative density function [device]. More... | |
double | clprobdistExponentialComplCDF (double lambda, double x, clprobdistStatus *err) |
Complementary CDF or reliability function [device]. More... | |
double | clprobdistExponentialInverseCDF (double lambda, double u, clprobdistStatus *err) |
Inverse cumulative density function [device]. More... | |
double | clprobdistExponentialMean (double lambda, clprobdistStatus *err) |
Mean of the distribution [device]. More... | |
double | clprobdistExponentialVariance (double lambda, clprobdistStatus *err) |
Variance of the distribution [device]. More... | |
double | clprobdistExponentialStdDeviation (double lambda, clprobdistStatus *err) |
Standard deviation of the distribution [device]. More... | |
Device-side API for the exponential distribution.
In the function declarations of this file, the preprocessor symbol _CLPROBDIST_EXPONENTIAL_OBJ_MEM expands to the selected memory type for this distribution type.
typedef struct _clprobdistExponential clprobdistExponential |
Exponential distribution object [device].
A structure that represents an exponential distribution object.
double clprobdistExponentialDensityWithObject | ( | _CLPROBDIST_EXPONENTIAL_OBJ_MEM const clprobdistExponential * | 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).
[in] | dist | Distribution object. |
[in] | x | Value of \(x\). |
[out] | err | Error status variable, or NULL . |
double clprobdistExponentialCDFWithObject | ( | _CLPROBDIST_EXPONENTIAL_OBJ_MEM const clprobdistExponential * | 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
.
[in] | dist | Distribution object. |
[in] | x | Value of \(x\). |
[out] | err | Error status variable, or NULL . |
double clprobdistExponentialComplCDFWithObject | ( | _CLPROBDIST_EXPONENTIAL_OBJ_MEM const clprobdistExponential * | 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
.
[in] | dist | Distribution object. |
[in] | x | Value of \(x\). |
[out] | err | Error status variable, or NULL . |
double clprobdistExponentialInverseCDFWithObject | ( | _CLPROBDIST_EXPONENTIAL_OBJ_MEM const clprobdistExponential * | 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.
[in] | dist | Distribution object. |
[in] | u | Value of \(u \in [0,1]\). |
[out] | err | Error status variable, or NULL . |
double clprobdistExponentialMeanWithObject | ( | _CLPROBDIST_EXPONENTIAL_OBJ_MEM const clprobdistExponential * | dist, |
clprobdistStatus * | err | ||
) |
Mean of the distribution [device].
Return the mean of the distribution associated with the distribution object dist
.
[in] | dist | Distribution object. |
[out] | err | Error status variable, or NULL . |
double clprobdistExponentialVarianceWithObject | ( | _CLPROBDIST_EXPONENTIAL_OBJ_MEM const clprobdistExponential * | dist, |
clprobdistStatus * | err | ||
) |
Variance of the distribution [device].
Return the variance of the distribution associated with the distribution object dist
.
[in] | dist | Distribution object. |
[out] | err | Error status variable, or NULL . |
double clprobdistExponentialStdDeviationWithObject | ( | _CLPROBDIST_EXPONENTIAL_OBJ_MEM const clprobdistExponential * | dist, |
clprobdistStatus * | err | ||
) |
Standard deviation of the distribution [device].
Return the standard deviation of the distribution associated with the distribution object dist
.
[in] | dist | Distribution object. |
[out] | err | Error status variable, or NULL . |
double clprobdistExponentialDensity | ( | double | lambda, |
double | x, | ||
clprobdistStatus * | err | ||
) |
Probability density function [device].
[in] | lambda | Value of the inverse mean \(\lambda\). |
[in] | x | Value of \(x\). |
[out] | err | Error status variable, or NULL . |
double clprobdistExponentialCDF | ( | double | lambda, |
double | x, | ||
clprobdistStatus * | err | ||
) |
Cumulative density function [device].
[in] | lambda | Value of the inverse mean \(\lambda\). |
[in] | x | Value of \(x\). |
[out] | err | Error status variable, or NULL . |
double clprobdistExponentialComplCDF | ( | double | lambda, |
double | x, | ||
clprobdistStatus * | err | ||
) |
Complementary CDF or reliability function [device].
[in] | lambda | Value of the inverse mean \(\lambda\). |
[in] | x | Value of \(x\). |
[out] | err | Error status variable, or NULL . |
double clprobdistExponentialInverseCDF | ( | double | lambda, |
double | u, | ||
clprobdistStatus * | err | ||
) |
Inverse cumulative density function [device].
[in] | lambda | Value of the inverse mean \(\lambda\). |
[in] | u | Value of \(u \in [0,1]\). |
[out] | err | Error status variable, or NULL . |
double clprobdistExponentialMean | ( | double | lambda, |
clprobdistStatus * | err | ||
) |
Mean of the distribution [device].
[in] | lambda | Value of the inverse mean \(\lambda\). |
[out] | err | Error status variable, or NULL . |
double clprobdistExponentialVariance | ( | double | lambda, |
clprobdistStatus * | err | ||
) |
Variance of the distribution [device].
[in] | lambda | Value of the inverse mean \(\lambda\). |
[out] | err | Error status variable, or NULL . |
double clprobdistExponentialStdDeviation | ( | double | lambda, |
clprobdistStatus * | err | ||
) |
Standard deviation of the distribution [device].
[in] | lambda | Value of the inverse mean \(\lambda\). |
[out] | err | Error status variable, or NULL . |
clprobdistStatus clprobdistExponentialCopyOverFromGlobal | ( | _CLPROBDIST_EXPONENTIAL_OBJ_MEM clprobdistExponential * | destDist, |
__global const clprobdistExponential * | 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.
[out] | destDist | Destination 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] | srcDist | Distribution object to be copied. |