1#![allow(clippy::field_reassign_with_default)]
2#![allow(clippy::needless_range_loop)]
3#![warn(missing_docs)]
70
71pub mod advanced;
76pub mod algorithms;
77pub mod attributes;
78pub mod base;
79pub mod embeddings;
80pub mod error;
81pub mod generators;
82pub mod graph_memory_profiler;
83pub mod io;
84pub mod layout;
85pub mod measures;
86pub mod memory;
87pub mod numerical_accuracy_validation;
88pub mod performance;
89pub mod spectral;
90pub mod temporal;
91pub mod weighted;
92
93pub use algorithms::{
95 articulation_points,
96 astar_search,
97 astar_search_digraph,
98 betweenness_centrality,
100 bidirectional_search,
101 bidirectional_search_digraph,
102
103 breadth_first_search,
105 breadth_first_search_digraph,
106 bridges,
107 center_nodes,
108 closeness_centrality,
109 complement,
110 connected_components,
112 cosine_similarity,
113
114 depth_first_search,
115 depth_first_search_digraph,
116 diameter,
118 dijkstra_path,
120 dinic_max_flow,
122 edge_subgraph,
123 eigenvector_centrality,
124 eulerian_type,
125 floyd_warshall,
126 floyd_warshall_digraph,
127 fluid_communities_result,
128 greedy_coloring,
129 greedy_modularity_optimization_result,
130 hierarchical_communities_result,
131 infomap_communities,
132 is_bipartite,
133
134 jaccard_similarity,
136 k_core_decomposition,
137
138 k_shortest_paths,
139
140 label_propagation_result,
141 line_digraph,
142 line_graph,
143 louvain_communities_result,
145 maximal_matching,
146 maximum_bipartite_matching,
148 maximum_cardinality_matching,
149 minimum_cut,
150
151 minimum_spanning_tree,
153
154 minimum_weight_bipartite_matching,
155 modularity,
156
157 modularity_optimization_result,
158 pagerank,
159 personalized_pagerank,
160
161 push_relabel_max_flow,
162 radius,
163 random_walk,
164 stable_marriage,
165
166 strongly_connected_components,
167 subdigraph,
168 subgraph,
170 tensor_product,
171 topological_sort,
173 transition_matrix,
174
175 weight_filtered_subgraph,
176
177 AStarResult,
179 BipartiteMatching,
180 BipartiteResult,
181 CommunityResult,
182 CommunityStructure,
183 EulerianType,
184 GraphColoring,
185 InfomapResult,
186 MaximumMatching,
187 MotifType,
188};
189
190#[cfg(feature = "parallel")]
192pub use algorithms::{
193 parallel_label_propagation_result, parallel_louvain_communities_result, parallel_modularity,
194};
195
196#[cfg(feature = "parallel")]
198pub use spectral::{parallel_laplacian, parallel_spectral_clustering};
199
200pub use algorithms::{
202 are_graphs_isomorphic,
204 are_graphs_isomorphic_enhanced,
205 cartesian_product,
207
208 chromatic_number,
210 find_isomorphism,
211 find_isomorphism_vf2,
212 find_motifs,
213 find_subgraph_matches,
214 graph_edit_distance,
215
216 has_hamiltonian_circuit,
217 has_hamiltonian_path,
218};
219
220pub use base::{
222 BipartiteGraph, DiGraph, Edge, EdgeWeight, Graph, Hyperedge, Hypergraph, IndexType,
223 MultiDiGraph, MultiGraph, Node,
224};
225
226pub use error::{ErrorContext, GraphError, Result};
228
229pub use generators::{
231 barabasi_albert_graph, complete_graph, cycle_graph, erdos_renyi_graph, grid_2d_graph,
232 grid_3d_graph, hexagonal_lattice_graph, path_graph, planted_partition_model, star_graph,
233 stochastic_block_model, triangular_lattice_graph, two_community_sbm, watts_strogatz_graph,
234};
235
236pub use measures::{
238 centrality, clustering_coefficient, graph_density, hits_algorithm, katz_centrality,
239 katz_centrality_digraph, pagerank_centrality, pagerank_centrality_digraph, CentralityType,
240 HitsScores,
241};
242
243#[cfg(feature = "parallel")]
245pub use measures::parallel_pagerank_centrality;
246
247pub use spectral::{laplacian, normalized_cut, spectral_radius};
249
250pub use weighted::{
252 MultiWeight, NormalizationMethod, WeightStatistics, WeightTransform, WeightedOps,
253};
254
255pub use attributes::{
257 AttributeSummary, AttributeValue, AttributeView, AttributedDiGraph, AttributedGraph, Attributes,
258};
259
260pub use memory::{
262 suggest_optimizations, BitPackedGraph, CSRGraph, CompressedAdjacencyList, FragmentationReport,
263 HybridGraph, MemoryProfiler, MemorySample, MemoryStats, OptimizationSuggestions,
264 OptimizedGraphBuilder,
265};
266
267pub use performance::{
269 LargeGraphIterator, LargeGraphOps, MemoryMetrics, ParallelConfig, PerformanceMonitor,
270 PerformanceReport, StreamingGraphProcessor,
271};
272
273pub use io::*;
275
276pub use embeddings::{
278 DeepWalk, DeepWalkConfig, Embedding, EmbeddingModel, Node2Vec, Node2VecConfig, RandomWalk,
279 RandomWalkGenerator,
280};
281
282pub use layout::{circular_layout, hierarchical_layout, spectral_layout, spring_layout, Position};
283
284pub use temporal::{
285 temporal_betweenness_centrality, temporal_reachability, TemporalGraph, TemporalPath,
286 TimeInstant, TimeInterval,
287};
288
289pub use advanced::{
291 create_advanced_processor, execute_with_advanced, AdvancedConfig, AdvancedProcessor,
292 AdvancedStats, AlgorithmMetrics, GPUAccelerationContext, NeuralRLAgent, NeuromorphicProcessor,
293};
294
295pub use graph_memory_profiler::{
297 AdvancedMemoryProfiler,
298 EfficiencyAnalysis,
299 MemoryProfile,
300 MemoryProfilerConfig,
301 MemoryStats as GraphMemoryStats, OptimizationOpportunity,
303 OptimizationType,
304};
305
306pub use numerical_accuracy_validation::{
308 create_comprehensive_validation_suite, run_quick_validation, AdvancedNumericalValidator,
309 ValidationAlgorithm, ValidationConfig, ValidationReport, ValidationResult,
310 ValidationTolerances,
311};