Skip to content

Commit 14e04d3

Browse files
James Michael DuPontJames Michael DuPont
James Michael DuPont
authored and
James Michael DuPont
committed
add components
1 parent 50a87eb commit 14e04d3

File tree

3 files changed

+59
-2
lines changed

3 files changed

+59
-2
lines changed

Makefile

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
#
2-
all : strgcomp
2+
all : strgcomp componentsreadbin
33
echo done
44
#bgl
55
#-save-temps
66
bgl :
77
mpiCC -o bgl bgl.cpp -lboost_system -lboost_mpi
88

99
strgcomp : strongcomponents.cpp
10-
mpiCC -g -o strgcomp strongcomponents.cpp -lboost_system -lboost_graph
10+
mpiCC -g -o strgcomp strongcomponents.cpp -lboost_system -lboost_graph
11+
12+
componentsreadbin : componentsreadbin.c
13+
gcc -o componentsreadbin componentsreadbin.c
14+
# use this to create a pack file perl process_components.pl

componentsreadbin.c

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#include <stdio.h>
2+
int main ()
3+
{
4+
FILE * pFile;
5+
pFile = fopen ( "components.bin" , "r" );
6+
if (!pFile) {
7+
printf("file could not be opened\n");
8+
return 2;
9+
}
10+
int nodecount;
11+
int i=0;
12+
int br=fread ((void*)&nodecount , sizeof(int), 1 , pFile ); // count of ways
13+
printf("Reading bytes %d nodes %d",br,nodecount);
14+
int nodecomponents[nodecount];
15+
br= fread ((void*)&nodecomponents , sizeof(int), nodecount , pFile ); // index
16+
fclose (pFile);
17+
18+
19+
if (br != nodecount)
20+
{
21+
printf("Reading way wanted %d got %d\n",nodecount,br);
22+
return 1;
23+
}
24+
25+
for (i =0; i < nodecount; i++) {
26+
printf("%d -> %d\n",i, (int)nodecomponents[i]);
27+
}
28+
29+
30+
}
31+

process_components.pl

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#my %components;
2+
my @components;
3+
4+
open IN,"components.txt";
5+
while(<IN>)
6+
{
7+
if (/(\d+)\t(\d+)/)
8+
{
9+
# my $nodeindex=$1;
10+
my $component=$2;
11+
push @components,$2;
12+
# $components{$nodeindex}=$component;
13+
}
14+
}
15+
close IN;
16+
17+
open(my $out, '>:raw', 'components.bin') or die "Unable to open: $!";
18+
my $count=scalar(@components);
19+
warn "Count is $count";
20+
print $out pack ("L",$count);
21+
print $out pack ("L*",@components);
22+
close $out;

0 commit comments

Comments
 (0)