#![allow(clippy::field_reassign_with_default)]
#![allow(clippy::needless_range_loop)]
#![warn(missing_docs)]
pub mod advanced;
pub mod algorithms;
pub mod attributes;
pub mod base;
pub mod compressed;
pub mod embeddings;
pub mod error;
pub mod generators;
pub mod graph_memory_profiler;
pub mod io;
pub mod layout;
pub mod link_prediction;
pub mod measures;
pub mod memory;
pub mod numerical_accuracy_validation;
pub mod parallel_algorithms;
pub mod performance;
pub mod spectral;
pub mod streaming;
pub mod temporal;
pub mod temporal_graph;
pub mod temporal_interval;
pub mod weighted;
pub mod alignment;
pub mod condensation;
pub mod distributed;
pub mod gpu;
pub mod graph_transformer;
pub mod partitioning;
pub mod signed_directed;
pub mod ssl;
pub mod gnn;
#[cfg(feature = "simd")]
pub mod simd_ops;
pub use algorithms::{
articulation_points,
astar_search,
astar_search_digraph,
betweenness_centrality,
bidirectional_search,
bidirectional_search_digraph,
breadth_first_search,
breadth_first_search_digraph,
bridges,
capacity_scaling_max_flow,
center_nodes,
closeness_centrality,
complement,
connected_components,
cosine_similarity,
depth_first_search,
depth_first_search_digraph,
diameter,
dijkstra_path,
dinic_max_flow,
dinic_max_flow_full,
edge_subgraph,
edmonds_karp_max_flow,
eigenvector_centrality,
eulerian_type,
floyd_warshall,
floyd_warshall_digraph,
fluid_communities_result,
ford_fulkerson_max_flow,
girvan_newman_communities_result,
girvan_newman_result,
greedy_coloring,
greedy_modularity_optimization_result,
hierarchical_communities_result,
hopcroft_karp,
infomap_communities,
is_bipartite,
isap_max_flow,
jaccard_similarity,
k_core_decomposition,
k_shortest_paths,
label_propagation_result,
line_digraph,
line_graph,
louvain_communities_result,
maximal_matching,
maximum_bipartite_matching,
maximum_cardinality_matching,
min_cost_max_flow,
min_cost_max_flow_graph,
minimum_cut,
minimum_spanning_tree,
minimum_st_cut,
minimum_weight_bipartite_matching,
modularity,
modularity_optimization_result,
multi_commodity_flow,
multi_source_multi_sink_max_flow,
pagerank,
parallel_max_flow,
personalized_pagerank,
push_relabel_max_flow,
push_relabel_max_flow_full,
radius,
random_walk,
stable_marriage,
strongly_connected_components,
subdigraph,
subgraph,
tensor_product,
topological_sort,
transition_matrix,
weight_filtered_subgraph,
AStarResult,
BipartiteMatching,
BipartiteResult,
CommunityResult,
CommunityStructure,
CostEdge,
DendrogramLevel,
EulerianType,
GirvanNewmanConfig,
GirvanNewmanResult,
GraphColoring,
HopcroftKarpResult,
InfomapResult,
MaxFlowResult,
MaximumMatching,
MinCostFlowResult,
MotifType,
MultiCommodityFlowResult,
};
#[cfg(feature = "parallel")]
pub use algorithms::{
parallel_label_propagation_result, parallel_louvain_communities_result, parallel_modularity,
};
#[cfg(feature = "parallel")]
pub use spectral::{parallel_laplacian, parallel_spectral_clustering};
pub use algorithms::{
are_graphs_isomorphic,
are_graphs_isomorphic_enhanced,
cartesian_product,
chromatic_number,
find_isomorphism,
find_isomorphism_vf2,
find_motifs,
find_subgraph_matches,
graph_edit_distance,
has_hamiltonian_circuit,
has_hamiltonian_path,
};
pub use algorithms::coloring::{
chromatic_bounds, dsatur_coloring, edge_coloring, greedy_coloring_with_order, list_coloring,
verify_coloring, welsh_powell, ChromaticBounds, ColoringOrder, EdgeColoring, ListColoring,
};
pub use algorithms::motifs::{
count_3node_motifs, count_4node_motifs, count_motif_frequencies, frequent_subgraph_mining,
graphlet_degree_distribution, sample_motif_frequencies, vf2_subgraph_isomorphism,
wl_subtree_kernel, FrequentPattern, GraphletDDResult, GraphletDegreeVector, VF2Result,
WLKernelResult,
};
pub use link_prediction::{
adamic_adar_all, adamic_adar_index, common_neighbors_all, common_neighbors_score, compute_auc,
evaluate_link_prediction, jaccard_coefficient, jaccard_coefficient_all, katz_similarity,
katz_similarity_all, preferential_attachment, preferential_attachment_all,
resource_allocation_all, resource_allocation_index, simrank, simrank_score,
LinkPredictionConfig, LinkPredictionEval, LinkScore,
};
pub use base::{
BipartiteGraph, DiGraph, Edge, EdgeWeight, Graph, Hyperedge, Hypergraph, IndexType,
MultiDiGraph, MultiGraph, Node,
};
pub use error::{ErrorContext, GraphError, Result};
pub use generators::{
barabasi_albert_graph, complete_graph, cycle_graph, erdos_renyi_graph, grid_2d_graph,
grid_3d_graph, hexagonal_lattice_graph, path_graph, planted_partition_model,
power_law_cluster_graph, random_geometric_graph, star_graph, stochastic_block_model,
triangular_lattice_graph, two_community_sbm, watts_strogatz_graph,
};
pub use measures::{
centrality, clustering_coefficient, graph_density, hits_algorithm, katz_centrality,
katz_centrality_digraph, pagerank_centrality, pagerank_centrality_digraph, CentralityType,
HitsScores,
};
#[cfg(feature = "parallel")]
pub use measures::parallel_pagerank_centrality;
pub use spectral::{laplacian, normalized_cut, spectral_radius};
pub use weighted::{
MultiWeight, NormalizationMethod, WeightStatistics, WeightTransform, WeightedOps,
};
pub use attributes::{
AttributeSummary, AttributeValue, AttributeView, AttributedDiGraph, AttributedGraph, Attributes,
};
pub use memory::{
suggest_optimizations, BitPackedGraph, CSRGraph, CompressedAdjacencyList, FragmentationReport,
HybridGraph, MemoryProfiler, MemorySample, MemoryStats, OptimizationSuggestions,
OptimizedGraphBuilder,
};
pub use performance::{
LargeGraphIterator, LargeGraphOps, MemoryMetrics, ParallelConfig, PerformanceMonitor,
PerformanceReport, StreamingGraphProcessor,
};
pub use io::*;
pub use embeddings::{
DeepWalk, DeepWalkConfig, DeepWalkMode, Embedding, EmbeddingModel, LINEConfig, LINEOrder,
Node2Vec, Node2VecConfig, RandomWalk, RandomWalkGenerator, SpectralEmbedding,
SpectralEmbeddingConfig, SpectralLaplacianType, LINE,
};
pub use layout::{circular_layout, hierarchical_layout, spectral_layout, spring_layout, Position};
pub use temporal::{
count_temporal_triangles, evolutionary_clustering, temporal_betweenness, temporal_closeness,
temporal_motif_count, temporal_pagerank, DynamicCommunity, TemporalEdge as StreamTemporalEdge,
TemporalGraph as StreamTemporalGraph, TemporalMotifCounts,
};
pub use temporal_interval::{
temporal_betweenness_centrality, temporal_reachability, TemporalGraph, TemporalPath,
TimeInstant, TimeInterval,
};
pub use advanced::{
create_advanced_processor, execute_with_advanced, AdvancedConfig, AdvancedProcessor,
AdvancedStats, AlgorithmMetrics, GPUAccelerationContext, NeuralRLAgent, NeuromorphicProcessor,
};
pub use graph_memory_profiler::{
AdvancedMemoryProfiler,
EfficiencyAnalysis,
MemoryProfile,
MemoryProfilerConfig,
MemoryStats as GraphMemoryStats, OptimizationOpportunity,
OptimizationType,
};
pub use numerical_accuracy_validation::{
create_comprehensive_validation_suite, run_quick_validation, AdvancedNumericalValidator,
ValidationAlgorithm, ValidationConfig, ValidationReport, ValidationResult,
ValidationTolerances,
};
pub use compressed::{AdjacencyList, CsrGraph, CsrGraphBuilder, NeighborIter};
pub use parallel_algorithms::{
bfs, connected_components as csr_connected_components, pagerank as csr_pagerank,
triangle_count, BfsResult, ComponentsResult, PageRankConfig, PageRankResult,
TriangleCountResult,
};
#[cfg(feature = "parallel")]
pub use parallel_algorithms::{
parallel_bfs, parallel_connected_components, parallel_pagerank, parallel_triangle_count,
};
pub use streaming::{
DegreeDistribution, DoulionTriangleCounter, EvictionStrategy, MascotTriangleCounter,
MemoryBoundedConfig, MemoryBoundedProcessor, SlidingWindowGraph, StreamEdge, StreamEvent,
StreamOp, StreamingGraph, TriangleCounterStats,
};