-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>>).