using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
namespace Dbscan
{
///
/// A point on the 2-d plane.
///
/// The x-coordinate of the point.
/// The y-coordinate of the point.
public struct Point : IEquatable
{
/// The x-coordinate of the point.
public double X { get; set; }
/// The y-coordinate of the point.
public double Y { get; set; }
///
/// A point on the 2-d plane.
///
/// The x-coordinate of the point.
/// The y-coordinate of the point.
public Point(double X, double Y)
{
this.X = X;
this.Y = Y;
}
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("Point");
stringBuilder.Append(" { ");
if (PrintMembers(stringBuilder))
{
stringBuilder.Append(' ');
}
stringBuilder.Append('}');
return stringBuilder.ToString();
}
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
builder.Append("X = ");
builder.Append(X.ToString());
builder.Append(", Y = ");
builder.Append(Y.ToString());
return true;
}
[CompilerGenerated]
public static bool operator !=(Point left, Point right)
{
return !(left == right);
}
[CompilerGenerated]
public static bool operator ==(Point left, Point right)
{
return left.Equals(right);
}
[CompilerGenerated]
public override int GetHashCode()
{
return EqualityComparer.Default.GetHashCode(X) * -1521134295 + EqualityComparer.Default.GetHashCode(Y);
}
[CompilerGenerated]
public override bool Equals(object obj)
{
if (obj is Point)
{
return Equals((Point)obj);
}
return false;
}
[CompilerGenerated]
public bool Equals(Point other)
{
if (EqualityComparer.Default.Equals(X, other.X))
{
return EqualityComparer.Default.Equals(Y, other.Y);
}
return false;
}
[CompilerGenerated]
public void Deconstruct(out double X, out double Y)
{
X = this.X;
Y = this.Y;
}
}
public class Data : IPointData
{
public long ID { get; set; }
public Point Point { get; set; }
}
}