Facebook
Twitter
Pinterest
Tumblr
GitHub
RSS
  • DEV Home
  • Documentation
  • Reference
  • Download
Search Results for

    Show / Hide Table of Contents

    Struct Rational

    Implements a rational value.

    Implements
    System.IComparable
    System.IComparable<Rational>
    System.Runtime.Serialization.IDeserializationCallback
    System.IEquatable<Rational>
    System.Runtime.Serialization.ISerializable
    Namespace: Emby.Media.Model.Types
    Assembly: Emby.Media.Model.dll
    Syntax
    [Serializable]
    [TypeConverter(typeof(RationalTypeConverter))]
    public struct Rational : IComparable, IComparable<Rational>, IDeserializationCallback, IEquatable<Rational>, ISerializable

    Constructors

    Rational(Decimal, String)

    Initializes a new instance of the Rational struct.

    Declaration
    public Rational(decimal value, string delimiter = "/")
    Parameters
    Type Name Description
    System.Decimal value

    The value.

    System.String delimiter

    The delimiter.

    Remarks

    The Decimal type represents floating point numbers exactly, with no rounding error. Values such as "0.1" in Decimal are actually representable, and convert cleanly to Rational as "11/10"

    Exceptions
    Type Condition
    System.ArgumentException

    invalid Decimal - value

    Rational(Double, String)

    Initializes a new instance of the Rational struct.

    Declaration
    public Rational(double value, string delimiter = "/")
    Parameters
    Type Name Description
    System.Double value

    The value.

    System.String delimiter

    The delimiter.

    Exceptions
    Type Condition
    System.ArgumentException

    Argument is not a number - value or Argument is infinity - value

    Rational(BigInteger, BigInteger, BigInteger, String)

    Initializes a new instance of the Rational struct.

    Declaration
    public Rational(BigInteger whole, BigInteger numerator, BigInteger denominator, string delimiter = "/")
    Parameters
    Type Name Description
    System.Numerics.BigInteger whole

    The whole.

    System.Numerics.BigInteger numerator

    The numerator.

    System.Numerics.BigInteger denominator

    The denominator.

    System.String delimiter

    The delimiter.

    Exceptions
    Type Condition
    System.DivideByZeroException

    Rational(BigInteger, BigInteger, String)

    Initializes a new instance of the Rational struct.

    Declaration
    public Rational(BigInteger numerator, BigInteger denominator, string delimiter = "/")
    Parameters
    Type Name Description
    System.Numerics.BigInteger numerator

    The numerator.

    System.Numerics.BigInteger denominator

    The denominator.

    System.String delimiter

    The delimiter.

    Exceptions
    Type Condition
    System.DivideByZeroException

    Rational(BigInteger, String)

    Initializes a new instance of the Rational struct.

    Declaration
    public Rational(BigInteger numerator, string delimiter = "/")
    Parameters
    Type Name Description
    System.Numerics.BigInteger numerator

    The numerator.

    System.String delimiter

    The delimiter.

    Fields

    DefaultDelimiter

    Declaration
    public const string DefaultDelimiter = "/"
    Field Value
    Type Description
    System.String

    Properties

    Denominator

    Gets the denominator.

    Declaration
    public readonly BigInteger Denominator { get; }
    Property Value
    Type Description
    System.Numerics.BigInteger

    The denominator.

    MinusOne

    Gets the minus one.

    Declaration
    public static readonly Rational MinusOne { get; }
    Property Value
    Type Description
    Rational

    The minus one.

    Numerator

    Gets the numerator.

    Declaration
    public readonly BigInteger Numerator { get; }
    Property Value
    Type Description
    System.Numerics.BigInteger

    The numerator.

    One

    Gets the one.

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

    The one.

    Sign

    Gets the sign.

    Declaration
    public readonly int Sign { get; }
    Property Value
    Type Description
    System.Int32

    The sign.

    Zero

    Gets the zero.

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

    The zero.

    Methods

    Abs(Rational)

    Abses the specified r.

    Declaration
    public static Rational Abs(Rational r)
    Parameters
    Type Name Description
    Rational r

    The r.

    Returns
    Type Description
    Rational

    Add(Rational, Rational)

    Adds the specified x.

    Declaration
    public static Rational Add(Rational x, Rational y)
    Parameters
    Type Name Description
    Rational x

    The x.

    Rational y

    The y.

    Returns
    Type Description
    Rational

    Compare(Rational, Rational)

    Compares the specified r1.

    Declaration
    public static int Compare(Rational r1, Rational r2)
    Parameters
    Type Name Description
    Rational r1

    The r1.

    Rational r2

    The r2.

    Returns
    Type Description
    System.Int32

    CompareTo(Rational)

    Compares to.

    Declaration
    public int CompareTo(Rational other)
    Parameters
    Type Name Description
    Rational other

    The other.

    Returns
    Type Description
    System.Int32

    Divide(Rational, Rational)

    Divides the specified dividend.

    Declaration
    public static Rational Divide(Rational dividend, Rational divisor)
    Parameters
    Type Name Description
    Rational dividend

    The dividend.

    Rational divisor

    The divisor.

    Returns
    Type Description
    Rational

    DivRem(Rational, Rational, out Rational)

    Divs the rem.

    Declaration
    public static Rational DivRem(Rational dividend, Rational divisor, out Rational remainder)
    Parameters
    Type Name Description
    Rational dividend

    The dividend.

    Rational divisor

    The divisor.

    Rational remainder

    The remainder.

    Returns
    Type Description
    Rational

    Equals(Rational)

    Indicates whether the current object is equal to another object of the same type.

    Declaration
    public bool Equals(Rational other)
    Parameters
    Type Name Description
    Rational other

    An object to compare with this object.

    Returns
    Type Description
    System.Boolean

    true if the current object is equal to the other parameter; otherwise, false.

    Equals(Object)

    Determines whether the specified System.Object, is equal to this instance.

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

    The System.Object to compare with this instance.

    Returns
    Type Description
    System.Boolean

    true if the specified System.Object is equal to this instance; otherwise, false.

    Overrides
    System.ValueType.Equals(System.Object)

    GetFractionPart()

    Gets the fraction part.

    Declaration
    public Rational GetFractionPart()
    Returns
    Type Description
    Rational

    GetHashCode()

    Returns a hash code for this instance.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    System.Int32

    A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.

    Overrides
    System.ValueType.GetHashCode()

    GetWholePart()

    Gets the whole part.

    Declaration
    public BigInteger GetWholePart()
    Returns
    Type Description
    System.Numerics.BigInteger

    Invert(Rational)

    Inverts the specified r.

    Declaration
    public static Rational Invert(Rational r)
    Parameters
    Type Name Description
    Rational r

    The r.

    Returns
    Type Description
    Rational

    LeastCommonDenominator(Rational, Rational)

    Least common denominator.

    Declaration
    public static BigInteger LeastCommonDenominator(Rational x, Rational y)
    Parameters
    Type Name Description
    Rational x

    The x.

    Rational y

    The y.

    Returns
    Type Description
    System.Numerics.BigInteger
    Remarks

    The LCD is the least common multiple of the two denominators. For instance, the LCD of {1/2, 1/4} is 4 because the least common multiple of 2 and 4 is 4. Likewise, the LCD of {1/2, 1/3} is 6. To find the LCD:

    1. Find the Greatest Common Divisor (GCD) of the denominators
    2. Multiply the denominators together
    3. Divide the product of the denominators by the GCD

    Multiply(Rational, Rational)

    Multiplies the specified x.

    Declaration
    public static Rational Multiply(Rational x, Rational y)
    Parameters
    Type Name Description
    Rational x

    The x.

    Rational y

    The y.

    Returns
    Type Description
    Rational

    Negate(Rational)

    Negates the specified r.

    Declaration
    public static Rational Negate(Rational r)
    Parameters
    Type Name Description
    Rational r

    The r.

    Returns
    Type Description
    Rational

    Pow(Rational, BigInteger)

    Pows the specified base value.

    Declaration
    public static Rational Pow(Rational baseValue, BigInteger exponent)
    Parameters
    Type Name Description
    Rational baseValue

    The base value.

    System.Numerics.BigInteger exponent

    The exponent.

    Returns
    Type Description
    Rational
    Exceptions
    Type Condition
    System.ArgumentException

    cannot raise zero to a negative power - baseValue

    Remainder(Rational, Rational)

    Remainders the specified dividend.

    Declaration
    public static Rational Remainder(Rational dividend, Rational divisor)
    Parameters
    Type Name Description
    Rational dividend

    The dividend.

    Rational divisor

    The divisor.

    Returns
    Type Description
    Rational

    Subtract(Rational, Rational)

    Subtracts the specified x.

    Declaration
    public static Rational Subtract(Rational x, Rational y)
    Parameters
    Type Name Description
    Rational x

    The x.

    Rational y

    The y.

    Returns
    Type Description
    Rational

    ToDualString()

    Declaration
    public string ToDualString()
    Returns
    Type Description
    System.String

    ToString()

    Converts to string.

    Declaration
    public override string ToString()
    Returns
    Type Description
    System.String

    A System.String that represents this instance.

    Overrides
    System.ValueType.ToString()

    TryParse(String, out Rational, String)

    Declaration
    public static bool TryParse(string value, out Rational result, string delimiter = "/")
    Parameters
    Type Name Description
    System.String value
    Rational result
    System.String delimiter
    Returns
    Type Description
    System.Boolean

    TryParse(String, NumberStyles, IFormatProvider, out Rational, String)

    Declaration
    public static bool TryParse(string value, NumberStyles style, IFormatProvider provider, out Rational result, string delimiter = "/")
    Parameters
    Type Name Description
    System.String value
    System.Globalization.NumberStyles style
    System.IFormatProvider provider
    Rational result
    System.String delimiter
    Returns
    Type Description
    System.Boolean

    Operators

    Addition(Rational, Rational)

    Declaration
    public static Rational operator +(Rational r1, Rational r2)
    Parameters
    Type Name Description
    Rational r1
    Rational r2
    Returns
    Type Description
    Rational

    Decrement(Rational)

    Declaration
    public static Rational operator --(Rational r)
    Parameters
    Type Name Description
    Rational r
    Returns
    Type Description
    Rational

    Division(Rational, Rational)

    Declaration
    public static Rational operator /(Rational r1, Rational r2)
    Parameters
    Type Name Description
    Rational r1
    Rational r2
    Returns
    Type Description
    Rational

    Equality(Rational, Rational)

    Declaration
    public static bool operator ==(Rational x, Rational y)
    Parameters
    Type Name Description
    Rational x
    Rational y
    Returns
    Type Description
    System.Boolean

    Explicit(Rational to Byte)

    Declaration
    public static explicit operator byte (Rational value)
    Parameters
    Type Name Description
    Rational value
    Returns
    Type Description
    System.Byte

    Explicit(Rational to Decimal)

    Declaration
    public static explicit operator decimal (Rational value)
    Parameters
    Type Name Description
    Rational value
    Returns
    Type Description
    System.Decimal

    Explicit(Rational to Double)

    Declaration
    public static explicit operator double (Rational value)
    Parameters
    Type Name Description
    Rational value
    Returns
    Type Description
    System.Double

    Explicit(Rational to Int16)

    Declaration
    public static explicit operator short (Rational value)
    Parameters
    Type Name Description
    Rational value
    Returns
    Type Description
    System.Int16

    Explicit(Rational to Int32)

    Declaration
    public static explicit operator int (Rational value)
    Parameters
    Type Name Description
    Rational value
    Returns
    Type Description
    System.Int32

    Explicit(Rational to Int64)

    Declaration
    public static explicit operator long (Rational value)
    Parameters
    Type Name Description
    Rational value
    Returns
    Type Description
    System.Int64

    Explicit(Rational to BigInteger)

    Declaration
    public static explicit operator BigInteger(Rational value)
    Parameters
    Type Name Description
    Rational value
    Returns
    Type Description
    System.Numerics.BigInteger

    Explicit(Rational to SByte)

    Declaration
    public static explicit operator sbyte (Rational value)
    Parameters
    Type Name Description
    Rational value
    Returns
    Type Description
    System.SByte

    Explicit(Rational to Single)

    Declaration
    public static explicit operator float (Rational value)
    Parameters
    Type Name Description
    Rational value
    Returns
    Type Description
    System.Single

    Explicit(Rational to UInt16)

    Declaration
    public static explicit operator ushort (Rational value)
    Parameters
    Type Name Description
    Rational value
    Returns
    Type Description
    System.UInt16

    Explicit(Rational to UInt32)

    Declaration
    public static explicit operator uint (Rational value)
    Parameters
    Type Name Description
    Rational value
    Returns
    Type Description
    System.UInt32

    Explicit(Rational to UInt64)

    Declaration
    public static explicit operator ulong (Rational value)
    Parameters
    Type Name Description
    Rational value
    Returns
    Type Description
    System.UInt64

    GreaterThan(Rational, Rational)

    Declaration
    public static bool operator>(Rational x, Rational y)
    Parameters
    Type Name Description
    Rational x
    Rational y
    Returns
    Type Description
    System.Boolean

    GreaterThanOrEqual(Rational, Rational)

    Declaration
    public static bool operator >=(Rational x, Rational y)
    Parameters
    Type Name Description
    Rational x
    Rational y
    Returns
    Type Description
    System.Boolean

    Implicit(Byte to Rational)

    Declaration
    public static implicit operator Rational(byte value)
    Parameters
    Type Name Description
    System.Byte value
    Returns
    Type Description
    Rational

    Implicit(Decimal to Rational)

    Declaration
    public static implicit operator Rational(decimal value)
    Parameters
    Type Name Description
    System.Decimal value
    Returns
    Type Description
    Rational

    Implicit(Double to Rational)

    Declaration
    public static implicit operator Rational(double value)
    Parameters
    Type Name Description
    System.Double value
    Returns
    Type Description
    Rational

    Implicit(Int16 to Rational)

    Declaration
    public static implicit operator Rational(short value)
    Parameters
    Type Name Description
    System.Int16 value
    Returns
    Type Description
    Rational

    Implicit(Int32 to Rational)

    Declaration
    public static implicit operator Rational(int value)
    Parameters
    Type Name Description
    System.Int32 value
    Returns
    Type Description
    Rational

    Implicit(Int64 to Rational)

    Declaration
    public static implicit operator Rational(long value)
    Parameters
    Type Name Description
    System.Int64 value
    Returns
    Type Description
    Rational

    Implicit(BigInteger to Rational)

    Declaration
    public static implicit operator Rational(BigInteger value)
    Parameters
    Type Name Description
    System.Numerics.BigInteger value
    Returns
    Type Description
    Rational

    Implicit(SByte to Rational)

    Declaration
    public static implicit operator Rational(sbyte value)
    Parameters
    Type Name Description
    System.SByte value
    Returns
    Type Description
    Rational

    Implicit(Single to Rational)

    Declaration
    public static implicit operator Rational(float value)
    Parameters
    Type Name Description
    System.Single value
    Returns
    Type Description
    Rational

    Implicit(UInt16 to Rational)

    Declaration
    public static implicit operator Rational(ushort value)
    Parameters
    Type Name Description
    System.UInt16 value
    Returns
    Type Description
    Rational

    Implicit(UInt32 to Rational)

    Declaration
    public static implicit operator Rational(uint value)
    Parameters
    Type Name Description
    System.UInt32 value
    Returns
    Type Description
    Rational

    Implicit(UInt64 to Rational)

    Declaration
    public static implicit operator Rational(ulong value)
    Parameters
    Type Name Description
    System.UInt64 value
    Returns
    Type Description
    Rational

    Increment(Rational)

    Declaration
    public static Rational operator ++(Rational r)
    Parameters
    Type Name Description
    Rational r
    Returns
    Type Description
    Rational

    Inequality(Rational, Rational)

    Declaration
    public static bool operator !=(Rational x, Rational y)
    Parameters
    Type Name Description
    Rational x
    Rational y
    Returns
    Type Description
    System.Boolean

    LessThan(Rational, Rational)

    Declaration
    public static bool operator <(Rational x, Rational y)
    Parameters
    Type Name Description
    Rational x
    Rational y
    Returns
    Type Description
    System.Boolean

    LessThanOrEqual(Rational, Rational)

    Declaration
    public static bool operator <=(Rational x, Rational y)
    Parameters
    Type Name Description
    Rational x
    Rational y
    Returns
    Type Description
    System.Boolean

    Modulus(Rational, Rational)

    Declaration
    public static Rational operator %(Rational r1, Rational r2)
    Parameters
    Type Name Description
    Rational r1
    Rational r2
    Returns
    Type Description
    Rational

    Multiply(Rational, Rational)

    Declaration
    public static Rational operator *(Rational r1, Rational r2)
    Parameters
    Type Name Description
    Rational r1
    Rational r2
    Returns
    Type Description
    Rational

    Subtraction(Rational, Rational)

    Declaration
    public static Rational operator -(Rational r1, Rational r2)
    Parameters
    Type Name Description
    Rational r1
    Rational r2
    Returns
    Type Description
    Rational

    UnaryNegation(Rational)

    Declaration
    public static Rational operator -(Rational r)
    Parameters
    Type Name Description
    Rational r
    Returns
    Type Description
    Rational

    UnaryPlus(Rational)

    Declaration
    public static Rational operator +(Rational r)
    Parameters
    Type Name Description
    Rational r
    Returns
    Type Description
    Rational

    Explicit Interface Implementations

    IComparable.CompareTo(Object)

    Declaration
    int IComparable.CompareTo(object obj)
    Parameters
    Type Name Description
    System.Object obj
    Returns
    Type Description
    System.Int32

    IDeserializationCallback.OnDeserialization(Object)

    Declaration
    void IDeserializationCallback.OnDeserialization(object sender)
    Parameters
    Type Name Description
    System.Object sender

    ISerializable.GetObjectData(SerializationInfo, StreamingContext)

    Declaration
    [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)]
    void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
    Parameters
    Type Name Description
    System.Runtime.Serialization.SerializationInfo info
    System.Runtime.Serialization.StreamingContext context

    Implements

    System.IComparable
    System.IComparable<T>
    System.Runtime.Serialization.IDeserializationCallback
    System.IEquatable<T>
    System.Runtime.Serialization.ISerializable

    Extension Methods

    Extensions.JsonClone<T>(T, IJsonSerializer)

    See Also

    System.IComparable
    System.IComparable
    System.Runtime.Serialization.IDeserializationCallback
    System.IEquatable<T>
    System.Runtime.Serialization.ISerializable
    SDK
    On this Page
    Back to Top Copyright 2022 © EMBY LLC. Please see our terms of use and privacy policy.