Interface IImmutableDistribution<T, TThis>
Immutable distribution interface
Inherited Members
Namespace: Microsoft.ML.Probabilistic.Distributions
Assembly: Microsoft.ML.Probabilistic.dll
Syntax
[Quality(QualityBand.Experimental)]
public interface IImmutableDistribution<T, TThis> : IImmutableDistribution, ICloneable, Diffable, CanCreateUniform<TThis>, CanCreatePointMass<T, TThis>, CanGetLogProb<T> where TThis : IImmutableDistribution<T, TThis>
Type Parameters
Name | Description |
---|---|
T | The type of objects in the domain, e.g. double or string. Should be an immutable type. |
TThis | The type of the concrete IImmutableDistribution<T, TThis> implementation. |
Remarks
T should generally have value semantics, i.e. it should override Equals to use value equality. Otherwise it implies a Distribution over references.
In addition to this interface, Distributions should override Equals to
use value equality.
A typical implementation of Equals is: MaxDiff(that) == 0.0
When implementing this interface, its second type parameter should be the type being implemented itself, e.g. a typical declaration of a type implementing an immutable distribution over double-precision floating point numbers would look like
public class A : IImmutableDistribution<double, A>