Calculates the shortest path from source
to target
.
Calculates the shortest path from any of the sources
to any of the targets
.
Creates a PathCalculator
that can be used to run many shortest path calculations in a row.
This is the preferred way to calculate shortest paths in case you are calculating more than
one path. Use one PathCalculator
for each thread.
When deserializing a FastGraph
in a larger struct, use #[serde(deserialize_with = "fast_paths::deserialize_32
)]` to transform the graph from a 32-bit representation to the
current platform’s supported size. This is necessary when serializing on a 64-bit system and
deserializing on a 32-bit system, such as WASM.
Returns the node ordering of a prepared graph. This can be used to run the preparation with
prepare_with_order()
.
Prepares the given InputGraph
for fast shortest path calculations.
Prepares the given input graph using a fixed node ordering, which can be any permutation
of the node ids. This can be used to speed up the graph preparation if you have done
it for a similar graph with an equal number of nodes. For example if you have changed some
of the edge weights only.
Like prepare_with_order()
, but allows specifying some parameters used for the graph preparation
Like prepare()
, but allows specifying some parameters used for the graph preparation.
When serializing a FastGraph
in a larger struct, use #[serde(serialize_with = "fast_paths::serialize_32
)]` to transform the graph to a 32-bit representation. This will use
50% more RAM than serializing without transformation, but the resulting size will be 50% less.
It will panic if the graph has more than 2^32 nodes or edges or values for weight.