|
Template Numerical Library version\ main:4e6e2c1
|
Graph algorithms and data structures. More...
Classes | |
| struct | DirectedGraph |
| Type tag for directed graphs. More... | |
| struct | Edge |
| Represents a weighted edge in a graph. More... | |
| struct | Graph |
| Graph class represents a mathematical graph using an adjacency matrix. More... | |
| struct | GraphBase |
| Graph class represents a mathematical graph using an adjacency matrix. More... | |
| struct | GraphOrientation |
| Template structure for specifying graph orientation (directed or undirected). More... | |
| struct | GraphVertexView |
| View type for accessing individual graph vertices and their edges. More... | |
| struct | GraphVertexView< Matrices::DenseMatrixView< Real, Device, Index, Organization >, GraphType_ > |
| Specialization of GraphVertexView for dense adjacency matrices. More... | |
| struct | GraphVertexView< Matrices::SparseMatrixView< Real, Device, Index, MatrixType_, SegmentsView, ComputeRealType >, GraphType_ > |
| Specialization of GraphVertexView for sparse adjacency matrices. More... | |
| struct | GraphView |
| View type for Graph class. More... | |
| struct | UndirectedGraph |
| Type tag for undirected graphs. More... | |
Functions | |
| template<typename Graph, typename Function> | |
| void | forAllEdges (const Graph &graph, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all edges of all graph vertices of constant graph and applies the specified lambda function. | |
| template<typename Graph, typename Function> | |
| void | forAllEdges (Graph &graph, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all edges of all graph vertices and applies the specified lambda function. | |
| template<typename Graph, typename Condition, typename Function> | |
| void | forAllEdgesIf (const Graph &graph, Condition &&condition, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all edges of all graph vertices based on a condition. | |
| template<typename Graph, typename Condition, typename Function> | |
| void | forAllEdgesIf (Graph &graph, Condition &&condition, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all edges of all graph vertices based on a condition. | |
| template<typename Graph, typename Function> | |
| void | forAllVertices (const Graph &graph, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all graph vertices and applies the given lambda function to each vertex. This function is for constant matrices. | |
| template<typename Graph, typename Function> | |
| void | forAllVertices (Graph &graph, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all graph vertices and applies the given lambda function to each vertex. | |
| template<typename Graph, typename VertexCondition, typename Function> | |
| void | forAllVerticesIf (const Graph &graph, VertexCondition &&vertexCondition, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all graph vertices, applying a condition to determine whether each vertex should be processed. This function is for constant matrices. | |
| template<typename Graph, typename VertexCondition, typename Function> | |
| void | forAllVerticesIf (Graph &graph, VertexCondition &&vertexCondition, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all graph vertices, applying a condition to determine whether each vertex should be processed. | |
| template<typename Graph, typename Array, typename Function> | |
| void | forEdges (const Graph &graph, const Array &vertexIndexes, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all edges of graph vertices with the given indexes and applies the specified lambda function. This function is for constant matrices. | |
| template<typename Graph, typename Array, typename IndexBegin, typename IndexEnd, typename Function> | |
| void | forEdges (const Graph &graph, const Array &vertexIndexes, IndexBegin begin, IndexEnd end, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all edges of graph vertices with the given indexes and applies the specified lambda function. This function is for constant matrices. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Function> | |
| void | forEdges (const Graph &graph, IndexBegin begin, IndexEnd end, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all edges of constant graph in the given range of graph vertices and applies the specified lambda function. | |
| template<typename Graph, typename Array, typename Function> | |
| void | forEdges (Graph &graph, const Array &vertexIndexes, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all edges of graph vertices with the given indexes and applies the specified lambda function. | |
| template<typename Graph, typename Array, typename IndexBegin, typename IndexEnd, typename Function> | |
| void | forEdges (Graph &graph, const Array &vertexIndexes, IndexBegin begin, IndexEnd end, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all edges of graph vertices with the given indexes and applies the specified lambda function. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Function> | |
| void | forEdges (Graph &graph, IndexBegin begin, IndexEnd end, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all edges in the given range of graph vertices and applies the specified lambda function. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Condition, typename Function> | |
| void | forEdgesIf (const Graph &graph, IndexBegin begin, IndexEnd end, Condition &&condition, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all edges in a given range of vertices based on a condition. This function is for constant matrices. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Condition, typename Function> | |
| void | forEdgesIf (Graph &graph, IndexBegin begin, IndexEnd end, Condition &&condition, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over all edges in a given range of vertices based on a condition. | |
| template<typename Graph, typename Array, typename Function, typename T = std::enable_if_t< IsArrayType< Array >::value >> | |
| void | forVertices (const Graph &graph, const Array &vertexIndexes, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over graph vertices with the given indexes and applies the specified lambda function to each vertex. This function is for constant matrices. | |
| template<typename Graph, typename Array, typename IndexBegin, typename IndexEnd, typename Function, typename T = std::enable_if_t< IsArrayType< Array >::value && std::is_integral_v< IndexBegin > && std::is_integral_v< IndexEnd > >> | |
| void | forVertices (const Graph &graph, const Array &vertexIndexes, IndexBegin begin, IndexEnd end, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over graph vertices with the given indexes and applies the specified lambda function to each vertex. This function is for constant matrices. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Function, typename T = std::enable_if_t< std::is_integral_v< IndexBegin > && std::is_integral_v< IndexEnd > >> | |
| void | forVertices (const Graph &graph, IndexBegin begin, IndexEnd end, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over graph vertices within the specified range of vertex indexes and applies the given lambda function to each vertex. This function is for constant matrices. | |
| template<typename Graph, typename Array, typename Function, typename T = std::enable_if_t< IsArrayType< Array >::value >> | |
| void | forVertices (Graph &graph, const Array &vertexIndexes, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over graph vertices with the given indexes and applies the specified lambda function to each vertex. | |
| template<typename Graph, typename Array, typename IndexBegin, typename IndexEnd, typename Function, typename T = std::enable_if_t< IsArrayType< Array >::value && std::is_integral_v< IndexBegin > && std::is_integral_v< IndexEnd > >> | |
| void | forVertices (Graph &graph, const Array &vertexIndexes, IndexBegin begin, IndexEnd end, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over graph vertices with the given indexes and applies the specified lambda function to each vertex. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Function, typename T = std::enable_if_t< std::is_integral_v< IndexBegin > && std::is_integral_v< IndexEnd > >> | |
| void | forVertices (Graph &graph, IndexBegin begin, IndexEnd end, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over graph vertices within the specified range of vertex indexes and applies the given lambda function to each vertex. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename VertexCondition, typename Function, typename T = std::enable_if_t< std::is_integral_v< IndexBegin > && std::is_integral_v< IndexEnd > >> | |
| void | forVerticesIf (const Graph &graph, IndexBegin begin, IndexEnd end, VertexCondition &&vertexCondition, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over vertices within the given range of vertex indexes, applying a condition to determine whether each vertex should be processed. This function is for constant matrices. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename VertexCondition, typename Function, typename T = std::enable_if_t< std::is_integral_v< IndexBegin > && std::is_integral_v< IndexEnd > >> | |
| void | forVerticesIf (Graph &graph, IndexBegin begin, IndexEnd end, VertexCondition &&vertexCondition, Function &&function, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Iterates in parallel over vertices within the given range of vertex indexes, applying a condition to determine whether each vertex should be processed. | |
| template<typename Graph> | |
| Graph::ValueType | getTotalWeight (const Graph &graph) |
| Computes the total weight of all edges in the graph. | |
| constexpr std::false_type | isGraph (...) |
| This checks if given type is matrix. | |
| template<typename Value, typename Device, typename Index, typename Orientation, template< typename, typename, typename > class Segments, typename AdjacencyMatrix> | |
| constexpr std::true_type | isGraph (const Graph< Value, Device, Index, Orientation, Segments, AdjacencyMatrix > &) |
| template<typename Value, typename Device, typename Index, typename Orientation, typename AdjacencyMatrix> | |
| File & | operator<< (File &&file, const GraphBase< Value, Device, Index, Orientation, AdjacencyMatrix > &graph) |
| Serialization of graphs into binary files. | |
| template<typename Value, typename Device, typename Index, typename Orientation, typename AdjacencyMatrix> | |
| File & | operator<< (File &file, const GraphBase< Value, Device, Index, Orientation, AdjacencyMatrix > &graph) |
| Serialization of graphs into binary files. | |
| template<typename Real, typename Index> | |
| std::ostream & | operator<< (std::ostream &os, const Edge< Real, Index > &edge) |
| Stream output operator for Edge. | |
| template<typename Value, typename Device, typename Index, typename Orientation, typename AdjacencyMatrix> | |
| std::ostream & | operator<< (std::ostream &os, const GraphBase< Value, Device, Index, Orientation, AdjacencyMatrix > &graph) |
| Output stream operator for the Graph class. | |
| template<typename Value, typename Device, typename Index, typename Orientation, template< typename, typename, typename > class Segments, typename AdjacencyMatrix> | |
| File & | operator>> (File &&file, Graph< Value, Device, Index, Orientation, Segments, AdjacencyMatrix > &graph) |
| Deserialization of graphs from binary files. | |
| template<typename Value, typename Device, typename Index, typename Orientation, template< typename, typename, typename > class Segments, typename AdjacencyMatrix> | |
| File & | operator>> (File &file, Graph< Value, Device, Index, Orientation, Segments, AdjacencyMatrix > &graph) |
| Deserialization of graphs from binary files. | |
| template<typename Graph, typename Fetch, typename Reduction, typename Store, typename FetchValue> | |
| void | reduceAllVertices (const Graph &graph, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices (const version). | |
| template<typename Graph, typename Fetch, typename Reduction, typename Store> | |
| void | reduceAllVertices (const Graph &graph, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices with automatic identity deduction (const version). | |
| template<typename Graph, typename Fetch, typename Reduction, typename Store, typename FetchValue> | |
| void | reduceAllVertices (Graph &graph, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices. | |
| template<typename Graph, typename Fetch, typename Reduction, typename Store> | |
| void | reduceAllVertices (Graph &graph, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices with automatic identity deduction. | |
| template<typename Graph, typename Condition, typename Fetch, typename Reduction, typename Store, typename FetchValue> | |
| Graph::IndexType | reduceAllVerticesIf (const Graph &graph, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices based on a condition (const version). | |
| template<typename Graph, typename Condition, typename Fetch, typename Reduction, typename Store> | |
| Graph::IndexType | reduceAllVerticesIf (const Graph &graph, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices based on a condition with automatic identity deduction (const version). | |
| template<typename Graph, typename Condition, typename Fetch, typename Reduction, typename Store, typename FetchValue> | |
| Graph::IndexType | reduceAllVerticesIf (Graph &graph, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices based on a condition. | |
| template<typename Graph, typename Condition, typename Fetch, typename Reduction, typename Store> | |
| Graph::IndexType | reduceAllVerticesIf (Graph &graph, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices based on a condition with automatic identity deduction. | |
| template<typename Graph, typename Fetch, typename Reduction, typename Store, typename FetchValue> | |
| void | reduceAllVerticesWithArgument (const Graph &graph, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices while returning also the position of the edge of interest (const version). | |
| template<typename Graph, typename Fetch, typename Reduction, typename Store> | |
| void | reduceAllVerticesWithArgument (const Graph &graph, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices while returning also the position of the edge of interest with automatic identity deduction (const version). | |
| template<typename Graph, typename Fetch, typename Reduction, typename Store, typename FetchValue> | |
| void | reduceAllVerticesWithArgument (Graph &graph, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices while returning also the position of the edge of interest. | |
| template<typename Graph, typename Fetch, typename Reduction, typename Store> | |
| void | reduceAllVerticesWithArgument (Graph &graph, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices while returning also the position of the edge of interest with automatic identity deduction. | |
| template<typename Graph, typename Condition, typename Fetch, typename Reduction, typename Store, typename FetchValue = decltype( std::declval< Fetch >()( 0, 0, std::declval< typename Graph::RealType >() ) )> | |
| Graph::IndexType | reduceAllVerticesWithArgumentIf (const Graph &graph, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices based on a condition while returning also the position of the edge of interest (const version). | |
| template<typename Graph, typename Condition, typename Fetch, typename Reduction, typename Store> | |
| Graph::IndexType | reduceAllVerticesWithArgumentIf (const Graph &graph, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices based on a condition while returning also the position of the edge of interest with automatic identity deduction (const version). | |
| template<typename Graph, typename Condition, typename Fetch, typename Reduction, typename Store, typename FetchValue = decltype( std::declval< Fetch >()( 0, 0, std::declval< typename Graph::RealType >() ) )> | |
| Graph::IndexType | reduceAllVerticesWithArgumentIf (Graph &graph, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices based on a condition while returning also the position of the edge of interest. | |
| template<typename Graph, typename Condition, typename Fetch, typename Reduction, typename Store> | |
| Graph::IndexType | reduceAllVerticesWithArgumentIf (Graph &graph, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over all vertices based on a condition while returning also the position of the edge of interest with automatic identity deduction. | |
| template<typename Graph, typename Array, typename Fetch, typename Reduction, typename Store, typename FetchValue, typename T = typename std::enable_if_t< IsArrayType< Array >::value >> | |
| void | reduceVertices (const Graph &graph, const Array &vertexIndexes, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within graph vertices specified by a given set of vertex indexes (const version). | |
| template<typename Graph, typename Array, typename Fetch, typename Reduction, typename Store, typename T = typename std::enable_if_t< IsArrayType< Array >::value >> | |
| void | reduceVertices (const Graph &graph, const Array &vertexIndexes, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within graph vertices specified by a given set of vertex indexes with automatic identity deduction (const version). | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Fetch, typename Reduction, typename Store, typename FetchValue, typename T = typename std::enable_if_t< std::is_integral_v< IndexBegin > && std::is_integral_v< IndexEnd > >> | |
| void | reduceVertices (const Graph &graph, IndexBegin begin, IndexEnd end, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes (const version). | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Fetch, typename Reduction, typename Store, typename T = typename std::enable_if_t< std::is_integral_v< IndexBegin > && std::is_integral_v< IndexEnd > >> | |
| void | reduceVertices (const Graph &graph, IndexBegin begin, IndexEnd end, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes with automatic identity deduction (const version). | |
| template<typename Graph, typename Array, typename Fetch, typename Reduction, typename Store, typename FetchValue, typename T = typename std::enable_if_t< IsArrayType< Array >::value >> | |
| void | reduceVertices (Graph &graph, const Array &vertexIndexes, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within graph vertices specified by a given set of vertex indexes. | |
| template<typename Graph, typename Array, typename Fetch, typename Reduction, typename Store, typename T = typename std::enable_if_t< IsArrayType< Array >::value >> | |
| void | reduceVertices (Graph &graph, const Array &vertexIndexes, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within graph vertices specified by a given set of vertex indexes with automatic identity deduction. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Fetch, typename Reduction, typename Store, typename FetchValue, typename T = typename std::enable_if_t< std::is_integral_v< IndexBegin > && std::is_integral_v< IndexEnd > >> | |
| void | reduceVertices (Graph &graph, IndexBegin begin, IndexEnd end, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Fetch, typename Reduction, typename Store, typename T = typename std::enable_if_t< std::is_integral_v< IndexBegin > && std::is_integral_v< IndexEnd > >> | |
| void | reduceVertices (Graph &graph, IndexBegin begin, IndexEnd end, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes with automatic identity deduction. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Condition, typename Fetch, typename Reduction, typename Store, typename FetchValue> | |
| Graph::IndexType | reduceVerticesIf (const Graph &graph, IndexBegin begin, IndexEnd end, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition (const version). | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Condition, typename Fetch, typename Reduction, typename Store> | |
| Graph::IndexType | reduceVerticesIf (const Graph &graph, IndexBegin begin, IndexEnd end, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition with automatic identity deduction (const version). | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Condition, typename Fetch, typename Reduction, typename Store, typename FetchValue> | |
| Graph::IndexType | reduceVerticesIf (Graph &graph, IndexBegin begin, IndexEnd end, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Condition, typename Fetch, typename Reduction, typename Store> | |
| Graph::IndexType | reduceVerticesIf (Graph &graph, IndexBegin begin, IndexEnd end, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition with automatic identity deduction. | |
| template<typename Graph, typename Array, typename Fetch, typename Reduction, typename Store, typename FetchValue, typename T = typename std::enable_if_t< IsArrayType< Array >::value >> | |
| void | reduceVerticesWithArgument (const Graph &graph, const Array &vertexIndexes, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within graph vertices specified by a given set of vertex indexes while returning also the position of the edge of interest (const version). | |
| template<typename Graph, typename Array, typename Fetch, typename Reduction, typename Store, typename T = typename std::enable_if_t< IsArrayType< Array >::value >> | |
| void | reduceVerticesWithArgument (const Graph &graph, const Array &vertexIndexes, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within graph vertices specified by a given set of vertex indexes while returning also the position of the edge of interest with automatic identity deduction (const version). | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Fetch, typename Reduction, typename Store, typename FetchValue, typename T = typename std::enable_if_t< std::is_integral_v< IndexBegin > && std::is_integral_v< IndexEnd > >> | |
| void | reduceVerticesWithArgument (const Graph &graph, IndexBegin begin, IndexEnd end, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes while returning also the position of the edge of interest (const version). | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Fetch, typename Reduction, typename Store, typename T = typename std::enable_if_t< std::is_integral_v< IndexBegin > && std::is_integral_v< IndexEnd > >> | |
| void | reduceVerticesWithArgument (const Graph &graph, IndexBegin begin, IndexEnd end, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes while returning also the position of the edge of interest with automatic identity deduction (const version). | |
| template<typename Graph, typename Array, typename Fetch, typename Reduction, typename Store, typename FetchValue, typename T = typename std::enable_if_t< IsArrayType< Array >::value >> | |
| void | reduceVerticesWithArgument (Graph &graph, const Array &vertexIndexes, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within graph vertices specified by a given set of vertex indexes while returning also the position of the edge of interest. | |
| template<typename Graph, typename Array, typename Fetch, typename Reduction, typename Store, typename T = typename std::enable_if_t< IsArrayType< Array >::value >> | |
| void | reduceVerticesWithArgument (Graph &graph, const Array &vertexIndexes, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within graph vertices specified by a given set of vertex indexes while returning also the position of the edge of interest with automatic identity deduction. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Fetch, typename Reduction, typename Store, typename FetchValue, typename T = typename std::enable_if_t< std::is_integral_v< IndexBegin > && std::is_integral_v< IndexEnd > >> | |
| void | reduceVerticesWithArgument (Graph &graph, IndexBegin begin, IndexEnd end, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes while returning also the position of the edge of interest. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Fetch, typename Reduction, typename Store, typename T = typename std::enable_if_t< std::is_integral_v< IndexBegin > && std::is_integral_v< IndexEnd > >> | |
| void | reduceVerticesWithArgument (Graph &graph, IndexBegin begin, IndexEnd end, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes while returning also the position of the edge of interest with automatic identity deduction. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Condition, typename Fetch, typename Reduction, typename Store, typename FetchValue = decltype( std::declval< Fetch >()( 0, 0, std::declval< typename Graph::RealType >() ) )> | |
| Graph::IndexType | reduceVerticesWithArgumentIf (const Graph &graph, IndexBegin begin, IndexEnd end, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition while returning also the position of the edge of interest (const version). | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Condition, typename Fetch, typename Reduction, typename Store> | |
| Graph::IndexType | reduceVerticesWithArgumentIf (const Graph &graph, IndexBegin begin, IndexEnd end, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition while returning also the position of the edge of interest with automatic identity deduction (const version). | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Condition, typename Fetch, typename Reduction, typename Store, typename FetchValue = decltype( std::declval< Fetch >()( 0, 0, std::declval< typename Graph::RealType >() ) )> | |
| Graph::IndexType | reduceVerticesWithArgumentIf (Graph &graph, IndexBegin begin, IndexEnd end, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, const FetchValue &identity, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition while returning also the position of the edge of interest. | |
| template<typename Graph, typename IndexBegin, typename IndexEnd, typename Condition, typename Fetch, typename Reduction, typename Store> | |
| Graph::IndexType | reduceVerticesWithArgumentIf (Graph &graph, IndexBegin begin, IndexEnd end, Condition &&condition, Fetch &&fetch, Reduction &&reduction, Store &&store, TNL::Algorithms::Segments::LaunchConfiguration launchConfig=TNL::Algorithms::Segments::LaunchConfiguration()) |
| Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition while returning also the position of the edge of interest with automatic identity deduction. | |
Graph algorithms and data structures.
| void TNL::Graphs::forAllEdges | ( | const Graph & | graph, |
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all edges of all graph vertices of constant graph and applies the specified lambda function.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| Function | The type of the lambda function to be applied to each edge. |
| graph | The graph whose edges will be processed using the lambda function. |
| function | Lambda function to be applied to each edge. See Traversal Function (Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forAllEdges | ( | Graph & | graph, |
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all edges of all graph vertices and applies the specified lambda function.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| Function | The type of the lambda function to be applied to each edge. |
| graph | The graph whose edges will be processed using the lambda function. |
| function | Lambda function to be applied to each edge. See Traversal Function (Non-Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forAllEdgesIf | ( | const Graph & | graph, |
| Condition && | condition, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all edges of all graph vertices based on a condition.
See also: Overview of Graph Traversal Functions
This function is for constant matrices.
For each graph vertex, a condition lambda function is evaluated based on the vertex index. If the condition lambda function returns true, all edges of the vertex are traversed, and the specified lambda function is applied to each edge. If the condition lambda function returns false, the vertex is skipped.
| Graph | The type of the graph. |
| Condition | The type of the condition lambda function. |
| Function | The type of the lambda function to be applied to each edge. |
| graph | The graph whose edges will be processed using the lambda function. |
| condition | Lambda function to check vertex condition. See Condition Lambda. |
| function | Lambda function to be applied to each edge. See Traversal Function (Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forAllEdgesIf | ( | Graph & | graph, |
| Condition && | condition, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all edges of all graph vertices based on a condition.
See also: Overview of Graph Traversal Functions
For each graph vertex, a condition lambda function is evaluated based on the vertex index. If the condition lambda function returns true, all edges of the vertex are traversed, and the specified lambda function is applied to each edge. If the condition lambda function returns false, the vertex is skipped.
| Graph | The type of the graph. |
| Condition | The type of the condition lambda function. |
| Function | The type of the lambda function to be applied to each edge. |
| graph | The graph whose edges will be processed using the lambda function. |
| condition | Lambda function to check vertex condition. See Condition Lambda. |
| function | Lambda function to be applied to each edge. See Traversal Function (Non-Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forAllVertices | ( | const Graph & | graph, |
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all graph vertices and applies the given lambda function to each vertex. This function is for constant matrices.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| Function | The type of the lambda function to be executed on each vertex. |
| graph | The graph on which the lambda function will be applied. |
| function | Lambda function to be applied to each vertex. See Vertex Traversal Function (Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forAllVertices | ( | Graph & | graph, |
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all graph vertices and applies the given lambda function to each vertex.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| Function | The type of the lambda function to be executed on each vertex. |
| graph | The graph on which the lambda function will be applied. |
| function | Lambda function to be applied to each vertex. See Vertex Traversal Function (Non-Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forAllVerticesIf | ( | const Graph & | graph, |
| VertexCondition && | vertexCondition, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all graph vertices, applying a condition to determine whether each vertex should be processed. This function is for constant matrices.
See also: Overview of Graph Traversal Functions
For each vertex, a condition lambda function is evaluated based on the vertex index. If the condition lambda function returns true, the specified lambda function is executed for the vertex. If the condition lambda function returns false, the vertex is skipped.
| Graph | The type of the graph. |
| VertexCondition | The type of the condition lambda function. |
| Function | The type of the lambda function to be executed on each vertex. |
| graph | The graph on which the lambda function will be applied. |
| vertexCondition | Lambda function to check vertex condition. See Condition Lambda. |
| function | Lambda function to be applied to each vertex. See Vertex Traversal Function (Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forAllVerticesIf | ( | Graph & | graph, |
| VertexCondition && | vertexCondition, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all graph vertices, applying a condition to determine whether each vertex should be processed.
See also: Overview of Graph Traversal Functions
For each vertex, a condition lambda function is evaluated based on the vertex index. If the condition lambda function returns true, the specified lambda function is executed for the vertex. If the condition lambda function returns false, the vertex is skipped.
| Graph | The type of the graph. |
| VertexCondition | The type of the condition lambda function. |
| Function | The type of the lambda function to be executed on each vertex. |
| graph | The graph on which the lambda function will be applied. |
| vertexCondition | Lambda function to check vertex condition. See Condition Lambda. |
| function | Lambda function to be applied to each vertex. See Vertex Traversal Function (Non-Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forEdges | ( | const Graph & | graph, |
| const Array & | vertexIndexes, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all edges of graph vertices with the given indexes and applies the specified lambda function. This function is for constant matrices.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the graph vertices to iterate over. This can be containers such as TNL::Containers::Array, TNL::Containers::ArrayView, TNL::Containers::Vector, or TNL::Containers::VectorView. |
| Function | The type of the lambda function to be applied to each edge. |
| graph | The graph whose edges will be processed using the lambda function. |
| vertexIndexes | The array containing the indexes of the graph vertices to iterate over. |
| function | Lambda function to be applied to each edge. See Traversal Function (Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forEdges | ( | const Graph & | graph, |
| const Array & | vertexIndexes, | ||
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all edges of graph vertices with the given indexes and applies the specified lambda function. This function is for constant matrices.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the graph vertices to iterate over. This can be containers such as TNL::Containers::Array, TNL::Containers::ArrayView, TNL::Containers::Vector, or TNL::Containers::VectorView. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertex indexes whose edges will be processed using the lambda function. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertex indexes whose edges will be processed using the lambda function. |
| Function | The type of the lambda function to be applied to each edge. |
| graph | The graph whose edges will be processed using the lambda function. |
| vertexIndexes | The array containing the indexes of the graph vertices to iterate over. |
| begin | The beginning of the interval [ begin, end ) of vertex indexes whose edges will be processed using the lambda function. |
| end | The end of the interval [ begin, end ) of vertex indexes whose edges will be processed using the lambda function. |
| function | Lambda function to be applied to each edge. See Traversal Function (Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forEdges | ( | const Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all edges of constant graph in the given range of graph vertices and applies the specified lambda function.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices whose edges we want to process using the lambda function. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices whose edges we want to process using the lambda function. |
| Function | The type of the lambda function to be applied to each edge. |
| graph | The graph whose edges will be processed using the lambda function. |
| begin | The beginning of the interval [ begin, end ) of vertices whose edges will be processed using the lambda function. |
| end | The end of the interval [ begin, end ) of vertices whose edges will be processed using the lambda function. |
| function | Lambda function to be applied to each edge. See Traversal Function (Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forEdges | ( | Graph & | graph, |
| const Array & | vertexIndexes, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all edges of graph vertices with the given indexes and applies the specified lambda function.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the graph vertices to iterate over. This can be containers such as TNL::Containers::Array, TNL::Containers::ArrayView, TNL::Containers::Vector, or TNL::Containers::VectorView. |
| Function | The type of the lambda function to be applied to each edge. |
| graph | The graph whose edges will be processed using the lambda function. |
| vertexIndexes | The array containing the indexes of the graph vertices to iterate over. |
| function | Lambda function to be applied to each edge. See Traversal Function (Non-Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forEdges | ( | Graph & | graph, |
| const Array & | vertexIndexes, | ||
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all edges of graph vertices with the given indexes and applies the specified lambda function.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the graph vertices to iterate over. This can be containers such as TNL::Containers::Array, TNL::Containers::ArrayView, TNL::Containers::Vector, or TNL::Containers::VectorView. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertex indexes whose edges will be processed using the lambda function. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertex indexes whose edges will be processed using the lambda function. |
| Function | The type of the lambda function to be applied to each edge. |
| graph | The graph whose edges will be processed using the lambda function. |
| vertexIndexes | The array containing the indexes of the graph vertices to iterate over. |
| begin | The beginning of the interval [ begin, end ) of vertex indexes whose edges will be processed using the lambda function. |
| end | The end of the interval [ begin, end ) of vertex indexes whose edges will be processed using the lambda function. |
| function | Lambda function to be applied to each edge. See Traversal Function (Non-Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forEdges | ( | Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all edges in the given range of graph vertices and applies the specified lambda function.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices whose edges we want to process using the lambda function. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices whose edges we want to process using the lambda function. |
| Function | The type of the lambda function to be applied to each edge. |
| graph | The graph whose edges will be processed using the lambda function. |
| begin | The beginning of the interval [ begin, end ) of vertices whose edges will be processed using the lambda function. |
| end | The end of the interval [ begin, end ) of vertices whose edges will be processed using the lambda function. |
| function | Lambda function to be applied to each edge. See Traversal Function (Non-Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forEdgesIf | ( | const Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Condition && | condition, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all edges in a given range of vertices based on a condition. This function is for constant matrices.
See also: Overview of Graph Traversal Functions
For each graph vertex, a condition lambda function is evaluated based on the vertex index. If the condition lambda function returns true, all edges of the vertex are traversed, and the specified lambda function is applied to each edge. If the condition lambda function returns false, the vertex is skipped.
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices whose edges will be processed using the lambda function. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices whose edges will be processed using the lambda function. |
| Condition | The type of the condition lambda function. |
| Function | The type of the lambda function to be applied to each edge. |
| graph | The graph whose edges will be processed using the lambda function. |
| begin | The beginning of the interval [ begin, end ) of vertices whose edges will be processed using the lambda function. |
| end | The end of the interval [ begin, end ) of vertices whose edges will be processed using the lambda function. |
| condition | Lambda function to check vertex condition. See Condition Lambda. |
| function | Lambda function to be applied to each edge. See Traversal Function (Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forEdgesIf | ( | Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Condition && | condition, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over all edges in a given range of vertices based on a condition.
See also: Overview of Graph Traversal Functions
For each graph vertex, a condition lambda function is evaluated based on the vertex index. If the condition lambda function returns true, all edges of the vertex are traversed, and the specified lambda function is applied to each edge. If the condition lambda function returns false, the vertex is skipped.
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices whose edges will be processed using the lambda function. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices whose edges will be processed using the lambda function. |
| Condition | The type of the condition lambda function. |
| Function | The type of the lambda function to be applied to each edge. |
| graph | The graph whose edges will be processed using the lambda function. |
| begin | The beginning of the interval [ begin, end ) of vertices whose edges will be processed using the lambda function. |
| end | The end of the interval [ begin, end ) of vertices whose edges will be processed using the lambda function. |
| condition | Lambda function to check vertex condition. See Condition Lambda. |
| function | Lambda function to be applied to each edge. See Traversal Function (Non-Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forVertices | ( | const Graph & | graph, |
| const Array & | vertexIndexes, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over graph vertices with the given indexes and applies the specified lambda function to each vertex. This function is for constant matrices.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the graph vertices to iterate over. This can be containers such as TNL::Containers::Array, TNL::Containers::ArrayView, TNL::Containers::Vector, or TNL::Containers::VectorView. |
| Function | The type of the lambda function to be executed on each vertex. |
| graph | The graph on which the lambda function will be applied. |
| vertexIndexes | The array containing the indexes of the graph vertices to iterate over. |
| function | Lambda function to be applied to each vertex. See Vertex Traversal Function (Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forVertices | ( | const Graph & | graph, |
| const Array & | vertexIndexes, | ||
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over graph vertices with the given indexes and applies the specified lambda function to each vertex. This function is for constant matrices.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the graph vertices to iterate over. This can be containers such as TNL::Containers::Array, TNL::Containers::ArrayView, TNL::Containers::Vector, or TNL::Containers::VectorView. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices on which the lambda function will be applied. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices on which the lambda function will be applied. |
| Function | The type of the lambda function to be executed on each vertex. |
| graph | The graph on which the lambda function will be applied. |
| vertexIndexes | The array containing the indexes of the graph vertices to iterate over. |
| begin | The beginning of the interval [ begin, end ) of vertex indexes whose corresponding vertices will be processed using the lambda function. |
| end | The end of the interval [ begin, end ) of vertex indexes whose corresponding vertices will be processed using the lambda function. |
| function | Lambda function to be applied to each vertex. See Vertex Traversal Function (Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forVertices | ( | const Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over graph vertices within the specified range of vertex indexes and applies the given lambda function to each vertex. This function is for constant matrices.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of graph vertices on which the lambda function will be applied. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of graph vertices on which the lambda function will be applied. |
| Function | The type of the lambda function to be executed on each vertex. |
| graph | The graph on which the lambda function will be applied. |
| begin | The beginning of the interval [ begin, end ) of graph vertices that will be processed using the lambda function. |
| end | The end of the interval [ begin, end ) of graph vertices that will be processed using the lambda function. |
| function | Lambda function to be applied to each vertex. See Vertex Traversal Function (Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forVertices | ( | Graph & | graph, |
| const Array & | vertexIndexes, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over graph vertices with the given indexes and applies the specified lambda function to each vertex.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the graph vertices to iterate over. This can be containers such as TNL::Containers::Array, TNL::Containers::ArrayView, TNL::Containers::Vector, or TNL::Containers::VectorView. |
| Function | The type of the lambda function to be executed on each vertex. |
| graph | The graph on which the lambda function will be applied. |
| vertexIndexes | The array containing the indexes of the graph vertices to iterate over. |
| function | Lambda function to be applied to each vertex. See Vertex Traversal Function (Non-Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forVertices | ( | Graph & | graph, |
| const Array & | vertexIndexes, | ||
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over graph vertices with the given indexes and applies the specified lambda function to each vertex.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the graph vertices to iterate over. This can be containers such as TNL::Containers::Array, TNL::Containers::ArrayView, TNL::Containers::Vector, or TNL::Containers::VectorView. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices on which the lambda function will be applied. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices on which the lambda function will be applied. |
| Function | The type of the lambda function to be executed on each vertex. |
| graph | The graph on which the lambda function will be applied. |
| vertexIndexes | The array containing the indexes of the graph vertices to iterate over. |
| begin | The beginning of the interval [ begin, end ) of vertex indexes whose corresponding vertices will be processed using the lambda function. |
| end | The end of the interval [ begin, end ) of vertex indexes whose corresponding vertices will be processed using the lambda function. |
| function | Lambda function to be applied to each vertex. See Vertex Traversal Function (Non-Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forVertices | ( | Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over graph vertices within the specified range of vertex indexes and applies the given lambda function to each vertex.
See also: Overview of Graph Traversal Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of graph vertices on which the lambda function will be applied. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of graph vertices on which the lambda function will be applied. |
| Function | The type of the lambda function to be executed on each vertex. |
| graph | The graph on which the lambda function will be applied. |
| begin | The beginning of the interval [ begin, end ) of graph vertices that will be processed using the lambda function. |
| end | The end of the interval [ begin, end ) of graph vertices that will be processed using the lambda function. |
| function | Lambda function to be applied to each vertex. See Vertex Traversal Function (Non-Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forVerticesIf | ( | const Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| VertexCondition && | vertexCondition, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over vertices within the given range of vertex indexes, applying a condition to determine whether each vertex should be processed. This function is for constant matrices.
See also: Overview of Graph Traversal Functions
For each vertex, a condition lambda function is evaluated based on the vertex index. If the condition lambda function returns true, the specified lambda function is executed for the vertex. If the condition lambda function returns false, the vertex is skipped.
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices on which the lambda function will be applied. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices on which the lambda function will be applied. |
| VertexCondition | The type of the condition lambda function. |
| Function | The type of the lambda function to be executed on each vertex. |
| graph | The graph on which the lambda function will be applied. |
| begin | The beginning of the interval [ begin, end ) of vertex indexes whose corresponding vertices will be processed using the lambda function. |
| end | The end of the interval [ begin, end ) of vertex indexes whose corresponding vertices will be processed using the lambda function. |
| vertexCondition | Lambda function to check vertex condition. See Condition Lambda. |
| function | Lambda function to be applied to each vertex. See Vertex Traversal Function (Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::forVerticesIf | ( | Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| VertexCondition && | vertexCondition, | ||
| Function && | function, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Iterates in parallel over vertices within the given range of vertex indexes, applying a condition to determine whether each vertex should be processed.
See also: Overview of Graph Traversal Functions
For each vertex, a condition lambda function is evaluated based on the vertex index. If the condition lambda function returns true, the specified lambda function is executed for the vertex. If the condition lambda function returns false, the vertex is skipped.
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices on which the lambda function will be applied. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices on which the lambda function will be applied. |
| VertexCondition | The type of the condition lambda function. |
| Function | The type of the lambda function to be executed on each vertex. |
| graph | The graph on which the lambda function will be applied. |
| begin | The beginning of the interval [ begin, end ) of vertex indexes whose corresponding vertices will be processed using the lambda function. |
| end | The end of the interval [ begin, end ) of vertex indexes whose corresponding vertices will be processed using the lambda function. |
| vertexCondition | Lambda function to check vertex condition. See Condition Lambda. |
| function | Lambda function to be applied to each vertex. See Vertex Traversal Function (Non-Const Graph). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| std::ostream & TNL::Graphs::operator<< | ( | std::ostream & | os, |
| const Edge< Real, Index > & | edge ) |
Stream output operator for Edge.
Outputs the edge in the format: (source, target, weight)
| Real | Type for the edge weight. |
| Index | Type for vertex indices. |
| os | Output stream. |
| edge | The edge to output. |
| void TNL::Graphs::reduceAllVertices | ( | const Graph & | graph, |
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Lambda function for reduction operation. See Basic Reduction (Without Arguments). |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceAllVertices | ( | const Graph & | graph, |
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices with automatic identity deduction (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Function object for reduction operation. See Reduction Function Objects. |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceAllVertices | ( | Graph & | graph, |
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Lambda function for reduction operation. See Basic Reduction (Without Arguments). |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceAllVertices | ( | Graph & | graph, |
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices with automatic identity deduction.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Function object for reduction operation. See Reduction Function Objects. |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceAllVerticesIf | ( | const Graph & | graph, |
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices based on a condition (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| condition | Lambda function for condition check. See Condition Check. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Lambda function for reduction operation. See Basic Reduction (Without Arguments). |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceAllVerticesIf | ( | const Graph & | graph, |
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices based on a condition with automatic identity deduction (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| condition | Lambda function for condition check. See Condition Check. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Function object for reduction operation. See Reduction Function Objects. |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceAllVerticesIf | ( | Graph & | graph, |
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices based on a condition.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| condition | Lambda function for condition check. See Condition Check. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Lambda function for reduction operation. See Basic Reduction (Without Arguments). |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceAllVerticesIf | ( | Graph & | graph, |
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices based on a condition with automatic identity deduction.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| condition | Lambda function for condition check. See Condition Check. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Function object for reduction operation. See Reduction Function Objects. |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceAllVerticesWithArgument | ( | const Graph & | graph, |
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices while returning also the position of the edge of interest (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Lambda function for reduction with argument tracking. See Reduction With Argument (Position Tracking). |
| store | Lambda function for storing results with position tracking. See Store With Argument (Position Tracking). |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceAllVerticesWithArgument | ( | const Graph & | graph, |
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices while returning also the position of the edge of interest with automatic identity deduction (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Function object for reduction with argument tracking. See Reduction Function Objects. |
| store | Lambda function for storing results with position tracking. See Store With Argument (Position Tracking). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceAllVerticesWithArgument | ( | Graph & | graph, |
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices while returning also the position of the edge of interest.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Lambda function for reduction with argument tracking. See Reduction With Argument (Position Tracking). |
| store | Lambda function for storing results with position tracking. See Store With Argument (Position Tracking). |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceAllVerticesWithArgument | ( | Graph & | graph, |
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices while returning also the position of the edge of interest with automatic identity deduction.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Function object for reduction with argument tracking. See Reduction Function Objects. |
| store | Lambda function for storing results with position tracking. See Store With Argument (Position Tracking). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceAllVerticesWithArgumentIf | ( | const Graph & | graph, |
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices based on a condition while returning also the position of the edge of interest (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| condition | Lambda function for vertex condition checking. See Condition Check. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Function object for reduction with argument tracking. See Reduction Function Objects. |
| store | Lambda function for storing results with position tracking. See Store With Argument (Position Tracking). |
| identity | The identity edge for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceAllVerticesWithArgumentIf | ( | const Graph & | graph, |
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices based on a condition while returning also the position of the edge of interest with automatic identity deduction (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| condition | Lambda function for vertex condition checking. See Condition Check. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Function object for reduction with argument tracking. See Reduction Function Objects. |
| store | Lambda function for storing results with position tracking. See Store With Argument (Position Tracking). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceAllVerticesWithArgumentIf | ( | Graph & | graph, |
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices based on a condition while returning also the position of the edge of interest.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| condition | Lambda function for vertex condition checking. See Condition Check. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Function object for reduction with argument tracking. See Reduction Function Objects. |
| store | Lambda function for storing results with position tracking. See Store With Argument (Position Tracking). |
| identity | The identity edge for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceAllVerticesWithArgumentIf | ( | Graph & | graph, |
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over all vertices based on a condition while returning also the position of the edge of interest with automatic identity deduction.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| condition | Lambda function for vertex condition checking. See Condition Check. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Function object for reduction with argument tracking. See Reduction Function Objects. |
| store | Lambda function for storing results with position tracking. See Store With Argument (Position Tracking). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVertices | ( | const Graph & | graph, |
| const Array & | vertexIndexes, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within graph vertices specified by a given set of vertex indexes (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the vertices to iterate over. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| vertexIndexes | The array containing the indexes of the vertices to iterate over. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Lambda function for reduction operation. See Basic Reduction (Without Arguments). |
| store | Lambda function for storing results. See Store With Vertex Index Array Or Condition. |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVertices | ( | const Graph & | graph, |
| const Array & | vertexIndexes, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within graph vertices specified by a given set of vertex indexes with automatic identity deduction (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the vertices to iterate over. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| vertexIndexes | The array containing the indexes of the vertices to iterate over. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Function object for reduction operation. See Reduction Function Objects. |
| store | Lambda function for storing results. See Store With Vertex Index Array Or Condition. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVertices | ( | const Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Lambda function for the reduction operation. See Basic Reduction (Without Arguments). |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVertices | ( | const Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes with automatic identity deduction (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Function object for reduction operation. See Reduction Function Objects. |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVertices | ( | Graph & | graph, |
| const Array & | vertexIndexes, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within graph vertices specified by a given set of vertex indexes.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the vertices to iterate over. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertex indexes where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertex indexes where the reduction will be performed. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| vertexIndexes | The array containing the indexes of the vertices to iterate over. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Lambda function for reduction operation. See Basic Reduction (Without Arguments). |
| store | Lambda function for storing results. See Store With Vertex Index Array Or Condition. |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVertices | ( | Graph & | graph, |
| const Array & | vertexIndexes, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within graph vertices specified by a given set of vertex indexes with automatic identity deduction.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the vertices to iterate over. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| vertexIndexes | The array containing the indexes of the vertices to iterate over. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Function object for reduction operation. See Reduction Function Objects. |
| store | Lambda function for storing results. See Store With Vertex Index Array Or Condition. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVertices | ( | Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Lambda function for the reduction operation. See Basic Reduction (Without Arguments). |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVertices | ( | Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes with automatic identity deduction.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Function object for reduction operation. See Reduction Function Objects. |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceVerticesIf | ( | const Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| condition | Lambda function for condition check. See Condition Check. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Lambda function for reduction operation. See Basic Reduction (Without Arguments). |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceVerticesIf | ( | const Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition with automatic identity deduction (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| condition | Lambda function for condition check. See Condition Check. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Function object for reduction operation. See Reduction Function Objects. |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceVerticesIf | ( | Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| condition | Lambda function for condition check. See Condition Check. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Lambda function for reduction operation. See Basic Reduction (Without Arguments). |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceVerticesIf | ( | Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition with automatic identity deduction.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| condition | Lambda function for condition check. See Condition Check. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Function object for reduction operation. See Reduction Function Objects. |
| store | Lambda function for storing results. See Basic Store (Vertex Index Only). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVerticesWithArgument | ( | const Graph & | graph, |
| const Array & | vertexIndexes, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within graph vertices specified by a given set of vertex indexes while returning also the position of the edge of interest (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the vertices to iterate over. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| vertexIndexes | The array containing the indexes of the vertices to iterate over. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Lambda function for reduction with argument tracking. See Reduction With Argument (Position Tracking). |
| store | Lambda function for storing results with position tracking. See Store With Vertex Index Array and With Argument. |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVerticesWithArgument | ( | const Graph & | graph, |
| const Array & | vertexIndexes, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within graph vertices specified by a given set of vertex indexes while returning also the position of the edge of interest with automatic identity deduction (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the vertices to iterate over. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| vertexIndexes | The array containing the indexes of the vertices to iterate over. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Function object for reduction with argument tracking. See Reduction Function Objects. |
| store | Lambda function for storing results with position tracking. See Store With Vertex Index Array and With Argument. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVerticesWithArgument | ( | const Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes while returning also the position of the edge of interest (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Lambda function for reduction operation with argument. See Reduction With Argument (Position Tracking). |
| store | Lambda function for storing results. See Store With Argument (Position Tracking). |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVerticesWithArgument | ( | const Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes while returning also the position of the edge of interest with automatic identity deduction (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Function object for reduction operation with argument. See Reduction Function Objects. |
| store | Lambda function for storing results. See Store With Argument (Position Tracking). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVerticesWithArgument | ( | Graph & | graph, |
| const Array & | vertexIndexes, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within graph vertices specified by a given set of vertex indexes while returning also the position of the edge of interest.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the vertices to iterate over. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| vertexIndexes | The array containing the indexes of the vertices to iterate over. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Lambda function for reduction with argument tracking. See Reduction With Argument (Position Tracking). |
| store | Lambda function for storing results with position tracking. See Store With Vertex Index Array and With Argument. |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVerticesWithArgument | ( | Graph & | graph, |
| const Array & | vertexIndexes, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within graph vertices specified by a given set of vertex indexes while returning also the position of the edge of interest with automatic identity deduction.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| Array | The type of the array containing the indexes of the vertices to iterate over. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| vertexIndexes | The array containing the indexes of the vertices to iterate over. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Function object for reduction with argument tracking. See Reduction Function Objects. |
| store | Lambda function for storing results with position tracking. See Store With Vertex Index Array and With Argument. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVerticesWithArgument | ( | Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes while returning also the position of the edge of interest.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Lambda function for reduction operation with argument. See Reduction With Argument (Position Tracking). |
| store | Lambda function for storing results. See Store With Argument (Position Tracking). |
| identity | The initial value for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| void TNL::Graphs::reduceVerticesWithArgument | ( | Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes while returning also the position of the edge of interest with automatic identity deduction.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Function object for reduction operation with argument. See Reduction Function Objects. |
| store | Lambda function for storing results. See Store With Argument (Position Tracking). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceVerticesWithArgumentIf | ( | const Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition while returning also the position of the edge of interest (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| condition | Lambda function for vertex condition checking. See Condition Check. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Function object for reduction with argument tracking. See Reduction Function Objects. |
| store | Lambda function for storing results with position tracking. See Store With Argument (Position Tracking). |
| identity | The identity edge for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceVerticesWithArgumentIf | ( | const Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition while returning also the position of the edge of interest with automatic identity deduction (const version).
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| condition | Lambda function for vertex condition checking. See Condition Check. |
| fetch | Lambda function for fetching data. See For Const Graphs. |
| reduction | Function object for reduction with argument tracking. See Reduction Function Objects. |
| store | Lambda function for storing results with position tracking. See Store With Argument (Position Tracking). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceVerticesWithArgumentIf | ( | Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| const FetchValue & | identity, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition while returning also the position of the edge of interest.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| FetchValue | The type returned by the Fetch lambda function. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| condition | Lambda function for vertex condition checking. See Condition Check. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Function object for reduction with argument tracking. See Reduction Function Objects. |
| store | Lambda function for storing results with position tracking. See Store With Argument (Position Tracking). |
| identity | The identity edge for the reduction operation. |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |
| Graph::IndexType TNL::Graphs::reduceVerticesWithArgumentIf | ( | Graph & | graph, |
| IndexBegin | begin, | ||
| IndexEnd | end, | ||
| Condition && | condition, | ||
| Fetch && | fetch, | ||
| Reduction && | reduction, | ||
| Store && | store, | ||
| TNL::Algorithms::Segments::LaunchConfiguration | launchConfig = TNL::Algorithms::Segments::LaunchConfiguration() ) |
Performs parallel reduction within each graph vertex over a given range of vertex indexes based on a condition while returning also the position of the edge of interest with automatic identity deduction.
See also: Overview of Graph Reduction Functions
| Graph | The type of the graph. |
| IndexBegin | The type of the index defining the beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| IndexEnd | The type of the index defining the end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| Condition | The type of the lambda function used for the condition check. |
| Fetch | The type of the lambda function used for data fetching. |
| Reduction | The type of the function object defining the reduction operation. |
| Store | The type of the lambda function used for storing results from individual vertices. |
| graph | The graph on which the reduction will be performed. |
| begin | The beginning of the interval [ begin, end ) of vertices where the reduction will be performed. |
| end | The end of the interval [ begin, end ) of vertices where the reduction will be performed. |
| condition | Lambda function for vertex condition checking. See Condition Check. |
| fetch | Lambda function for fetching data. See For Non-Const Graphs. |
| reduction | Function object for reduction with argument tracking. See Reduction Function Objects. |
| store | Lambda function for storing results with position tracking. See Store With Argument (Position Tracking). |
| launchConfig | The configuration of the launch - see TNL::Algorithms::Segments::LaunchConfiguration. |