# Welcome to mathextra

Functions from Mathematical Statistics, Special Functions, and miscellaneous functions useful in science and engineering. Also the home of BLADE, the Basic Linear Algebra D Expressions library. For 3D applications developers, there another D library: Helix.

For discussion information, visit the mathextra forum.

## License

All source code is under the MIT license, and free for commercial and non-commercial use.

## Design Principles

The first priority is accuracy, followed by performance. There is no value in providing results quickly if they are wrong.

* As far as possible, all functions attempt to provide full machine precision (80-bits on Intel/AMD CPUs).

* All functions return correct results for infinity, and for signed zero.

* Unit tests are provided for all functions, with >90% test coverage.

Functions are named with descriptive names, rather than traditional mathematical names. Mathematica was used as a reference for many of the names. camelCase is used, to be consistent with the D standard library.

## List of included functions

### Mathematical Special Functions

gamma, logGamma. beta. productLog elliptical functions Bessel functions

### Mathematical Statistics

Distributions and inverse distributions for the most common probability distributions. Complementary distributions (ie, 1-p) are provided to ensure high relative accuracy for near-unity probablities. Currently, the following distributions are supported:

normal, poisson, studentsT, fisher, chiSquare, beta, gamma, incomplete gamma, binomial and negative binomial distributions. Inverse distributions are provided for all of the above.

### Curve fitting and function analysis

findRoot minimizeFunc leastSquaresFit

### Discrete Mathematics

### Signal Processing

fastFourierTransform

### Miscellaneous

bit manipulation