/* For each point, evaluate its colour */ static void display_float(int width, int height, float xmin, float xmax, float ymin, float ymax, int yofs, int ylim) { int size = width * height; int x; int y; float cr, ci; float xscal = (xmax - xmin) / size; float yscal = (ymax - ymin) / size; unsigned counts; #if (OPTIMIZED) cr = xmin; ci = ymin; #endif for (y = yofs; y < ylim; y++) { for (x = 0; x < width; x++) { #if (!OPTIMIZED) cr = xmin + x * xscal; ci = ymin + y * yscal; #endif counts = mandel_float(cr, ci); ((unsigned *) g_x11.bitmap->data)[x + y*width] = cols[counts]; #if (OPTIMIZED) cr += xscal; #endif } /* Display it line-by-line for speed */ XPutImage(g_x11.dpy, g_x11.win, g_x11.gc, g_x11.bitmap, 0, y, 0, y, width, 1); #if (OPTIMIZED) ci += yscal; #endif } XFlush(g_x11.dpy); }
/* For each point, evaluate its colour */ static void display_float(int size, float xmin, float xmax, float ymin, float ymax, int yofs, float ylim) { int x, y; float cr, ci; float xscal = (xmax - xmin) / size; float yscal = (ymax - ymin) / size; unsigned counts; #if (OPTIMIZED) cr = xmin; ci = ymin; #endif for (y = yofs; y < ylim; y++) { for (x = 0; x < size; x++) { #if (!OPTIMIZED) cr = xmin + x * xscal; ci = ymin + y * yscal; #endif counts = mandel_float(cr, ci); ((unsigned *) bitmap->data)[x + y*size] = cols[counts]; #if (OPTIMIZED) cr += xscal; #endif } /* Display it line-by-line for speed */ XPutImage(dpy, win, gc, bitmap, 0, y, 0, y, size, 1); #if (OPTIMIZED) ci += yscal; #endif } XFlush(dpy); }