Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
[linux-2.6] / drivers / md / unroll.pl
1 #!/usr/bin/perl
2 #
3 # Take a piece of C code and for each line which contains the sequence $$
4 # repeat n times with $ replaced by 0...n-1; the sequence $# is replaced
5 # by the unrolling factor, and $* with a single $
6 #
7
8 ($n) = @ARGV;
9 $n += 0;
10
11 while ( defined($line = <STDIN>) ) {
12     if ( $line =~ /\$\$/ ) {
13         $rep = $n;
14     } else {
15         $rep = 1;
16     }
17     for ( $i = 0 ; $i < $rep ; $i++ ) {
18         $tmp = $line;
19         $tmp =~ s/\$\$/$i/g;
20         $tmp =~ s/\$\#/$n/g;
21         $tmp =~ s/\$\*/\$/g;
22         print $tmp;
23     }
24 }