]> git.donarmstrong.com Git - term-progressbar.git/blob - examples/powers5
Merge pull request #4 from neilbowers/master
[term-progressbar.git] / examples / powers5
1 #!/usr/bin/perl
2 use strict;
3 use warnings;
4
5 use Term::ProgressBar 2.00;
6
7 use constant MAX => 10_000_000;
8
9 my $max = int($ARGV[0]+0) || MAX;
10 my $progress = Term::ProgressBar->new({
11         name => 'Powers',
12         count => $max,
13         ETA => 'linear',
14 });
15 $progress->max_update_rate(1);
16 my $next_update = 0;
17
18 for (0..$max) {
19   my $is_power = 0;
20   for(my $i = 0; 2**$i <= $_; $i++) {
21     if ( 2**$i == $_ ) {
22       $is_power = 1;
23       $progress->message(sprintf "Found %8d to be 2 ** %2d", $_, $i);
24     }
25   }
26
27   $next_update = $progress->update($_)
28     if $_ > $next_update;
29 }
30 $progress->update($max)
31     if $max >= $next_update;