chiark
/
gitweb
/
~yarrgweb
/
ypp-sc-tools.db-live.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use unionfind=>0 since that works.
[ypp-sc-tools.db-live.git]
/
yarrg
/
yppedia-chart-parser
diff --git
a/yarrg/yppedia-chart-parser
b/yarrg/yppedia-chart-parser
index 8bcf3c9cb980b238f1255190cb41501f3e3b3896..8b5c50828a4e79996f4d20dc1fbc572d3887fd9c 100755
(executable)
--- a/
yarrg/yppedia-chart-parser
+++ b/
yarrg/yppedia-chart-parser
@@
-8,7
+8,7
@@
use Graph::Undirected;
use CommodsDatabase;
my $widists= Graph::Undirected->new();
use CommodsDatabase;
my $widists= Graph::Undirected->new();
-my $wiarchs= Graph::Undirected->new(
unionfind => 1
);
+my $wiarchs= Graph::Undirected->new();
my @wiarchlabels;
my %wiisland2node;
my %winode2island;
my @wiarchlabels;
my %wiisland2node;
my %winode2island;
@@
-32,8
+32,8
@@
sub error ($) {
$errors++;
}
$errors++;
}
-open PO, ">/dev/null" or die $!;
-
#
open PO, ">&STDOUT" or die $!;
+
#
open PO, ">/dev/null" or die $!;
+open PO, ">&STDOUT" or die $!;
select(PO); $|=1;
select(STDOUT); $|=1;
select(PO); $|=1;
select(STDOUT); $|=1;
@@
-74,7
+74,7
@@
sub parse_yppedia_map () {
$winode2island{$n}= $island;
$widists->add_vertex($n);
$wiarchs->add_vertex($n);
$winode2island{$n}= $island;
$widists->add_vertex($n);
$wiarchs->add_vertex($n);
-print "\$g->add_vertex('$n');\n";
+
#
print "\$g->add_vertex('$n');\n";
printf PO "%d,%d island %s\n", $x,$y,$island;
} elsif (($solid,$x,$y,$dirn) =
m/^\{\{ chart\ league((?:\ solid)?) \|(\d+)\|(\d+)\|
printf PO "%d,%d island %s\n", $x,$y,$island;
} elsif (($solid,$x,$y,$dirn) =
m/^\{\{ chart\ league((?:\ solid)?) \|(\d+)\|(\d+)\|
@@
-90,7
+90,7
@@
print "\$g->add_vertex('$n');\n";
$widists->add_weighted_edge($nn->(), nn_xy($bx,$by), 1);
$wiarchs->add_edge($nn->(), nn_xy($bx,$by)) if $solid;
$wiarchs->add_edge($nn->(), nn_xy($bx,$by)) if $solid;
$widists->add_weighted_edge($nn->(), nn_xy($bx,$by), 1);
$wiarchs->add_edge($nn->(), nn_xy($bx,$by)) if $solid;
$wiarchs->add_edge($nn->(), nn_xy($bx,$by)) if $solid;
-print "\$g->add_edge('".$nn->()."','".nn_xy($bx,$by)."');\n" if $solid;
+
#
print "\$g->add_edge('".$nn->()."','".nn_xy($bx,$by)."');\n" if $solid;
printf PO "%d,%d league %s %s \n", $x,$y,
$solid?'solid':'dotted', $dirn;
printf PO "%d,%d league %s %s \n", $x,$y,
$solid?'solid':'dotted', $dirn;
@@
-175,7
+175,7
@@
sub process_yppedia_graphs () {
} sort $wiarchs->connected_component_by_index($ccix);
if (exists $wiccix2arch{$ccix}) {
} sort $wiarchs->connected_component_by_index($ccix);
if (exists $wiccix2arch{$ccix}) {
- error("archi
tecture determination fail
ed:\n".
+ error("archi
pelago determination failed, wrongly merg
ed:\n".
" archipelago $arch\n".
" archipelago $wiccix2arch{$ccix}\n".
$desc);
" archipelago $arch\n".
" archipelago $wiccix2arch{$ccix}\n".
$desc);
@@
-198,8
+198,3
@@
parse_yppedia_map();
parse_database_map();
process_yppedia_graphs();
compare_island_lists();
parse_database_map();
process_yppedia_graphs();
compare_island_lists();
-
-printf "%d %d %d %d\n", $wiarchs->has_edge('32,17','33,18'),
- $wiarchs->connected_component_by_vertex('32,17'),
- $wiarchs->connected_component_by_vertex('33,18'),
- $wiarchs->same_connected_components('32,17','33,18');