Report a bug
If you spot a problem with this page, click here to create a GitHub issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
a local clone.
mir.stat.distribution.geometric
This module contains algorithms for the Geometric Distribution.
License:
Authors:
John Michael Hall
- pure nothrow @nogc @safe T
geometricPMF(T)(const size_tk, const Tp)
if (isFloatingPoint!T); - Computes the geometric probability density function (PMF).Parameters:
size_t kvalue to evaluate PMF T ptrue probability See Also:Examples:import mir.test: shouldApprox; 0.geometricPMF(0.5).shouldApprox == 0.5; 1.geometricPMF(0.5).shouldApprox == 0.25; 2.geometricPMF(0.25).shouldApprox == 0.140625;
- pure nothrow @nogc @safe T
geometricCDF(T)(const size_tk, const Tp)
if (isFloatingPoint!T);
pure nothrow @nogc @safe TgeometricCDF(T)(const Tx, const Tp)
if (isFloatingPoint!T); - Computes the geometric cumulative density function (CDF).Parameters:
size_t kvalue to evaluate CDF T ptrue probability See Also:Examples:import mir.test: shouldApprox; geometricCDF(-1.0, 0.5).shouldApprox == 0; // UFCS chaining deduces this as size_t instead of a floating point type 0.geometricCDF(0.5).shouldApprox == 0.5; 1.geometricCDF(0.5).shouldApprox == 0.75; 2.geometricCDF(0.5).shouldApprox == 0.875; geometricCDF(-1.0, 0.25).shouldApprox == 0; // UFCS chaining deduces this as size_t instead of a floating point type 0.geometricCDF(0.25).shouldApprox == 0.25; 1.geometricCDF(0.25).shouldApprox == 0.4375; 2.geometricCDF(0.25).shouldApprox == 0.578125; 2.5.geometricCDF(0.25).shouldApprox == 0.578125;
- pure nothrow @nogc @safe T
geometricCCDF(T)(const size_tk, const Tp)
if (isFloatingPoint!T);
pure nothrow @nogc @safe TgeometricCCDF(T)(const Tx, const Tp)
if (isFloatingPoint!T); - Computes the geometric complementary cumulative density function (CCDF).Parameters:
size_t kvalue to evaluate CCDF T ptrue probability See Also:Examples:import mir.test: shouldApprox; geometricCCDF(-1.0, 0.5).shouldApprox == 1.0; // UFCS chaining deduces this as size_t instead of a floating point type 0.geometricCCDF(0.5).shouldApprox == 0.5; 1.geometricCCDF(0.5).shouldApprox == 0.25; 2.geometricCCDF(0.5).shouldApprox == 0.125; geometricCCDF(-1.0, 0.25).shouldApprox == 1.0; // UFCS chaining deduces this as size_t instead of a floating point type 0.geometricCCDF(0.25).shouldApprox == 0.75; 1.geometricCCDF(0.25).shouldApprox == 0.5625; 2.geometricCCDF(0.25).shouldApprox == 0.421875; 2.5.geometricCCDF(0.25).shouldApprox == 0.421875;
- pure nothrow @nogc @safe T
geometricInvCDF(T)(const Tq, const Tp)
if (isFloatingPoint!T); - Computes the geometric inverse cumulative distribution function (InvCDF).Parameters:
T qvalue to evaluate InvCDF T ptrue probability See Also:Examples:import mir.test: should; 0.geometricInvCDF(0.5).should == -1; 0.5.geometricInvCDF(0.5).should == 0; 0.75.geometricInvCDF(0.5).should == 1; 0.875.geometricInvCDF(0.5).should == 2; 0.95.geometricInvCDF(0.5).should == 4; 0.geometricInvCDF(0.25).should == -1; 0.25.geometricInvCDF(0.25).should == 0; 0.4375.geometricInvCDF(0.25).should == 1; 0.578125.geometricInvCDF(0.25).should == 2; 0.95.geometricInvCDF(0.25).should == 10; 0.5.geometricInvCDF(1).should == 0; 1.geometricInvCDF(0.5).should == double.infinity;
- pure nothrow @nogc @safe T
geometricLPMF(T)(const size_tk, const Tp)
if (isFloatingPoint!T); - Computes the geometric log probability density function (LPMF).Parameters:
size_t kvalue to evaluate LPMF T ptrue probability See Also:Examples:import mir.math.common: exp; import mir.test: shouldApprox; 0.geometricLPMF(0.5).exp.shouldApprox == 0.geometricPMF(0.5); 1.geometricLPMF(0.5).exp.shouldApprox == 1.geometricPMF(0.5); 2.geometricLPMF(0.25).exp.shouldApprox == 2.geometricPMF(0.25);
Copyright © 2016-2023 by Ilya Yaroshenko | Page generated by
Ddoc on Wed Oct 18 12:23:06 2023