spectrum_cmbrot
diff test.c @ 1:c2815c765fea
done
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Mon, 17 Feb 2014 11:00:23 +0200 |
parents | e56d8b0eee4b |
children |
line diff
1.1 --- a/test.c Mon Feb 17 10:17:17 2014 +0200 1.2 +++ b/test.c Mon Feb 17 11:00:23 2014 +0200 1.3 @@ -13,9 +13,9 @@ 1.4 1.5 for(i=0; i<192; i++) { 1.6 unsigned int banky = i & 0x3f; 1.7 - unsigned int cell = banky / 8; 1.8 - unsigned int cline = banky % 8; 1.9 - unsigned int memline = cell + cline * 8; 1.10 + unsigned int cell = banky >> 3; 1.11 + unsigned int cline = banky & 0x7; 1.12 + unsigned int memline = cell + (cline << 3); 1.13 unsigned char *ptr = FB_ADDR + (start + memline) * LINESKIP; 1.14 1.15 for(j=0; j<32; j++) { /* 256 pixels, 8 pixels per byte */ 1.16 @@ -44,6 +44,8 @@ 1.17 { 1.18 unsigned char i; 1.19 int cx, cy, zx, zy, x, y, len; 1.20 + int xop1, xop2, yop1, yop2; 1.21 + int zxop1, zxop2, zyop1, zyop2; 1.22 1.23 cx = int2fix8_8(px - 192) >> 6; 1.24 cy = int2fix8_8(py - 96) >> 6; 1.25 @@ -55,11 +57,25 @@ 1.26 zy = cy; 1.27 1.28 for(i=0; i<32; i++) { 1.29 - x = fix_mul5_11(zx, zx) - fix_mul5_11(zy, zy) + cx; 1.30 - y = fix_mul5_11(zy, zx) + fix_mul5_11(zx, zy) + cy; 1.31 - len = fix_mul5_11(x, x) + fix_mul5_11(y, y); 1.32 + /*x = fix_mul5_11(zx, zx) - fix_mul5_11(zy, zy) + cx; 1.33 + y = fix_mul5_11(zy, zx) + fix_mul5_11(zx, zy) + cy;*/ 1.34 + zxop1 = zx >> 5; 1.35 + zxop2 = zxop1 >> 1; 1.36 + zyop1 = zy >> 5; 1.37 + zyop2 = zyop1 >> 1; 1.38 1.39 - if(len > int2fix5_11(4)) return 0; 1.40 + x = zxop1 * zxop2 - zyop1 * zyop2 + cx; 1.41 + y = zyop1 * zxop2 + zxop1 * zyop2 + cy; 1.42 + 1.43 + /*len = fix_mul5_11(x, x) + fix_mul5_11(y, y);*/ 1.44 + xop1 = x >> 5; 1.45 + xop2 = xop1 >> 1; 1.46 + yop1 = y >> 5; 1.47 + yop2 = yop1 >> 1; 1.48 + len = xop1 * xop2 + yop1 * yop2; 1.49 + 1.50 + /*if(len > int2fix5_11(4)) return 0;*/ 1.51 + if(len > 8192) return 0; 1.52 1.53 zx = x; 1.54 zy = y;