View source code
Display the source code in std/mathspecial.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla 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 local clone.

Module std.mathspecial

Mathematical Special Functions

The technical term 'Special Functions' includes several families of transcendental functions, which have important applications in particular branches of mathematics and physics.

The gamma and related functions, and the error function are crucial for mathematical statistics. The Bessel and related functions arise in problems involving wave propagation (especially in optics). Other major categories of special functions include the elliptic integrals (related to the arc length of an ellipse), and the hypergeometric functions.


Many more functions will be added to this module. The naming convention for the distribution functions (gammaIncomplete, etc) is not yet finalized and will probably change.


beta(x, y) Beta function
betaIncomplete(a, b, x) Incomplete beta integral
betaIncompleteInverse(a, b, y) Inverse of incomplete beta integral
digamma(x) Digamma function
erf(x) Error function
erfc(x) Complementary error function
gamma(x) The Gamma function, Γ(x)
gammaIncomplete(a, x) Incomplete gamma integral and its complement
gammaIncompleteCompl(a, x) Incomplete gamma integral and its complement
gammaIncompleteComplInverse(a, p) Inverse of complemented incomplete gamma integral
logGamma(x) Natural logarithm of the gamma function, Γ(x)
logmdigamma(x) Log Minus Digamma function
logmdigammaInverse(x) Inverse of the Log Minus Digamma function
normalDistribution(x) Standard normal distribution function.
normalDistributionInverse(p) Inverse of Standard normal distribution function
sgnGamma(x) The sign of Γ(x).


Stephen L. Moshier (original C code). Conversion to D by Don Clugston


Boost License 1.0.