diff --git a/R/attributes.R b/R/attributes.R index a75f4d2be37..a4def9c96c5 100644 --- a/R/attributes.R +++ b/R/attributes.R @@ -328,9 +328,13 @@ graph_attr <- function(graph, name) { check_string(name) - .Call(Rx_igraph_mybracket2, graph, igraph_t_idx_attr, igraph_attr_idx_graph)[[ - name - ]] + .Call( + # internal: direct R list structure access, no igraph API, no _impl + Rx_igraph_mybracket2, + graph, + igraph_t_idx_attr, + igraph_attr_idx_graph + )[[name]] } @@ -389,6 +393,7 @@ set_graph_attr <- function(graph, name, value) { ensure_igraph(graph) .Call( + # internal, no _impl Rx_igraph_mybracket3_set, graph, igraph_t_idx_attr, @@ -402,6 +407,7 @@ set_graph_attr <- function(graph, name, value) { graph.attributes <- function(graph) { ensure_igraph(graph) .Call( + # internal, no _impl Rx_igraph_mybracket2_copy, graph, igraph_t_idx_attr, @@ -418,6 +424,7 @@ graph.attributes <- function(graph) { } .Call( + # internal, no _impl Rx_igraph_mybracket2_set, graph, igraph_t_idx_attr, @@ -460,6 +467,7 @@ vertex_attr <- function(graph, name, index = V(graph)) { check_string(name) myattr <- .Call( + # internal, no _impl Rx_igraph_mybracket2, graph, igraph_t_idx_attr, @@ -616,6 +624,7 @@ i_set_vertex_attr <- function( } vattrs <- .Call( + # internal, no _impl Rx_igraph_mybracket2, graph, igraph_t_idx_attr, @@ -651,6 +660,7 @@ i_set_vertex_attr <- function( } .Call( + # internal, no _impl Rx_igraph_mybracket2_set, graph, igraph_t_idx_attr, @@ -668,6 +678,7 @@ vertex.attributes <- function(graph, index = V(graph)) { } res <- .Call( + # internal, no _impl Rx_igraph_mybracket2_copy, graph, igraph_t_idx_attr, @@ -728,6 +739,7 @@ set_value_at <- function(value, idx, length_out) { } .Call( + # internal, no _impl Rx_igraph_mybracket2_set, graph, igraph_t_idx_attr, @@ -769,6 +781,7 @@ edge_attr <- function(graph, name, index = E(graph)) { } else { check_string(name) myattr <- .Call( + # internal, no _impl Rx_igraph_mybracket2, graph, igraph_t_idx_attr, @@ -887,6 +900,7 @@ i_set_edge_attr <- function( } eattrs <- .Call( + # internal, no _impl Rx_igraph_mybracket2, graph, igraph_t_idx_attr, @@ -919,6 +933,7 @@ i_set_edge_attr <- function( } .Call( + # internal, no _impl Rx_igraph_mybracket2_set, graph, igraph_t_idx_attr, @@ -936,6 +951,7 @@ edge.attributes <- function(graph, index = E(graph)) { } res <- .Call( + # internal, no _impl Rx_igraph_mybracket2_copy, graph, igraph_t_idx_attr, @@ -986,6 +1002,7 @@ edge.attributes <- function(graph, index = E(graph)) { } .Call( + # internal, no _impl Rx_igraph_mybracket2_set, graph, igraph_t_idx_attr, @@ -1009,6 +1026,7 @@ edge.attributes <- function(graph, index = E(graph)) { graph_attr_names <- function(graph) { ensure_igraph(graph) res <- .Call( + # internal, no _impl Rx_igraph_mybracket2_names, graph, igraph_t_idx_attr, @@ -1038,6 +1056,7 @@ vertex_attr_names <- function(graph) { ensure_igraph(graph) res <- .Call( + # internal, no _impl Rx_igraph_mybracket2_names, graph, igraph_t_idx_attr, @@ -1066,6 +1085,7 @@ vertex_attr_names <- function(graph) { edge_attr_names <- function(graph) { ensure_igraph(graph) res <- .Call( + # internal, no _impl Rx_igraph_mybracket2_names, graph, igraph_t_idx_attr, @@ -1100,6 +1120,7 @@ delete_graph_attr <- function(graph, name) { } gattr <- .Call( + # internal, no _impl Rx_igraph_mybracket2, graph, igraph_t_idx_attr, @@ -1108,6 +1129,7 @@ delete_graph_attr <- function(graph, name) { gattr[[name]] <- NULL .Call( + # internal, no _impl Rx_igraph_mybracket2_set, graph, igraph_t_idx_attr, @@ -1140,6 +1162,7 @@ delete_vertex_attr <- function(graph, name) { } vattr <- .Call( + # internal, no _impl Rx_igraph_mybracket2, graph, igraph_t_idx_attr, @@ -1148,6 +1171,7 @@ delete_vertex_attr <- function(graph, name) { vattr[[name]] <- NULL .Call( + # internal, no _impl Rx_igraph_mybracket2_set, graph, igraph_t_idx_attr, @@ -1180,6 +1204,7 @@ delete_edge_attr <- function(graph, name) { } eattr <- .Call( + # internal, no _impl Rx_igraph_mybracket2, graph, igraph_t_idx_attr, @@ -1188,6 +1213,7 @@ delete_edge_attr <- function(graph, name) { eattr[[name]] <- NULL .Call( + # internal, no _impl Rx_igraph_mybracket2_set, graph, igraph_t_idx_attr, diff --git a/R/bipartite.R b/R/bipartite.R index 07b1e6364b2..fbbe834b859 100644 --- a/R/bipartite.R +++ b/R/bipartite.R @@ -222,39 +222,37 @@ bipartite_projection <- function( cli::cli_warn("{.arg probe1} ignored if only one projection is requested.") } - on.exit(.Call(Rx_igraph_finalizer)) - # Function call - res <- .Call( - Rx_igraph_bipartite_projection, - graph, - types, - as.numeric(probe1), - which + # bipartite_projection_impl always computes both projections + res <- bipartite_projection_impl( + graph = graph, + types = types, + probe1 = probe1 ) + if (remove.type) { - if (is_igraph(res[[1]]) && "type" %in% vertex_attr_names(res[[1]])) { - res[[1]] <- delete_vertex_attr(res[[1]], "type") + if (is_igraph(res$proj1) && "type" %in% vertex_attr_names(res$proj1)) { + res$proj1 <- delete_vertex_attr(res$proj1, "type") } - if (is_igraph(res[[2]]) && "type" %in% vertex_attr_names(res[[2]])) { - res[[2]] <- delete_vertex_attr(res[[2]], "type") + if (is_igraph(res$proj2) && "type" %in% vertex_attr_names(res$proj2)) { + res$proj2 <- delete_vertex_attr(res$proj2, "type") } } if (which == 0L) { if (multiplicity) { - E(res[[1]])$weight <- res[[3]] - E(res[[2]])$weight <- res[[4]] + E(res$proj1)$weight <- res$multiplicity1 + E(res$proj2)$weight <- res$multiplicity2 } - res[1:2] + res[c("proj1", "proj2")] } else if (which == 1L) { if (multiplicity) { - E(res[[1]])$weight <- res[[3]] + E(res$proj1)$weight <- res$multiplicity1 } - res[[1]] + res$proj1 } else { if (multiplicity) { - E(res[[2]])$weight <- res[[4]] + E(res$proj2)$weight <- res$multiplicity2 } - res[[2]] + res$proj2 } } diff --git a/R/centrality.R b/R/centrality.R index b874c4e401e..cd0565295bb 100644 --- a/R/centrality.R +++ b/R/centrality.R @@ -1075,7 +1075,7 @@ arpack <- function( } on.exit(.Call(Rx_igraph_finalizer)) - res <- .Call(Rx_igraph_arpack, func, extra, options, env, sym) + res <- .Call(Rx_igraph_arpack, func, extra, options, env, sym) # igraph_arpack_rssolve()/igraph_arpack_rnsolve(); no _impl if (complex) { rew <- arpack.unpack.complex( @@ -1113,7 +1113,7 @@ arpack.unpack.complex <- function(vectors, values, nev) { on.exit(.Call(Rx_igraph_finalizer)) # Function call - res <- .Call(Rx_igraph_arpack_unpack_complex, vectors, values, nev) + res <- .Call(Rx_igraph_arpack_unpack_complex, vectors, values, nev) # igraph_arpack_unpack_complex(); no _impl res } diff --git a/R/cliques.R b/R/cliques.R index bb4425f6e4b..d4dfae4a460 100644 --- a/R/cliques.R +++ b/R/cliques.R @@ -324,6 +324,7 @@ max_cliques <- function( } on.exit(.Call(Rx_igraph_finalizer)) res <- .Call( + # igraph_maximal_cliques_subset(); maximal_cliques_file_impl doesn't support subset Rx_igraph_maximal_cliques_file, graph, subset, @@ -349,6 +350,7 @@ max_cliques <- function( on.exit(.Call(Rx_igraph_finalizer)) res <- .Call( + # igraph_maximal_cliques_subset(); maximal_cliques_impl doesn't support subset Rx_igraph_maximal_cliques, graph, subset_arg, @@ -425,14 +427,21 @@ count_max_cliques <- function( max <- as.numeric(max) if (!is.null(subset)) { - subset <- as.numeric(as_igraph_vs(graph, subset) - 1) + # Use maximal_cliques_subset_impl when subset is provided + maximal_cliques_subset_impl( + graph = graph, + subset = subset, + min_size = min, + max_size = max, + details = TRUE + )$no + } else { + maximal_cliques_count_impl( + graph = graph, + min_size = min, + max_size = max + ) } - - on.exit(.Call(Rx_igraph_finalizer)) - # Function call - res <- .Call(Rx_igraph_maximal_cliques_count, graph, subset, min, max) - - res } #' @rdname cliques @@ -679,30 +688,11 @@ weighted_clique_num <- function( #' #' length(max_ivs(g)) ivs <- function(graph, min = NULL, max = NULL) { - ensure_igraph(graph) - - if (is.null(min)) { - min <- 0 - } - - if (is.null(max)) { - max <- 0 - } - - on.exit(.Call(Rx_igraph_finalizer)) - res <- .Call( - Rx_igraph_independent_vertex_sets, - graph, - as.numeric(min), - as.numeric(max) + independent_vertex_sets_impl( + graph = graph, + min_size = min %||% 0, + max_size = max %||% 0 ) - res <- lapply(res, `+`, 1) - - if (igraph_opt("return.vs.es")) { - res <- lapply(res, unsafe_create_vs, graph = graph, verts = V(graph)) - } - - res } #' @rdname ivs diff --git a/R/community.R b/R/community.R index c966d54cff0..7e94b3e0c74 100644 --- a/R/community.R +++ b/R/community.R @@ -1403,12 +1403,12 @@ show_trace <- function(communities) { ##################################################################### community.to.membership2 <- function(merges, vcount, steps) { - mode(merges) <- "numeric" - mode(vcount) <- "numeric" - mode(steps) <- "numeric" - on.exit(.Call(Rx_igraph_finalizer)) - res <- .Call(Rx_igraph_community_to_membership2, merges - 1, vcount, steps) - res + 1 + res <- community_to_membership_impl( + merges = merges - 1, + nodes = vcount, + steps = steps + ) + res$membership + 1 } ##################################################################### @@ -1673,19 +1673,18 @@ cluster_spinglass <- function( on.exit(.Call(Rx_igraph_finalizer)) if (is.null(vertex) || length(vertex) == 0) { - res <- .Call( - Rx_igraph_spinglass_community, - graph, - weights, - as.numeric(spins), - as.logical(parupdate), - as.numeric(start.temp), - as.numeric(stop.temp), - as.numeric(cool.fact), - as.numeric(update.rule), - as.numeric(gamma), - as.numeric(implementation), - as.numeric(gamma.minus) + res <- community_spinglass_impl( + graph = graph, + weights = weights, + spins = spins, + parupdate = parupdate, + starttemp = start.temp, + stoptemp = stop.temp, + coolfact = cool.fact, + update_rule = if (update.rule == 0) "simple" else "config", + gamma = gamma, + implementation = if (implementation == 0) "orig" else "neg", + lambda = gamma.minus ) res$algorithm <- "spinglass" res$vcount <- vcount(graph) @@ -1695,14 +1694,13 @@ cluster_spinglass <- function( } class(res) <- "communities" } else { - res <- .Call( - Rx_igraph_spinglass_my_community, - graph, - weights, - as_igraph_vs(graph, vertex) - 1, - as.numeric(spins), - as.numeric(update.rule), - as.numeric(gamma) + res <- community_spinglass_single_impl( + graph = graph, + weights = weights, + vertex = as_igraph_vs(graph, vertex) - 1, + spins = spins, + update_rule = if (update.rule == 0) "simple" else "config", + gamma = gamma ) res$community <- res$community + 1 } @@ -2088,6 +2086,7 @@ cluster_walktrap <- function( on.exit(.Call(Rx_igraph_finalizer)) res <- .Call( + # igraph_community_walktrap(); _impl lacks output control params (merges/modularity/membership) Rx_igraph_walktrap_community, graph, weights, @@ -2288,6 +2287,7 @@ cluster_edge_betweenness <- function( on.exit(.Call(Rx_igraph_finalizer)) res <- .Call( + # igraph_community_edge_betweenness(); _impl lacks output control params Rx_igraph_community_edge_betweenness, graph, weights, @@ -2414,6 +2414,7 @@ cluster_fast_greedy <- function( on.exit(.Call(Rx_igraph_finalizer)) res <- .Call( + # igraph_community_fastgreedy(); _impl lacks output control params Rx_igraph_community_fastgreedy, graph, as.logical(merges), @@ -2435,7 +2436,7 @@ cluster_fast_greedy <- function( igraph.i.levc.arp <- function(externalP, externalE) { f <- function(v) { v <- as.numeric(v) - .Call(R_igraph_levc_arpack_multiplier, externalP, externalE, v) + .Call(R_igraph_levc_arpack_multiplier, externalP, externalE, v) # internal ARPACK, no _impl } f } diff --git a/R/conversion.R b/R/conversion.R index 9f44f193617..eb4a7692f37 100644 --- a/R/conversion.R +++ b/R/conversion.R @@ -849,6 +849,7 @@ as_adj_list <- function( multiple <- if (multiple) 1 else 0 on.exit(.Call(Rx_igraph_finalizer)) + # igraph_i_neighbors(); neighbors_impl() lacks loops/multiple and only handles one vertex res <- .Call(Rx_igraph_get_adjlist, graph, mode, loops, multiple) res <- lapply(res, `+`, 1) if (igraph_opt("return.vs.es")) { @@ -906,6 +907,7 @@ as_adj_edge_list <- function( } on.exit(.Call(Rx_igraph_finalizer)) + # igraph_i_incident(); incident_impl() lacks loops and only handles one vertex res <- .Call(Rx_igraph_get_adjedgelist, graph, mode, loops) res <- lapply(res, function(.x) E(graph)[.x + 1]) if (is_named(graph)) { @@ -1406,6 +1408,7 @@ as_data_frame <- function(x, what = c("edges", "vertices", "both")) { if (what %in% c("vertices", "both")) { ver <- .Call( + # internal, no _impl Rx_igraph_mybracket2, x, igraph_t_idx_attr, @@ -1424,7 +1427,7 @@ as_data_frame <- function(x, what = c("edges", "vertices", "both")) { el <- as_edgelist(x) edg <- c( list(from = el[, 1], to = el[, 2]), - .Call(Rx_igraph_mybracket2, x, igraph_t_idx_attr, igraph_attr_idx_edge) + .Call(Rx_igraph_mybracket2, x, igraph_t_idx_attr, igraph_attr_idx_edge) # internal, no _impl ) class(edg) <- "data.frame" rownames(edg) <- seq_len(ecount(x)) @@ -1554,6 +1557,7 @@ as_long_data_frame <- function(graph) { ensure_igraph(graph) ver <- .Call( + # internal, no _impl Rx_igraph_mybracket2, graph, igraph_t_idx_attr, @@ -1571,7 +1575,7 @@ as_long_data_frame <- function(graph) { edg <- c( list(from = el[, 1]), list(to = el[, 2]), - .Call(Rx_igraph_mybracket2, graph, igraph_t_idx_attr, igraph_attr_idx_edge) + .Call(Rx_igraph_mybracket2, graph, igraph_t_idx_attr, igraph_attr_idx_edge) # internal, no _impl ) class(edg) <- "data.frame" rownames(edg) <- seq_len(ecount(graph)) diff --git a/R/decomposition.R b/R/decomposition.R index 233ed25673b..6c26aecc3e5 100644 --- a/R/decomposition.R +++ b/R/decomposition.R @@ -168,6 +168,7 @@ is_chordal <- function( newgraph <- as.logical(newgraph) on.exit(.Call(Rx_igraph_finalizer)) res <- .Call( + # igraph_is_chordal(); is_chordal_impl lacks fillin/newgraph params Rx_igraph_is_chordal, graph, alpha, diff --git a/R/fit.R b/R/fit.R index 1fc974f4ee7..d6efb23a0df 100644 --- a/R/fit.R +++ b/R/fit.R @@ -267,6 +267,7 @@ power.law.fit.new <- function( on.exit(.Call(Rx_igraph_finalizer)) # Function call res <- .Call( + # igraph_power_law_fit(); power_law_fit_impl lacks p.value/p.precision params Rx_igraph_power_law_fit_new, data, xmin, diff --git a/R/foreign.R b/R/foreign.R index 0510ab201c7..fd932d5e71e 100644 --- a/R/foreign.R +++ b/R/foreign.R @@ -518,12 +518,10 @@ write_graph <- function( ################################################################ read.graph.edgelist <- function(file, n = 0, directed = TRUE) { - on.exit(.Call(Rx_igraph_finalizer)) - .Call( - Rx_igraph_read_graph_edgelist, - file, - as.numeric(n), - as.logical(directed) + read_graph_edgelist_impl( + instream = file, + n = n, + directed = directed ) } @@ -553,6 +551,7 @@ read.graph.ncol <- function( ) on.exit(.Call(Rx_igraph_finalizer)) .Call( + # igraph_read_graph_ncol(); read_graph_ncol_impl has bug with predefnames Rx_igraph_read_graph_ncol, file, as.character(predef), @@ -579,6 +578,7 @@ write.graph.ncol <- function( on.exit(.Call(Rx_igraph_finalizer)) .Call( + # igraph_write_graph_ncol(); write_graph_ncol_impl can't handle NULL names/weights Rx_igraph_write_graph_ncol, graph, file, @@ -593,19 +593,12 @@ read.graph.lgl <- function( weights = c("auto", "yes", "no"), directed = FALSE ) { - weights <- switch( - igraph_match_arg(weights), - "no" = 0L, - "yes" = 1L, - "auto" = 2L - ) - on.exit(.Call(Rx_igraph_finalizer)) - .Call( - Rx_igraph_read_graph_lgl, - file, - as.logical(names), - weights, - as.logical(directed) + weights <- igraph_match_arg(weights) + read_graph_lgl_impl( + instream = file, + names = names, + weights = weights, + directed = directed ) } @@ -627,6 +620,7 @@ write.graph.lgl <- function( on.exit(.Call(Rx_igraph_finalizer)) .Call( + # igraph_write_graph_lgl(); write_graph_lgl_impl can't handle NULL names/weights Rx_igraph_write_graph_lgl, graph, file, @@ -656,7 +650,13 @@ write.graph.pajek <- function(graph, file) { } read.graph.dimacs <- function(file, directed = TRUE) { - res <- .Call(Rx_igraph_read_graph_dimacs, file, as.logical(directed)) + on.exit(.Call(Rx_igraph_finalizer)) + res <- .Call( + # igraph_read_graph_dimacs_flow(); _impl returns different structure + Rx_igraph_read_graph_dimacs, + file, + as.logical(directed) + ) if (res[[1]][1] == "max") { graph <- res[[2]] graph <- set_graph_attr(graph, "problem", res[[1]]) @@ -689,14 +689,12 @@ write.graph.dimacs <- function( capacity <- E(graph)$capacity } - on.exit(.Call(Rx_igraph_finalizer)) - .Call( - Rx_igraph_write_graph_dimacs, - graph, - file, - as.numeric(source), - as.numeric(target), - as.numeric(capacity) + write_graph_dimacs_flow_impl( + graph = graph, + outstream = file, + source = source, + target = target, + capacity = capacity ) } diff --git a/R/games.R b/R/games.R index 6a0cf538007..f12d666af35 100644 --- a/R/games.R +++ b/R/games.R @@ -2577,6 +2577,7 @@ sample_grg <- function( on.exit(.Call(Rx_igraph_finalizer)) res <- .Call( + # igraph_grg_game(); grg_game_impl lacks coords param Rx_igraph_grg_game, as.double(nodes), as.double(radius), diff --git a/R/interface.R b/R/interface.R index bc46be018ee..56ed1fe10b5 100644 --- a/R/interface.R +++ b/R/interface.R @@ -150,11 +150,9 @@ add_edges <- function(graph, edges, ..., attr = list()) { } edges.orig <- ecount(graph) - on.exit(.Call(Rx_igraph_finalizer)) - graph <- .Call( - Rx_igraph_add_edges_manual, - graph, - as_igraph_vs(graph, edges) - 1 + graph <- add_edges_impl( + graph = graph, + edges = edges ) edges.new <- ecount(graph) @@ -778,7 +776,13 @@ adjacent_vertices <- function( on.exit(.Call(Rx_igraph_finalizer)) - res <- .Call(Rx_igraph_adjacent_vertices, graph, vv, mode) + res <- .Call( + # igraph_lazy_adjlist; neighbors_impl takes single vertex + Rx_igraph_adjacent_vertices, + graph, + vv, + mode + ) res <- lapply(res, `+`, 1) if (igraph_opt("return.vs.es")) { @@ -843,7 +847,13 @@ incident_edges <- function( on.exit(.Call(Rx_igraph_finalizer)) - res <- .Call(Rx_igraph_incident_edges, graph, vv, mode) + res <- .Call( + # igraph_lazy_inclist; incident_impl takes single vertex + Rx_igraph_incident_edges, + graph, + vv, + mode + ) res <- lapply(res, `+`, 1) if (igraph_opt("return.vs.es")) { diff --git a/R/iterators.R b/R/iterators.R index 6eb1072e228..750aedf79f5 100644 --- a/R/iterators.R +++ b/R/iterators.R @@ -30,7 +30,7 @@ update_es_ref <- update_vs_ref <- function(graph) { get_es_ref <- get_vs_ref <- function(graph) { if (is_igraph(graph) && !warn_version(graph)) { - .Call(Rx_igraph_copy_env, graph) + .Call(Rx_igraph_copy_env, graph) # internal, no _impl } else { NULL } @@ -108,7 +108,14 @@ identical_graphs <- function( # END GENERATED ARG_HANDLE stopifnot(is_igraph(g1), is_igraph(g2)) - .Call(Rx_igraph_identical_graphs, g1, g2, as.logical(attrs)) + on.exit(.Call(Rx_igraph_finalizer)) + .Call( + # R_compute_identical(); is_same_graph_impl lacks attrs param + Rx_igraph_identical_graphs, + g1, + g2, + as.logical(attrs) + ) } add_vses_graph_ref <- function(vses, graph) { @@ -416,6 +423,7 @@ E <- function( } else if (!is.null(P)) { on.exit(.Call(Rx_igraph_finalizer)) res <- .Call( + # internal, no _impl Rx_igraph_es_pairs, graph, as_igraph_vs(graph, P) - 1, @@ -425,6 +433,7 @@ E <- function( } else { on.exit(.Call(Rx_igraph_finalizer)) res <- .Call( + # internal, no _impl Rx_igraph_es_path, graph, as_igraph_vs(graph, path) - 1, @@ -644,6 +653,7 @@ simple_vs_index <- function(x, i, na_ok = FALSE) { } on.exit(.Call(Rx_igraph_finalizer)) tmp <- .Call( + # internal, no _impl Rx_igraph_vs_nei, graph, x, @@ -675,6 +685,7 @@ simple_vs_index <- function(x, i, na_ok = FALSE) { } on.exit(.Call(Rx_igraph_finalizer)) tmp <- .Call( + # internal, no _impl Rx_igraph_vs_adj, graph, x, @@ -696,6 +707,7 @@ simple_vs_index <- function(x, i, na_ok = FALSE) { } on.exit(.Call(Rx_igraph_finalizer)) tmp <- .Call( + # internal, no _impl Rx_igraph_vs_adj, graph, x, @@ -714,6 +726,7 @@ simple_vs_index <- function(x, i, na_ok = FALSE) { } on.exit(.Call(Rx_igraph_finalizer)) tmp <- .Call( + # internal, no _impl Rx_igraph_vs_adj, graph, x, @@ -1037,6 +1050,7 @@ simple_es_index <- function(x, i, na_ok = FALSE) { ## TRUE iff the edge is incident to at least one vertex in v on.exit(.Call(Rx_igraph_finalizer)) tmp <- .Call( + # internal, no _impl Rx_igraph_es_adj, graph, x, @@ -1055,6 +1069,7 @@ simple_es_index <- function(x, i, na_ok = FALSE) { ## TRUE iff the edge originates from at least one vertex in v on.exit(.Call(Rx_igraph_finalizer)) tmp <- .Call( + # internal, no _impl Rx_igraph_es_adj, graph, x, @@ -1070,6 +1085,7 @@ simple_es_index <- function(x, i, na_ok = FALSE) { ## TRUE iff the edge points to at least one vertex in v on.exit(.Call(Rx_igraph_finalizer)) tmp <- .Call( + # internal, no _impl Rx_igraph_es_adj, graph, x, @@ -1110,12 +1126,14 @@ simple_es_index <- function(x, i, na_ok = FALSE) { )) # Data objects (visible by default) + from_copy <- .Call(Rx_igraph_copy_from, graph) # internal, no _impl + to_copy <- .Call(Rx_igraph_copy_to, graph) # internal, no _impl bottom <- rlang::new_environment( parent = top, c( attrs, - .igraph.from = list(.Call(Rx_igraph_copy_from, graph)[as.numeric(x)]), - .igraph.to = list(.Call(Rx_igraph_copy_to, graph)[as.numeric(x)]), + .igraph.from = list(from_copy[as.numeric(x)]), + .igraph.to = list(to_copy[as.numeric(x)]), .igraph.graph = list(graph), .env = env, .data = list(attrs) diff --git a/R/layout.R b/R/layout.R index 7c6d472e707..a0876454e49 100644 --- a/R/layout.R +++ b/R/layout.R @@ -933,27 +933,27 @@ layout_as_tree <- function( # END GENERATED ARG_HANDLE ensure_igraph(graph) - root <- as_igraph_vs(graph, root) - 1 + # Vertex ID conversion of `root` happens inside the _impl functions circular <- as.logical(circular) rootlevel <- as.double(rootlevel) - mode <- switch( - igraph_match_arg(mode), - "out" = 1, - "in" = 2, - "all" = 3, - "total" = 3 - ) + mode <- igraph_match_arg(mode) flip.y <- as.logical(flip.y) - on.exit(.Call(Rx_igraph_finalizer)) - res <- .Call( - Rx_igraph_layout_reingold_tilford, - graph, - root, - mode, - rootlevel, - circular - ) + if (circular) { + res <- layout_reingold_tilford_circular_impl( + graph = graph, + mode = mode, + roots = root, + rootlevel = rootlevel + ) + } else { + res <- layout_reingold_tilford_impl( + graph = graph, + mode = mode, + roots = root, + rootlevel = rootlevel + ) + } if (flip.y && vcount(graph) > 0) { res[, 2] <- max(res[, 2]) - res[, 2] } @@ -1868,8 +1868,15 @@ layout_with_fr <- function( # Argument checks ensure_igraph(graph) - coords[] <- as.numeric(coords) dim <- igraph_match_arg(dim) + use_seed <- !is.null(coords) + if (is.null(coords)) { + # Initialize coords with zeros - will be ignored if use_seed=FALSE + n <- vcount(graph) + dim_n <- if (dim == "2") 2 else 3 + coords <- matrix(0, n, dim_n) + } + coords[] <- as.numeric(coords) if (!missing(niter) && !missing(maxiter)) { cli::cli_abort(c( "{.arg niter} and {.arg maxiter} must not be specified at the same time.", @@ -1883,16 +1890,9 @@ layout_with_fr <- function( start.temp <- as.numeric(start.temp) grid <- igraph_match_arg(grid) - grid <- switch(grid, "grid" = 0L, "nogrid" = 1L, "auto" = 2L) - if (is.null(weights) && "weight" %in% edge_attr_names(graph)) { - weights <- E(graph)$weight - } - if (!is.null(weights) && !all(is.na(weights))) { - weights <- as.numeric(weights) - } else { - weights <- NULL - } + # Let _impl handle default weights from edge attribute + # Pass weights as-is (including NA to signal "no weights") if (!is.null(minx)) { minx <- as.numeric(minx) } @@ -1924,35 +1924,34 @@ layout_with_fr <- function( lifecycle::deprecate_stop("0.8.0", "layout_with_fr(repulserad = )") } - on.exit(.Call(Rx_igraph_finalizer)) if (dim == 2) { - res <- .Call( - Rx_igraph_layout_fruchterman_reingold, - graph, - coords, - niter, - start.temp, - weights, - minx, - maxx, - miny, - maxy, - grid + res <- layout_fruchterman_reingold_impl( + graph = graph, + coords = coords, + use_seed = use_seed, + niter = niter, + start_temp = start.temp, + grid = grid, + weights = weights, + minx = minx, + maxx = maxx, + miny = miny, + maxy = maxy ) } else { - res <- .Call( - Rx_igraph_layout_fruchterman_reingold_3d, - graph, - coords, - niter, - start.temp, - weights, - minx, - maxx, - miny, - maxy, - minz, - maxz + res <- layout_fruchterman_reingold_3d_impl( + graph = graph, + coords = coords, + use_seed = use_seed, + niter = niter, + start_temp = start.temp, + weights = weights, + minx = minx, + maxx = maxx, + miny = miny, + maxy = maxy, + minz = minz, + maxz = maxz ) } res @@ -2217,6 +2216,11 @@ layout_with_graphopt <- function( # END GENERATED ARG_HANDLE ensure_igraph(graph) + use_seed <- !is.null(start) + if (is.null(start)) { + # Initialize with zeros - will be ignored if use_seed=FALSE + start <- matrix(0, vcount(graph), 2) + } start[] <- as.numeric(start) niter <- as.double(niter) charge <- as.double(charge) @@ -2225,17 +2229,16 @@ layout_with_graphopt <- function( spring.constant <- as.double(spring.constant) max.sa.movement <- as.double(max.sa.movement) - on.exit(.Call(Rx_igraph_finalizer)) - .Call( - Rx_igraph_layout_graphopt, - graph, - niter, - charge, - mass, - spring.length, - spring.constant, - max.sa.movement, - start + layout_graphopt_impl( + graph = graph, + res = start, + niter = niter, + node_charge = charge, + node_mass = mass, + spring_length = spring.length, + spring_constant = spring.constant, + max_sa_movement = max.sa.movement, + use_seed = use_seed ) } @@ -2473,8 +2476,15 @@ layout_with_kk <- function( } ensure_igraph(graph) - coords[] <- as.numeric(coords) dim <- igraph_match_arg(dim) + use_seed <- !is.null(coords) + if (is.null(coords)) { + # Initialize coords with zeros - will be ignored if use_seed=FALSE + n <- vcount(graph) + dim_n <- if (dim == "2") 2 else 3 + coords <- matrix(0, n, dim_n) + } + coords[] <- as.numeric(coords) maxiter <- as.numeric(maxiter) epsilon <- as.numeric(epsilon) @@ -2519,37 +2529,36 @@ layout_with_kk <- function( lifecycle::deprecate_stop("0.8.0", "layout_with_kk(coolexp = )") } - on.exit(.Call(Rx_igraph_finalizer)) # Function call if (dim == 2) { - res <- .Call( - Rx_igraph_layout_kamada_kawai, - graph, - coords, - maxiter, - epsilon, - kkconst, - weights, - minx, - maxx, - miny, - maxy + res <- layout_kamada_kawai_impl( + graph = graph, + coords = coords, + use_seed = use_seed, + maxiter = maxiter, + epsilon = epsilon, + kkconst = kkconst, + weights = weights, + minx = minx, + maxx = maxx, + miny = miny, + maxy = maxy ) } else { - res <- .Call( - Rx_igraph_layout_kamada_kawai_3d, - graph, - coords, - maxiter, - epsilon, - kkconst, - weights, - minx, - maxx, - miny, - maxy, - minz, - maxz + res <- layout_kamada_kawai_3d_impl( + graph = graph, + coords = coords, + use_seed = use_seed, + maxiter = maxiter, + epsilon = epsilon, + kkconst = kkconst, + weights = weights, + minx = minx, + maxx = maxx, + miny = miny, + maxy = maxy, + minz = minz, + maxz = maxz ) } @@ -2701,17 +2710,15 @@ layout_with_lgl <- function( root <- as_igraph_vs(graph, root) - 1 } - on.exit(.Call(Rx_igraph_finalizer)) - .Call( - Rx_igraph_layout_lgl, - graph, - as.double(maxiter), - as.double(maxdelta), - as.double(area), - as.double(coolexp), - as.double(repulserad), - as.double(cellsize), - root + layout_lgl_impl( + graph = graph, + maxiter = maxiter, + maxdelta = maxdelta, + area = area, + coolexp = coolexp, + repulserad = repulserad, + cellsize = cellsize, + root = root ) } @@ -3307,11 +3314,9 @@ merge_coords <- function( cli::cli_abort("{.arg method} must be {.str dla}, not {.str {method}}.") } - on.exit(.Call(Rx_igraph_finalizer)) - .Call( - Rx_igraph_layout_merge_dla, - graphs, - layouts + layout_merge_dla_impl( + graphs = graphs, + coords = layouts ) } @@ -3719,24 +3724,21 @@ layout_with_drl <- function( weights <- NULL } - on.exit(.Call(Rx_igraph_finalizer)) if (dim == 2) { - res <- .Call( - Rx_igraph_layout_drl, - graph, - seed, - use.seed, - options, - weights + res <- layout_drl_impl( + graph = graph, + res = seed, + use_seed = use.seed, + options = options, + weights = weights ) } else { - res <- .Call( - Rx_igraph_layout_drl_3d, - graph, - seed, - use.seed, - options, - weights + res <- layout_drl_3d_impl( + graph = graph, + res = seed, + use_seed = use.seed, + options = options, + weights = weights ) } res diff --git a/R/operators.R b/R/operators.R index 4560514a944..7a00c4bb9fc 100644 --- a/R/operators.R +++ b/R/operators.R @@ -319,8 +319,7 @@ disjoint_union <- function( ) lapply(graphs, ensure_igraph) - on.exit(.Call(Rx_igraph_finalizer)) - res <- .Call(Rx_igraph_disjoint_union, graphs) + res <- disjoint_union_many_impl(graphs = graphs) ## Graph attributes graph.attr.comb <- igraph.i.attribute.combination( @@ -461,8 +460,10 @@ disjoint_union <- function( on.exit(.Call(Rx_igraph_finalizer)) if (call == "union") { + # igraph_union_many(); _impl doesn't return edgemaps needed for attribute merging res <- .Call(Rx_igraph_union, newgraphs, edgemaps) } else { + # igraph_intersection_many(); _impl doesn't return edgemaps needed for attribute merging res <- .Call(Rx_igraph_intersection, newgraphs, edgemaps) } maps <- res$edgemaps @@ -506,8 +507,10 @@ disjoint_union <- function( on.exit(.Call(Rx_igraph_finalizer)) if (call == "union") { + # igraph_union_many(); _impl doesn't return edgemaps needed for attribute merging res <- .Call(Rx_igraph_union, graphs, edgemaps) } else { + # igraph_intersection_many(); _impl doesn't return edgemaps needed for attribute merging res <- .Call(Rx_igraph_intersection, graphs, edgemaps) } maps <- res$edgemaps @@ -1112,6 +1115,7 @@ compose <- function( length(edge_attr_names(g2)) != 0) on.exit(.Call(Rx_igraph_finalizer)) + # igraph_compose(); _impl doesn't return edgemaps needed for attribute merging res <- .Call(Rx_igraph_compose, g1, g2, edgemaps) maps <- list(res$edge_map1, res$edge_map2) res <- res$graph diff --git a/R/par.R b/R/par.R index 36bfd03fb14..c0cd1df4f1a 100644 --- a/R/par.R +++ b/R/par.R @@ -78,7 +78,7 @@ getIgraphOpt <- function(x, default = NULL) { igraph.pars.set.verbose <- function(verbose) { if (is.logical(verbose)) { - .Call(Rx_igraph_set_verbose, verbose) + .Call(Rx_igraph_set_verbose, verbose) # igraph_set_status_handler()/igraph_set_progress_handler(); no _impl } else if (is.character(verbose)) { if (!verbose %in% c("tk", "tkconsole")) { cli::cli_abort("Unknown {.arg verbose} value.") @@ -91,7 +91,7 @@ igraph.pars.set.verbose <- function(verbose) { cli::cli_abort("tcltk package not available.") } } - .Call(Rx_igraph_set_verbose, TRUE) + .Call(Rx_igraph_set_verbose, TRUE) # igraph_set_status_handler()/igraph_set_progress_handler(); no _impl } else { cli::cli_abort("{.arg verbose} should be a logical or character scalar.") } diff --git a/R/pp.R b/R/pp.R index a412f1d434a..081485d83e6 100644 --- a/R/pp.R +++ b/R/pp.R @@ -20,5 +20,5 @@ ################################################################### get.all.simple.paths.pp <- function(vect) { - .Call(Rx_igraph_get_all_simple_paths_pp, vect) + .Call(Rx_igraph_get_all_simple_paths_pp, vect) # internal, no _impl } diff --git a/R/print.R b/R/print.R index 20a9ce46e3e..dc3f1da8236 100644 --- a/R/print.R +++ b/R/print.R @@ -33,7 +33,7 @@ sep = "", gal, " (g/", - .Call(Rx_igraph_get_attr_mode, object, 2L), + .Call(Rx_igraph_get_attr_mode, object, 2L), # internal, no _impl ")" ) } @@ -43,7 +43,7 @@ sep = "", val, " (v/", - .Call(Rx_igraph_get_attr_mode, object, 3L), + .Call(Rx_igraph_get_attr_mode, object, 3L), # internal, no _impl ")" ) } @@ -53,7 +53,7 @@ sep = "", edge_attr_names(object), " (e/", - .Call(Rx_igraph_get_attr_mode, object, 4L), + .Call(Rx_igraph_get_attr_mode, object, 4L), # internal, no _impl ")" ) } diff --git a/R/structural-properties.R b/R/structural-properties.R index 578eed4bbc3..aa4a87c3770 100644 --- a/R/structural-properties.R +++ b/R/structural-properties.R @@ -797,6 +797,7 @@ diameter <- function( on.exit(.Call(Rx_igraph_finalizer)) .Call( + # igraph_diameter_dijkstra(); diameter_impl returns path info too Rx_igraph_diameter, graph, as.logical(directed), @@ -854,6 +855,7 @@ get_diameter <- function( on.exit(.Call(Rx_igraph_finalizer)) res <- .Call( + # igraph_diameter_dijkstra(); diameter_impl returns path info too Rx_igraph_get_diameter, graph, as.logical(directed), @@ -918,6 +920,7 @@ farthest_vertices <- function( on.exit(.Call(Rx_igraph_finalizer)) res <- .Call( + # igraph_diameter_dijkstra(); no farthest_vertices_impl available Rx_igraph_farthest_points, graph, as.logical(directed), @@ -1443,6 +1446,7 @@ distances <- function( on.exit(.Call(Rx_igraph_finalizer)) res <- .Call( + # igraph_distances*(); distances_impl doesn't support algorithm selection Rx_igraph_shortest_paths, graph, v - 1, @@ -1593,6 +1597,7 @@ shortest_paths <- function( to <- as_igraph_vs(graph, to) - 1 on.exit(.Call(Rx_igraph_finalizer)) res <- .Call( + # igraph_get_shortest_paths*(); _impl doesn't support algorithm selection Rx_igraph_get_shortest_paths, graph, as_igraph_vs(graph, from) - 1, @@ -1836,24 +1841,11 @@ subcomponent <- function( } # END GENERATED ARG_HANDLE - ensure_igraph(graph) - mode <- igraph_match_arg(mode) - mode <- switch(mode, "out" = 1, "in" = 2, "all" = 3) - - on.exit(.Call(Rx_igraph_finalizer)) - res <- .Call( - Rx_igraph_subcomponent, - graph, - as_igraph_vs(graph, v) - 1, - as.numeric(mode) - ) + - 1L - - if (igraph_opt("return.vs.es")) { - res <- create_vs(graph, res) - } - - res + subcomponent_impl( + graph = graph, + vid = v, + mode = mode + ) } #' Subgraph of a graph @@ -2215,6 +2207,7 @@ transitivity <- function( isolates_num <- as.double(switch(isolates, "nan" = 0, "zero" = 1)) if (is.null(vids)) { res <- .Call( + # igraph_transitivity_local_undirected(); _impl requires vids Rx_igraph_transitivity_local_undirected_all, graph, isolates_num @@ -2549,19 +2542,12 @@ ego_size <- function( } # END GENERATED ARG_HANDLE - ensure_igraph(graph) - mode <- igraph_match_arg(mode) - mode <- switch(mode, "out" = 1, "in" = 2, "all" = 3) - mindist <- as.numeric(mindist) - - on.exit(.Call(Rx_igraph_finalizer)) - .Call( - Rx_igraph_neighborhood_size, - graph, - as_igraph_vs(graph, nodes) - 1, - as.numeric(order), - as.numeric(mode), - mindist + neighborhood_size_impl( + graph = graph, + vids = nodes, + order = order, + mode = mode, + mindist = mindist ) } @@ -2687,27 +2673,13 @@ ego <- function( } # END GENERATED ARG_HANDLE - ensure_igraph(graph) - mode <- igraph_match_arg(mode) - mode <- switch(mode, "out" = 1, "in" = 2, "all" = 3) - mindist <- as.numeric(mindist) - - on.exit(.Call(Rx_igraph_finalizer)) - res <- .Call( - Rx_igraph_neighborhood, - graph, - as_igraph_vs(graph, nodes) - 1, - as.numeric(order), - as.numeric(mode), - mindist + neighborhood_impl( + graph = graph, + vids = nodes, + order = order, + mode = mode, + mindist = mindist ) - res <- lapply(res, function(x) x + 1) - - if (igraph_opt("return.vs.es")) { - res <- lapply(res, unsafe_create_vs, graph = graph, verts = V(graph)) - } - - res } #' @export @@ -2746,21 +2718,13 @@ make_ego_graph <- function( } # END GENERATED ARG_HANDLE - ensure_igraph(graph) - mode <- igraph_match_arg(mode) - mode <- switch(mode, "out" = 1L, "in" = 2L, "all" = 3L) - mindist <- as.numeric(mindist) - - on.exit(.Call(Rx_igraph_finalizer)) - res <- .Call( - Rx_igraph_neighborhood_graphs, - graph, - as_igraph_vs(graph, nodes) - 1, - as.numeric(order), - as.integer(mode), - mindist + neighborhood_graphs_impl( + graph = graph, + vids = nodes, + order = order, + mode = mode, + mindist = mindist ) - res } #' @export @@ -3121,15 +3085,13 @@ girth <- function( } # END GENERATED ARG_HANDLE - ensure_igraph(graph) - - on.exit(.Call(Rx_igraph_finalizer)) - res <- .Call(Rx_igraph_girth, graph, as.logical(circle)) + # girth_impl always computes circle; slightly less efficient when circle=FALSE + res <- girth_impl(graph = graph) if (res$girth == 0) { res$girth <- Inf } - if (igraph_opt("return.vs.es") && circle) { - res$circle <- create_vs(graph, res$circle) + if (!circle) { + res$circle <- NULL } res } @@ -3449,6 +3411,7 @@ bfs <- function( on.exit(.Call(Rx_igraph_finalizer)) res <- .Call( + # igraph_bfs(); bfs_closure_impl returns only order, not rank/parent/pred/succ/dist Rx_igraph_bfs, graph, root, @@ -3710,6 +3673,7 @@ dfs <- function( on.exit(.Call(Rx_igraph_finalizer)) res <- .Call( + # igraph_dfs(); dfs_closure_impl returns only order/order_out, not parent/dist Rx_igraph_dfs, graph, root, @@ -3945,10 +3909,8 @@ count_components <- function( ensure_igraph(graph) mode <- igraph_match_arg(mode) - mode <- switch(mode, "weak" = 1L, "strong" = 2L) - on.exit(.Call(Rx_igraph_finalizer)) - .Call(Rx_igraph_no_components, graph, mode) + connected_components_impl(graph, mode = mode, details = TRUE)$no } #' Count reachable vertices diff --git a/R/topology.R b/R/topology.R index eddd7069aa4..a3317a359d0 100644 --- a/R/topology.R +++ b/R/topology.R @@ -262,6 +262,7 @@ graph.subisomorphic.lad <- function( on.exit(.Call(Rx_igraph_finalizer)) # Function call res <- .Call( + # igraph_subisomorphic_lad(); _impl lacks map/all.maps params Rx_igraph_subisomorphic_lad, pattern, target, diff --git a/R/utils.R b/R/utils.R index d172590cc0d..0ae4bdd94a3 100644 --- a/R/utils.R +++ b/R/utils.R @@ -72,7 +72,7 @@ capitalize <- function(x) { } address <- function(x) { - .Call(Rx_igraph_address, x) + .Call(Rx_igraph_address, x) # internal, no _impl } `%+%` <- function(x, y) { @@ -112,5 +112,5 @@ modify_list <- function(x, y) { #' test_error_with_source() #' } test_error_with_source <- function() { - .Call(Rx_igraph_test_error_with_source) + .Call(Rx_igraph_test_error_with_source) # test utility, no _impl } diff --git a/R/uuid.R b/R/uuid.R index 76384e8edff..73f4f0f3122 100644 --- a/R/uuid.R +++ b/R/uuid.R @@ -1,6 +1,6 @@ get_graph_id <- function(graph) { if (!warn_version(graph)) { - .Call(Rx_igraph_get_graph_id, graph) + .Call(Rx_igraph_get_graph_id, graph) # internal, no _impl } else { NA_character_ } diff --git a/R/versions.R b/R/versions.R index ab70f20b1ac..8426c8edbdd 100644 --- a/R/versions.R +++ b/R/versions.R @@ -57,7 +57,7 @@ graph_version <- function(graph) { # Don't call is_igraph() here to avoid recursion stopifnot(inherits(graph, "igraph")) - .Call(Rx_igraph_graph_version, graph) + .Call(Rx_igraph_graph_version, graph) # internal, no _impl } #' igraph data structure versions @@ -99,13 +99,13 @@ upgrade_graph <- function(graph) { # g_ver < p_ver if (g_ver == ver_0_4) { - .Call(Rx_igraph_add_env, graph) + .Call(Rx_igraph_add_env, graph) # internal, no _impl } else if (g_ver == ver_0_7_999) { # Not observed in the wild - .Call(Rx_igraph_add_myid_to_env, graph) - .Call(Rx_igraph_add_version_to_env, graph) + .Call(Rx_igraph_add_myid_to_env, graph) # internal, no _impl + .Call(Rx_igraph_add_version_to_env, graph) # internal, no _impl } else if (g_ver == ver_0_8) { - .Call(Rx_igraph_add_version_to_env, graph) + .Call(Rx_igraph_add_version_to_env, graph) # internal, no _impl graph <- unclass(graph) graph[igraph_t_idx_oi:igraph_t_idx_is] <- list(NULL) class(graph) <- "igraph" @@ -126,11 +126,11 @@ upgrade_graph <- function(graph) { warn_version <- function(graph) { # Calling for side effect: error if Rz_SEXP_to_igraph() fails - # Don't call vcount_impl() to avoid recursion - .Call(Rx_igraph_vcount, graph) + # Don't use vcount_impl() to avoid infinite recursion + .Call(Rx_igraph_vcount, graph) # igraph_vcount(); avoids recursion via vcount_impl() # graph_version() calls is_igraph(), but that function must call warn_version() for safety - their_version <- .Call(Rx_igraph_graph_version, graph) + their_version <- .Call(Rx_igraph_graph_version, graph) # internal, no _impl if (pkg_graph_version == their_version) { return(FALSE) @@ -151,7 +151,7 @@ warn_version <- function(graph) { # Users will have to call upgrade_graph(), but this is what the message # is about. if (pkg_graph_version <= ver_1_5_0) { - .Call(Rx_igraph_add_version_to_env, graph) + .Call(Rx_igraph_add_version_to_env, graph) # internal, no _impl } return(TRUE) } diff --git a/R/weakref.R b/R/weakref.R index 3fffda44550..a49ec6c6de7 100644 --- a/R/weakref.R +++ b/R/weakref.R @@ -22,13 +22,13 @@ ## ----------------------------------------------------------------------- make_weak_ref <- function(key, value, finalizer = NULL) { - .Call(Rx_igraph_make_weak_ref, key, value, finalizer) + .Call(Rx_igraph_make_weak_ref, key, value, finalizer) # R_MakeWeakRef(); internal R API, no igraph API, no _impl } weak_ref_key <- function(ref) { - .Call(Rx_igraph_weak_ref_key, ref) + .Call(Rx_igraph_weak_ref_key, ref) # R_WeakRefKey(); internal R API, no igraph API, no _impl } weak_ref_value <- function(ref) { - .Call(Rx_igraph_weak_ref_value, ref) + .Call(Rx_igraph_weak_ref_value, ref) # R_WeakRefValue(); internal R API, no igraph API, no _impl } diff --git a/man/add.edges.Rd b/man/add.edges.Rd index 0c2fc925a37..ea35989b139 100644 --- a/man/add.edges.Rd +++ b/man/add.edges.Rd @@ -27,7 +27,7 @@ below.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_add_edges}{\code{add_edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \keyword{internal} diff --git a/man/add_edges.Rd b/man/add_edges.Rd index 01859f4dde3..06d85fe9015 100644 --- a/man/add_edges.Rd +++ b/man/add_edges.Rd @@ -34,7 +34,7 @@ If attributes are supplied, and they are not present in the graph, their values for the original edges of the graph are set to \code{NA}. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_add_edges}{\code{add_edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \examples{ diff --git a/man/bipartite.projection.Rd b/man/bipartite.projection.Rd index a841122f28d..1ab93653423 100644 --- a/man/bipartite.projection.Rd +++ b/man/bipartite.projection.Rd @@ -49,7 +49,7 @@ default it will be removed.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Bipartite.html#igraph_bipartite_projection}{\code{bipartite_projection()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \keyword{internal} diff --git a/man/bipartite_projection.Rd b/man/bipartite_projection.Rd index 5d15d940311..d2c4ac0c399 100644 --- a/man/bipartite_projection.Rd +++ b/man/bipartite_projection.Rd @@ -72,7 +72,7 @@ the second. \code{bipartite_projection()} keeps vertex attributes. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Bipartite.html#igraph_bipartite_projection_size}{\code{bipartite_projection_size()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Bipartite.html#igraph_bipartite_projection}{\code{bipartite_projection()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Bipartite.html#igraph_bipartite_projection_size}{\code{bipartite_projection_size()}} } \examples{ diff --git a/man/cliques.Rd b/man/cliques.Rd index 61c8ea492c2..f375e8e4b13 100644 --- a/man/cliques.Rd +++ b/man/cliques.Rd @@ -138,7 +138,7 @@ of clique sizes, between the given minimum and maximum clique size. \code{is_clique()} tests whether all pairs within a vertex set are connected. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_cliques}{\code{cliques()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_largest_cliques}{\code{largest_cliques()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_clique_number}{\code{clique_number()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_largest_weighted_cliques}{\code{largest_weighted_cliques()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_weighted_clique_number}{\code{weighted_clique_number()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_clique_size_hist}{\code{clique_size_hist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_maximal_cliques_hist}{\code{maximal_cliques_hist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_is_clique}{\code{is_clique()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_cliques}{\code{cliques()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_largest_cliques}{\code{largest_cliques()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_maximal_cliques_count}{\code{maximal_cliques_count()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_maximal_cliques_subset}{\code{maximal_cliques_subset()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_clique_number}{\code{clique_number()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_largest_weighted_cliques}{\code{largest_weighted_cliques()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_weighted_clique_number}{\code{weighted_clique_number()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_clique_size_hist}{\code{clique_size_hist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_maximal_cliques_hist}{\code{maximal_cliques_hist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_is_clique}{\code{is_clique()}} } \examples{ diff --git a/man/cluster_spinglass.Rd b/man/cluster_spinglass.Rd index e34349b282a..f24e21751f4 100644 --- a/man/cluster_spinglass.Rd +++ b/man/cluster_spinglass.Rd @@ -136,7 +136,7 @@ must be a vertex ID, and the same energy function is used to find the community of the the given vertex. See also the examples below. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_community_spinglass}{\code{community_spinglass()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_community_spinglass_single}{\code{community_spinglass_single()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \examples{ diff --git a/man/cohesive_blocks.Rd b/man/cohesive_blocks.Rd index 4c80d62bd1e..a8779983eb1 100644 --- a/man/cohesive_blocks.Rd +++ b/man/cohesive_blocks.Rd @@ -227,7 +227,7 @@ The generic function \code{\link[=plot]{plot()}} plots the graph, showing one or cohesive blocks in it. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Flows.html#igraph_cohesive_blocks}{\code{cohesive_blocks()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_edgelist}{\code{write_graph_edgelist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_pajek}{\code{write_graph_pajek()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_graphml}{\code{write_graph_graphml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_gml}{\code{write_graph_gml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_dot}{\code{write_graph_dot()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_leda}{\code{write_graph_leda()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_is_directed}{\code{is_directed()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Flows.html#igraph_cohesive_blocks}{\code{cohesive_blocks()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_edgelist}{\code{write_graph_edgelist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_pajek}{\code{write_graph_pajek()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_dimacs_flow}{\code{write_graph_dimacs_flow()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_graphml}{\code{write_graph_graphml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_gml}{\code{write_graph_gml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_dot}{\code{write_graph_dot()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_leda}{\code{write_graph_leda()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_is_directed}{\code{is_directed()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_reingold_tilford_circular}{\code{layout_reingold_tilford_circular()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_reingold_tilford}{\code{layout_reingold_tilford()}} } \examples{ diff --git a/man/communities.Rd b/man/communities.Rd index c0696e218da..aad59602e86 100644 --- a/man/communities.Rd +++ b/man/communities.Rd @@ -238,7 +238,7 @@ corresponding to the communities. It passes additional arguments to \link{igraph.plotting} on how to change the plot. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_get_edgelist}{\code{get_edgelist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_le_community_to_membership}{\code{le_community_to_membership()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_community_to_membership}{\code{community_to_membership()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_get_edgelist}{\code{get_edgelist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_le_community_to_membership}{\code{le_community_to_membership()}} } \examples{ diff --git a/man/compare.Rd b/man/compare.Rd index d331fc49d72..20672b4a414 100644 --- a/man/compare.Rd +++ b/man/compare.Rd @@ -37,7 +37,7 @@ A real number. This function assesses the distance between two community structures. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_compare_communities}{\code{compare_communities()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_compare_communities}{\code{compare_communities()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_community_to_membership}{\code{community_to_membership()}} } \examples{ diff --git a/man/component_wise.Rd b/man/component_wise.Rd index 050e6882e4d..e56b98a8c94 100644 --- a/man/component_wise.Rd +++ b/man/component_wise.Rd @@ -16,7 +16,7 @@ to calculate the layout separately for each component of the graph. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_decompose}{\code{decompose()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_decompose}{\code{decompose()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_merge_dla}{\code{layout_merge_dla()}} } \examples{ diff --git a/man/cutat.Rd b/man/cutat.Rd index e2ff41a32bd..9c8f59b43aa 100644 --- a/man/cutat.Rd +++ b/man/cutat.Rd @@ -21,7 +21,7 @@ communities. Exactly one of \code{no} and \code{steps} must be supplied.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_le_community_to_membership}{\code{le_community_to_membership()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_le_community_to_membership}{\code{le_community_to_membership()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_community_to_membership}{\code{community_to_membership()}} } \keyword{internal} diff --git a/man/disjoint_union.Rd b/man/disjoint_union.Rd index 7b0b040da91..1d28c5eb167 100644 --- a/man/disjoint_union.Rd +++ b/man/disjoint_union.Rd @@ -50,7 +50,7 @@ An error is generated if some input graphs are directed and others are undirected. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_disjoint_union_many}{\code{disjoint_union_many()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \examples{ diff --git a/man/ego.Rd b/man/ego.Rd index 0a92929bb2e..d15c9a45c21 100644 --- a/man/ego.Rd +++ b/man/ego.Rd @@ -125,7 +125,7 @@ the vertex, edge and graph attributes. all other vertices in its neighborhood. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_connect_neighborhood}{\code{connect_neighborhood()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_connect_neighborhood}{\code{connect_neighborhood()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_neighborhood_size}{\code{neighborhood_size()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_neighborhood}{\code{neighborhood()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_neighborhood_graphs}{\code{neighborhood_graphs()}} } \examples{ diff --git a/man/exportPajek.Rd b/man/exportPajek.Rd index d88573b6188..f6df5393ed2 100644 --- a/man/exportPajek.Rd +++ b/man/exportPajek.Rd @@ -38,7 +38,7 @@ See details below.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_edgelist}{\code{write_graph_edgelist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_pajek}{\code{write_graph_pajek()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_graphml}{\code{write_graph_graphml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_gml}{\code{write_graph_gml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_dot}{\code{write_graph_dot()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_leda}{\code{write_graph_leda()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_edgelist}{\code{write_graph_edgelist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_pajek}{\code{write_graph_pajek()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_dimacs_flow}{\code{write_graph_dimacs_flow()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_graphml}{\code{write_graph_graphml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_gml}{\code{write_graph_gml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_dot}{\code{write_graph_dot()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_leda}{\code{write_graph_leda()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \keyword{internal} diff --git a/man/from_incidence_matrix.Rd b/man/from_incidence_matrix.Rd index 7825135c191..5e4af48406a 100644 --- a/man/from_incidence_matrix.Rd +++ b/man/from_incidence_matrix.Rd @@ -21,7 +21,7 @@ Some authors refer to the bipartite adjacency matrix as the this naming to avoid confusion with the edge-vertex incidence matrix. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Bipartite.html#igraph_biadjacency}{\code{biadjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_create}{\code{create()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_famous}{\code{famous()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_simplify}{\code{simplify()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_is_simple}{\code{is_simple()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Bipartite.html#igraph_biadjacency}{\code{biadjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_add_edges}{\code{add_edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_create}{\code{create()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_famous}{\code{famous()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_simplify}{\code{simplify()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_is_simple}{\code{is_simple()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \keyword{internal} diff --git a/man/girth.Rd b/man/girth.Rd index 52a047daef1..43a97a833af 100644 --- a/man/girth.Rd +++ b/man/girth.Rd @@ -39,7 +39,7 @@ symposium on Theory of computing}, 1-10, 1977. The first implementation of this function was done by Keith Briggs, thanks Keith. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_girth}{\code{girth()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} } \examples{ diff --git a/man/graph.adjacency.Rd b/man/graph.adjacency.Rd index e03c982fc4f..6a2856b4037 100644 --- a/man/graph.adjacency.Rd +++ b/man/graph.adjacency.Rd @@ -55,7 +55,7 @@ former is ignored.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_adjacency}{\code{adjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_weighted_adjacency}{\code{weighted_adjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_create}{\code{create()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_famous}{\code{famous()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_simplify}{\code{simplify()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_is_simple}{\code{is_simple()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_adjacency}{\code{adjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_weighted_adjacency}{\code{weighted_adjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_add_edges}{\code{add_edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_create}{\code{create()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_famous}{\code{famous()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_simplify}{\code{simplify()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_is_simple}{\code{is_simple()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \keyword{internal} diff --git a/man/graph.data.frame.Rd b/man/graph.data.frame.Rd index 65b57fb2366..fe717bee5c7 100644 --- a/man/graph.data.frame.Rd +++ b/man/graph.data.frame.Rd @@ -25,7 +25,7 @@ with \code{as.data.frame}, if not \code{NULL}.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_add_vertices}{\code{add_vertices()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_add_edges}{\code{add_edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_add_vertices}{\code{add_vertices()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \keyword{internal} diff --git a/man/graph.disjoint.union.Rd b/man/graph.disjoint.union.Rd index 860eec15e51..1ece91cab2b 100644 --- a/man/graph.disjoint.union.Rd +++ b/man/graph.disjoint.union.Rd @@ -16,7 +16,7 @@ graph.disjoint.union(...) consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_disjoint_union_many}{\code{disjoint_union_many()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \keyword{internal} diff --git a/man/graph.incidence.Rd b/man/graph.incidence.Rd index ad16e6eaa84..bd354d7c8c5 100644 --- a/man/graph.incidence.Rd +++ b/man/graph.incidence.Rd @@ -54,7 +54,7 @@ type) will be added.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Bipartite.html#igraph_biadjacency}{\code{biadjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_create}{\code{create()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_famous}{\code{famous()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_simplify}{\code{simplify()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_is_simple}{\code{is_simple()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Bipartite.html#igraph_biadjacency}{\code{biadjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_add_edges}{\code{add_edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_create}{\code{create()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_famous}{\code{famous()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_simplify}{\code{simplify()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_is_simple}{\code{is_simple()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \keyword{internal} diff --git a/man/graph.neighborhood.Rd b/man/graph.neighborhood.Rd index 3a52ea1951c..91dba4312b5 100644 --- a/man/graph.neighborhood.Rd +++ b/man/graph.neighborhood.Rd @@ -37,7 +37,7 @@ argument is ignored for undirected graphs.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_neighborhood_graphs}{\code{neighborhood_graphs()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} } \keyword{internal} diff --git a/man/graph_from_adjacency_matrix.Rd b/man/graph_from_adjacency_matrix.Rd index bf92df54a42..f840b4472f5 100644 --- a/man/graph_from_adjacency_matrix.Rd +++ b/man/graph_from_adjacency_matrix.Rd @@ -145,7 +145,7 @@ gives the edge weights. } } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_adjacency}{\code{adjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_weighted_adjacency}{\code{weighted_adjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_create}{\code{create()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_famous}{\code{famous()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_simplify}{\code{simplify()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_is_simple}{\code{is_simple()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_adjacency}{\code{adjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_weighted_adjacency}{\code{weighted_adjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_add_edges}{\code{add_edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_create}{\code{create()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_famous}{\code{famous()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_simplify}{\code{simplify()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_is_simple}{\code{is_simple()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \examples{ diff --git a/man/graph_from_biadjacency_matrix.Rd b/man/graph_from_biadjacency_matrix.Rd index 8cf04abf03e..5aca4a0d045 100644 --- a/man/graph_from_biadjacency_matrix.Rd +++ b/man/graph_from_biadjacency_matrix.Rd @@ -75,7 +75,7 @@ Some authors refer to the bipartite adjacency matrix as the this naming to avoid confusion with the edge-vertex incidence matrix. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Bipartite.html#igraph_biadjacency}{\code{biadjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_create}{\code{create()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_famous}{\code{famous()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_simplify}{\code{simplify()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_is_simple}{\code{is_simple()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Bipartite.html#igraph_biadjacency}{\code{biadjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_add_edges}{\code{add_edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_create}{\code{create()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_famous}{\code{famous()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_simplify}{\code{simplify()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_is_simple}{\code{is_simple()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \examples{ diff --git a/man/graph_from_data_frame.Rd b/man/graph_from_data_frame.Rd index f435b5f650d..f3c3e6dd724 100644 --- a/man/graph_from_data_frame.Rd +++ b/man/graph_from_data_frame.Rd @@ -95,7 +95,7 @@ touched. In other words, vertex names (=the first column) cannot be \code{NA}, but other vertex attributes can. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_get_edgelist}{\code{get_edgelist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_add_vertices}{\code{add_vertices()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_get_edgelist}{\code{get_edgelist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_add_edges}{\code{add_edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_add_vertices}{\code{add_vertices()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \examples{ diff --git a/man/graph_from_incidence_matrix.Rd b/man/graph_from_incidence_matrix.Rd index 3bc46309c90..9abb777bff3 100644 --- a/man/graph_from_incidence_matrix.Rd +++ b/man/graph_from_incidence_matrix.Rd @@ -21,7 +21,7 @@ Some authors refer to the bipartite adjacency matrix as the this naming to avoid confusion with the edge-vertex incidence matrix. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Bipartite.html#igraph_biadjacency}{\code{biadjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_create}{\code{create()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_famous}{\code{famous()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_simplify}{\code{simplify()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_is_simple}{\code{is_simple()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Bipartite.html#igraph_biadjacency}{\code{biadjacency()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_add_edges}{\code{add_edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_create}{\code{create()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_empty}{\code{empty()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_famous}{\code{famous()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_simplify}{\code{simplify()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_is_simple}{\code{is_simple()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \keyword{internal} diff --git a/man/groups.Rd b/man/groups.Rd index 55861d7bc0c..d5ef9370cd5 100644 --- a/man/groups.Rd +++ b/man/groups.Rd @@ -28,6 +28,10 @@ object that is a list with an entry called \code{membership}.) The second method works on \code{\link[=communities]{communities()}} objects. } +\section{Related documentation in the C library}{ +\href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_community_to_membership}{\code{community_to_membership()}} +} + \examples{ g <- make_graph("Zachary") fgc <- cluster_fast_greedy(g) diff --git a/man/independent.vertex.sets.Rd b/man/independent.vertex.sets.Rd index 742b5d11683..0c315a329e5 100644 --- a/man/independent.vertex.sets.Rd +++ b/man/independent.vertex.sets.Rd @@ -22,7 +22,7 @@ vertex sets to find. \code{NULL} means no limit.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_independent_vertex_sets}{\code{independent_vertex_sets()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} } \keyword{internal} diff --git a/man/ivs.Rd b/man/ivs.Rd index ff6d9beea0d..9d883858ba3 100644 --- a/man/ivs.Rd +++ b/man/ivs.Rd @@ -73,7 +73,7 @@ reference below. \code{is_ivs()} tests if no pairs within a vertex set are connected. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_largest_independent_vertex_sets}{\code{largest_independent_vertex_sets()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_maximal_independent_vertex_sets}{\code{maximal_independent_vertex_sets()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_independence_number}{\code{independence_number()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_is_independent_vertex_set}{\code{is_independent_vertex_set()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_independent_vertex_sets}{\code{independent_vertex_sets()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_largest_independent_vertex_sets}{\code{largest_independent_vertex_sets()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_maximal_independent_vertex_sets}{\code{maximal_independent_vertex_sets()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_independence_number}{\code{independence_number()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_is_independent_vertex_set}{\code{is_independent_vertex_set()}} } \examples{ diff --git a/man/layout.drl.Rd b/man/layout.drl.Rd index f8c21417d89..fee1e3072bc 100644 --- a/man/layout.drl.Rd +++ b/man/layout.drl.Rd @@ -45,7 +45,7 @@ significantly longer to compute.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_drl_3d}{\code{layout_drl_3d()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_drl}{\code{layout_drl()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \keyword{internal} diff --git a/man/layout.graphopt.Rd b/man/layout.graphopt.Rd index 6ae8c116bd7..84478035181 100644 --- a/man/layout.graphopt.Rd +++ b/man/layout.graphopt.Rd @@ -49,4 +49,8 @@ movement allowed in a single step along a single axis. The default value is \code{layout.graphopt()} was renamed to \code{\link[=layout_with_graphopt]{layout_with_graphopt()}} to create a more consistent API. } +\section{Related documentation in the C library}{ +\href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_graphopt}{\code{layout_graphopt()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} +} + \keyword{internal} diff --git a/man/layout.merge.Rd b/man/layout.merge.Rd index 14307918324..506d2aa966b 100644 --- a/man/layout.merge.Rd +++ b/man/layout.merge.Rd @@ -20,4 +20,8 @@ layout.merge(graphs, layouts, method = "dla") \code{layout.merge()} was renamed to \code{\link[=merge_coords]{merge_coords()}} to create a more consistent API. } +\section{Related documentation in the C library}{ +\href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_merge_dla}{\code{layout_merge_dla()}} +} + \keyword{internal} diff --git a/man/layout_as_tree.Rd b/man/layout_as_tree.Rd index 8da0425eb20..d8cd1045599 100644 --- a/man/layout_as_tree.Rd +++ b/man/layout_as_tree.Rd @@ -65,7 +65,7 @@ If the given graph is not a tree, a breadth-first search is executed first to obtain a possible spanning tree. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_reingold_tilford_circular}{\code{layout_reingold_tilford_circular()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_reingold_tilford}{\code{layout_reingold_tilford()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} } \examples{ diff --git a/man/layout_with_drl.Rd b/man/layout_with_drl.Rd index c5e17f7cd03..f3548683ca9 100644 --- a/man/layout_with_drl.Rd +++ b/man/layout_with_drl.Rd @@ -146,7 +146,7 @@ There are five pre-defined parameter settings as well, these are called \code{drl_defaults$final}. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_drl_3d}{\code{layout_drl_3d()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_drl}{\code{layout_drl()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \examples{ diff --git a/man/layout_with_fr.Rd b/man/layout_with_fr.Rd index 6627fbf1c4f..246321e51c8 100644 --- a/man/layout_with_fr.Rd +++ b/man/layout_with_fr.Rd @@ -98,7 +98,7 @@ See the referenced paper below for the details of the algorithm. This function was rewritten from scratch in igraph version 0.8.0. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_fruchterman_reingold_3d}{\code{layout_fruchterman_reingold_3d()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_fruchterman_reingold}{\code{layout_fruchterman_reingold()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \examples{ diff --git a/man/layout_with_graphopt.Rd b/man/layout_with_graphopt.Rd index 5cdd3fb3632..f258eefd60d 100644 --- a/man/layout_with_graphopt.Rd +++ b/man/layout_with_graphopt.Rd @@ -67,6 +67,10 @@ forces among the vertices and then the physical system is simulated until it reaches an equilibrium. (There is no simulated annealing or anything like that, so a stable fixed point is not guaranteed.) } +\section{Related documentation in the C library}{ +\href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_graphopt}{\code{layout_graphopt()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} +} + \seealso{ Other graph layouts: \code{\link[=add_layout_]{add_layout_()}}, diff --git a/man/layout_with_kk.Rd b/man/layout_with_kk.Rd index 5b4278c1c9e..38ca5bb633c 100644 --- a/man/layout_with_kk.Rd +++ b/man/layout_with_kk.Rd @@ -97,7 +97,7 @@ This function was rewritten from scratch in igraph version 0.8.0 and it follows truthfully the original publication by Kamada and Kawai now. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_kamada_kawai_3d}{\code{layout_kamada_kawai_3d()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_kamada_kawai}{\code{layout_kamada_kawai()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \examples{ diff --git a/man/layout_with_lgl.Rd b/man/layout_with_lgl.Rd index 7dd652c3f05..76cff651845 100644 --- a/man/layout_with_lgl.Rd +++ b/man/layout_with_lgl.Rd @@ -57,7 +57,7 @@ generator of the Large Graph Layout software (\url{https://lgl.sourceforge.net/}). } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_lgl}{\code{layout_lgl()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} } \seealso{ diff --git a/man/local_scan.Rd b/man/local_scan.Rd index 17a89226881..61319a88f71 100644 --- a/man/local_scan.Rd +++ b/man/local_scan.Rd @@ -84,7 +84,7 @@ information, and applying \code{FUN} on these neighborhoods in \code{graph.them}. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_neighborhood_ecount}{\code{local_scan_neighborhood_ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_0_them}{\code{local_scan_0_them()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_1_ecount_them}{\code{local_scan_1_ecount_them()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_k_ecount_them}{\code{local_scan_k_ecount_them()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_0}{\code{local_scan_0()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_1_ecount}{\code{local_scan_1_ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_k_ecount}{\code{local_scan_k_ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_induced_subgraph}{\code{induced_subgraph()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_neighborhood_ecount}{\code{local_scan_neighborhood_ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_0_them}{\code{local_scan_0_them()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_1_ecount_them}{\code{local_scan_1_ecount_them()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_k_ecount_them}{\code{local_scan_k_ecount_them()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_0}{\code{local_scan_0()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_1_ecount}{\code{local_scan_1_ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_k_ecount}{\code{local_scan_k_ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_induced_subgraph}{\code{induced_subgraph()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_neighborhood_graphs}{\code{neighborhood_graphs()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \examples{ diff --git a/man/maximal.cliques.count.Rd b/man/maximal.cliques.count.Rd index 5dad067399f..076d3f069f0 100644 --- a/man/maximal.cliques.count.Rd +++ b/man/maximal.cliques.count.Rd @@ -28,7 +28,7 @@ parallelize the finding of maximal cliques.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_maximal_cliques_count}{\code{maximal_cliques_count()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Cliques.html#igraph_maximal_cliques_subset}{\code{maximal_cliques_subset()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} } \keyword{internal} diff --git a/man/merge_coords.Rd b/man/merge_coords.Rd index 2d3d3e4a898..9aedcd84c09 100644 --- a/man/merge_coords.Rd +++ b/man/merge_coords.Rd @@ -51,7 +51,7 @@ for each component separately. Finally it merges the layouts via calling \code{merge_coords()}. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_decompose}{\code{decompose()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_merge_dla}{\code{layout_merge_dla()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_decompose}{\code{decompose()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} } \examples{ diff --git a/man/neighborhood.size.Rd b/man/neighborhood.size.Rd index f4d6722866c..cd13dd3d5e6 100644 --- a/man/neighborhood.size.Rd +++ b/man/neighborhood.size.Rd @@ -37,7 +37,7 @@ argument is ignored for undirected graphs.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_neighborhood_size}{\code{neighborhood_size()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} } \keyword{internal} diff --git a/man/no.clusters.Rd b/man/no.clusters.Rd index 43a87f30cc3..6095f6459a4 100644 --- a/man/no.clusters.Rd +++ b/man/no.clusters.Rd @@ -19,4 +19,8 @@ connected components to search. It is ignored for undirected graphs.} \code{no.clusters()} was renamed to \code{\link[=count_components]{count_components()}} to create a more consistent API. } +\section{Related documentation in the C library}{ +\href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_connected_components}{\code{connected_components()}} +} + \keyword{internal} diff --git a/man/piecewise.layout.Rd b/man/piecewise.layout.Rd index 50ca54cc9e3..fed7086b49f 100644 --- a/man/piecewise.layout.Rd +++ b/man/piecewise.layout.Rd @@ -21,7 +21,7 @@ function.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_decompose}{\code{decompose()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_decompose}{\code{decompose()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_merge_dla}{\code{layout_merge_dla()}} } \keyword{internal} diff --git a/man/plotHierarchy.Rd b/man/plotHierarchy.Rd index 9ed29941302..4aaff01956d 100644 --- a/man/plotHierarchy.Rd +++ b/man/plotHierarchy.Rd @@ -25,7 +25,7 @@ them to \code{plot.igraph()}. \code{\link[=print]{print()}} and \code{\link[=su consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_reingold_tilford_circular}{\code{layout_reingold_tilford_circular()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Layout.html#igraph_layout_reingold_tilford}{\code{layout_reingold_tilford()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} } \keyword{internal} diff --git a/man/plot_dendrogram.communities.Rd b/man/plot_dendrogram.communities.Rd index 33a205c2861..083b68bbdef 100644 --- a/man/plot_dendrogram.communities.Rd +++ b/man/plot_dendrogram.communities.Rd @@ -92,6 +92,10 @@ The syntax for \code{plot.dendrogram} (\code{mode="dendrogram"}): plot_dendrogram(x, \dots) } The extra arguments are simply passed to \code{\link[=as.dendrogram]{as.dendrogram()}}. } +\section{Related documentation in the C library}{ +\href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_community_to_membership}{\code{community_to_membership()}} +} + \examples{ karate <- make_graph("Zachary") diff --git a/man/read.graph.Rd b/man/read.graph.Rd index 98e50a3d354..0f2a31cd14a 100644 --- a/man/read.graph.Rd +++ b/man/read.graph.Rd @@ -31,7 +31,7 @@ insensitive.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_pajek}{\code{read_graph_pajek()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_graphml}{\code{read_graph_graphml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_gml}{\code{read_graph_gml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_dl}{\code{read_graph_dl()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_graphdb}{\code{read_graph_graphdb()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_edgelist}{\code{read_graph_edgelist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_lgl}{\code{read_graph_lgl()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_pajek}{\code{read_graph_pajek()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_graphml}{\code{read_graph_graphml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_gml}{\code{read_graph_gml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_dl}{\code{read_graph_dl()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_graphdb}{\code{read_graph_graphdb()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \keyword{internal} diff --git a/man/read_graph.Rd b/man/read_graph.Rd index 15f4f2fa85b..8062b040a2b 100644 --- a/man/read_graph.Rd +++ b/man/read_graph.Rd @@ -184,7 +184,7 @@ This is a binary format, used in the ARG Graph Database for isomorphism testing. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_pajek}{\code{read_graph_pajek()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_graphml}{\code{read_graph_graphml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_gml}{\code{read_graph_gml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_dl}{\code{read_graph_dl()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_graphdb}{\code{read_graph_graphdb()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_edgelist}{\code{read_graph_edgelist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_lgl}{\code{read_graph_lgl()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_pajek}{\code{read_graph_pajek()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_graphml}{\code{read_graph_graphml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_gml}{\code{read_graph_gml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_dl}{\code{read_graph_dl()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_read_graph_graphdb}{\code{read_graph_graphdb()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \seealso{ diff --git a/man/scan_stat.Rd b/man/scan_stat.Rd index 2a6a45e84be..9cdbf32318c 100644 --- a/man/scan_stat.Rd +++ b/man/scan_stat.Rd @@ -45,7 +45,7 @@ each graph and each vertex, and then normalizing across the vertices and across the time steps. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_neighborhood_ecount}{\code{local_scan_neighborhood_ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_0_them}{\code{local_scan_0_them()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_1_ecount_them}{\code{local_scan_1_ecount_them()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_k_ecount_them}{\code{local_scan_k_ecount_them()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_0}{\code{local_scan_0()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_1_ecount}{\code{local_scan_1_ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_k_ecount}{\code{local_scan_k_ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_induced_subgraph}{\code{induced_subgraph()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_neighborhood_ecount}{\code{local_scan_neighborhood_ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_0_them}{\code{local_scan_0_them()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_1_ecount_them}{\code{local_scan_1_ecount_them()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_k_ecount_them}{\code{local_scan_k_ecount_them()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_0}{\code{local_scan_0()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_1_ecount}{\code{local_scan_1_ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_local_scan_k_ecount}{\code{local_scan_k_ecount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Operators.html#igraph_induced_subgraph}{\code{induced_subgraph()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_neighborhood_graphs}{\code{neighborhood_graphs()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \examples{ diff --git a/man/spinglass.community.Rd b/man/spinglass.community.Rd index e04e60c98e1..f15cf8c4cea 100644 --- a/man/spinglass.community.Rd +++ b/man/spinglass.community.Rd @@ -91,7 +91,7 @@ is ignored if the \sQuote{orig} implementation is chosen.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_community_spinglass}{\code{community_spinglass()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_community_spinglass_single}{\code{community_spinglass_single()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \keyword{internal} diff --git a/man/split_join_distance.Rd b/man/split_join_distance.Rd index 2736fefffbd..02e4a9898d1 100644 --- a/man/split_join_distance.Rd +++ b/man/split_join_distance.Rd @@ -36,7 +36,7 @@ partition is a subpartition of the other, since in this case, the corresponding distance will be zero. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_split_join_distance}{\code{split_join_distance()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_split_join_distance}{\code{split_join_distance()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Community.html#igraph_community_to_membership}{\code{community_to_membership()}} } \references{ diff --git a/man/subcomponent.Rd b/man/subcomponent.Rd index cd4092391cd..f66eae87b04 100644 --- a/man/subcomponent.Rd +++ b/man/subcomponent.Rd @@ -31,7 +31,7 @@ vertices from which a given vertex is reachable via a directed path. A breadth-first search is conducted starting from vertex \code{v}. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Structural.html#igraph_subcomponent}{\code{subcomponent()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}} } \examples{ diff --git a/man/write.graph.Rd b/man/write.graph.Rd index 2dffc81a7ad..745c524b42c 100644 --- a/man/write.graph.Rd +++ b/man/write.graph.Rd @@ -32,7 +32,7 @@ this argument is case insensitive.} consistent API. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_edgelist}{\code{write_graph_edgelist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_pajek}{\code{write_graph_pajek()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_graphml}{\code{write_graph_graphml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_gml}{\code{write_graph_gml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_dot}{\code{write_graph_dot()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_leda}{\code{write_graph_leda()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_edgelist}{\code{write_graph_edgelist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_pajek}{\code{write_graph_pajek()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_dimacs_flow}{\code{write_graph_dimacs_flow()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_graphml}{\code{write_graph_graphml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_gml}{\code{write_graph_gml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_dot}{\code{write_graph_dot()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_leda}{\code{write_graph_leda()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \keyword{internal} diff --git a/man/write_graph.Rd b/man/write_graph.Rd index 05758654e8a..0615fda582b 100644 --- a/man/write_graph.Rd +++ b/man/write_graph.Rd @@ -141,7 +141,7 @@ data exchange or archival. } \section{Related documentation in the C library}{ -\href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_edgelist}{\code{write_graph_edgelist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_pajek}{\code{write_graph_pajek()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_graphml}{\code{write_graph_graphml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_gml}{\code{write_graph_gml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_dot}{\code{write_graph_dot()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_leda}{\code{write_graph_leda()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} +\href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_edgelist}{\code{write_graph_edgelist()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_pajek}{\code{write_graph_pajek()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_dimacs_flow}{\code{write_graph_dimacs_flow()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_graphml}{\code{write_graph_graphml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_gml}{\code{write_graph_gml()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_dot}{\code{write_graph_dot()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Foreign.html#igraph_write_graph_leda}{\code{write_graph_leda()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_edges}{\code{edges()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_vcount}{\code{vcount()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_get_eids}{\code{get_eids()}}, \href{https://igraph.org/c/html/0.10.17/igraph-Basic.html#igraph_ecount}{\code{ecount()}} } \examples{ diff --git a/src/cpp11.cpp b/src/cpp11.cpp index bababf63294..09ddae2345e 100644 --- a/src/cpp11.cpp +++ b/src/cpp11.cpp @@ -514,7 +514,6 @@ extern SEXP R_igraph_write_graph_leda(SEXP, SEXP, SEXP, SEXP); extern SEXP R_igraph_write_graph_lgl(SEXP, SEXP, SEXP, SEXP, SEXP); extern SEXP R_igraph_write_graph_ncol(SEXP, SEXP, SEXP, SEXP); extern SEXP R_igraph_write_graph_pajek(SEXP, SEXP); -extern SEXP Rx_igraph_add_edges_manual(SEXP, SEXP); extern SEXP Rx_igraph_add_env(SEXP); extern SEXP Rx_igraph_add_myid_to_env(SEXP); extern SEXP Rx_igraph_add_version_to_env(SEXP); @@ -523,17 +522,14 @@ extern SEXP Rx_igraph_adjacent_vertices(SEXP, SEXP, SEXP); extern SEXP Rx_igraph_arpack(SEXP, SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_arpack_unpack_complex(SEXP, SEXP, SEXP); extern SEXP Rx_igraph_bfs(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_bipartite_projection(SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_community_edge_betweenness(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_community_fastgreedy(SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_community_to_membership2(SEXP, SEXP, SEXP); extern SEXP Rx_igraph_compose(SEXP, SEXP, SEXP); extern SEXP Rx_igraph_copy_env(SEXP); extern SEXP Rx_igraph_copy_from(SEXP); extern SEXP Rx_igraph_copy_to(SEXP); extern SEXP Rx_igraph_dfs(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_diameter(SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_disjoint_union(SEXP); extern SEXP Rx_igraph_es_adj(SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_es_pairs(SEXP, SEXP, SEXP); extern SEXP Rx_igraph_es_path(SEXP, SEXP, SEXP); @@ -546,47 +542,25 @@ extern SEXP Rx_igraph_get_attr_mode(SEXP, SEXP); extern SEXP Rx_igraph_get_diameter(SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_get_graph_id(SEXP); extern SEXP Rx_igraph_get_shortest_paths(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_girth(SEXP, SEXP); extern SEXP Rx_igraph_graph_version(SEXP); extern SEXP Rx_igraph_grg_game(SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_identical_graphs(SEXP, SEXP, SEXP); extern SEXP Rx_igraph_incident_edges(SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_independent_vertex_sets(SEXP, SEXP, SEXP); extern SEXP Rx_igraph_intersection(SEXP, SEXP); extern SEXP Rx_igraph_is_chordal(SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_layout_drl(SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_layout_drl_3d(SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_layout_fruchterman_reingold(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_layout_fruchterman_reingold_3d(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_layout_graphopt(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_layout_kamada_kawai(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_layout_kamada_kawai_3d(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_layout_lgl(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_layout_merge_dla(SEXP, SEXP); -extern SEXP Rx_igraph_layout_reingold_tilford(SEXP, SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_make_weak_ref(SEXP, SEXP, SEXP); extern SEXP Rx_igraph_maximal_cliques(SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_maximal_cliques_count(SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_maximal_cliques_file(SEXP, SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_mybracket2(SEXP, SEXP, SEXP); extern SEXP Rx_igraph_mybracket2_copy(SEXP, SEXP, SEXP); extern SEXP Rx_igraph_mybracket2_names(SEXP, SEXP, SEXP); extern SEXP Rx_igraph_mybracket2_set(SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_mybracket3_set(SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_neighborhood(SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_neighborhood_graphs(SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_neighborhood_size(SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_no_components(SEXP, SEXP); extern SEXP Rx_igraph_power_law_fit_new(SEXP, SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_read_graph_dimacs(SEXP, SEXP); -extern SEXP Rx_igraph_read_graph_edgelist(SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_read_graph_lgl(SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_read_graph_ncol(SEXP, SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_set_verbose(SEXP); extern SEXP Rx_igraph_shortest_paths(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_spinglass_community(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_spinglass_my_community(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); -extern SEXP Rx_igraph_subcomponent(SEXP, SEXP, SEXP); extern SEXP Rx_igraph_subisomorphic_lad(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_test_error_with_source(void); extern SEXP Rx_igraph_transitivity_local_undirected_all(SEXP, SEXP); @@ -597,7 +571,6 @@ extern SEXP Rx_igraph_vs_nei(SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_walktrap_community(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_weak_ref_key(SEXP); extern SEXP Rx_igraph_weak_ref_value(SEXP); -extern SEXP Rx_igraph_write_graph_dimacs(SEXP, SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_write_graph_lgl(SEXP, SEXP, SEXP, SEXP, SEXP); extern SEXP Rx_igraph_write_graph_ncol(SEXP, SEXP, SEXP, SEXP); @@ -1094,7 +1067,6 @@ static const R_CallMethodDef CallEntries[] = { {"R_igraph_write_graph_lgl", (DL_FUNC) &R_igraph_write_graph_lgl, 5}, {"R_igraph_write_graph_ncol", (DL_FUNC) &R_igraph_write_graph_ncol, 4}, {"R_igraph_write_graph_pajek", (DL_FUNC) &R_igraph_write_graph_pajek, 2}, - {"Rx_igraph_add_edges_manual", (DL_FUNC) &Rx_igraph_add_edges_manual, 2}, {"Rx_igraph_add_env", (DL_FUNC) &Rx_igraph_add_env, 1}, {"Rx_igraph_add_myid_to_env", (DL_FUNC) &Rx_igraph_add_myid_to_env, 1}, {"Rx_igraph_add_version_to_env", (DL_FUNC) &Rx_igraph_add_version_to_env, 1}, @@ -1103,17 +1075,14 @@ static const R_CallMethodDef CallEntries[] = { {"Rx_igraph_arpack", (DL_FUNC) &Rx_igraph_arpack, 5}, {"Rx_igraph_arpack_unpack_complex", (DL_FUNC) &Rx_igraph_arpack_unpack_complex, 3}, {"Rx_igraph_bfs", (DL_FUNC) &Rx_igraph_bfs, 15}, - {"Rx_igraph_bipartite_projection", (DL_FUNC) &Rx_igraph_bipartite_projection, 4}, {"Rx_igraph_community_edge_betweenness", (DL_FUNC) &Rx_igraph_community_edge_betweenness, 8}, {"Rx_igraph_community_fastgreedy", (DL_FUNC) &Rx_igraph_community_fastgreedy, 5}, - {"Rx_igraph_community_to_membership2", (DL_FUNC) &Rx_igraph_community_to_membership2, 3}, {"Rx_igraph_compose", (DL_FUNC) &Rx_igraph_compose, 3}, {"Rx_igraph_copy_env", (DL_FUNC) &Rx_igraph_copy_env, 1}, {"Rx_igraph_copy_from", (DL_FUNC) &Rx_igraph_copy_from, 1}, {"Rx_igraph_copy_to", (DL_FUNC) &Rx_igraph_copy_to, 1}, {"Rx_igraph_dfs", (DL_FUNC) &Rx_igraph_dfs, 12}, {"Rx_igraph_diameter", (DL_FUNC) &Rx_igraph_diameter, 4}, - {"Rx_igraph_disjoint_union", (DL_FUNC) &Rx_igraph_disjoint_union, 1}, {"Rx_igraph_es_adj", (DL_FUNC) &Rx_igraph_es_adj, 4}, {"Rx_igraph_es_pairs", (DL_FUNC) &Rx_igraph_es_pairs, 3}, {"Rx_igraph_es_path", (DL_FUNC) &Rx_igraph_es_path, 3}, @@ -1126,47 +1095,25 @@ static const R_CallMethodDef CallEntries[] = { {"Rx_igraph_get_diameter", (DL_FUNC) &Rx_igraph_get_diameter, 4}, {"Rx_igraph_get_graph_id", (DL_FUNC) &Rx_igraph_get_graph_id, 1}, {"Rx_igraph_get_shortest_paths", (DL_FUNC) &Rx_igraph_get_shortest_paths, 10}, - {"Rx_igraph_girth", (DL_FUNC) &Rx_igraph_girth, 2}, {"Rx_igraph_graph_version", (DL_FUNC) &Rx_igraph_graph_version, 1}, {"Rx_igraph_grg_game", (DL_FUNC) &Rx_igraph_grg_game, 4}, {"Rx_igraph_identical_graphs", (DL_FUNC) &Rx_igraph_identical_graphs, 3}, {"Rx_igraph_incident_edges", (DL_FUNC) &Rx_igraph_incident_edges, 3}, - {"Rx_igraph_independent_vertex_sets", (DL_FUNC) &Rx_igraph_independent_vertex_sets, 3}, {"Rx_igraph_intersection", (DL_FUNC) &Rx_igraph_intersection, 2}, {"Rx_igraph_is_chordal", (DL_FUNC) &Rx_igraph_is_chordal, 5}, - {"Rx_igraph_layout_drl", (DL_FUNC) &Rx_igraph_layout_drl, 5}, - {"Rx_igraph_layout_drl_3d", (DL_FUNC) &Rx_igraph_layout_drl_3d, 5}, - {"Rx_igraph_layout_fruchterman_reingold", (DL_FUNC) &Rx_igraph_layout_fruchterman_reingold, 10}, - {"Rx_igraph_layout_fruchterman_reingold_3d", (DL_FUNC) &Rx_igraph_layout_fruchterman_reingold_3d, 11}, - {"Rx_igraph_layout_graphopt", (DL_FUNC) &Rx_igraph_layout_graphopt, 8}, - {"Rx_igraph_layout_kamada_kawai", (DL_FUNC) &Rx_igraph_layout_kamada_kawai, 10}, - {"Rx_igraph_layout_kamada_kawai_3d", (DL_FUNC) &Rx_igraph_layout_kamada_kawai_3d, 12}, - {"Rx_igraph_layout_lgl", (DL_FUNC) &Rx_igraph_layout_lgl, 8}, - {"Rx_igraph_layout_merge_dla", (DL_FUNC) &Rx_igraph_layout_merge_dla, 2}, - {"Rx_igraph_layout_reingold_tilford", (DL_FUNC) &Rx_igraph_layout_reingold_tilford, 5}, {"Rx_igraph_make_weak_ref", (DL_FUNC) &Rx_igraph_make_weak_ref, 3}, {"Rx_igraph_maximal_cliques", (DL_FUNC) &Rx_igraph_maximal_cliques, 4}, - {"Rx_igraph_maximal_cliques_count", (DL_FUNC) &Rx_igraph_maximal_cliques_count, 4}, {"Rx_igraph_maximal_cliques_file", (DL_FUNC) &Rx_igraph_maximal_cliques_file, 5}, {"Rx_igraph_mybracket2", (DL_FUNC) &Rx_igraph_mybracket2, 3}, {"Rx_igraph_mybracket2_copy", (DL_FUNC) &Rx_igraph_mybracket2_copy, 3}, {"Rx_igraph_mybracket2_names", (DL_FUNC) &Rx_igraph_mybracket2_names, 3}, {"Rx_igraph_mybracket2_set", (DL_FUNC) &Rx_igraph_mybracket2_set, 4}, {"Rx_igraph_mybracket3_set", (DL_FUNC) &Rx_igraph_mybracket3_set, 5}, - {"Rx_igraph_neighborhood", (DL_FUNC) &Rx_igraph_neighborhood, 5}, - {"Rx_igraph_neighborhood_graphs", (DL_FUNC) &Rx_igraph_neighborhood_graphs, 5}, - {"Rx_igraph_neighborhood_size", (DL_FUNC) &Rx_igraph_neighborhood_size, 5}, - {"Rx_igraph_no_components", (DL_FUNC) &Rx_igraph_no_components, 2}, {"Rx_igraph_power_law_fit_new", (DL_FUNC) &Rx_igraph_power_law_fit_new, 5}, {"Rx_igraph_read_graph_dimacs", (DL_FUNC) &Rx_igraph_read_graph_dimacs, 2}, - {"Rx_igraph_read_graph_edgelist", (DL_FUNC) &Rx_igraph_read_graph_edgelist, 3}, - {"Rx_igraph_read_graph_lgl", (DL_FUNC) &Rx_igraph_read_graph_lgl, 4}, {"Rx_igraph_read_graph_ncol", (DL_FUNC) &Rx_igraph_read_graph_ncol, 5}, {"Rx_igraph_set_verbose", (DL_FUNC) &Rx_igraph_set_verbose, 1}, {"Rx_igraph_shortest_paths", (DL_FUNC) &Rx_igraph_shortest_paths, 6}, - {"Rx_igraph_spinglass_community", (DL_FUNC) &Rx_igraph_spinglass_community, 11}, - {"Rx_igraph_spinglass_my_community", (DL_FUNC) &Rx_igraph_spinglass_my_community, 6}, - {"Rx_igraph_subcomponent", (DL_FUNC) &Rx_igraph_subcomponent, 3}, {"Rx_igraph_subisomorphic_lad", (DL_FUNC) &Rx_igraph_subisomorphic_lad, 7}, {"Rx_igraph_test_error_with_source", (DL_FUNC) &Rx_igraph_test_error_with_source, 0}, {"Rx_igraph_transitivity_local_undirected_all", (DL_FUNC) &Rx_igraph_transitivity_local_undirected_all, 2}, @@ -1177,7 +1124,6 @@ static const R_CallMethodDef CallEntries[] = { {"Rx_igraph_walktrap_community", (DL_FUNC) &Rx_igraph_walktrap_community, 6}, {"Rx_igraph_weak_ref_key", (DL_FUNC) &Rx_igraph_weak_ref_key, 1}, {"Rx_igraph_weak_ref_value", (DL_FUNC) &Rx_igraph_weak_ref_value, 1}, - {"Rx_igraph_write_graph_dimacs", (DL_FUNC) &Rx_igraph_write_graph_dimacs, 5}, {"Rx_igraph_write_graph_lgl", (DL_FUNC) &Rx_igraph_write_graph_lgl, 5}, {"Rx_igraph_write_graph_ncol", (DL_FUNC) &Rx_igraph_write_graph_ncol, 4}, {"_igraph_getsphere", (DL_FUNC) &_igraph_getsphere, 7},