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