blob: 4086797d3b384a24357ff5b126bb592c38d20ef8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#!/usr/bin/perl -w
use Gfsm;
if (!@ARGV) {
print STDERR "Usage: $0 LABFILE [DATA_FILE(s)...]\n";
exit 1;
}
$labfile = shift;
$labs = Gfsm::Alphabet->new();
$labs->load($labfile) or die("$0: load failed for labels file '$labfile': $!");
$sym2id = $labs->asHash;
##-- read data
%labf = qw();
$ftotal = 0;
while (defined($line=<>)) {
chomp($line);
@labs = grep {defined($_)} @$sym2id{split(//,$line)};
$ftotal += scalar(@labs);
foreach (@labs) { ++$labf{$_}; }
}
##-- write data vector
#print map { pack('d', (defined($_) ? $_ : 0)/$ftotal) } @labf;
print map {pack('Sd',$_,$labf{$_}/$ftotal)} sort(keys(%labf));
|