Click or drag to resize
Accord.NET (logo)

IMetricT Interface

Common interface for Metric distance functions.

Namespace:  Accord.Math.Distances
Assembly:  Accord.Math (in Accord.Math.dll) Version: 3.8.0
public interface IMetric<in T> : IDistance<T>, 
	IDistance<T, T>
Request Example View Source

Type Parameters


The IMetricT type exposes the following members.


The framework distinguishes between metrics and distances by using different types for them. This makes it possible to let the compiler figure out logic problems such as the specification of a non-metric for a method that requires a proper metric (i.e. that respects the triangle inequality).

The objective of this technique is to make it harder to make some mistakes. However, it is generally possible to bypass this mechanism by using named constructors available at each of the classes, such as Minkowski's Nonmetric(Double) method, to create distances implementing the IMetricT interface that are not really metrics. Use at your own risk.

See Also