# data library Null safety

All data packages in a single import.

## Classes

BernoulliDistribution
The Bernoulli distribution is a discrete probability distribution which takes the value 1 with a probability p and 0 otherwise.
BigIntDataType
BigIntEquality
BigIntField
BinomialDistribution
The Binomial distribution is a discrete probability distribution which takes the value 1 with a probability p and 0 otherwise.
BooleanDataType
Complex
A complex number of the form `a + b*i`.
ComplexDataType
ComplexEquality
ComplexField
ContinuousDistribution
Abstract interface of all continuous distributions.
DataType<T>
DiscreteDistribution
Abstract interface of all continuous distributions.
Distribution<T extends num>
Abstract interface of all distributions.
Equality<T>
Encapsulates equality between and the hash code of objects.
ExponentialDistribution
The exponential distribution.
Field<T>
Encapsulates a mathematical field.
Float32DataType
Float64DataType
FloatDataType
FloatEquality
FloatField
Fraction
A rational number.
FractionDataType
FractionEquality
FractionField
The gamma distribution.
Int16DataType
Int32DataType
Int64DataType
Int8DataType
IntegerDataType
IntegerEquality
IntegerField
The inverse gamma distribution.
Jackknife<T>
A deterministic resampling technique to estimate variance, bias, and confidence intervals.
Matrix<T>
Abstract matrix type.
ModuloField<T>
ModuloOrder<T>
The natural and canonical equality of objects.
NaturalOrder<T extends Comparable>
The natural and canonical order of objects.
NormalDistribution
Normal (or Gaussian) distribution described by the mean or expectation of the distribution and its standardDeviation.
Some DataType instances do not support `null` values in the way they represent their data. This wrapper turns those types into nullable ones.
NullableList<T>
A list with null values, where the null values are tracked in a separate BitList. For certain types of typed lists, this is the only way to track `null` values.
NumericDataType
NumericEquality
NumericField
Order<T>
Encapsulates a total order of objects.
PoissonDistribution
The Poisson distribution is a discrete probability distribution that expresses the probability of a given number of events occurring in a fixed interval of time or space if these events occur with a known constant mean rate and independently of the time since the last event.
Polynomial<T>
Abstract polynomial type.
Data holder for the result of a polynomial division.
Quaternion
A quaternion number of the form `w + x*i + y*j + z*k`.
QuaternionDataType
QuaternionEquality
QuaternionField
StringDataType
StringEquality
StudentDistribution
The Student's t-distribution.
Uint16DataType
Uint32DataType
Uint64DataType
Uint8DataType
UniformDiscreteDistribution
A discrete uniform distribution between a and b, for details see https://en.wikipedia.org/wiki/Discrete_uniform_distribution.
UniformDistribution
The continuous uniform distribution between the bounds a and b. The distribution describes an experiment where there is an arbitrary outcome that lies between certain bounds.
Vector<T>
Abstract vector type.

## Extensions

CastMatrixExtension
CastVectorExtension
CholeskyDecompositionExtension
ColumnMatrixExtension
ColumnVectorExtension
CompareMatrixExtension
ComparePolynomialExtension
CompareVectorExtension
DiagonalMatrixExtension
DiagonalVectorExtension
DifferentiatePolynomialExtension
DivPolynomialExtension
DivVectorExtension
DotVectorExtension
EigenvalueDecompositionExtension
FlippedHorizontalMatrixExtension
FlippedVerticalMatrixExtension
IndexMatrixExtension
IndexVectorExtension
IntegratePolynomialExtension
IterableIntExtension
IterableNumExtension
IteratorMatrixExtension
LengthVectorExtension
LerpMatrixExtension
LerpPolynomialExtension
LerpVectorExtension
LUDecompositionExtension
MulMatrixExtension
MulPolynomialExtension
MulVectorExtension
NegMatrixExtension
NegPolynomialExtension
NegVectorExtension
NormDoubleExtension
NormIntegerExtension
NormNumberExtension
OverlayMatrixExtension
OverlayVectorExtension
QRDecompositionExtension
RangeMatrixExtension
RangeVectorExtension
ReversedVectorExtension
RootsPolynomialExtension
RotatedMatrixExtension
RowMatrixExtension
RowVectorExtension
ShiftPolynomialExtension
SingularValueDecompositionExtension
SolverExtension
SubMatrixExtension
SubPolynomialExtension
SubVectorExtension
SumVectorExtension
TestingMatrixExtension
TransformedMatrixExtension
TransformedVectorExtension
TransposedMatrixExtension
UnmodifiableMatrixExtension
UnmodifiablePolynomialExtension
UnmodifiableVectorExtension
VectorListExtension

## Properties

defaultMatrixFormat
Default matrix format.
defaultPolynomialFormat
Default polynomial format.
defaultVectorFormat
Default vector format.

## Functions

beta(num x, num y)
Beta function based on the gamma function.
betacf_(num x, num a, num b)
Evaluates the continued fraction for incomplete beta function by modified Lentz's method.
betaLn(num x, num y)
Logarithm of the beta function based on the gammaLn function.
combination(num n, num k)
Returns the combinations based on the gamma function.
combinationLn(num n, num k)
Returns the logarithm of the combinations based on the gammaLn function.
derivative(double f(double), double x, {int derivative = 1, int accuracy = 2, double epsilon = 1e-5})
Returns the numerical derivative of the provided function `f` at `x`.
editDistance(String a, ) int
Computes the Levenshtein edit distance between two strings `a` and `b`: https://en.wikipedia.org/wiki/Levenshtein_distance
erf(num x)
Returns an approximation of the error function, for details see https://en.wikipedia.org/wiki/Error_function.
erfc(num x)
Returns the complementary error function.
erfcInv(num x)
Returns the inverse complementary error function.
erfInv(num x)
Returns the inverse error function.
factorial(num n)
Returns the factorial based on the gamma function.
factorialLn(num n)
Returns the logarithm of the factorial based on the gammaLn function.
gamma(num x)
Returns an approximation of the gamma function, for details see https://en.wikipedia.org/wiki/Gamma_function.
gammaLn(num x)
Returns the natural logarithm of the gamma function.
gammap(num a, num x)
gammapInv(num p, num a)
ibeta(num x, num a, num b)
Incomplete beta function.
ibetaInv(num p, num a, num b)
Inverse of the incomplete beta function.
integrate(double f(double), double a, double b, {int depth = 6, double epsilon = 1e-6, poles = const [], void onWarning(double)?})
Returns the numerical integration of the provided function `f` from `a` to `b`, that is the result of int(f(x), dx=a..b).
lowRegGamma(num a, num x)
permutation(num n, num m)
Returns the permutations based on the gamma function.
permutationLn(num n, num m)
Returns the logarithm of the permutations based on the gammaLn function.
solve(double f(double), double a, double b, {double bracketEpsilon = 1e-10, double solutionEpsilon = 1e-50, int maxIterations = 50})
Returns the root of the provided function `f` bracketed between `a` and `b`, that is f(x) = 0 is solved for x in the range of `a, b`.

## Enums

IntegrateWarning
Integration warnings that can be triggered for badly behaving functions or ill defined parameters.
MatrixFormat
Formats of matrices.
PolynomialFormat
Formats of polynomials.
VectorFormat
Formats of vectors.

## Exceptions / Errors

IntegrateError
Integration error that is thrown when warnings are not handled explicitly.
InvalidProbability
Error of an invalid probability outside the range of 0.0 to 1.0.