in reply to Iterating over Blocks of 2-Dim Array

Algorithmically, you can think of this as a tensor product of 2 2x2 matrices. In code, you could represent this as

If you wanted to convert in the opposite direction, just use the inverse equations:for my $a (0,1) { for my $b (0,1) { print "Quadrant $a,$b:\n"; for my $i (0,1) { for my $j (0,1) { my $row = 2*$a + $i; my $col = 2*$b + $j; print " element $i,$j => matrix coord $row, $col\n"; } } } }

Update: added inverse operation.for my $row (0..3) { for my $col (0..3) { print "Quadrant ", int($row/2),',',int($col/2); print " Element ", $row % 2,',', $col % 2,"\n"; } }

-Mark

Replies are listed 'Best First'. | |
---|---|

Re: Re: Iterating over Blocks of 2-Dim Array
by Kozz (Friar) on Apr 01, 2004 at 04:11 UTC |

In Section
Seekers of Perl Wisdom

Comment onRe: Iterating over Blocks of 2-Dim ArraySelectorDownloadCode