Struct ErlDouble
Provides a C# representation of Erlang floats and doubles. Erlang
defines only one floating point numeric type
Implements
System.IComparable
System.ICloneable
Inherited Members
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.ReferenceEquals(System.Object, System.Object)
Assembly: NFX.Erlang.dll
Syntax
public struct ErlDouble : IErlObject<double>, IErlObject, IComparable, IComparable<IErlObject>, IEquatable<IErlObject>, ICloneable
Constructors
ErlDouble(Double)
Create an Erlang float from the given double value.
Declaration
public ErlDouble(double d)
Parameters
Type |
Name |
Description |
System.Double |
d |
|
Properties
IsScalar
Declaration
public bool IsScalar { get; }
Property Value
Type |
Description |
System.Boolean |
|
TypeOrder
Declaration
public ErlTypeOrder TypeOrder { get; }
Property Value
Value
Declaration
public double Value { get; }
Property Value
Type |
Description |
System.Double |
|
ValueAsBool
Declaration
public bool ValueAsBool { get; }
Property Value
Type |
Description |
System.Boolean |
|
ValueAsByteArray
Declaration
public byte[] ValueAsByteArray { get; }
Property Value
Type |
Description |
System.Byte[] |
|
ValueAsChar
Declaration
public char ValueAsChar { get; }
Property Value
Type |
Description |
System.Char |
|
ValueAsDateTime
Declaration
public DateTime ValueAsDateTime { get; }
Property Value
Type |
Description |
System.DateTime |
|
ValueAsDecimal
Declaration
public decimal ValueAsDecimal { get; }
Property Value
Type |
Description |
System.Decimal |
|
ValueAsDouble
Declaration
public double ValueAsDouble { get; }
Property Value
Type |
Description |
System.Double |
|
ValueAsInt
Declaration
public int ValueAsInt { get; }
Property Value
Type |
Description |
System.Int32 |
|
ValueAsLong
Declaration
public long ValueAsLong { get; }
Property Value
Type |
Description |
System.Int64 |
|
ValueAsObject
Declaration
public object ValueAsObject { get; }
Property Value
Type |
Description |
System.Object |
|
ValueAsString
Declaration
public string ValueAsString { get; }
Property Value
Type |
Description |
System.String |
|
ValueAsTimeSpan
Declaration
public TimeSpan ValueAsTimeSpan { get; }
Property Value
Type |
Description |
System.TimeSpan |
|
Methods
Clone()
Clone an instance of the object (non-scalar immutable objects are copied by reference)
Declaration
public IErlObject Clone()
Returns
CompareTo(IErlObject)
Compare this instance to the IErlObject.
Negative value means that the value is less than obj, positive - greater than the obj
Declaration
public int CompareTo(IErlObject obj)
Parameters
Returns
Type |
Description |
System.Int32 |
|
CompareTo(Object)
Compare this instance to the object.
Negative value means that the value is less than obj, positive - greater than the obj
Declaration
public int CompareTo(object obj)
Parameters
Type |
Name |
Description |
System.Object |
obj |
|
Returns
Type |
Description |
System.Int32 |
|
Equals(ErlDouble, Double)
Determine if two instances are equal
Declaration
public bool Equals(ErlDouble o, double precision = 0)
Parameters
Type |
Name |
Description |
ErlDouble |
o |
|
System.Double |
precision |
|
Returns
Type |
Description |
System.Boolean |
|
Equals(IErlObject)
Determine if two instances are equal
Declaration
public bool Equals(IErlObject o)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Equals(Object)
Determine if this instance equals to the object
Declaration
public override bool Equals(object o)
Parameters
Type |
Name |
Description |
System.Object |
o |
|
Returns
Type |
Description |
System.Boolean |
|
Overrides
System.ValueType.Equals(System.Object)
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Type |
Description |
System.Int32 |
|
Overrides
System.ValueType.GetHashCode()
Match(IErlObject)
Perform pattern match on this Erlang term returning null if match fails
or a dictionary of matched variables bound in the pattern
Declaration
public ErlVarBind Match(IErlObject pattern)
Parameters
Returns
Match(IErlObject, ErlVarBind)
Perform pattern match on this Erlang term, storing matched variables
found in the pattern into the binding.
Declaration
public bool Match(IErlObject pattern, ErlVarBind binding)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Matches(IErlObject)
Perform pattern match on this Erlang term without binding any variables
Declaration
public bool Matches(IErlObject pattern)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Subst(ref IErlObject, ErlVarBind)
Declaration
public bool Subst(ref IErlObject term, ErlVarBind binding)
Parameters
Returns
Type |
Description |
System.Boolean |
|
ToString()
Declaration
public override string ToString()
Returns
Type |
Description |
System.String |
|
Overrides
System.ValueType.ToString()
Visit<TAccumulate>(TAccumulate, Func<TAccumulate, IErlObject, TAccumulate>)
Execute fun for every nested term
Declaration
public TAccumulate Visit<TAccumulate>(TAccumulate acc, Func<TAccumulate, IErlObject, TAccumulate> fun)
Parameters
Type |
Name |
Description |
TAccumulate |
acc |
|
System.Func<TAccumulate, IErlObject, TAccumulate> |
fun |
|
Returns
Type |
Description |
TAccumulate |
|
Type Parameters
Name |
Description |
TAccumulate |
|
Operators
Equality(ErlDouble, ErlDouble)
Declaration
public static bool operator ==(ErlDouble lhs, ErlDouble rhs)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Equality(ErlDouble, Double)
Declaration
public static bool operator ==(ErlDouble lhs, double rhs)
Parameters
Type |
Name |
Description |
ErlDouble |
lhs |
|
System.Double |
rhs |
|
Returns
Type |
Description |
System.Boolean |
|
Equality(Double, ErlDouble)
Declaration
public static bool operator ==(double lhs, ErlDouble rhs)
Parameters
Type |
Name |
Description |
System.Double |
lhs |
|
ErlDouble |
rhs |
|
Returns
Type |
Description |
System.Boolean |
|
Implicit(ErlDouble to Double)
Implicit conversion of ErlLong to double
Declaration
public static implicit operator double (ErlDouble t)
Parameters
Returns
Type |
Description |
System.Double |
|
Implicit(Double to ErlDouble)
Declaration
public static implicit operator ErlDouble(double t)
Parameters
Type |
Name |
Description |
System.Double |
t |
|
Returns
Inequality(ErlDouble, ErlDouble)
Declaration
public static bool operator !=(ErlDouble lhs, ErlDouble rhs)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Inequality(ErlDouble, Double)
Declaration
public static bool operator !=(ErlDouble lhs, double rhs)
Parameters
Type |
Name |
Description |
ErlDouble |
lhs |
|
System.Double |
rhs |
|
Returns
Type |
Description |
System.Boolean |
|
Inequality(Double, ErlDouble)
Declaration
public static bool operator !=(double lhs, ErlDouble rhs)
Parameters
Type |
Name |
Description |
System.Double |
lhs |
|
ErlDouble |
rhs |
|
Returns
Type |
Description |
System.Boolean |
|
Explicit Interface Implementations
ICloneable.Clone()
Declaration
object ICloneable.Clone()
Returns
Type |
Description |
System.Object |
|
Implements
System.IComparable
System.IComparable<T>
System.IEquatable<T>
System.ICloneable
Extension Methods