double to float
This commit is contained in:
parent
13dd052c3d
commit
77bc712eba
@ -3,8 +3,8 @@
|
||||
public struct Edge
|
||||
{
|
||||
public Node neighbor { get; }
|
||||
public double weight { get; }
|
||||
public Edge(Node neighbor, double weight)
|
||||
public float weight { get; }
|
||||
public Edge(Node neighbor, float weight)
|
||||
{
|
||||
this.neighbor = neighbor;
|
||||
this.weight = weight;
|
||||
|
@ -4,21 +4,21 @@
|
||||
{
|
||||
public float lat { get; }
|
||||
public float lon { get; }
|
||||
public List<Edge> edges { get; }
|
||||
public HashSet<Edge> edges { get; }
|
||||
|
||||
public Node previousNode { get; set; }
|
||||
public double goalDistance { get; set; }
|
||||
public float goalDistance { get; set; }
|
||||
|
||||
public double pathLength { get; set; }
|
||||
public float pathLength { get; set; }
|
||||
|
||||
public Node(float lat, float lon)
|
||||
{
|
||||
this.lat = lat;
|
||||
this.lon = lon;
|
||||
this.edges = new List<Edge>();
|
||||
this.edges = new();
|
||||
this.previousNode = nullnode;
|
||||
this.goalDistance = double.MaxValue;
|
||||
this.pathLength = double.MaxValue;
|
||||
this.goalDistance = float.MaxValue;
|
||||
this.pathLength = float.MaxValue;
|
||||
}
|
||||
public static Node nullnode = new(float.NaN, float.NaN);
|
||||
}
|
||||
|
@ -2,12 +2,12 @@
|
||||
|
||||
public struct Utils
|
||||
{
|
||||
public static double DistanceBetweenNodes(Node n1, Node n2)
|
||||
public static float DistanceBetweenNodes(Node n1, Node n2)
|
||||
{
|
||||
return DistanceBetweenCoordinates(n1.lat, n1.lon, n2.lat, n2.lon);
|
||||
}
|
||||
|
||||
public static double DistanceBetweenCoordinates(float lat1, float lon1, float lat2, float lon2)
|
||||
public static float DistanceBetweenCoordinates(float lat1, float lon1, float lat2, float lon2)
|
||||
{
|
||||
const int earthRadius = 6371;
|
||||
double differenceLat = DegreesToRadians(lat2 - lat1);
|
||||
@ -19,7 +19,7 @@
|
||||
double a = Math.Sin(differenceLat / 2) * Math.Sin(differenceLat / 2) + Math.Sin(differenceLon / 2) * Math.Sin(differenceLon / 2) * Math.Cos(lat1Rads) * Math.Cos(lat2Rads);
|
||||
double c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));
|
||||
|
||||
return earthRadius * c;
|
||||
return Convert.ToSingle(earthRadius * c);
|
||||
}
|
||||
|
||||
private static double DegreesToRadians(double deg)
|
||||
|
@ -34,7 +34,7 @@ namespace astar
|
||||
foreach(Node n in nodes.Values)
|
||||
{
|
||||
n.previousNode = Node.nullnode;
|
||||
n.goalDistance = double.MaxValue;
|
||||
n.goalDistance = float.MaxValue;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user