Search Results for

    Show / Hide Table of Contents

    Struct Weight

    Represent an element of the automata weight semiring.

    Implements
    IComparable<Weight>
    IFormattable
    Inherited Members
    Object.Equals(Object, Object)
    Object.GetType()
    Object.ReferenceEquals(Object, Object)
    Namespace: Microsoft.ML.Probabilistic.Distributions.Automata
    Assembly: Microsoft.ML.Probabilistic.dll
    Syntax
    [Serializable]
    [DataContract]
    public readonly struct Weight : IComparable<Weight>, IFormattable
    Remarks

    Weights are stored in log-domain so that weights of tiny magnitude can be handled without the loss of precision.

    Properties

    Infinity

    Gets the infinite weight.

    Declaration
    public static readonly Weight Infinity { get; }
    Property Value
    Type Description
    Weight

    IsInfinity

    Gets value indicating whether weight is infinite.

    Declaration
    public readonly bool IsInfinity { get; }
    Property Value
    Type Description
    Boolean

    IsZero

    Gets a value indicating whether the weight is zero.

    Declaration
    public readonly bool IsZero { get; }
    Property Value
    Type Description
    Boolean

    LogValue

    Gets the logarithm of the weight value.

    Declaration
    public readonly double LogValue { get; }
    Property Value
    Type Description
    Double

    One

    Gets the unit weight.

    Declaration
    public static readonly Weight One { get; }
    Property Value
    Type Description
    Weight

    Value

    Gets the weight value.

    Declaration
    public readonly double Value { get; }
    Property Value
    Type Description
    Double

    Zero

    Gets the zero weight.

    Declaration
    public static readonly Weight Zero { get; }
    Property Value
    Type Description
    Weight

    Methods

    AbsoluteDifference(Weight, Weight)

    Compute the difference of given weights.

    Declaration
    public static Weight AbsoluteDifference(Weight weight1, Weight weight2)
    Parameters
    Type Name Description
    Weight weight1

    The first weight.

    Weight weight2

    The second weight.

    Returns
    Type Description
    Weight

    The computed difference.

    ApproximateClosure(Weight)

    Computes the sum of a geometric series 1 + w + w^2 + w^3 + ..., where w is a given weight. If the sum diverges, replaces the infinite sum by a finite sum with a lot of terms.

    Declaration
    public static Weight ApproximateClosure(Weight weight)
    Parameters
    Type Name Description
    Weight weight

    The weight.

    Returns
    Type Description
    Weight

    The computed sum.

    Closure(Weight)

    Computes the sum of a geometric series 1 + w + w^2 + w^3 + ..., where w is a given weight.

    Declaration
    public static Weight Closure(Weight weight)
    Parameters
    Type Name Description
    Weight weight

    The weight.

    Returns
    Type Description
    Weight

    The computed sum, or Infinity if the sum diverges.

    CompareTo(Weight)

    Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.

    Declaration
    public readonly int CompareTo(Weight that)
    Parameters
    Type Name Description
    Weight that

    An object to compare with this instance.

    Returns
    Type Description
    Int32

    A value that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance precedes that in the sort order. Zero This instance occurs in the same position in the sort order as that. Greater than zero This instance follows that in the sort order.

    Equals(Object)

    Checks if this instance is equal to a given object.

    Declaration
    public override readonly bool Equals(object obj)
    Parameters
    Type Name Description
    Object obj

    The object.

    Returns
    Type Description
    Boolean

    true if this instance is equal to obj, false otherwise.

    Overrides
    ValueType.Equals(Object)

    FromLogValue(Double)

    Creates a weight from the logarithm of its value.

    Declaration
    [Construction(new string[]{"LogValue"})]
    public static Weight FromLogValue(double logValue)
    Parameters
    Type Name Description
    Double logValue

    The logarithm of the weight value.

    Returns
    Type Description
    Weight

    The created weight.

    FromValue(Double)

    Creates a weight from its value.

    Declaration
    public static Weight FromValue(double value)
    Parameters
    Type Name Description
    Double value

    The weight value.

    Returns
    Type Description
    Weight

    The created weight.

    GetHashCode()

    Gets the hash code of this instance.

    Declaration
    public override readonly int GetHashCode()
    Returns
    Type Description
    Int32

    The hash code.

    Overrides
    ValueType.GetHashCode()

    Inverse(Weight)

    Computes the inverse of a given weight.

    Declaration
    public static Weight Inverse(Weight weight)
    Parameters
    Type Name Description
    Weight weight

    The weight.

    Returns
    Type Description
    Weight

    The inverse I such that weight*I=1.

    Pow(Weight, Double)

    Returns a specified weight raised to the specified power.

    Declaration
    public static Weight Pow(Weight weight, double power)
    Parameters
    Type Name Description
    Weight weight
    Double power
    Returns
    Type Description
    Weight

    Product(Weight, Weight)

    Compute the product of given weights.

    Declaration
    public static Weight Product(Weight weight1, Weight weight2)
    Parameters
    Type Name Description
    Weight weight1

    The first weight.

    Weight weight2

    The second weight.

    Returns
    Type Description
    Weight

    The computed product.

    Product(Weight, Weight, Weight)

    Compute the product of given weights.

    Declaration
    public static Weight Product(Weight weight1, Weight weight2, Weight weight3)
    Parameters
    Type Name Description
    Weight weight1

    The first weight.

    Weight weight2

    The second weight.

    Weight weight3

    The third weight.

    Returns
    Type Description
    Weight

    The computed product.

    Product(Weight[])

    Compute the product of given weights.

    Declaration
    public static Weight Product(params Weight[] weights)
    Parameters
    Type Name Description
    Weight[] weights

    The weights.

    Returns
    Type Description
    Weight

    The computed product.

    Read(Func<Double>)

    Reads a weight.

    Declaration
    public static Weight Read(Func<double> readDouble)
    Parameters
    Type Name Description
    Func<Double> readDouble
    Returns
    Type Description
    Weight

    Sum(Weight, Weight)

    Compute the sum of given weights.

    Declaration
    public static Weight Sum(Weight weight1, Weight weight2)
    Parameters
    Type Name Description
    Weight weight1

    The first weight.

    Weight weight2

    The second weight.

    Returns
    Type Description
    Weight

    The computed sum.

    ToString()

    Gets a string representation of this object.

    Declaration
    public override readonly string ToString()
    Returns
    Type Description
    String

    A string representation of this object.

    Overrides
    ValueType.ToString()

    ToString(IFormatProvider)

    Gets a string representation of this object.

    Declaration
    public readonly string ToString(IFormatProvider provider)
    Parameters
    Type Name Description
    IFormatProvider provider

    A format provider.

    Returns
    Type Description
    String

    A string representation of this object.

    ToString(String)

    Declaration
    public readonly string ToString(string format)
    Parameters
    Type Name Description
    String format
    Returns
    Type Description
    String

    ToString(String, IFormatProvider)

    Declaration
    public readonly string ToString(string format, IFormatProvider formatProvider)
    Parameters
    Type Name Description
    String format
    IFormatProvider formatProvider
    Returns
    Type Description
    String

    Write(Action<Double>)

    Writes the weight.

    Declaration
    public readonly void Write(Action<double> writeDouble)
    Parameters
    Type Name Description
    Action<Double> writeDouble

    Operators

    Addition(Weight, Weight)

    Compute the sum of given weights.

    Declaration
    public static Weight operator +(Weight weight1, Weight weight2)
    Parameters
    Type Name Description
    Weight weight1

    The first weight.

    Weight weight2

    The second weight.

    Returns
    Type Description
    Weight

    The computed sum.

    Division(Weight, Weight)

    Compute the ratio of given weights.

    Declaration
    public static Weight operator /(Weight weight1, Weight weight2)
    Parameters
    Type Name Description
    Weight weight1

    The first weight.

    Weight weight2

    The second weight.

    Returns
    Type Description
    Weight

    The computed product.

    Equality(Weight, Weight)

    The weight equality operator.

    Declaration
    public static bool operator ==(Weight weight1, Weight weight2)
    Parameters
    Type Name Description
    Weight weight1

    The first weight.

    Weight weight2

    The second weight.

    Returns
    Type Description
    Boolean

    true if the given weights are equal, false otherwise.

    GreaterThan(Weight, Weight)

    Weight "greater than" operator.

    Declaration
    public static bool operator>(Weight weight1, Weight weight2)
    Parameters
    Type Name Description
    Weight weight1
    Weight weight2
    Returns
    Type Description
    Boolean

    GreaterThanOrEqual(Weight, Weight)

    Weight "greater than or equal" operator.

    Declaration
    public static bool operator >=(Weight weight1, Weight weight2)
    Parameters
    Type Name Description
    Weight weight1
    Weight weight2
    Returns
    Type Description
    Boolean

    Inequality(Weight, Weight)

    The weight inequality operator.

    Declaration
    public static bool operator !=(Weight weight1, Weight weight2)
    Parameters
    Type Name Description
    Weight weight1

    The first weight.

    Weight weight2

    The second weight.

    Returns
    Type Description
    Boolean

    true if the given weights are not equal, false otherwise.

    LessThan(Weight, Weight)

    Weight "less than" operator.

    Declaration
    public static bool operator <(Weight weight1, Weight weight2)
    Parameters
    Type Name Description
    Weight weight1
    Weight weight2
    Returns
    Type Description
    Boolean

    LessThanOrEqual(Weight, Weight)

    Weight "less than or equal" operator.

    Declaration
    public static bool operator <=(Weight weight1, Weight weight2)
    Parameters
    Type Name Description
    Weight weight1
    Weight weight2
    Returns
    Type Description
    Boolean

    Multiply(Weight, Weight)

    Compute the product of given weights.

    Declaration
    public static Weight operator *(Weight weight1, Weight weight2)
    Parameters
    Type Name Description
    Weight weight1

    The first weight.

    Weight weight2

    The second weight.

    Returns
    Type Description
    Weight

    The computed product.

    Implements

    System.IComparable<T>
    System.IFormattable
    In This Article
    Back to top Copyright © .NET Foundation. All rights reserved.