Turi Create  4.0
sssp.hpp
1 /* Copyright © 2017 Apple Inc. All rights reserved.
2  *
3  * Use of this source code is governed by a BSD-3-clause license that can
4  * be found in the LICENSE.txt file or at https://opensource.org/licenses/BSD-3-Clause
5  */
6 #include <model_server/lib/toolkit_function_specification.hpp>
7 #ifndef TURI_UNITY_SSSP
8 #define TURI_UNITY_SSSP
9 
10 namespace turi {
11  namespace sssp {
12  /**
13  * Obtains the registration for the SSSP Toolkit.
14  *
15  * <b> Toolkit Name: sssp </b>
16  *
17  * Accepted Parameters:
18  * \li \b source_vid (flexible_type). The source vertex to compute SSSP from.
19  *
20  * \li \b max_dist (flexible_type: float). The largest distance to expand to.
21  * (Default 1E30)
22  *
23  * \li \b edge_attr(flexible_type: string). The attribute to use for
24  * edge weights. If empty string, uniform weights are used (every edge has a
25  * weight of 1). Otherwise, edge_weight must refer to an edge field with a
26  * integer or float value. If any edge does not contain the field, it
27  * is assumed to have an an infinite weight. (Default "")
28  *
29  * Returned Parameters:
30  * \li \b training_time (flexible_type: float). The training time of the algorithm in seconds
31  * excluding all other preprocessing stages.
32  *
33  * \li \b __graph__ (unity_graph). The graph object with the field "distance"
34  * on each vertex. The "distance" field (float) corresponds to the
35  * distance of the vertex from the source_vid. If the vertex was unreachable,
36  * it has weight infinity.
37  */
38  std::vector<toolkit_function_specification> get_toolkit_function_registration();
39 
40  } // namespace sssp
41 } // namespace turi
42 #endif