in reply to Re^2: Question about speeding a regexp count
in thread Question about speeding a regexp count
Well spotted, sauoq! There are indeed bugs:
sub skeeve2 { my %count; for my $i (0..length($seq)-GROUP_LENGTH) { $count{substr($seq, $i, GROUP_LENGTH)}++; } my @keys = keys %count; foreach my $key (@keys) { for my $i (1..GROUP_LENGTH-1) { $count{substr($key, 0, $i)} += $count{$key}; } } for my $i (1..GROUP_LENGTH-1) { for my $j ($i..GROUP_LENGTH-1) { ++$count{substr($seq, -$j, $i)}; } } 1; } sub skeeve3 { my %count; $count{"$1$2"}++ while $seq =~ /(.)(?=(..))/g; my @keys = keys %count; foreach my $key (@keys) { for my $i (1..GROUP_LENGTH-1) { $count{substr($key, 0, $i)} += $count{$key}; } } for my $i (1..GROUP_LENGTH-1) { for my $j ($i..GROUP_LENGTH-1) { ++$count{substr($seq, -$j, $i)}; } } 1; } sub skeeve3_i { my %count; $count{$1}++ while $seq =~ /(?=(.{3}))/g; my @keys = keys %count; foreach my $key (@keys) { for my $i (1..GROUP_LENGTH-1) { $count{substr($key, 0, $i)} += $count{$key}; } } for my $i (1..GROUP_LENGTH-1) { for my $j ($i..GROUP_LENGTH-1) { ++$count{substr($seq, -$j, $i)}; } } 1; }
I'll fix my algorithm outlined in my other post.
Regarding your other issues:
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Question about speeding a regexp count
by sauoq (Abbot) on Oct 14, 2005 at 16:45 UTC |