pub fn erdos_renyi_gnp(
n: u32,
p: f64,
directed: bool,
loops: bool,
seed: u64,
) -> IgraphResult<Graph>Expand description
Generate a random graph from the G(n, p) Erdős–Rényi model.
Every possible edge is included independently with probability p.
The expected number of edges is p · max_edges(n, directed, loops).
n— vertex count.p ∈ [0, 1]— edge probability.directed— generate a directed graph (ordered pairs); whenfalse, edges are undirected.loops— whentrue, self-loops are allowed; whenfalse, no self-loop edges are sampled.seed— initialises an internalSplitMix64PRNG. Same(n, p, directed, loops, seed)always yields the same graph.
§Errors
Returns IgraphError::InvalidArgument if p is NaN, infinite,
or outside [0, 1].
§Examples
use rust_igraph::erdos_renyi_gnp;
// Expected edges ≈ p · n(n-1)/2 = 0.5 · 100·99/2 = 2475.
let g = erdos_renyi_gnp(100, 0.5, false, false, 42).unwrap();
assert_eq!(g.vcount(), 100);
// The actual count fluctuates around the expectation, but for
// p = 0.5 it lies in a narrow band.
let m = g.ecount();
assert!(m > 2200 && m < 2700, "ecount={m}");