Current section

Files

Jump to
yog src yog@internal@examples@random_graph_showcase.erl
Raw

src/yog@internal@examples@random_graph_showcase.erl

-module(yog@internal@examples@random_graph_showcase).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/yog/internal/examples/random_graph_showcase.gleam").
-export([main/0]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(false).
-file("src/yog/internal/examples/random_graph_showcase.gleam", 6).
?DOC(false).
-spec main() -> nil.
main() ->
gleam_stdlib:println(<<"=== Yog Random Graph Showcase ===\n"/utf8>>),
gleam_stdlib:println(<<"G(n, p) Random Graph (n=100, p=0.05):"/utf8>>),
Er = yog@generators@random:erdos_renyi_gnp(100, 0.05),
gleam_stdlib:println(
<<"Nodes: "/utf8,
(erlang:integer_to_binary(yog@model:node_count(Er)))/binary>>
),
gleam_stdlib:println(
<<"Edges: "/utf8,
(erlang:integer_to_binary(yog@model:edge_count(Er)))/binary>>
),
gleam_stdlib:println(<<""/utf8>>),
gleam_stdlib:println(<<"G(n, m) Random Graph (n=100, m=250):"/utf8>>),
Er2 = yog@generators@random:erdos_renyi_gnm(100, 250),
gleam_stdlib:println(
<<"Nodes: "/utf8,
(erlang:integer_to_binary(yog@model:node_count(Er2)))/binary>>
),
gleam_stdlib:println(
<<"Edges: "/utf8,
(erlang:integer_to_binary(yog@model:edge_count(Er2)))/binary>>
),
gleam_stdlib:println(<<""/utf8>>),
gleam_stdlib:println(<<"Barabási-Albert Graph (n=100, m=2):"/utf8>>),
Ba = yog@generators@random:barabasi_albert(100, 2),
gleam_stdlib:println(
<<"Nodes: "/utf8,
(erlang:integer_to_binary(yog@model:node_count(Ba)))/binary>>
),
gleam_stdlib:println(
<<"Edges: "/utf8,
(erlang:integer_to_binary(yog@model:edge_count(Ba)))/binary>>
),
gleam_stdlib:println(<<""/utf8>>),
gleam_stdlib:println(<<"Watts-Strogatz Graph (n=100, k=4, p=0.1):"/utf8>>),
Ws = yog@generators@random:watts_strogatz(100, 4, 0.1),
gleam_stdlib:println(
<<"Nodes: "/utf8,
(erlang:integer_to_binary(yog@model:node_count(Ws)))/binary>>
),
gleam_stdlib:println(
<<"Edges: "/utf8,
(erlang:integer_to_binary(yog@model:edge_count(Ws)))/binary>>
),
gleam_stdlib:println(<<""/utf8>>),
gleam_stdlib:println(<<"Random Tree (n=100):"/utf8>>),
Tree = yog@generators@random:random_tree(100),
gleam_stdlib:println(
<<"Nodes: "/utf8,
(erlang:integer_to_binary(yog@model:node_count(Tree)))/binary>>
),
gleam_stdlib:println(
<<"Edges: "/utf8,
(erlang:integer_to_binary(yog@model:edge_count(Tree)))/binary>>
),
gleam_stdlib:println(<<"(A tree always has n-1 edges)"/utf8>>).