+ if(n > 0) {
+ if(n <= nmaster) {
+ for(i = 0; i < n; i++)
+ sum += spow(vratio, i);
+ mscale = wah / sum;
+ if(vratio >= 1)
+ mmaxtile = bh > mscale;
+ else
+ mmaxtile = bh > (mscale * spow(vratio, n - 1));
+ }
+ else {
+ for(i = 0; i < nmaster; i++)
+ sum += spow(vratio, i);
+ mscale = wah / sum;
+ for(sum = 0, i = 0; i < (n - nmaster); i++)
+ sum += spow(vratio, i);
+ sscale = wah / sum;
+ if(vratio >= 1) {
+ mmaxtile = bh > mscale;
+ smaxtile = bh > sscale;
+ }
+ else {
+ mmaxtile = bh > (mscale * spow(vratio, nmaster - 1));
+ smaxtile = bh > (sscale * spow(vratio, n - nmaster - 1));
+ }
+ }
+ }
+ /* tiling */