truncated_normal_rule, a C code which computes a quadrature rule for a normal probability density function (PDF), sometimes called a Gaussian distribution, that has been truncated to [A,+oo), (-oo,B] or [A,B].


The computer code and data files made available on this web page are distributed under the MIT license


truncated_normal_rule is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

CCN_RULE, a C code which defines one of a set of nested Clenshaw Curtis quadrature rules.

CLENSHAW_CURTIS_RULE, a C code which defines a Clenshaw Curtis quadrature rule.

HERMITE_RULE, a C code which can compute and print a Gauss-Hermite quadrature rule.

LAGUERRE_RULE, a C code which can compute and print a Gauss-Laguerre quadrature rule for estimating the integral of a function with density exp(-x) over the interval [0,+oo).

LEGENDRE_RULE, a C code which computes a 1D Gauss-Legendre quadrature rule.

LINE_FELIPPA_RULE, a C code which returns the points and weights of a Felippa quadrature rule over the interior of a line segment in 1D.

QUADRULE, a C code which defines 1-dimensional quadrature rules.

TRUNCATED_NORMAL, a C code which works with the truncated normal distribution over [A,B], or [A,+oo) or (-oo,B], returning the probability density function (PDF), the cumulative density function (CDF), the inverse CDF, the mean, the variance, and sample values.



  1. Gene Golub, John Welsch,
    Calculation of Gaussian Quadrature Rules,
    Mathematics of Computation,
    Volume 23, Number 106, April 1969, pages 221-230.
  2. Norman Johnson, Samuel Kotz, Narayanaswamy Balakrishnan,
    Continuous Univariate Distributions,
    Second edition,
    Wiley, 1994,
    ISBN: 0471584940,
    LC: QA273.6.J6.

Source Code:

Last revised on 23 August 2019.