-module(yog@internal@examples@graph_generation_showcase). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/yog/internal/examples/graph_generation_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/graph_generation_showcase.gleam", 6). ?DOC(false). -spec main() -> nil. main() -> gleam_stdlib:println(<<"=== Yog Graph Generation Showcase ===\n"/utf8>>), K5 = yog@generators@classic:complete(5), gleam_stdlib:println(<<"Complete Graph K5:"/utf8>>), gleam_stdlib:println( <<"Nodes: "/utf8, (erlang:integer_to_binary(yog@model:node_count(K5)))/binary>> ), gleam_stdlib:println( <<"Edges: "/utf8, (erlang:integer_to_binary(yog@model:edge_count(K5)))/binary>> ), gleam_stdlib:println(<<""/utf8>>), C6 = yog@generators@classic:cycle(6), gleam_stdlib:println(<<"Cycle Graph C6:"/utf8>>), gleam_stdlib:println( <<"Nodes: "/utf8, (erlang:integer_to_binary(yog@model:node_count(C6)))/binary>> ), gleam_stdlib:println( <<"Edges: "/utf8, (erlang:integer_to_binary(yog@model:edge_count(C6)))/binary>> ), gleam_stdlib:println(<<""/utf8>>), P5 = yog@generators@classic:path(5), gleam_stdlib:println(<<"Path Graph P5:"/utf8>>), gleam_stdlib:println( <<"Nodes: "/utf8, (erlang:integer_to_binary(yog@model:node_count(P5)))/binary>> ), gleam_stdlib:println( <<"Edges: "/utf8, (erlang:integer_to_binary(yog@model:edge_count(P5)))/binary>> ), gleam_stdlib:println(<<""/utf8>>), S6 = yog@generators@classic:star(6), gleam_stdlib:println(<<"Star Graph S6:"/utf8>>), gleam_stdlib:println( <<"Nodes: "/utf8, (erlang:integer_to_binary(yog@model:node_count(S6)))/binary>> ), gleam_stdlib:println( <<"Edges: "/utf8, (erlang:integer_to_binary(yog@model:edge_count(S6)))/binary>> ), gleam_stdlib:println(<<""/utf8>>), W6 = yog@generators@classic:wheel(6), gleam_stdlib:println(<<"Wheel Graph W6:"/utf8>>), gleam_stdlib:println( <<"Nodes: "/utf8, (erlang:integer_to_binary(yog@model:node_count(W6)))/binary>> ), gleam_stdlib:println( <<"Edges: "/utf8, (erlang:integer_to_binary(yog@model:edge_count(W6)))/binary>> ), gleam_stdlib:println(<<""/utf8>>), K33 = yog@generators@classic:complete_bipartite(3, 3), gleam_stdlib:println(<<"Complete Bipartite K3,3:"/utf8>>), gleam_stdlib:println( <<"Nodes: "/utf8, (erlang:integer_to_binary(yog@model:node_count(K33)))/binary>> ), gleam_stdlib:println( <<"Edges: "/utf8, (erlang:integer_to_binary(yog@model:edge_count(K33)))/binary>> ), gleam_stdlib:println(<<""/utf8>>), Tree = yog@generators@classic:binary_tree(3), gleam_stdlib:println(<<"Binary Tree (height 3):"/utf8>>), 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(<<""/utf8>>), Grid = yog@generators@classic:grid_2d(3, 4), gleam_stdlib:println(<<"2D Grid (3x4):"/utf8>>), gleam_stdlib:println( <<"Nodes: "/utf8, (erlang:integer_to_binary(yog@model:node_count(Grid)))/binary>> ), gleam_stdlib:println( <<"Edges: "/utf8, (erlang:integer_to_binary(yog@model:edge_count(Grid)))/binary>> ), gleam_stdlib:println(<<""/utf8>>), Petersen = yog@generators@classic:petersen(), gleam_stdlib:println(<<"Petersen Graph:"/utf8>>), gleam_stdlib:println( <<"Nodes: "/utf8, (erlang:integer_to_binary(yog@model:node_count(Petersen)))/binary>> ), gleam_stdlib:println( <<"Edges: "/utf8, (erlang:integer_to_binary(yog@model:edge_count(Petersen)))/binary>> ), gleam_stdlib:println(<<""/utf8>>), gleam_stdlib:println(<<"Generators respect graph type:"/utf8>>), Directed_k4 = yog@generators@classic:complete_with_type(4, directed), Undirected_k4 = yog@generators@classic:complete_with_type(4, undirected), gleam_stdlib:println( <<<<"Directed K4 Edges: "/utf8, (erlang:integer_to_binary(yog@model:edge_count(Directed_k4)))/binary>>/binary, " (all bi-directional)"/utf8>> ), gleam_stdlib:println( <<"Undirected K4 Edges: "/utf8, (erlang:integer_to_binary(yog@model:edge_count(Undirected_k4)))/binary>> ).