/************************************************/ /* mandelbrot test */ /* v.0311/23/87rhn */ /* includes argc stuff */ /************************************************/ #include /* */ #define LOOPS 1 #define DEPTH 100 /* depth of divergence search */ #define BITS_SQUARE 100 /* default resolution */ /* #define TIME /* */ /* #define MEASURE /* */ /* #define STDIO /* */ long int ops; long int dots; main(argc,argv) int argc; char **argv; { int loop_i, loop_limit; int i,j,k,res; long int t1; double x,y,a,b,a1,b1,s,g; if (argc > 1) sscanf(argv[1],"%d",&loop_limit); else loop_limit = LOOPS; ops = 0; dots = 0; res = BITS_SQUARE; a1 = -2.50; b1 = -1.75; s = 3.50; /* side */ g = s/res; /* gap */ #ifdef TIME printf("start \n"); /* MAC */ t1 = clock(); #endif for (loop_i = 0; loop_i < loop_limit; loop_i++) { x = 0; y = 0; for (b=b1,j=0; j 90) dots++; #ifdef STDIO if (i>90) printf("X"); else printf("."); /* STDIO */ /* i = (100 - i)/10; putchar('0' + i); /* STDIO 2 */ /* if (i > 90) { MoveTo((int)x+50,(int)y+50); Line(0,0); } /* MAC */ #endif return; /* */ } else { #ifdef STDIO printf("\n"); /* STDIO */ #endif return; } } int qset(xx,yy,u,v) double xx,yy,u,v; /* (x,y) (u,v) are complex number pairs */ { register int n,lim=DEPTH; register double t,xsqr,ysqr,x=xx,y=yy; /* copy x & y into registers */ xsqr=x*x; ysqr=y*y; #ifdef MEASURE ops += 2; #endif /* (x,y) = (x,y)^2 + (u,v) , is abs((x,y)) > 2 ? */ for (n=0; (n