File: common\fractalp.c
1 /*
2 This module consists only of the fractalspecific structure
3 and a *slew* of defines needed to get it to compile
4 */
5
6 /* includes needed for fractalspecific */
7
8 /* see Fractint.c for a description of the "include" hierarchy */
9 #include "port.h"
10 #include "prototyp.h"
11 #include "helpdefs.h"
12 #include "fractype.h"
13
14 /* functions defined elswhere needed for fractalspecific */
15 /* moved to prototyp.h */
16
17 /* parameter descriptions */
18 /* Note: parameters preceded by + are integer parameters */
19 /* parameters preceded by # are U32 parameters */
20
21 /* for Mandelbrots */
22 static char far realz0[] = "Real Perturbation of Z(0)";
23 static char far imagz0[] = "Imaginary Perturbation of Z(0)";
24
25 /* for Julias */
26 static char far realparm[] = "Real Part of Parameter";
27 static char far imagparm[] = "Imaginary Part of Parameter";
28
29 /* for Newtons */
30 static char far newtdegree[] = "+Polynomial Degree (>= 2)";
31
32 /* for MarksMandel/Julia */
33 static char far exponent[] = "Real part of Exponent";
34 static char far imexponent[] = "Imag part of Exponent";
35
36 /* for Complex Newton */
37 static char far realroot[] = "Real part of Root";
38 static char far imagroot[] = "Imag part of Root";
39 static char far realdegree[] = "Real part of Degree";
40 static char far imagdegree[] = "Imag part of Degree";
41
42 /* for Lorenz */
43 static char far timestep[] = "Time Step";
44
45 /* for formula */
46 static char far p1real[] = "Real portion of p1";
47 static char far p2real[] = "Real portion of p2";
48 static char far p3real[] = "Real portion of p3";
49 static char far p4real[] = "Real portion of p4";
50 static char far p5real[] = "Real portion of p5";
51 static char far p1imag[] = "Imaginary portion of p1";
52 static char far p2imag[] = "Imaginary portion of p2";
53 static char far p3imag[] = "Imaginary portion of p3";
54 static char far p4imag[] = "Imaginary portion of p4";
55 static char far p5imag[] = "Imaginary portion of p5";
56
57 /* trig functions */
58 static char far recoeftrg1[] = "Real Coefficient First Function";
59 static char far imcoeftrg1[] = "Imag Coefficient First Function";
60 static char far recoeftrg2[] = "Real Coefficient Second Function";
61 static char far imcoeftrg2[] = "Imag Coefficient Second Function";
62
63 /* MCP 7-7-91
64 static char far recoefsqr[] = "Real Coefficient Square Term";
65 static char far imcoefsqr[] = "Imag Coefficient Square Term";
66 */
67
68 static char far recoef2nd[] = "Real Coefficient Second Term";
69 static char far imcoef2nd[] = "Imag Coefficient Second Term";
70
71 /* KAM Torus */
72 static char far kamangle[] = "Angle (radians)";
73 static char far kamstep[] = "Step size";
74 static char far kamstop[] = "Stop value";
75 static char far pointsperorbit[] = "+Points per orbit";
76
77 /* Newtbasin */
78 static char far stripes[] = "Enter non-zero value for stripes";
79
80 /* Gingerbreadman */
81 static char far initx[] = "Initial x";
82 static char far inity[] = "Initial y";
83
84 /* popcorn and julia popcorn generalized */
85 static char far step_x[] = "Step size (real)";
86 static char far step_y[] = "Step size (imaginary)";
87 static char far constant_x[] = "Constant C (real)";
88 static char far constant_y[] = "Constant C (imaginary)";
89
90 /* bifurcations */
91 static char far filt[] = "+Filter Cycles";
92 static char far seed[] = "Seed Population";
93
94 /* frothy basins */
95 static char far frothmapping[] = "+Apply mapping once (1) or twice (2)";
96 static char far frothshade[] = "+Enter non-zero value for alternate color shading";
97 static char far frothavalue[] = "A (imaginary part of C)";
98
99 /* symmetrical icon fractals */
100 static char far s_lambda[] = "Lambda";
101 static char far s_alpha[] = "Alpha";
102 static char far s_beta[] = "Beta";
103 static char far s_gamma[] = "Gamma";
104 static char far s_omega[] = "Omega";
105 static char far symdegree[] = "+Degree of symmetry";
106
107 static char far shiftval[] = "Function Shift Value";
108
109 /* plasma and ant */
110
111 static char far s_randomseed[] = "+Random Seed Value (0 = Random, 1 = Reuse Last)";
112
113 /* ifs */
114 static char far color_method[] = "+Coloring method (0,1)";
115
116 /* orbit fractals */
117 static char A[] = "a";
118 static char B[] = "b";
119 static char D[] = "d";
120 static char H[] = "h";
121 static char P[] = "p";
122
123 /* 4D fractals */
124 static char C[] = "c";
125 static char C1[] = "c1";
126 static char CI[] = "ci";
127 static char CJ[] = "cj";
128 static char CK[] = "ck";
129 static char ZJ[] = "zj";
130 static char ZK[] = "zk";
131 static char far notused[] = "notused";
132 /* phoenix fractals */
133 static char far degreeZ[] = "Degree = 0 | >= 2 | <= -3";
134
135 /* empty string */
136 static char far ES[] = "";
137
138 /* julia inverse */
139 static char far s_maxhits[] = "Max Hits per Pixel";
140 #ifdef RANDOM_RUN
141 static char far randomruninterval[] = "Random Run Interval"; 142 #endif
143 /* halley */
144 static char far order[] = {"+Order (integer > 1)"};
145 static char far real_relax[] = {"Real Relaxation coefficient"};
146 static char far epsilon[] = {"Epsilon"};
147 static char far imag_relax[] = {"Imag Relaxation coefficient"};
148 /* cellular */
149 static char far cell_init[] = {"#Initial String | 0 = Random | -1 = Reuse Last Random"};
150 static char far cell_rule[] = {"#Rule = # of digits (see below) | 0 = Random"};
151 static char far cell_type[] = {"+Type (see below)"};
152 static char far cell_strt[] = {"#Starting Row Number"};
153
154 /* bailout defines */
155 #define FTRIGBAILOUT 2500
156 #define LTRIGBAILOUT 64
157 #define FROTHBAILOUT 7
158 #define STDBAILOUT 4
159 #define NOBAILOUT 0
160
161 MOREPARAMS moreparams[] =
162 {
163 {ICON ,{ s_omega, symdegree, ES,ES,ES,ES},{0,3,0,0,0,0}},
164 {ICON3D ,{ s_omega, symdegree, ES,ES,ES,ES},{0,3,0,0,0,0}},
165 {HYPERCMPLXJFP ,{ ZJ, ZK, ES,ES,ES,ES},{0,0,0,0,0,0}},
166 {QUATJULFP ,{ ZJ, ZK, ES,ES,ES,ES},{0,0,0,0,0,0}},
167 {PHOENIXCPLX ,{ degreeZ, ES, ES,ES,ES,ES},{0,0,0,0,0,0}},
168 {PHOENIXFPCPLX ,{ degreeZ, ES, ES,ES,ES,ES},{0,0,0,0,0,0}},
169 {MANDPHOENIXCPLX ,{ degreeZ, ES, ES,ES,ES,ES},{0,0,0,0,0,0}},
170 {MANDPHOENIXFPCPLX,{ degreeZ, ES, ES,ES,ES,ES},{0,0,0,0,0,0}},
171 {FORMULA ,{ p3real,p3imag,p4real,p4imag,p5real,p5imag},{0,0,0,0,0,0}},
172 {FFORMULA ,{ p3real,p3imag,p4real,p4imag,p5real,p5imag},{0,0,0,0,0,0}},
173 {ANT ,{ "+Wrap?",s_randomseed,ES,ES,ES,ES},{1,0,0,0,0,0}},
174 {MANDELBROTMIX4 ,{ p3real,p3imag, ES,ES,ES,ES},{0,0,0,0,0,0}},
175 {-1 ,{ NULL,NULL,NULL,NULL,NULL,NULL },{0,0,0,0,0,0}}
176 };
177
178 /*
179 type math orbitcalc fnct per_pixel fnct per_image fnct
180 |-----|----|--------------|--------------|--------------| */
181 struct alternatemathstuff far alternatemath[] =
182 {
183 #define USEBN
184 #ifdef USEBN
185 {JULIAFP, 1,JuliabnFractal,juliabn_per_pixel, MandelbnSetup},
186 {MANDELFP,1,JuliabnFractal,mandelbn_per_pixel, MandelbnSetup},
187 #else
188 {JULIAFP, 2,JuliabfFractal,juliabf_per_pixel, MandelbfSetup},
189 {MANDELFP,2,JuliabfFractal,mandelbf_per_pixel, MandelbfSetup}, 190 #endif
191 /*
192 NOTE: The default precision for bf_math=BIGNUM is not high enough
193 for JuliaZpowerbnFractal. If you want to test BIGNUM (1) instead
194 of the usual BIGFLT (2), then set bfdigits on the command to
195 increase the precision.
196 */
197 {FPJULIAZPOWER,2,JuliaZpowerbfFractal,juliabf_per_pixel, MandelbfSetup },
198 {FPMANDELZPOWER,2,JuliaZpowerbfFractal,mandelbf_per_pixel, MandelbfSetup},
199 {-1, 0,NULL, NULL, NULL }
200 };
201
202 /* These are only needed for types with both integer and float variations */
203 char t_barnsleyj1[]= "*barnsleyj1";
204 char t_barnsleyj2[]= "*barnsleyj2";
205 char t_barnsleyj3[]= "*barnsleyj3";
206 char t_barnsleym1[]= "*barnsleym1";
207 char t_barnsleym2[]= "*barnsleym2";
208 char t_barnsleym3[]= "*barnsleym3";
209 char t_bifplussinpi[]= "*bif+sinpi";
210 char t_bifeqsinpi[]= "*bif=sinpi";
211 char t_biflambda[]= "*biflambda";
212 char t_bifmay[]= "*bifmay";
213 char t_bifstewart[]= "*bifstewart";
214 char t_bifurcation[]= "*bifurcation";
215 char t_fn_z_plusfn_pix_[]= "*fn(z)+fn(pix)";
216 char t_fn_zz_[]= "*fn(z*z)";
217 char t_fnfn[]= "*fn*fn";
218 char t_fnzplusz[]= "*fn*z+z";
219 char t_fnplusfn[]= "*fn+fn";
220 char t_formula[]= "*formula";
221 char t_henon[]= "*henon";
222 char t_ifs3d[]= "*ifs3d";
223 char t_julfnplusexp[]= "*julfn+exp";
224 char t_julfnpluszsqrd[]= "*julfn+zsqrd";
225 char t_julia[]= "*julia";
226 char t_julia_fnorfn_[]= "*julia(fn||fn)";
227 char t_julia4[]= "*julia4";
228 char t_julia_inverse[]= "*julia_inverse";
229 char t_julibrot[]= "*julibrot";
230 char t_julzpower[]= "*julzpower";
231 char t_kamtorus[]= "*kamtorus";
232 char t_kamtorus3d[]= "*kamtorus3d";
233 char t_lambda[]= "*lambda";
234 char t_lambda_fnorfn_[]= "*lambda(fn||fn)";
235 char t_lambdafn[]= "*lambdafn";
236 char t_lorenz[]= "*lorenz";
237 char t_lorenz3d[]= "*lorenz3d";
238 char t_mandel[]= "*mandel";
239 char t_mandel_fnorfn_[]= "*mandel(fn||fn)";
240 char t_mandel4[]= "*mandel4";
241 char t_mandelfn[]= "*mandelfn";
242 char t_mandellambda[]= "*mandellambda";
243 char t_mandphoenix[]= "*mandphoenix";
244 char t_mandphoenixcplx[]= "*mandphoenixclx";
245 char t_manfnplusexp[]= "*manfn+exp";
246 char t_manfnpluszsqrd[]= "*manfn+zsqrd";
247 char t_manlam_fnorfn_[]= "*manlam(fn||fn)";
248 char t_manowar[]= "*manowar";
249 char t_manowarj[]= "*manowarj";
250 char t_manzpower[]= "*manzpower";
251 char t_marksjulia[]= "*marksjulia";
252 char t_marksmandel[]= "*marksmandel";
253 char t_marksmandelpwr[]= "*marksmandelpwr";
254 char t_newtbasin[]= "*newtbasin";
255 char t_newton[]= "*newton";
256 char t_phoenix[]= "*phoenix";
257 char t_phoenixcplx[]= "*phoenixcplx";
258 char t_popcorn[]= "*popcorn";
259 char t_popcornjul[]= "*popcornjul";
260 char t_rossler3d[]= "*rossler3d";
261 char t_sierpinski[]= "*sierpinski";
262 char t_spider[]= "*spider";
263 char t_sqr_1divfn_[]= "*sqr(1/fn)";
264 char t_sqr_fn_[]= "*sqr(fn)";
265 char t_tims_error[]= "*tim's_error";
266 char t_unity[]= "*unity";
267 char t_frothybasin[]= "*frothybasin";
268 char t_halley[]= "*halley";
269
270 /* use next to cast orbitcalcs() that have arguments */
271 #define VF int(*)(void)
272
273 struct fractalspecificstuff far fractalspecific[]=
274 {
275 /*
276 {
277 fractal name,
278 {parameter text strings},
279 {parameter values},
280 helptext, helpformula, flags,
281 xmin, xmax, ymin, ymax,
282 int, tojulia, tomandel, tofloat, symmetry,
283 orbit fnct, per_pixel fnct, per_image fnct, calctype fcnt,
284 bailout
285 }
286 */
287
288 {
289 t_mandel+1,
290 {realz0, imagz0, ES, ES},
291 {0, 0, 0, 0},
292 HT_MANDEL, HF_MANDEL, WINFRAC+BAILTEST,
293 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
294 1, JULIA, NOFRACTAL, MANDELFP, XAXIS_NOPARM,
295 JuliaFractal, mandel_per_pixel,MandelSetup, StandardFractal,
296 STDBAILOUT
297 },
298
299 {
300 t_julia+1,
301 {realparm, imagparm, ES, ES},
302 {0.3, 0.6, 0, 0},
303 HT_JULIA, HF_JULIA, WINFRAC+OKJB+BAILTEST,
304 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
305 1, NOFRACTAL, MANDEL, JULIAFP, ORIGIN,
306 JuliaFractal, julia_per_pixel, JuliaSetup, StandardFractal,
307 STDBAILOUT
308 },
309
310 {
311 t_newtbasin,
312 {newtdegree, stripes, ES, ES},
313 {3, 0, 0, 0},
314 HT_NEWTBAS, HF_NEWTBAS, WINFRAC,
315 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
316 0, NOFRACTAL, NOFRACTAL, MPNEWTBASIN, NOSYM,
317 NewtonFractal2, otherjuliafp_per_pixel, NewtonSetup, StandardFractal,
318 NOBAILOUT
319 },
320
321 {
322 t_lambda+1,
323 {realparm, imagparm, ES, ES},
324 {0.85, 0.6, 0, 0},
325 HT_LAMBDA, HF_LAMBDA, WINFRAC+OKJB+BAILTEST,
326 (float)-1.5, (float)2.5, (float)-1.5, (float)1.5,
327 1, NOFRACTAL, MANDELLAMBDA, LAMBDAFP, NOSYM,
328 LambdaFractal, julia_per_pixel, JulialongSetup, StandardFractal,
329 STDBAILOUT
330 },
331
332 {
333 t_mandel,
334 {realz0, imagz0, ES, ES},
335 {0, 0, 0, 0},
336 HT_MANDEL, HF_MANDEL, WINFRAC+BAILTEST+BF_MATH,
337 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
338 0, JULIAFP, NOFRACTAL, MANDEL, XAXIS_NOPARM,
339 JuliafpFractal, mandelfp_per_pixel, MandelfpSetup, StandardFractal,
340 STDBAILOUT
341 },
342
343 {
344 t_newton,
345 {newtdegree, ES, ES, ES},
346 {3, 0, 0, 0},
347 HT_NEWT, HF_NEWT, WINFRAC,
348 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
349 0, NOFRACTAL, NOFRACTAL, MPNEWTON, XAXIS,
350 NewtonFractal2, otherjuliafp_per_pixel, NewtonSetup, StandardFractal,
351 NOBAILOUT
352 },
353
354 {
355 t_julia,
356 {realparm, imagparm, ES, ES},
357 {0.3, 0.6, 0, 0},
358 HT_JULIA, HF_JULIA, WINFRAC+OKJB+BAILTEST+BF_MATH,
359 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
360 0, NOFRACTAL, MANDELFP, JULIA, ORIGIN,
361 JuliafpFractal, juliafp_per_pixel, JuliafpSetup, StandardFractal,
362 STDBAILOUT
363 },
364
365 {
366 "plasma",
367 {"Graininess Factor (0 or 0.125 to 100, default is 2)",
368 "+Algorithm (0 = original, 1 = new)",
369 "+Random Seed Value (0 = Random, 1 = Reuse Last)",
370 "+Save as Pot File? (0 = No, 1 = Yes)"
371 },
372 {2, 0, 0, 0},
373 HT_PLASMA, HF_PLASMA, NOZOOM+NOGUESS+NOTRACE+NORESUME+WINFRAC,
374 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
375 1, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
376 NULL, NULL, StandaloneSetup, plasma,
377 NOBAILOUT
378 },
379
380 {
381 t_mandelfn,
382 {realz0, imagz0, ES, ES},
383 {0, 0, 0, 0},
384 HT_MANDFN, HF_MANDFN, TRIG1+WINFRAC,
385 (float)-8.0, (float)8.0, (float)-6.0, (float)6.0,
386 0, LAMBDATRIGFP, NOFRACTAL, MANDELTRIG, XYAXIS_NOPARM,
387 LambdaTrigfpFractal,othermandelfp_per_pixel,MandelTrigSetup,
388 StandardFractal,
389 LTRIGBAILOUT
390 },
391
392 {
393 t_manowar,
394 {realz0, imagz0, ES, ES},
395 {0, 0, 0, 0},
396 HT_SCOTSKIN, HF_MANOWAR, WINFRAC+BAILTEST,
397 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
398 0, MANOWARJFP, NOFRACTAL, MANOWAR, XAXIS_NOPARM,
399 ManOWarfpFractal, mandelfp_per_pixel, MandelfpSetup, StandardFractal,
400 STDBAILOUT
401 },
402
403 {
404 t_manowar+1,
405 {realz0, imagz0, ES, ES},
406 {0, 0, 0, 0},
407 HT_SCOTSKIN, HF_MANOWAR, WINFRAC+BAILTEST,
408 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
409 1, MANOWARJ, NOFRACTAL, MANOWARFP, XAXIS_NOPARM,
410 ManOWarFractal, mandel_per_pixel, MandellongSetup, StandardFractal,
411 STDBAILOUT
412 },
413
414 {
415 "test",
416 {"(testpt Param #1)",
417 "(testpt param #2)",
418 "(testpt param #3)",
419 "(testpt param #4)"
420 },
421 {0, 0, 0, 0},
422 HT_TEST, HF_TEST, 0,
423 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
424 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
425 NULL, NULL, StandaloneSetup, test,
426 STDBAILOUT
427 },
428
429 {
430 t_sierpinski+1,
431 {ES, ES, ES, ES},
432 {0, 0, 0, 0},
433 HT_SIER, HF_SIER, WINFRAC,
434 (float)-4/3, (float)96/45, (float)-0.9, (float)1.7,
435 1, NOFRACTAL, NOFRACTAL, SIERPINSKIFP, NOSYM,
436 SierpinskiFractal, long_julia_per_pixel, SierpinskiSetup,
437 StandardFractal,
438 127
439 },
440
441 {
442 t_barnsleym1+1,
443 {realz0, imagz0, ES, ES},
444 {0, 0, 0, 0},
445 HT_BARNS, HF_BARNSM1, WINFRAC+BAILTEST,
446 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
447 1, BARNSLEYJ1,NOFRACTAL, BARNSLEYM1FP, XYAXIS_NOPARM,
448 Barnsley1Fractal, long_mandel_per_pixel, MandellongSetup,
449 StandardFractal,
450 STDBAILOUT
451 },
452
453 {
454 t_barnsleyj1+1,
455 {realparm, imagparm, ES, ES},
456 {0.6, 1.1, 0, 0},
457 HT_BARNS, HF_BARNSJ1, WINFRAC+OKJB+BAILTEST,
458 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
459 1, NOFRACTAL, BARNSLEYM1, BARNSLEYJ1FP, ORIGIN,
460 Barnsley1Fractal, long_julia_per_pixel, JulialongSetup, StandardFractal,
461 STDBAILOUT
462 },
463
464 {
465 t_barnsleym2+1,
466 {realz0, imagz0, ES, ES},
467 {0, 0, 0, 0},
468 HT_BARNS, HF_BARNSM2, WINFRAC+BAILTEST,
469 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
470 1, BARNSLEYJ2, NOFRACTAL, BARNSLEYM2FP, YAXIS_NOPARM,
471 Barnsley2Fractal, long_mandel_per_pixel, MandellongSetup,
472 StandardFractal,
473 STDBAILOUT
474 },
475
476 {
477 t_barnsleyj2+1,
478 {realparm, imagparm, ES, ES},
479 {0.6, 1.1, 0, 0},
480 HT_BARNS, HF_BARNSJ2, WINFRAC+OKJB+BAILTEST,
481 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
482 1, NOFRACTAL, BARNSLEYM2, BARNSLEYJ2FP, ORIGIN,
483 Barnsley2Fractal, long_julia_per_pixel, JulialongSetup, StandardFractal,
484 STDBAILOUT
485 },
486
487 {
488 t_sqr_fn_+1,
489 {ES, ES, ES, ES},
490 {0, 0, 0, 0},
491 HT_SCOTSKIN, HF_SQRFN, TRIG1+WINFRAC+BAILTEST,
492 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
493 16, NOFRACTAL, NOFRACTAL, SQRTRIGFP, XAXIS,
494 SqrTrigFractal, long_julia_per_pixel, SqrTrigSetup, StandardFractal,
495 LTRIGBAILOUT
496 },
497
498 {
499 t_sqr_fn_,
500 {ES, ES, ES, ES},
501 {0, 0, 0, 0},
502 HT_SCOTSKIN, HF_SQRFN, TRIG1+WINFRAC+BAILTEST,
503 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
504 0, NOFRACTAL, NOFRACTAL, SQRTRIG, XAXIS,
505 SqrTrigfpFractal, otherjuliafp_per_pixel, SqrTrigSetup, StandardFractal,
506 LTRIGBAILOUT
507 },
508
509 {
510 t_fnplusfn+1,
511 {recoeftrg1, imcoeftrg1, recoeftrg2, imcoeftrg2},
512 {1, 0, 1, 0},
513 HT_SCOTSKIN, HF_FNPLUSFN, TRIG2+WINFRAC+BAILTEST,
514 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
515 16, NOFRACTAL, NOFRACTAL, TRIGPLUSTRIGFP, XAXIS,
516 TrigPlusTrigFractal, long_julia_per_pixel, TrigPlusTriglongSetup,
517 StandardFractal,
518 LTRIGBAILOUT
519 },
520
521 {
522 t_mandellambda+1,
523 {realz0, imagz0, ES, ES},
524 {0, 0, 0, 0},
525 HT_MLAMBDA, HF_MLAMBDA, WINFRAC+BAILTEST,
526 (float)-3.0, (float)5.0, (float)-3.0, (float)3.0,
527 1, LAMBDA, NOFRACTAL, MANDELLAMBDAFP, XAXIS_NOPARM,
528 LambdaFractal, mandel_per_pixel,MandellongSetup, StandardFractal,
529 STDBAILOUT
530 },
531
532 {
533 t_marksmandel+1,
534 {realz0, imagz0, exponent, ES},
535 {0, 0, 1, 0},
536 HT_MARKS, HF_MARKSMAND, WINFRAC+BAILTEST,
537 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
538 1, MARKSJULIA, NOFRACTAL, MARKSMANDELFP, NOSYM,
539 MarksLambdaFractal, marksmandel_per_pixel, MandellongSetup,
540 StandardFractal,
541 STDBAILOUT
542 },
543
544 {
545 t_marksjulia+1,
546 {realparm, imagparm, exponent, ES},
547 {0.1, 0.9, 1, 0},
548 HT_MARKS, HF_MARKSJULIA, WINFRAC+BAILTEST,
549 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
550 1, NOFRACTAL, MARKSMANDEL, MARKSJULIAFP, ORIGIN,
551 MarksLambdaFractal, julia_per_pixel, MarksJuliaSetup, StandardFractal,
552 STDBAILOUT
553 },
554
555 {
556 t_unity+1,
557 {ES, ES, ES, ES},
558 {0, 0, 0, 0},
559 HT_UNITY, HF_UNITY, WINFRAC,
560 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
561 1, NOFRACTAL, NOFRACTAL, UNITYFP, XYAXIS,
562 UnityFractal, long_julia_per_pixel, UnitySetup, StandardFractal,
563 NOBAILOUT
564 },
565
566 {
567 t_mandel4+1,
568 {realz0, imagz0, ES, ES},
569 {0, 0, 0, 0},
570 HT_MANDJUL4, HF_MANDEL4, WINFRAC+BAILTEST,
571 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
572 1, JULIA4, NOFRACTAL, MANDEL4FP, XAXIS_NOPARM,
573 Mandel4Fractal, mandel_per_pixel, MandellongSetup, StandardFractal,
574 STDBAILOUT
575 },
576
577 {
578 t_julia4+1,
579 {realparm, imagparm, ES, ES},
580 {0.6, 0.55, 0, 0},
581 HT_MANDJUL4, HF_JULIA4, WINFRAC+OKJB+BAILTEST,
582 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
583 1, NOFRACTAL, MANDEL4, JULIA4FP, ORIGIN,
584 Mandel4Fractal, julia_per_pixel, JulialongSetup, StandardFractal,
585 STDBAILOUT
586 },
587
588 {
589 "ifs",
590 {color_method, ES, ES, ES},
591 {0, 0, 0, 0},
592 HT_IFS, -4, NOGUESS+NOTRACE+NORESUME+WINFRAC+INFCALC,
593 (float)-8.0, (float)8.0, (float)-1.0, (float)11.0,
594 16, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
595 NULL, NULL, StandaloneSetup, ifs,
596 NOBAILOUT
597 },
598
599 {
600 t_ifs3d,
601 {color_method, ES, ES, ES},
602 {0, 0, 0, 0},
603 HT_IFS, -4, NOGUESS+NOTRACE+NORESUME+WINFRAC+PARMS3D+INFCALC,
604 (float)-11.0, (float)11.0, (float)-11.0, (float)11.0,
605 16, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
606 NULL, NULL, StandaloneSetup, ifs,
607 NOBAILOUT
608 },
609
610 {
611 t_barnsleym3+1,
612 {realz0, imagz0, ES, ES},
613 {0, 0, 0, 0},
614 HT_BARNS, HF_BARNSM3, WINFRAC+BAILTEST,
615 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
616 1, BARNSLEYJ3,NOFRACTAL, BARNSLEYM3FP, XAXIS_NOPARM,
617 Barnsley3Fractal, long_mandel_per_pixel, MandellongSetup,
618 StandardFractal,
619 STDBAILOUT
620 },
621
622 {
623 t_barnsleyj3+1,
624 {realparm, imagparm, ES, ES},
625 {0.1, 0.36, 0, 0},
626 HT_BARNS, HF_BARNSJ3, WINFRAC+OKJB+BAILTEST,
627 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
628 1, NOFRACTAL, BARNSLEYM3, BARNSLEYJ3FP, NOSYM,
629 Barnsley3Fractal, long_julia_per_pixel, JulialongSetup, StandardFractal,
630 STDBAILOUT
631 },
632
633 {
634 t_fn_zz_+1,
635 {ES, ES, ES, ES},
636 {0, 0, 0, 0},
637 HT_SCOTSKIN, HF_FNZTIMESZ, TRIG1+WINFRAC+BAILTEST,
638 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
639 16, NOFRACTAL, NOFRACTAL, TRIGSQRFP, XYAXIS,
640 TrigZsqrdFractal, julia_per_pixel, JulialongSetup, StandardFractal,
641 STDBAILOUT
642 },
643
644 {
645 t_fn_zz_,
646 {ES, ES, ES, ES},
647 {0, 0, 0, 0},
648 HT_SCOTSKIN, HF_FNZTIMESZ, TRIG1+WINFRAC+BAILTEST,
649 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
650 0, NOFRACTAL, NOFRACTAL, TRIGSQR, XYAXIS,
651 TrigZsqrdfpFractal, juliafp_per_pixel, JuliafpSetup, StandardFractal,
652 STDBAILOUT
653 },
654
655 {
656 t_bifurcation,
657 {filt, seed, ES, ES},
658 {1000.0, 0.66, 0, 0},
659 HT_BIF, HF_BIFURCATION, TRIG1+NOGUESS+NOTRACE+NOROTATE+WINFRAC,
660 (float)1.9, (float)3.0, (float)0.0, (float)1.34,
661 0, NOFRACTAL, NOFRACTAL, LBIFURCATION, NOSYM,
662 BifurcVerhulstTrig, NULL, StandaloneSetup, Bifurcation,
663 NOBAILOUT
664 },
665
666 {
667 t_fnplusfn,
668 {recoeftrg1, imcoeftrg1, recoeftrg2, imcoeftrg2},
669 {1, 0, 1, 0},
670 HT_SCOTSKIN, HF_FNPLUSFN, TRIG2+WINFRAC+BAILTEST,
671 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
672 0, NOFRACTAL, NOFRACTAL, TRIGPLUSTRIG, XAXIS,
673 TrigPlusTrigfpFractal, otherjuliafp_per_pixel, TrigPlusTrigfpSetup,
674 StandardFractal,
675 LTRIGBAILOUT
676 },
677
678 {
679 t_fnfn+1,
680 {ES, ES, ES, ES},
681 {0, 0, 0, 0},
682 HT_SCOTSKIN, HF_FNTIMESFN, TRIG2+WINFRAC+BAILTEST,
683 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
684 16, NOFRACTAL, NOFRACTAL, TRIGXTRIGFP, XAXIS,
685 TrigXTrigFractal, long_julia_per_pixel, FnXFnSetup, StandardFractal,
686 LTRIGBAILOUT
687 },
688
689 {
690 t_fnfn,
691 {ES, ES, ES, ES},
692 {0, 0, 0, 0},
693 HT_SCOTSKIN, HF_FNTIMESFN, TRIG2+WINFRAC+BAILTEST,
694 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
695 0, NOFRACTAL, NOFRACTAL, TRIGXTRIG, XAXIS,
696 TrigXTrigfpFractal, otherjuliafp_per_pixel, FnXFnSetup, StandardFractal,
697 LTRIGBAILOUT
698 },
699
700 {
701 t_sqr_1divfn_+1,
702 {ES, ES, ES, ES},
703 {0, 0, 0, 0},
704 HT_SCOTSKIN, HF_SQROVFN, TRIG1+WINFRAC+BAILTEST,
705 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
706 16, NOFRACTAL, NOFRACTAL, SQR1OVERTRIGFP, NOSYM,
707 Sqr1overTrigFractal, long_julia_per_pixel, SqrTrigSetup,
708 StandardFractal,
709 LTRIGBAILOUT
710 },
711
712 {
713 t_sqr_1divfn_,
714 {ES, ES, ES, ES},
715 {0, 0, 0, 0},
716 HT_SCOTSKIN, HF_SQROVFN, TRIG1+WINFRAC+BAILTEST,
717 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
718 0, NOFRACTAL, NOFRACTAL, SQR1OVERTRIG, NOSYM,
719 Sqr1overTrigfpFractal, otherjuliafp_per_pixel, SqrTrigSetup,
720 StandardFractal,
721 LTRIGBAILOUT
722 },
723
724 {
725 t_fnzplusz+1,
726 {recoeftrg1, imcoeftrg1, recoef2nd, imcoef2nd},
727 {1, 0, 1, 0},
728 HT_SCOTSKIN, HF_FNXZPLUSZ, TRIG1+WINFRAC+BAILTEST,
729 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
730 1, NOFRACTAL, NOFRACTAL, ZXTRIGPLUSZFP, XAXIS,
731 ZXTrigPlusZFractal, julia_per_pixel, ZXTrigPlusZSetup, StandardFractal,
732 LTRIGBAILOUT
733 },
734
735 {
736 t_fnzplusz,
737 {recoeftrg1, imcoeftrg1, recoef2nd, imcoef2nd},
738 {1, 0, 1, 0},
739 HT_SCOTSKIN, HF_FNXZPLUSZ, TRIG1+WINFRAC+BAILTEST,
740 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
741 0, NOFRACTAL, NOFRACTAL, ZXTRIGPLUSZ, XAXIS,
742 ZXTrigPlusZfpFractal, juliafp_per_pixel, ZXTrigPlusZSetup,
743 StandardFractal,
744 LTRIGBAILOUT
745 },
746
747 {
748 t_kamtorus,
749 {kamangle, kamstep, kamstop, pointsperorbit},
750 {1.3, .05, 1.5, 150},
751 HT_KAM, HF_KAM, NOGUESS+NOTRACE+WINFRAC,
752 (float)-1.0, (float)1.0, (float)-.75, (float).75,
753 0, NOFRACTAL, NOFRACTAL, KAM, NOSYM,
754 (VF)kamtorusfloatorbit, NULL, orbit3dfloatsetup, orbit2dfloat,
755 NOBAILOUT
756 },
757
758 {
759 t_kamtorus+1,
760 {kamangle, kamstep, kamstop, pointsperorbit},
761 {1.3, .05, 1.5, 150},
762 HT_KAM, HF_KAM, NOGUESS+NOTRACE+WINFRAC,
763 (float)-1.0, (float)1.0, (float)-.75, (float).75,
764 16, NOFRACTAL, NOFRACTAL, KAMFP, NOSYM,
765 (VF)kamtoruslongorbit, NULL, orbit3dlongsetup, orbit2dlong,
766 NOBAILOUT
767 },
768
769 {
770 t_kamtorus3d,
771 {kamangle, kamstep, kamstop, pointsperorbit},
772 {1.3, .05, 1.5, 150},
773 HT_KAM, HF_KAM, NOGUESS+NOTRACE+NORESUME+WINFRAC+PARMS3D,
774 (float)-3.0, (float)3.0, (float)-1.0, (float)3.5,
775 0, NOFRACTAL, NOFRACTAL, KAM3D, NOSYM,
776 (VF)kamtorusfloatorbit, NULL, orbit3dfloatsetup, orbit3dfloat,
777 NOBAILOUT
778 },
779
780 {
781 t_kamtorus3d+1,
782 {kamangle, kamstep, kamstop, pointsperorbit},
783 {1.3, .05, 1.5, 150},
784 HT_KAM, HF_KAM, NOGUESS+NOTRACE+NORESUME+WINFRAC+PARMS3D,
785 (float)-3.0, (float)3.0, (float)-1.0, (float)3.5,
786 16, NOFRACTAL, NOFRACTAL, KAM3DFP, NOSYM,
787 (VF)kamtoruslongorbit, NULL, orbit3dlongsetup, orbit3dlong,
788 NOBAILOUT
789 },
790
791 {
792 t_lambdafn+1,
793 {realparm, imagparm, ES, ES},
794 {1.0, 0.4, 0, 0},
795 HT_LAMBDAFN, HF_LAMBDAFN, TRIG1+WINFRAC+OKJB,
796 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
797 16, NOFRACTAL, MANDELTRIG, LAMBDATRIGFP, PI_SYM,
798 (VF)LambdaTrigFractal, long_julia_per_pixel, LambdaTrigSetup,
799 StandardFractal,
800 LTRIGBAILOUT
801 },
802
803 {
804 t_manfnpluszsqrd+1,
805 {realz0, imagz0, ES, ES},
806 {0, 0, 0, 0},
807 HT_PICKMJ, HF_MANDFNPLUSZSQRD, TRIG1+WINFRAC+BAILTEST,
808 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
809 16, LJULTRIGPLUSZSQRD, NOFRACTAL, FPMANTRIGPLUSZSQRD, XAXIS_NOPARM,
810 TrigPlusZsquaredFractal, mandel_per_pixel, MandellongSetup,
811 StandardFractal,
812 STDBAILOUT
813 },
814
815 {
816 t_julfnpluszsqrd+1,
817 {realparm, imagparm, ES, ES},
818 {-0.5, 0.5, 0, 0},
819 HT_PICKMJ, HF_JULFNPLUSZSQRD, TRIG1+WINFRAC+OKJB+BAILTEST,
820 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
821 16, NOFRACTAL, LMANTRIGPLUSZSQRD, FPJULTRIGPLUSZSQRD, NOSYM,
822 TrigPlusZsquaredFractal, julia_per_pixel, JuliafnPlusZsqrdSetup,
823 StandardFractal,
824 STDBAILOUT
825 },
826
827 {
828 t_manfnpluszsqrd,
829 {realz0, imagz0, ES, ES},
830 {0, 0, 0, 0},
831 HT_PICKMJ, HF_MANDFNPLUSZSQRD, TRIG1+WINFRAC+BAILTEST,
832 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
833 0, FPJULTRIGPLUSZSQRD, NOFRACTAL, LMANTRIGPLUSZSQRD, XAXIS_NOPARM,
834 TrigPlusZsquaredfpFractal, mandelfp_per_pixel, MandelfpSetup,
835 StandardFractal,
836 STDBAILOUT
837 },
838
839 {
840 t_julfnpluszsqrd,
841 {realparm, imagparm, ES, ES},
842 {-0.5, 0.5, 0, 0},
843 HT_PICKMJ, HF_JULFNPLUSZSQRD, TRIG1+WINFRAC+OKJB+BAILTEST,
844 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
845 0, NOFRACTAL, FPMANTRIGPLUSZSQRD, LJULTRIGPLUSZSQRD, NOSYM,
846 TrigPlusZsquaredfpFractal, juliafp_per_pixel, JuliafnPlusZsqrdSetup,
847 StandardFractal,
848 STDBAILOUT
849 },
850
851 {
852 t_lambdafn,
853 {realparm, imagparm, ES, ES},
854 {1.0, 0.4, 0, 0},
855 HT_LAMBDAFN, HF_LAMBDAFN, TRIG1+WINFRAC+OKJB,
856 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
857 0, NOFRACTAL, MANDELTRIGFP, LAMBDATRIG, PI_SYM,
858 LambdaTrigfpFractal, otherjuliafp_per_pixel, LambdaTrigSetup,
859 StandardFractal,
860 LTRIGBAILOUT
861 },
862
863 {
864 t_mandelfn+1,
865 {realz0, imagz0, ES, ES},
866 {0, 0, 0, 0},
867 HT_MANDFN, HF_MANDFN, TRIG1+WINFRAC,
868 (float)-8.0, (float)8.0, (float)-6.0, (float)6.0,
869 16, LAMBDATRIG, NOFRACTAL, MANDELTRIGFP, XYAXIS_NOPARM,
870 LambdaTrigFractal, long_mandel_per_pixel, MandelTrigSetup,
871 StandardFractal,
872 LTRIGBAILOUT
873 },
874
875 {
876 t_manzpower+1,
877 {realz0, imagz0, exponent, imexponent},
878 {0, 0, 2, 0},
879 HT_PICKMJ, HF_MANZPOWER, WINFRAC+BAILTEST,
880 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
881 1, LJULIAZPOWER, NOFRACTAL, FPMANDELZPOWER, XAXIS_NOIMAG,
882 longZpowerFractal, long_mandel_per_pixel, MandellongSetup,
883 StandardFractal,
884 STDBAILOUT
885 },
886
887 {
888 t_julzpower+1,
889 {realparm, imagparm, exponent, imexponent},
890 {0.3, 0.6, 2, 0},
891 HT_PICKMJ, HF_JULZPOWER, WINFRAC+OKJB+BAILTEST,
892 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
893 1, NOFRACTAL, LMANDELZPOWER, FPJULIAZPOWER, ORIGIN,
894 longZpowerFractal, long_julia_per_pixel, JulialongSetup,
895 StandardFractal,
896 STDBAILOUT
897 },
898
899 {
900 t_manzpower,
901 {realz0, imagz0, exponent, imexponent},
902 {0, 0, 2, 0},
903 HT_PICKMJ, HF_MANZPOWER, WINFRAC+BAILTEST+BF_MATH,
904 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
905 0, FPJULIAZPOWER, NOFRACTAL, LMANDELZPOWER, XAXIS_NOIMAG,
906 floatZpowerFractal, othermandelfp_per_pixel, MandelfpSetup,
907 StandardFractal,
908 STDBAILOUT
909 },
910
911 {
912 t_julzpower,
913 {realparm, imagparm, exponent, imexponent},
914 {0.3, 0.6, 2, 0},
915 HT_PICKMJ, HF_JULZPOWER, WINFRAC+OKJB+BAILTEST+BF_MATH,
916 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
917 0, NOFRACTAL, FPMANDELZPOWER, LJULIAZPOWER, ORIGIN,
918 floatZpowerFractal, otherjuliafp_per_pixel, JuliafpSetup,
919 StandardFractal,
920 STDBAILOUT
921 },
922
923 {
924 "manzzpwr",
925 {realz0, imagz0, exponent, ES},
926 {0, 0, 2, 0},
927 HT_PICKMJ, HF_MANZZPWR, WINFRAC+BAILTEST,
928 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
929 0, FPJULZTOZPLUSZPWR, NOFRACTAL, NOFRACTAL, XAXIS_NOPARM,
930 floatZtozPluszpwrFractal, othermandelfp_per_pixel, MandelfpSetup,
931 StandardFractal,
932 STDBAILOUT
933 },
934
935 {
936 "julzzpwr",
937 {realparm, imagparm, exponent, ES},
938 {-0.3, 0.3, 2, 0},
939 HT_PICKMJ, HF_JULZZPWR, WINFRAC+OKJB+BAILTEST,
940 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
941 0, NOFRACTAL, FPMANZTOZPLUSZPWR, NOFRACTAL, NOSYM,
942 floatZtozPluszpwrFractal, otherjuliafp_per_pixel, JuliafpSetup,
943 StandardFractal,
944 STDBAILOUT
945 },
946
947 {
948 t_manfnplusexp+1,
949 {realz0, imagz0, ES, ES},
950 {0, 0, 0, 0},
951 HT_PICKMJ, HF_MANDFNPLUSEXP, TRIG1+WINFRAC+BAILTEST,
952 (float)-8.0, (float)8.0, (float)-6.0, (float)6.0,
953 16, LJULTRIGPLUSEXP, NOFRACTAL, FPMANTRIGPLUSEXP, XAXIS_NOPARM,
954 LongTrigPlusExponentFractal, long_mandel_per_pixel, MandellongSetup,
955 StandardFractal,
956 STDBAILOUT
957 },
958
959 {
960 t_julfnplusexp+1,
961 {realparm, imagparm, ES, ES},
962 {0, 0, 0, 0},
963 HT_PICKMJ, HF_JULFNPLUSEXP, TRIG1+WINFRAC+OKJB+BAILTEST,
964 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
965 16, NOFRACTAL, LMANTRIGPLUSEXP,FPJULTRIGPLUSEXP, NOSYM,
966 LongTrigPlusExponentFractal, long_julia_per_pixel, JulialongSetup,
967 StandardFractal,
968 STDBAILOUT
969 },
970
971 {
972 t_manfnplusexp,
973 {realz0, imagz0, ES, ES},
974 {0, 0, 0, 0},
975 HT_PICKMJ, HF_MANDFNPLUSEXP, TRIG1+WINFRAC+BAILTEST,
976 (float)-8.0, (float)8.0, (float)-6.0, (float)6.0,
977 0, FPJULTRIGPLUSEXP, NOFRACTAL, LMANTRIGPLUSEXP, XAXIS_NOPARM,
978 FloatTrigPlusExponentFractal, othermandelfp_per_pixel, MandelfpSetup,
979 StandardFractal,
980 STDBAILOUT
981 },
982
983 {
984 t_julfnplusexp,
985 {realparm, imagparm, ES, ES},
986 {0, 0, 0, 0},
987 HT_PICKMJ, HF_JULFNPLUSEXP, TRIG1+WINFRAC+OKJB+BAILTEST,
988 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
989 0, NOFRACTAL, FPMANTRIGPLUSEXP, LJULTRIGPLUSEXP, NOSYM,
990 FloatTrigPlusExponentFractal, otherjuliafp_per_pixel, JuliafpSetup,
991 StandardFractal,
992 STDBAILOUT
993 },
994
995 {
996 t_popcorn,
997 {step_x, step_y, constant_x, constant_y},
998 {0.05, 0, 3.00, 0},
999 HT_POPCORN, HF_POPCORN, NOGUESS+NOTRACE+WINFRAC+TRIG4,
1000 (float)-3.0, (float)3.0, (float)-2.25, (float)2.25,
1001 0, NOFRACTAL, NOFRACTAL, LPOPCORN, NOPLOT,
1002 PopcornFractalFn, otherjuliafp_per_pixel, JuliafpSetup, popcorn,
1003 STDBAILOUT
1004 },
1005
1006 {
1007 t_popcorn+1,
1008 {step_x, step_y, constant_x, constant_y},
1009 {0.05, 0, 3.00, 0},
1010 HT_POPCORN, HF_POPCORN, NOGUESS+NOTRACE+WINFRAC+TRIG4,
1011 (float)-3.0, (float)3.0, (float)-2.25, (float)2.25,
1012 16, NOFRACTAL, NOFRACTAL, FPPOPCORN, NOPLOT,
1013 LPopcornFractalFn, long_julia_per_pixel, JulialongSetup, popcorn,
1014 STDBAILOUT
1015 },
1016
1017 {
1018 t_lorenz,
1019 {timestep, A, B, C},
1020 {.02, 5, 15, 1},
1021 HT_LORENZ, HF_LORENZ, NOGUESS+NOTRACE+INFCALC+WINFRAC,
1022 (float)-15.0, (float)15.0, (float)0.0, (float)30.0,
1023 0, NOFRACTAL, NOFRACTAL, LLORENZ, NOSYM,
1024 (VF)lorenz3dfloatorbit, NULL, orbit3dfloatsetup, orbit2dfloat,
1025 NOBAILOUT
1026 },
1027
1028 {
1029 t_lorenz+1,
1030 {timestep, A, B, C},
1031 {.02, 5, 15, 1},
1032 HT_LORENZ, HF_LORENZ, NOGUESS+NOTRACE+INFCALC+WINFRAC,
1033 (float)-15.0, (float)15.0, (float)0.0, (float)30.0,
1034 16, NOFRACTAL, NOFRACTAL, FPLORENZ, NOSYM,
1035 (VF)lorenz3dlongorbit, NULL, orbit3dlongsetup, orbit2dlong,
1036 NOBAILOUT
1037 },
1038
1039 {
1040 t_lorenz3d+1,
1041 {timestep, A, B, C},
1042 {.02, 5, 15, 1},
1043 HT_LORENZ, HF_LORENZ, NOGUESS+NOTRACE+NORESUME+WINFRAC+PARMS3D+INFCALC,
1044 (float)-30.0, (float)30.0, (float)-30.0, (float)30.0,
1045 16, NOFRACTAL, NOFRACTAL, FPLORENZ3D, NOSYM,
1046 (VF)lorenz3dlongorbit, NULL, orbit3dlongsetup, orbit3dlong,
1047 NOBAILOUT
1048 },
1049
1050 {
1051 t_newton+1,
1052 {newtdegree, ES, ES, ES},
1053 {3, 0, 0, 0},
1054 HT_NEWT, HF_NEWT, WINFRAC,
1055 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1056 0, NOFRACTAL, NOFRACTAL, NEWTON, XAXIS,
1057 MPCNewtonFractal, MPCjulia_per_pixel, NewtonSetup, StandardFractal,
1058 NOBAILOUT
1059 },
1060
1061 {
1062 t_newtbasin+1,
1063 {newtdegree, stripes, ES, ES},
1064 {3, 0, 0, 0},
1065 HT_NEWTBAS, HF_NEWTBAS, WINFRAC,
1066 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1067 0, NOFRACTAL, NOFRACTAL, NEWTBASIN, NOSYM,
1068 MPCNewtonFractal, MPCjulia_per_pixel, NewtonSetup, StandardFractal,
1069 NOBAILOUT
1070 },
1071
1072 {
1073 "complexnewton",
1074 {realdegree, imagdegree, realroot, imagroot},
1075 {3, 0, 1, 0},
1076 HT_NEWTCMPLX, HF_COMPLEXNEWT, WINFRAC,
1077 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1078 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
1079 ComplexNewton, otherjuliafp_per_pixel, ComplexNewtonSetup,
1080 StandardFractal,
1081 NOBAILOUT
1082 },
1083
1084 {
1085 "complexbasin",
1086 {realdegree, imagdegree, realroot, imagroot},
1087 {3, 0, 1, 0},
1088 HT_NEWTCMPLX, HF_COMPLEXNEWT, WINFRAC,
1089 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1090 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
1091 ComplexBasin, otherjuliafp_per_pixel, ComplexNewtonSetup,
1092 StandardFractal,
1093 NOBAILOUT
1094 },
1095
1096 {
1097 "cmplxmarksmand",
1098 {realz0, imagz0, exponent, imexponent},
1099 {0, 0, 1, 0},
1100 HT_MARKS, HF_CMPLXMARKSMAND, WINFRAC+BAILTEST,
1101 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1102 0, COMPLEXMARKSJUL, NOFRACTAL, NOFRACTAL, NOSYM,
1103 MarksCplxMand, MarksCplxMandperp, MandelfpSetup, StandardFractal,
1104 STDBAILOUT
1105 },
1106
1107 {
1108 "cmplxmarksjul",
1109 {realparm, imagparm, exponent, imexponent},
1110 {0.3, 0.6, 1, 0},
1111 HT_MARKS, HF_CMPLXMARKSJUL, WINFRAC+BAILTEST,
1112 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1113 0, NOFRACTAL, COMPLEXMARKSMAND, NOFRACTAL, NOSYM,
1114 MarksCplxMand, juliafp_per_pixel, JuliafpSetup, StandardFractal,
1115 STDBAILOUT
1116 },
1117
1118 {
1119 t_formula+1,
1120 {p1real, p1imag, p2real, p2imag},
1121 {0, 0, 0, 0},
1122 HT_FORMULA, -2, WINFRAC+MORE,
1123 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1124 1, NOFRACTAL, NOFRACTAL, FFORMULA, SETUP_SYM,
1125 Formula, form_per_pixel, intFormulaSetup, StandardFractal,
1126 0
1127 },
1128
1129 {
1130 t_formula,
1131 {p1real, p1imag, p2real, p2imag},
1132 {0, 0, 0, 0},
1133 HT_FORMULA, -2, WINFRAC+MORE,
1134 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1135 0, NOFRACTAL, NOFRACTAL, FORMULA, SETUP_SYM,
1136 Formula, form_per_pixel, fpFormulaSetup, StandardFractal,
1137 0
1138 },
1139
1140 {
1141 t_sierpinski,
1142 {ES, ES, ES, ES},
1143 {0, 0, 0, 0},
1144 HT_SIER, HF_SIER, WINFRAC,
1145 (float)-4/3, (float)96/45, (float)-0.9, (float)1.7,
1146 0, NOFRACTAL, NOFRACTAL, SIERPINSKI, NOSYM,
1147 SierpinskiFPFractal, otherjuliafp_per_pixel, SierpinskiFPSetup,
1148 StandardFractal,
1149 127
1150 },
1151
1152 {
1153 t_lambda,
1154 {realparm, imagparm, ES, ES},
1155 {0.85, 0.6, 0, 0},
1156 HT_LAMBDA, HF_LAMBDA, WINFRAC+OKJB+BAILTEST,
1157 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1158 0, NOFRACTAL, MANDELLAMBDAFP, LAMBDA, NOSYM,
1159 LambdaFPFractal, juliafp_per_pixel, JuliafpSetup, StandardFractal,
1160 STDBAILOUT
1161 },
1162
1163 {
1164 t_barnsleym1,
1165 {realz0, imagz0, ES, ES},
1166 {0, 0, 0, 0},
1167 HT_BARNS, HF_BARNSM1, WINFRAC+BAILTEST,
1168 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1169 0, BARNSLEYJ1FP,NOFRACTAL, BARNSLEYM1, XYAXIS_NOPARM,
1170 Barnsley1FPFractal, othermandelfp_per_pixel, MandelfpSetup,
1171 StandardFractal,
1172 STDBAILOUT
1173 },
1174
1175 {
1176 t_barnsleyj1,
1177 {realparm, imagparm, ES, ES},
1178 {0.6, 1.1, 0, 0},
1179 HT_BARNS, HF_BARNSJ1, WINFRAC+OKJB+BAILTEST,
1180 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1181 0, NOFRACTAL, BARNSLEYM1FP, BARNSLEYJ1, ORIGIN,
1182 Barnsley1FPFractal, otherjuliafp_per_pixel, JuliafpSetup,
1183 StandardFractal,
1184 STDBAILOUT
1185 },
1186
1187 {
1188 t_barnsleym2,
1189 {realz0, imagz0, ES, ES},
1190 {0, 0, 0, 0},
1191 HT_BARNS, HF_BARNSM2, WINFRAC+BAILTEST,
1192 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1193 0, BARNSLEYJ2FP,NOFRACTAL, BARNSLEYM2, YAXIS_NOPARM,
1194 Barnsley2FPFractal, othermandelfp_per_pixel, MandelfpSetup,
1195 StandardFractal,
1196 STDBAILOUT
1197 },
1198
1199 {
1200 t_barnsleyj2,
1201 {realparm, imagparm, ES, ES},
1202 {0.6, 1.1, 0, 0},
1203 HT_BARNS, HF_BARNSJ2, WINFRAC+OKJB+BAILTEST,
1204 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1205 0, NOFRACTAL, BARNSLEYM2FP, BARNSLEYJ2, ORIGIN,
1206 Barnsley2FPFractal, otherjuliafp_per_pixel, JuliafpSetup,
1207 StandardFractal,
1208 STDBAILOUT
1209 },
1210
1211 {
1212 t_barnsleym3,
1213 {realz0, imagz0, ES, ES},
1214 {0, 0, 0, 0},
1215 HT_BARNS, HF_BARNSM3, WINFRAC+BAILTEST,
1216 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1217 0, BARNSLEYJ3FP, NOFRACTAL, BARNSLEYM3, XAXIS_NOPARM,
1218 Barnsley3FPFractal, othermandelfp_per_pixel, MandelfpSetup,
1219 StandardFractal,
1220 STDBAILOUT
1221 },
1222
1223 {
1224 t_barnsleyj3,
1225 {realparm, imagparm, ES, ES},
1226 {0.6, 1.1, 0, 0},
1227 HT_BARNS, HF_BARNSJ3, WINFRAC+OKJB+BAILTEST,
1228 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1229 0, NOFRACTAL, BARNSLEYM3FP, BARNSLEYJ3, NOSYM,
1230 Barnsley3FPFractal, otherjuliafp_per_pixel, JuliafpSetup,
1231 StandardFractal,
1232 STDBAILOUT
1233 },
1234
1235 {
1236 t_mandellambda,
1237 {realz0, imagz0, ES, ES},
1238 {0, 0, 0, 0},
1239 HT_MLAMBDA, HF_MLAMBDA, WINFRAC+BAILTEST,
1240 (float)-3.0, (float)5.0, (float)-3.0, (float)3.0,
1241 0, LAMBDAFP, NOFRACTAL, MANDELLAMBDA, XAXIS_NOPARM,
1242 LambdaFPFractal, mandelfp_per_pixel, MandelfpSetup, StandardFractal,
1243 STDBAILOUT
1244 },
1245
1246 {
1247 t_julibrot+1,
1248 {ES, ES, ES, ES},
1249 {0, 0, 0, 0},
1250 HT_JULIBROT, -1, NOGUESS+NOTRACE+NOROTATE+NORESUME+WINFRAC,
1251 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1252 1, NOFRACTAL, NOFRACTAL, JULIBROTFP, NOSYM,
1253 JuliaFractal, jb_per_pixel, JulibrotSetup, Std4dFractal,
1254 STDBAILOUT
1255 },
1256
1257 {
1258 t_lorenz3d,
1259 {timestep, A, B, C},
1260 {.02, 5, 15, 1},
1261 HT_LORENZ, HF_LORENZ, NOGUESS+NOTRACE+NORESUME+WINFRAC+PARMS3D+INFCALC,
1262 (float)-30.0, (float)30.0, (float)-30.0, (float)30.0,
1263 0, NOFRACTAL, NOFRACTAL, LLORENZ3D, NOSYM,
1264 (VF)lorenz3dfloatorbit, NULL, orbit3dfloatsetup, orbit3dfloat,
1265 NOBAILOUT
1266 },
1267
1268 {
1269 t_rossler3d+1,
1270 {timestep, A, B, C},
1271 {.04, .2, .2, 5.7},
1272 HT_ROSS, HF_ROSS, NOGUESS+NOTRACE+NORESUME+WINFRAC+PARMS3D+INFCALC,
1273 (float)-30.0, (float)30.0, (float)-20.0, (float)40.0,
1274 16, NOFRACTAL, NOFRACTAL, FPROSSLER, NOSYM,
1275 (VF)rosslerlongorbit, NULL, orbit3dlongsetup, orbit3dlong,
1276 NOBAILOUT
1277 },
1278
1279 {
1280 t_rossler3d,
1281 {timestep, A, B, C},
1282 {.04, .2, .2, 5.7},
1283 HT_ROSS, HF_ROSS, NOGUESS+NOTRACE+NORESUME+WINFRAC+PARMS3D+INFCALC,
1284 (float)-30.0, (float)30.0, (float)-20.0, (float)40.0,
1285 0, NOFRACTAL, NOFRACTAL, LROSSLER, NOSYM,
1286 (VF)rosslerfloatorbit, NULL, orbit3dfloatsetup, orbit3dfloat,
1287 NOBAILOUT
1288 },
1289
1290 {
1291 t_henon+1,
1292 {A, B, ES, ES},
1293 {1.4, .3, 0, 0},
1294 HT_HENON, HF_HENON, NOGUESS+NOTRACE+INFCALC+WINFRAC,
1295 (float)-1.4, (float)1.4, (float)-.5, (float).5,
1296 16, NOFRACTAL, NOFRACTAL, FPHENON, NOSYM,
1297 (VF)henonlongorbit, NULL, orbit3dlongsetup, orbit2dlong,
1298 NOBAILOUT
1299 },
1300
1301 {
1302 t_henon,
1303 {A, B, ES, ES},
1304 {1.4, .3, 0, 0},
1305 HT_HENON, HF_HENON, NOGUESS+NOTRACE+INFCALC+WINFRAC,
1306 (float)-1.4, (float)1.4, (float)-.5, (float).5,
1307 0, NOFRACTAL, NOFRACTAL, LHENON, NOSYM,
1308 (VF)henonfloatorbit, NULL, orbit3dfloatsetup, orbit2dfloat,
1309 NOBAILOUT
1310 },
1311
1312 {
1313 "pickover",
1314 {A, B, C, D},
1315 {2.24, .43, -.65, -2.43},
1316 HT_PICK, HF_PICKOVER, NOGUESS+NOTRACE+NORESUME+WINFRAC+PARMS3D,
1317 (float)-8/3, (float)8/3, (float)-2, (float)2,
1318 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
1319 (VF)pickoverfloatorbit, NULL, orbit3dfloatsetup, orbit3dfloat,
1320 NOBAILOUT
1321 },
1322
1323 {
1324 "gingerbreadman",
1325 {initx, inity, ES, ES},
1326 {-.1, 0, 0, 0},
1327 HT_GINGER, HF_GINGER, NOGUESS+NOTRACE+INFCALC+WINFRAC,
1328 (float)-4.5, (float)8.5, (float)-4.5, (float)8.5,
1329 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
1330 (VF)gingerbreadfloatorbit, NULL, orbit3dfloatsetup, orbit2dfloat,
1331 NOBAILOUT
1332 },
1333
1334 {
1335 "diffusion",
1336 {"+Border size",
1337 "+Type (0=Central,1=Falling,2=Square Cavity)",
1338 "+Color change rate (0=Random)",
1339 ES
1340 },
1341 {10, 0, 0, 0},
1342 HT_DIFFUS, HF_DIFFUS, NOZOOM+NOGUESS+NOTRACE+WINFRAC,
1343 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1344 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
1345 NULL, NULL, StandaloneSetup, diffusion,
1346 NOBAILOUT
1347 },
1348
1349 {
1350 t_unity,
1351 {ES, ES, ES, ES},
1352 {0, 0, 0, 0},
1353 HT_UNITY, HF_UNITY, WINFRAC,
1354 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1355 0, NOFRACTAL, NOFRACTAL, UNITY, XYAXIS,
1356 UnityfpFractal, otherjuliafp_per_pixel, StandardSetup, StandardFractal,
1357 NOBAILOUT
1358 },
1359
1360 {
1361 t_spider,
1362 {realz0, imagz0, ES, ES},
1363 {0, 0, 0, 0},
1364 HT_SCOTSKIN, HF_SPIDER, WINFRAC+BAILTEST,
1365 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
1366 0, NOFRACTAL, NOFRACTAL, SPIDER, XAXIS_NOPARM,
1367 SpiderfpFractal, mandelfp_per_pixel, MandelfpSetup, StandardFractal,
1368 STDBAILOUT
1369 },
1370
1371 {
1372 t_spider+1,
1373 {realz0, imagz0, ES, ES},
1374 {0, 0, 0, 0},
1375 HT_SCOTSKIN, HF_SPIDER, WINFRAC+BAILTEST,
1376 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
1377 1, NOFRACTAL, NOFRACTAL, SPIDERFP, XAXIS_NOPARM,
1378 SpiderFractal, mandel_per_pixel, MandellongSetup,StandardFractal,
1379 STDBAILOUT
1380 },
1381
1382 {
1383 "tetrate",
1384 {realz0, imagz0, ES, ES},
1385 {0, 0, 0, 0},
1386 HT_SCOTSKIN, HF_TETRATE, WINFRAC+BAILTEST,
1387 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1388 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, XAXIS_NOIMAG,
1389 TetratefpFractal, othermandelfp_per_pixel, MandelfpSetup,
1390 StandardFractal,
1391 STDBAILOUT
1392 },
1393
1394 {
1395 "magnet1m",
1396 {realz0, imagz0, ES, ES},
1397 {0, 0, 0, 0},
1398 HT_MAGNET, HF_MAGM1, WINFRAC,
1399 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
1400 0, MAGNET1J,NOFRACTAL,NOFRACTAL, XAXIS_NOPARM,
1401 Magnet1Fractal, mandelfp_per_pixel, MandelfpSetup, StandardFractal,
1402 100
1403 },
1404
1405 {
1406 "magnet1j",
1407 {realparm, imagparm, ES, ES},
1408 {0, 0, 0, 0},
1409 HT_MAGNET, HF_MAGJ1, WINFRAC,
1410 (float)-8.0, (float)8.0, (float)-6.0, (float)6.0,
1411 0, NOFRACTAL,MAGNET1M,NOFRACTAL, XAXIS_NOIMAG,
1412 Magnet1Fractal, juliafp_per_pixel, JuliafpSetup, StandardFractal,
1413 100
1414 },
1415
1416 {
1417 "magnet2m",
1418 {realz0, imagz0, ES, ES},
1419 {0, 0, 0, 0},
1420 HT_MAGNET, HF_MAGM2, WINFRAC,
1421 (float)-1.5, (float)3.7, (float)-1.95, (float)1.95,
1422 0, MAGNET2J, NOFRACTAL, NOFRACTAL, XAXIS_NOPARM,
1423 Magnet2Fractal, mandelfp_per_pixel, MandelfpSetup, StandardFractal,
1424 100
1425 },
1426
1427 {
1428 "magnet2j",
1429 {realparm, imagparm, ES, ES},
1430 {0, 0, 0, 0},
1431 HT_MAGNET, HF_MAGJ2, WINFRAC,
1432 (float)-8.0, (float)8.0, (float)-6.0, (float)6.0,
1433 0, NOFRACTAL, MAGNET2M, NOFRACTAL, XAXIS_NOIMAG,
1434 Magnet2Fractal, juliafp_per_pixel, JuliafpSetup, StandardFractal,
1435 100
1436 },
1437
1438 {
1439 t_bifurcation+1,
1440 {filt, seed, ES, ES},
1441 {1000.0, 0.66, 0, 0},
1442 HT_BIF, HF_BIFURCATION, TRIG1+NOGUESS+NOTRACE+NOROTATE+WINFRAC,
1443 (float)1.9, (float)3.0, (float)0.0, (float)1.34,
1444 1, NOFRACTAL, NOFRACTAL, BIFURCATION, NOSYM,
1445 LongBifurcVerhulstTrig, NULL, StandaloneSetup, Bifurcation,
1446 NOBAILOUT
1447 },
1448
1449 {
1450 t_biflambda+1,
1451 {filt, seed, ES, ES},
1452 {1000.0, 0.66, 0, 0},
1453 HT_BIF, HF_BIFLAMBDA, TRIG1+NOGUESS+NOTRACE+NOROTATE+WINFRAC,
1454 (float)-2.0, (float)4.0, (float)-1.0, (float)2.0,
1455 1, NOFRACTAL, NOFRACTAL, BIFLAMBDA, NOSYM,
1456 LongBifurcLambdaTrig, NULL, StandaloneSetup, Bifurcation,
1457 NOBAILOUT
1458 },
1459
1460 {
1461 t_biflambda,
1462 {filt, seed, ES, ES},
1463 {1000.0, 0.66, 0, 0},
1464 HT_BIF, HF_BIFLAMBDA, TRIG1+NOGUESS+NOTRACE+NOROTATE+WINFRAC,
1465 (float)-2.0, (float)4.0, (float)-1.0, (float)2.0,
1466 0, NOFRACTAL, NOFRACTAL, LBIFLAMBDA, NOSYM,
1467 BifurcLambdaTrig, NULL, StandaloneSetup, Bifurcation,
1468 NOBAILOUT
1469 },
1470
1471 {
1472 t_bifplussinpi,
1473 {filt, seed, ES, ES},
1474 {1000.0, 0.66, 0, 0},
1475 HT_BIF, HF_BIFPLUSSINPI, TRIG1+NOGUESS+NOTRACE+NOROTATE+WINFRAC,
1476 (float)0.275, (float)1.45, (float)0.0, (float)2.0,
1477 0, NOFRACTAL, NOFRACTAL, LBIFADSINPI, NOSYM,
1478 BifurcAddTrigPi, NULL, StandaloneSetup, Bifurcation,
1479 NOBAILOUT
1480 },
1481
1482 {
1483 t_bifeqsinpi,
1484 {filt, seed, ES, ES},
1485 {1000.0, 0.66, 0, 0},
1486 HT_BIF, HF_BIFEQSINPI, TRIG1+NOGUESS+NOTRACE+NOROTATE+WINFRAC,
1487 (float)-2.5, (float)2.5, (float)-3.5, (float)3.5,
1488 0, NOFRACTAL, NOFRACTAL, LBIFEQSINPI, NOSYM,
1489 BifurcSetTrigPi, NULL, StandaloneSetup, Bifurcation,
1490 NOBAILOUT
1491 },
1492
1493 {
1494 t_popcornjul,
1495 {step_x, step_y, constant_x, constant_y},
1496 {0.05, 0, 3.00, 0},
1497 HT_POPCORN, HF_POPCJUL, WINFRAC+TRIG4,
1498 (float)-3.0, (float)3.0, (float)-2.25, (float)2.25,
1499 0, NOFRACTAL, NOFRACTAL, LPOPCORNJUL, NOSYM,
1500 PopcornFractalFn, otherjuliafp_per_pixel, JuliafpSetup,StandardFractal,
1501 STDBAILOUT
1502 },
1503
1504 {
1505 t_popcornjul+1,
1506 {step_x, step_y, constant_x, constant_y},
1507 {0.05, 0, 3.0, 0},
1508 HT_POPCORN, HF_POPCJUL, WINFRAC+TRIG4,
1509 (float)-3.0, (float)3.0, (float)-2.25, (float)2.25,
1510 16, NOFRACTAL, NOFRACTAL, FPPOPCORNJUL, NOSYM,
1511 LPopcornFractalFn, long_julia_per_pixel, JulialongSetup, StandardFractal,
1512 STDBAILOUT
1513 },
1514
1515 {
1516 "lsystem",
1517 {"+Order", ES, ES, ES},
1518 {2, 0, 0, 0},
1519 HT_LSYS, -3, NOZOOM+NORESUME+NOGUESS+NOTRACE+WINFRAC,
1520 (float)-1.0, (float)1.0, (float)-1.0, (float)1.0,
1521 1, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
1522 NULL, NULL, StandaloneSetup, Lsystem,
1523 NOBAILOUT
1524 },
1525
1526 {
1527 t_manowarj,
1528 {realparm, imagparm, ES, ES},
1529 {0, 0, 0, 0},
1530 HT_SCOTSKIN, HF_MANOWARJ, WINFRAC+OKJB+BAILTEST,
1531 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
1532 0, NOFRACTAL, MANOWARFP, MANOWARJ, NOSYM,
1533 ManOWarfpFractal, juliafp_per_pixel, JuliafpSetup, StandardFractal,
1534 STDBAILOUT
1535 },
1536
1537 {
1538 t_manowarj+1,
1539 {realparm, imagparm, ES, ES},
1540 {0, 0, 0, 0},
1541 HT_SCOTSKIN, HF_MANOWARJ, WINFRAC+OKJB+BAILTEST,
1542 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
1543 1, NOFRACTAL, MANOWAR, MANOWARJFP, NOSYM,
1544 ManOWarFractal, julia_per_pixel, JulialongSetup, StandardFractal,
1545 STDBAILOUT
1546 },
1547
1548 {
1549 t_fn_z_plusfn_pix_,
1550 {realz0, imagz0, recoeftrg2, imcoeftrg2},
1551 {0, 0, 1, 0},
1552 HT_SCOTSKIN, HF_FNPLUSFNPIX, TRIG2+WINFRAC+BAILTEST,
1553 (float)-3.6, (float)3.6, (float)-2.7, (float)2.7,
1554 0, NOFRACTAL, NOFRACTAL, FNPLUSFNPIXLONG, NOSYM,
1555 Richard8fpFractal, otherrichard8fp_per_pixel, MandelfpSetup,
1556 StandardFractal,
1557 LTRIGBAILOUT
1558 },
1559
1560 {
1561 t_fn_z_plusfn_pix_+1,
1562 {realz0, imagz0, recoeftrg2, imcoeftrg2},
1563 {0, 0, 1, 0},
1564 HT_SCOTSKIN, HF_FNPLUSFNPIX, TRIG2+WINFRAC+BAILTEST,
1565 (float)-3.6, (float)3.6, (float)-2.7, (float)2.7,
1566 1, NOFRACTAL, NOFRACTAL, FNPLUSFNPIXFP, NOSYM,
1567 Richard8Fractal, long_richard8_per_pixel, MandellongSetup,
1568 StandardFractal,
1569 LTRIGBAILOUT
1570 },
1571
1572 {
1573 t_marksmandelpwr,
1574 {realz0, imagz0, ES, ES},
1575 {0, 0, 0, 0},
1576 HT_MARKS, HF_MARKSMANDPWR, TRIG1+WINFRAC+BAILTEST,
1577 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
1578 0, NOFRACTAL, NOFRACTAL, MARKSMANDELPWR, XAXIS_NOPARM,
1579 MarksMandelPwrfpFractal, marks_mandelpwrfp_per_pixel, MandelfpSetup,
1580 StandardFractal,
1581 STDBAILOUT
1582 },
1583
1584 {
1585 t_marksmandelpwr+1,
1586 {realz0, imagz0, ES, ES},
1587 {0, 0, 0, 0},
1588 HT_MARKS, HF_MARKSMANDPWR, TRIG1+WINFRAC+BAILTEST,
1589 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
1590 1, NOFRACTAL, NOFRACTAL, MARKSMANDELPWRFP, XAXIS_NOPARM,
1591 MarksMandelPwrFractal, marks_mandelpwr_per_pixel, MandellongSetup,
1592 StandardFractal,
1593 STDBAILOUT
1594 },
1595
1596 {
1597 t_tims_error,
1598 {realz0, imagz0, ES, ES},
1599 {0, 0, 0, 0},
1600 HT_MARKS, HF_TIMSERR, WINFRAC+TRIG1+BAILTEST,
1601 (float)-2.9, (float)4.3, (float)-2.7, (float)2.7,
1602 0, NOFRACTAL, NOFRACTAL, TIMSERROR, XAXIS_NOPARM,
1603 TimsErrorfpFractal, marks_mandelpwrfp_per_pixel, MandelfpSetup,
1604 StandardFractal,
1605 STDBAILOUT
1606 },
1607
1608 {
1609 t_tims_error+1,
1610 {realz0, imagz0, ES, ES},
1611 {0, 0, 0, 0},
1612 HT_MARKS, HF_TIMSERR, WINFRAC+TRIG1+BAILTEST,
1613 (float)-2.9, (float)4.3, (float)-2.7, (float)2.7,
1614 1, NOFRACTAL, NOFRACTAL, TIMSERRORFP, XAXIS_NOPARM,
1615 TimsErrorFractal, marks_mandelpwr_per_pixel, MandellongSetup,
1616 StandardFractal,
1617 STDBAILOUT
1618 },
1619
1620 {
1621 t_bifeqsinpi+1,
1622 {filt, seed, ES, ES},
1623 {1000.0, 0.66, 0, 0},
1624 HT_BIF, HF_BIFEQSINPI, TRIG1+NOGUESS+NOTRACE+NOROTATE+WINFRAC,
1625 (float)-2.5, (float)2.5, (float)-3.5, (float)3.5,
1626 1, NOFRACTAL, NOFRACTAL, BIFEQSINPI, NOSYM,
1627 LongBifurcSetTrigPi, NULL, StandaloneSetup, Bifurcation,
1628 NOBAILOUT
1629 },
1630
1631 {
1632 t_bifplussinpi+1,
1633 {filt, seed, ES, ES},
1634 {1000.0, 0.66, 0, 0},
1635 HT_BIF, HF_BIFPLUSSINPI, TRIG1+NOGUESS+NOTRACE+NOROTATE+WINFRAC,
1636 (float)0.275, (float)1.45, (float)0.0, (float)2.0,
1637 1, NOFRACTAL, NOFRACTAL, BIFADSINPI, NOSYM,
1638 LongBifurcAddTrigPi, NULL, StandaloneSetup, Bifurcation,
1639 NOBAILOUT
1640 },
1641
1642 {
1643 t_bifstewart,
1644 {filt, seed, ES, ES},
1645 {1000.0, 0.66, 0, 0},
1646 HT_BIF, HF_BIFSTEWART, TRIG1+NOGUESS+NOTRACE+NOROTATE+WINFRAC,
1647 (float)0.7, (float)2.0, (float)-1.1, (float)1.1,
1648 0, NOFRACTAL, NOFRACTAL, LBIFSTEWART, NOSYM,
1649 BifurcStewartTrig, NULL, StandaloneSetup, Bifurcation,
1650 NOBAILOUT
1651 },
1652
1653 {
1654 t_bifstewart+1,
1655 {filt, seed, ES, ES},
1656 {1000.0, 0.66, 0, 0},
1657 HT_BIF, HF_BIFSTEWART, TRIG1+NOGUESS+NOTRACE+NOROTATE+WINFRAC,
1658 (float)0.7, (float)2.0, (float)-1.1, (float)1.1,
1659 1, NOFRACTAL, NOFRACTAL, BIFSTEWART, NOSYM,
1660 LongBifurcStewartTrig, NULL, StandaloneSetup, Bifurcation,
1661 NOBAILOUT
1662 },
1663
1664 {
1665 "hopalong",
1666 {A, B, C, ES},
1667 {.4, 1, 0, 0},
1668 HT_MARTIN, HF_HOPALONG, NOGUESS+NOTRACE+INFCALC+WINFRAC,
1669 (float)-2.0, (float)3.0, (float)-1.625, (float)2.625,
1670 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
1671 (VF)hopalong2dfloatorbit, NULL, orbit3dfloatsetup, orbit2dfloat,
1672 NOBAILOUT
1673 },
1674
1675 {
1676 "circle",
1677 {"magnification", ES, ES, ES},
1678 {200000L, 0, 0, 0},
1679 HT_CIRCLE, HF_CIRCLE, WINFRAC,
1680 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1681 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, XYAXIS,
1682 CirclefpFractal, juliafp_per_pixel, JuliafpSetup, StandardFractal,
1683 NOBAILOUT
1684 },
1685
1686 {
1687 "martin",
1688 {A, ES, ES, ES},
1689 {3.14, 0, 0, 0},
1690 HT_MARTIN, HF_MARTIN, NOGUESS+NOTRACE+INFCALC+WINFRAC,
1691 (float)-32, (float)32, (float)-24, (float)24,
1692 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
1693 (VF)martin2dfloatorbit, NULL, orbit3dfloatsetup, orbit2dfloat,
1694 NOBAILOUT
1695 },
1696
1697 {
1698 "lyapunov",
1699 {"+Order (integer)", "Population Seed", "+Filter Cycles", ES},
1700 {0, 0.5, 0, 0},
1701 HT_LYAPUNOV, HT_LYAPUNOV, WINFRAC,
1702 (float)-8.0, (float)8.0, (float)-6.0, (float)6.0,
1703 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
1704 BifurcLambda, NULL, lya_setup, lyapunov,
1705 NOBAILOUT
1706 },
1707
1708 {
1709 "lorenz3d1",
1710 {timestep, A, B, C},
1711 {.02, 5, 15, 1},
1712 HT_LORENZ, HF_LORENZ3D1,
1713 NOGUESS+NOTRACE+NORESUME+WINFRAC+PARMS3D+INFCALC,
1714 (float)-30.0, (float)30.0, (float)-30.0, (float)30.0,
1715 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
1716 (VF)lorenz3d1floatorbit, NULL, orbit3dfloatsetup, orbit3dfloat,
1717 NOBAILOUT
1718 },
1719
1720 {
1721 "lorenz3d3",
1722 {timestep, A, B, C},
1723 {.02, 10, 28, 2.66},
1724 HT_LORENZ, HF_LORENZ3D3,
1725 NOGUESS+NOTRACE+NORESUME+WINFRAC+PARMS3D+INFCALC,
1726 (float)-30.0, (float)30.0, (float)-30.0, (float)30.0,
1727 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
1728 (VF)lorenz3d3floatorbit, NULL, orbit3dfloatsetup, orbit3dfloat,
1729 NOBAILOUT
1730 },
1731
1732 {
1733 "lorenz3d4",
1734 {timestep, A, B, C},
1735 {.02, 10, 28, 2.66},
1736 HT_LORENZ, HF_LORENZ3D4,
1737 NOGUESS+NOTRACE+NORESUME+WINFRAC+PARMS3D+INFCALC,
1738 (float)-30.0, (float)30.0, (float)-30.0, (float)30.0,
1739 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
1740 (VF)lorenz3d4floatorbit, NULL, orbit3dfloatsetup, orbit3dfloat,
1741 NOBAILOUT
1742 },
1743
1744 {
1745 t_lambda_fnorfn_+1,
1746 {realparm, imagparm, shiftval, ES},
1747 {1, 0.1, 1, 0},
1748 HT_FNORFN, HF_LAMBDAFNFN, TRIG2+WINFRAC+BAILTEST,
1749 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
1750 16, NOFRACTAL, LMANLAMFNFN, FPLAMBDAFNFN, ORIGIN,
1751 LambdaTrigOrTrigFractal, long_julia_per_pixel, LambdaTrigOrTrigSetup,
1752 StandardFractal,
1753 LTRIGBAILOUT
1754 },
1755
1756 {
1757 t_lambda_fnorfn_,
1758 {realparm, imagparm, shiftval, ES},
1759 {1, 0.1, 1, 0},
1760 HT_FNORFN, HF_LAMBDAFNFN, TRIG2+WINFRAC+BAILTEST,
1761 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
1762 0, NOFRACTAL, FPMANLAMFNFN, LLAMBDAFNFN, ORIGIN,
1763 LambdaTrigOrTrigfpFractal, otherjuliafp_per_pixel,
1764 LambdaTrigOrTrigSetup, StandardFractal,
1765 LTRIGBAILOUT
1766 },
1767
1768 {
1769 t_julia_fnorfn_+1,
1770 {realparm, imagparm, shiftval, ES},
1771 {0, 0, 8, 0},
1772 HT_FNORFN, HF_JULIAFNFN, TRIG2+WINFRAC+BAILTEST,
1773 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
1774 16, NOFRACTAL, LMANFNFN, FPJULFNFN, XAXIS,
1775 JuliaTrigOrTrigFractal, long_julia_per_pixel, JuliaTrigOrTrigSetup,
1776 StandardFractal,
1777 LTRIGBAILOUT
1778 },
1779
1780 {
1781 t_julia_fnorfn_,
1782 {realparm, imagparm, shiftval, ES},
1783 {0, 0, 8, 0},
1784 HT_FNORFN, HF_JULIAFNFN, TRIG2+WINFRAC+BAILTEST,
1785 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
1786 0, NOFRACTAL, FPMANFNFN, LJULFNFN, XAXIS,
1787 JuliaTrigOrTrigfpFractal, otherjuliafp_per_pixel,
1788 JuliaTrigOrTrigSetup, StandardFractal,
1789 LTRIGBAILOUT
1790 },
1791
1792 {
1793 t_manlam_fnorfn_+1,
1794 {realz0, imagz0, shiftval, ES},
1795 {0, 0, 10, 0},
1796 HT_FNORFN, HF_MANLAMFNFN, TRIG2+WINFRAC+BAILTEST,
1797 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
1798 16, LLAMBDAFNFN, NOFRACTAL, FPMANLAMFNFN, XAXIS_NOPARM,
1799 LambdaTrigOrTrigFractal, long_mandel_per_pixel,
1800 ManlamTrigOrTrigSetup, StandardFractal,
1801 LTRIGBAILOUT
1802 },
1803
1804 {
1805 t_manlam_fnorfn_,
1806 {realz0, imagz0, shiftval, ES},
1807 {0, 0, 10, 0},
1808 HT_FNORFN, HF_MANLAMFNFN, TRIG2+WINFRAC+BAILTEST,
1809 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
1810 0, FPLAMBDAFNFN, NOFRACTAL, LMANLAMFNFN, XAXIS_NOPARM,
1811 LambdaTrigOrTrigfpFractal, othermandelfp_per_pixel,
1812 ManlamTrigOrTrigSetup, StandardFractal,
1813 LTRIGBAILOUT
1814 },
1815
1816 {
1817 t_mandel_fnorfn_+1,
1818 {realz0, imagz0, shiftval, ES},
1819 {0, 0, 0.5, 0},
1820 HT_FNORFN, HF_MANDELFNFN, TRIG2+WINFRAC+BAILTEST,
1821 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
1822 16, LJULFNFN, NOFRACTAL, FPMANFNFN,XAXIS_NOPARM,
1823 JuliaTrigOrTrigFractal, long_mandel_per_pixel,
1824 MandelTrigOrTrigSetup, StandardFractal,
1825 LTRIGBAILOUT
1826 },
1827
1828 {
1829 t_mandel_fnorfn_,
1830 {realz0, imagz0, shiftval, ES},
1831 {0, 0, 0.5, 0},
1832 HT_FNORFN, HF_MANDELFNFN, TRIG2+WINFRAC+BAILTEST,
1833 (float)-4.0, (float)4.0, (float)-3.0, (float)3.0,
1834 0, FPJULFNFN, NOFRACTAL, LMANFNFN,XAXIS_NOPARM,
1835 JuliaTrigOrTrigfpFractal, othermandelfp_per_pixel,
1836 MandelTrigOrTrigSetup, StandardFractal,
1837 LTRIGBAILOUT
1838 },
1839
1840 {
1841 t_bifmay+1,
1842 {filt, seed, "Beta >= 2", ES},
1843 {300.0, 0.9, 5, 0},
1844 HT_BIF, HF_BIFMAY, NOGUESS+NOTRACE+NOROTATE+WINFRAC,
1845 (float)-3.5, (float)-0.9, (float)-0.5, (float)3.2,
1846 16, NOFRACTAL, NOFRACTAL, BIFMAY, NOSYM,
1847 LongBifurcMay, NULL, BifurcMaySetup, Bifurcation,
1848 NOBAILOUT
1849 },
1850
1851 {
1852 t_bifmay,
1853 {filt, seed, "Beta >= 2", ES},
1854 {300.0, 0.9, 5, 0},
1855 HT_BIF, HF_BIFMAY, NOGUESS+NOTRACE+NOROTATE+WINFRAC,
1856 (float)-3.5, (float)-0.9, (float)-0.5, (float)3.2,
1857 0, NOFRACTAL, NOFRACTAL, LBIFMAY, NOSYM,
1858 BifurcMay, NULL, BifurcMaySetup, Bifurcation,
1859 NOBAILOUT
1860 },
1861
1862 {
1863 t_halley+1,
1864 {order, real_relax, epsilon, imag_relax},
1865 {6, 1.0, 0.0001, 0},
1866 HT_HALLEY, HF_HALLEY, WINFRAC,
1867 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1868 0, NOFRACTAL, NOFRACTAL, HALLEY, XYAXIS,
1869 MPCHalleyFractal, MPCHalley_per_pixel, HalleySetup, StandardFractal,
1870 NOBAILOUT
1871 },
1872
1873 {
1874 t_halley,
1875 {order, real_relax, epsilon, imag_relax},
1876 {6, 1.0, 0.0001, 0},
1877 HT_HALLEY, HF_HALLEY, WINFRAC,
1878 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1879 0, NOFRACTAL, NOFRACTAL, MPHALLEY, XYAXIS,
1880 HalleyFractal, Halley_per_pixel, HalleySetup, StandardFractal,
1881 NOBAILOUT
1882 },
1883
1884 {
1885 "dynamic",
1886 {"+# of intervals (<0 = connect)", "time step (<0 = Euler)", A, B},
1887 {50, .1, 1, 3},
1888 HT_DYNAM, HF_DYNAM, NOGUESS+NOTRACE+WINFRAC+TRIG1,
1889 (float)-20.0, (float)20.0, (float)-20.0, (float)20.0,
1890 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
1891 (VF)dynamfloat, NULL, dynam2dfloatsetup, dynam2dfloat,
1892 NOBAILOUT
1893 },
1894
1895 {
1896 "quat",
1897 {notused, notused, CJ, CK},
1898 {0, 0, 0, 0},
1899 HT_QUAT, HF_QUAT, WINFRAC+OKJB,
1900 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1901 0, QUATJULFP, NOFRACTAL, NOFRACTAL, XAXIS,
1902 QuaternionFPFractal, quaternionfp_per_pixel, MandelfpSetup,
1903 StandardFractal,
1904 LTRIGBAILOUT
1905 },
1906
1907 {
1908 "quatjul",
1909 {C1, CI, CJ, CK},
1910 {-.745, 0, .113, .05},
1911 HT_QUAT, HF_QUATJ, WINFRAC+OKJB+MORE,
1912 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1913 0, NOFRACTAL, QUATFP, NOFRACTAL, ORIGIN,
1914 QuaternionFPFractal, quaternionjulfp_per_pixel, JuliafpSetup,
1915 StandardFractal,
1916 LTRIGBAILOUT
1917 },
1918
1919 {
1920 "cellular",
1921 {cell_init, cell_rule, cell_type, cell_strt},
1922 {11.0, 3311100320.0, 41.0, 0},
1923 HT_CELLULAR, HF_CELLULAR, NOGUESS+NOTRACE+NOZOOM+WINFRAC,
1924 (float)-1.0, (float)1.0, (float)-1.0, (float)1.0,
1925 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
1926 NULL, NULL, CellularSetup, cellular,
1927 NOBAILOUT
1928 },
1929
1930 {
1931 t_julibrot,
1932 {ES, ES, ES, ES},
1933 {0, 0, 0, 0},
1934 HT_JULIBROT, -1, NOGUESS+NOTRACE+NOROTATE+NORESUME+WINFRAC,
1935 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1936 0, NOFRACTAL, NOFRACTAL, JULIBROT, NOSYM,
1937 JuliafpFractal, jbfp_per_pixel, JulibrotSetup, Std4dfpFractal,
1938 STDBAILOUT
1939 },
1940
1941 #ifdef RANDOM_RUN
1942 {
1943 t_julia_inverse+1,
1944 {realparm, imagparm, s_maxhits, randomruninterval},
1945 {-0.11, 0.6557, 4, 1024},
1946 HT_INVERSE, HF_INVERSE, NOGUESS+NOTRACE+INFCALC+NORESUME,
1947 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1948 24, NOFRACTAL, MANDEL, INVERSEJULIAFP, NOSYM,
1949 Linverse_julia_orbit, NULL, orbit3dlongsetup, inverse_julia_per_image,
1950 NOBAILOUT
1951 },
1952
1953 {
1954 t_julia_inverse,
1955 {realparm, imagparm, s_maxhits, randomruninterval},
1956 {-0.11, 0.6557, 4, 1024},
1957 HT_INVERSE, HF_INVERSE, NOGUESS+NOTRACE+INFCALC+NORESUME,
1958 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1959 0, NOFRACTAL, MANDEL, INVERSEJULIA, NOSYM,
1960 Minverse_julia_orbit, NULL, orbit3dfloatsetup, inverse_julia_per_image,
1961 NOBAILOUT
1962 }, 1963 #else
1964 {
1965 t_julia_inverse+1,
1966 {realparm, imagparm, s_maxhits, ES},
1967 {-0.11, 0.6557, 4, 1024},
1968 HT_INVERSE, HF_INVERSE, NOGUESS+NOTRACE+INFCALC+NORESUME,
1969 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1970 24, NOFRACTAL, MANDEL, INVERSEJULIAFP, NOSYM,
1971 Linverse_julia_orbit, NULL, orbit3dlongsetup, inverse_julia_per_image,
1972 NOBAILOUT
1973 },
1974
1975 {
1976 t_julia_inverse,
1977 {realparm, imagparm, s_maxhits, ES},
1978 {-0.11, 0.6557, 4, 1024},
1979 HT_INVERSE, HF_INVERSE, NOGUESS+NOTRACE+INFCALC+NORESUME,
1980 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
1981 0, NOFRACTAL, MANDEL, INVERSEJULIA, NOSYM,
1982 Minverse_julia_orbit, NULL, orbit3dfloatsetup, inverse_julia_per_image,
1983 NOBAILOUT
1984 },
1985
1986 #endif
1987
1988 {
1989 "mandelcloud",
1990 {"+# of intervals (<0 = connect)", ES, ES, ES},
1991 {50, 0, 0, 0},
1992 HT_MANDELCLOUD, HF_MANDELCLOUD, NOGUESS+NOTRACE+WINFRAC,
1993 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
1994 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
1995 (VF)mandelcloudfloat, NULL, dynam2dfloatsetup, dynam2dfloat,
1996 NOBAILOUT
1997 },
1998
1999 {
2000 t_phoenix+1,
2001 {p1real, p2real, degreeZ, ES},
2002 {0.56667, -0.5, 0, 0},
2003 HT_PHOENIX, HF_PHOENIX, WINFRAC+BAILTEST,
2004 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
2005 1, NOFRACTAL, MANDPHOENIX, PHOENIXFP, XAXIS,
2006 LongPhoenixFractal, long_phoenix_per_pixel, PhoenixSetup,
2007 StandardFractal,
2008 STDBAILOUT
2009 },
2010
2011 {
2012 t_phoenix,
2013 {p1real, p2real, degreeZ, ES},
2014 {0.56667, -0.5, 0, 0},
2015 HT_PHOENIX, HF_PHOENIX, WINFRAC+BAILTEST,
2016 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
2017 0, NOFRACTAL, MANDPHOENIXFP, PHOENIX, XAXIS,
2018 PhoenixFractal, phoenix_per_pixel, PhoenixSetup, StandardFractal,
2019 STDBAILOUT
2020 },
2021
2022 {
2023 t_mandphoenix+1,
2024 {realz0, imagz0, degreeZ, ES},
2025 {0.0, 0.0, 0, 0},
2026 HT_PHOENIX, HF_MANDPHOENIX, WINFRAC+BAILTEST,
2027 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
2028 1, PHOENIX, NOFRACTAL, MANDPHOENIXFP, NOSYM,
2029 LongPhoenixFractal, long_mandphoenix_per_pixel, MandPhoenixSetup,
2030 StandardFractal,
2031 STDBAILOUT
2032 },
2033
2034 {
2035 t_mandphoenix,
2036 {realz0, imagz0, degreeZ, ES},
2037 {0.0, 0.0, 0, 0},
2038 HT_PHOENIX, HF_MANDPHOENIX, WINFRAC+BAILTEST,
2039 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
2040 0, PHOENIXFP, NOFRACTAL, MANDPHOENIX, NOSYM,
2041 PhoenixFractal, mandphoenix_per_pixel, MandPhoenixSetup,
2042 StandardFractal,
2043 STDBAILOUT
2044 },
2045
2046 {
2047 "hypercomplex",
2048 {notused, notused, CJ, CK},
2049 {0, 0, 0, 0},
2050 HT_HYPERC, HF_HYPERC, WINFRAC+OKJB+TRIG1,
2051 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
2052 0, HYPERCMPLXJFP, NOFRACTAL, NOFRACTAL, XAXIS,
2053 HyperComplexFPFractal, quaternionfp_per_pixel, MandelfpSetup,
2054 StandardFractal,
2055 LTRIGBAILOUT
2056 },
2057
2058 {
2059 "hypercomplexj",
2060 {C1, CI, CJ, CK},
2061 {-.745, 0, .113, .05},
2062 HT_HYPERC, HF_HYPERCJ, WINFRAC+OKJB+TRIG1+MORE,
2063 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
2064 0, NOFRACTAL, HYPERCMPLXFP, NOFRACTAL, ORIGIN,
2065 HyperComplexFPFractal, quaternionjulfp_per_pixel, JuliafpSetup,
2066 StandardFractal,
2067 LTRIGBAILOUT
2068 },
2069
2070 {
2071 t_frothybasin+1,
2072 {frothmapping, frothshade, frothavalue, ES},
2073 {1, 0, 1.028713768218725, 0},
2074 HT_FROTH, HF_FROTH, NOTRACE+WINFRAC,
2075 (float)-2.8, (float)2.8, (float)-2.355, (float)1.845,
2076 28, NOFRACTAL, NOFRACTAL, FROTHFP, NOSYM,
2077 froth_per_orbit, froth_per_pixel, froth_setup, calcfroth,
2078 FROTHBAILOUT
2079 },
2080
2081 {
2082 t_frothybasin,
2083 {frothmapping, frothshade, frothavalue, ES},
2084 {1, 0, 1.028713768218725, 0},
2085 HT_FROTH, HF_FROTH, NOTRACE+WINFRAC,
2086 (float)-2.8, (float)2.8, (float)-2.355, (float)1.845,
2087 0, NOFRACTAL, NOFRACTAL, FROTH, NOSYM,
2088 froth_per_orbit, froth_per_pixel, froth_setup, calcfroth,
2089 FROTHBAILOUT
2090 },
2091
2092 {
2093 t_mandel4,
2094 {realz0, imagz0, ES, ES},
2095 {0, 0, 0, 0},
2096 HT_MANDJUL4, HF_MANDEL4, WINFRAC+BAILTEST,
2097 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
2098 0, JULIA4FP, NOFRACTAL, MANDEL4, XAXIS_NOPARM,
2099 Mandel4fpFractal, mandelfp_per_pixel, MandelfpSetup, StandardFractal,
2100 STDBAILOUT
2101 },
2102
2103 {
2104 t_julia4,
2105 {realparm, imagparm, ES, ES},
2106 {0.6, 0.55, 0, 0},
2107 HT_MANDJUL4, HF_JULIA4, WINFRAC+OKJB+BAILTEST,
2108 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
2109 0, NOFRACTAL, MANDEL4FP, JULIA4, ORIGIN,
2110 Mandel4fpFractal, juliafp_per_pixel, JuliafpSetup,StandardFractal,
2111 STDBAILOUT
2112 },
2113
2114 {
2115 t_marksmandel,
2116 {realz0, imagz0, exponent, ES},
2117 {0, 0, 1, 0},
2118 HT_MARKS, HF_MARKSMAND, WINFRAC+BAILTEST,
2119 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
2120 0, MARKSJULIAFP, NOFRACTAL, MARKSMANDEL, NOSYM,
2121 MarksLambdafpFractal, marksmandelfp_per_pixel, MandelfpSetup,
2122 StandardFractal,
2123 STDBAILOUT
2124 },
2125
2126 {
2127 t_marksjulia,
2128 {realparm, imagparm, exponent, ES},
2129 {0.1, 0.9, 1, 0},
2130 HT_MARKS, HF_MARKSJULIA, WINFRAC+BAILTEST,
2131 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
2132 0, NOFRACTAL, MARKSMANDELFP, MARKSJULIA, ORIGIN,
2133 MarksLambdafpFractal, juliafp_per_pixel, MarksJuliafpSetup,
2134 StandardFractal,
2135 STDBAILOUT
2136 },
2137
2138 /* dmf */
2139 {
2140 "icons",
2141 {s_lambda, s_alpha, s_beta, s_gamma},
2142 {-2.34, 2.0, 0.2, 0.1},
2143 HT_ICON, HF_ICON, NOGUESS+NOTRACE+WINFRAC+INFCALC+MORE,
2144 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
2145 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
2146 (VF)iconfloatorbit, NULL, orbit3dfloatsetup, orbit2dfloat,
2147 NOBAILOUT
2148 },
2149
2150 /* dmf */
2151 {
2152 "icons3d",
2153 {s_lambda, s_alpha, s_beta, s_gamma},
2154 {-2.34, 2.0, 0.2, 0.1},
2155 HT_ICON, HF_ICON, NOGUESS+NOTRACE+WINFRAC+INFCALC+PARMS3D+MORE,
2156 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
2157 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
2158 (VF)iconfloatorbit, NULL, orbit3dfloatsetup, orbit3dfloat,
2159 NOBAILOUT
2160 },
2161
2162 {
2163 t_phoenixcplx+1,
2164 {p1real, p1imag, p2real, p2imag},
2165 {0.2, 0, 0.3, 0},
2166 HT_PHOENIX, HF_PHOENIXCPLX, WINFRAC+MORE+BAILTEST,
2167 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
2168 1, NOFRACTAL, MANDPHOENIXCPLX,PHOENIXFPCPLX, ORIGIN,
2169 LongPhoenixFractalcplx, long_phoenix_per_pixel, PhoenixCplxSetup,
2170 StandardFractal,
2171 STDBAILOUT
2172 },
2173
2174 {
2175 t_phoenixcplx,
2176 {p1real, p1imag, p2real, p2imag},
2177 {0.2, 0, 0.3, 0},
2178 HT_PHOENIX, HF_PHOENIXCPLX, WINFRAC+MORE+BAILTEST,
2179 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
2180 0, NOFRACTAL, MANDPHOENIXFPCPLX, PHOENIXCPLX, ORIGIN,
2181 PhoenixFractalcplx, phoenix_per_pixel, PhoenixCplxSetup,
2182 StandardFractal,
2183 STDBAILOUT
2184 },
2185
2186 {
2187 t_mandphoenixcplx+1,
2188 {realz0, imagz0, p2real, p2imag},
2189 {0, 0, 0.5, 0},
2190 HT_PHOENIX, HF_MANDPHOENIXCPLX, WINFRAC+MORE+BAILTEST,
2191 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
2192 1, PHOENIXCPLX, NOFRACTAL, MANDPHOENIXFPCPLX, XAXIS,
2193 LongPhoenixFractalcplx, long_mandphoenix_per_pixel,
2194 MandPhoenixCplxSetup, StandardFractal,
2195 STDBAILOUT
2196 },
2197
2198 {
2199 t_mandphoenixcplx,
2200 {realz0, imagz0, p2real, p2imag},
2201 {0, 0, 0.5, 0},
2202 HT_PHOENIX, HF_MANDPHOENIXCPLX, WINFRAC+MORE+BAILTEST,
2203 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
2204 0, PHOENIXFPCPLX, NOFRACTAL, MANDPHOENIXCPLX, XAXIS,
2205 PhoenixFractalcplx, mandphoenix_per_pixel, MandPhoenixCplxSetup,
2206 StandardFractal,
2207 STDBAILOUT
2208 },
2209
2210 {
2211 "ant",
2212 {"#Rule String (1's and non-1's, 0 rand)",
2213 "#Maxpts",
2214 "+Numants (max 256)",
2215 "+Ant type (1 or 2)"
2216 },
2217 {1100, 1.0E9, 1, 1},
2218 HT_ANT, HF_ANT, WINFRAC+NOZOOM+NOGUESS+NOTRACE+NORESUME+MORE,
2219 (float)-1.0, (float)1.0, (float)-1.0, (float)1.0,
2220 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
2221 NULL, NULL, StandaloneSetup, ant,
2222 NOBAILOUT
2223 },
2224
2225 {
2226 "chip",
2227 {A, B, C, ES},
2228 {-15,-19,1,0},
2229 HT_MARTIN, HF_CHIP, NOGUESS+NOTRACE+INFCALC+WINFRAC,
2230 (float)-760.0, (float)760.0, (float)-570.0, (float)570.0,
2231 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
2232 (VF)chip2dfloatorbit, NULL, orbit3dfloatsetup, orbit2dfloat,
2233 NOBAILOUT
2234 },
2235
2236 {
2237 "quadruptwo",
2238 {A, B, C, ES},
2239 {34, 1, 5, 0},
2240 HT_MARTIN, HF_QUADRUPTWO, NOGUESS+NOTRACE+INFCALC+WINFRAC,
2241 (float)-82.93367, (float)112.2749, (float)-55.76383, (float)90.64257,
2242 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
2243 (VF)quadruptwo2dfloatorbit, NULL, orbit3dfloatsetup, orbit2dfloat,
2244 NOBAILOUT
2245 },
2246
2247 {
2248 "threeply",
2249 {A, B, C, ES},
2250 {-55, -1, -42, 0},
2251 HT_MARTIN, HF_THREEPLY, NOGUESS+NOTRACE+INFCALC+WINFRAC,
2252 (float)-8000.0, (float)8000.0, (float)-6000.0, (float)6000.0,
2253 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
2254 (VF)threeply2dfloatorbit, NULL, orbit3dfloatsetup, orbit2dfloat,
2255 NOBAILOUT
2256 },
2257
2258 {
2259 "volterra-lotka",
2260 {H, P, ES, ES},
2261 {0.739, 0.739, 0, 0},
2262 HT_VL, HF_VL, WINFRAC,
2263 (float)0.0, (float)6.0, (float)0.0, (float)4.5,
2264 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
2265 VLfpFractal, otherjuliafp_per_pixel, VLSetup, StandardFractal,
2266 256
2267 },
2268
2269 {
2270 "escher_julia",
2271 {realparm, imagparm, ES, ES},
2272 {0.32, 0.043, 0, 0},
2273 HT_ESCHER, HF_ESCHER, WINFRAC,
2274 (float)-1.6, (float)1.6, (float)-1.2, (float)1.2,
2275 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, ORIGIN,
2276 EscherfpFractal, juliafp_per_pixel, StandardSetup,
2277 StandardFractal,
2278 STDBAILOUT
2279 },
2280
2281 /* From Pickovers' "Chaos in Wonderland" */
2282 /* included by Humberto R. Baptista */
2283 /* code adapted from king.cpp bt James Rankin */
2284
2285 {
2286 "latoocarfian",
2287 {A, B, C, D},
2288 {-0.966918, 2.879879, 0.765145, 0.744728},
2289 HT_LATOO, HF_LATOO, NOGUESS+NOTRACE+WINFRAC+INFCALC+MORE+TRIG4,
2290 (float)-2.0, (float)2.0, (float)-1.5, (float)1.5,
2291 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
2292 (VF)latoofloatorbit, NULL, orbit3dfloatsetup, orbit2dfloat,
2293 NOBAILOUT
2294 },
2295
2296 {
2297 "mandelbrotmix4",
2298 {p1real, p1imag, p2real, p2imag},
2299 {0.05, 3, -1.5, -2},
2300 HT_MANDELBROTMIX4, HF_MANDELBROTMIX4, WINFRAC+BAILTEST+TRIG1+MORE,
2301 (float)-2.5, (float)1.5, (float)-1.5, (float)1.5,
2302 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
2303 MandelbrotMix4fpFractal, MandelbrotMix4fp_per_pixel, MandelbrotMix4Setup, StandardFractal,
2304 STDBAILOUT
2305 },
2306
2307 {
2308 NULL, /* marks the END of the list */
2309 {NULL, NULL, NULL, NULL},
2310 {0, 0, 0, 0},
2311 -1, -1, 0,
2312 (float)0.0, (float)0.0, (float)0.0, (float)0.0,
2313 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
2314 NULL, NULL, NULL, NULL,
2315 0
2316 }
2317 };
2318
2319 int num_fractal_types = (sizeof(fractalspecific)/
2320 sizeof(struct fractalspecificstuff)) -1;
2321
2322 /*
2323 * Returns 1 if the formula parameter is not used in the current
2324 * formula. If the parameter is used, or not a formula fractal,
2325 * a 0 is returned. Note: this routine only works for formula types.
2326 */
2327 int paramnotused(int parm)
2328 {
2329 int ret = 0;
2330
2331 /* sanity check */
2332 if (fractype != FORMULA && fractype != FFORMULA)
2333 return (0);
2334
2335 switch (parm/2) {
2336 case 0:
2337 if (!uses_p1)
2338 ret = 1;
2339 break;
2340 case 1:
2341 if (!uses_p2)
2342 ret = 1;
2343 break;
2344 case 2:
2345 if (!uses_p3)
2346 ret = 1;
2347 break;
2348 case 3:
2349 if (!uses_p4)
2350 ret = 1;
2351 break;
2352 case 4:
2353 if (!uses_p5)
2354 ret = 1;
2355 break;
2356 default:
2357 ret = 0;
2358 break;
2359 }
2360 return (ret);
2361 }
2362
2363 /*
2364 * Returns 1 if parameter number parm exists for type. If the
2365 * parameter exists, the parameter prompt string is copied to buf.
2366 * Pass in NULL for buf if only the existence of the parameter is
2367 * needed, and not the prompt string.
2368 */
2369 int typehasparm(int type,int parm,char *buf)
2370 {
2371 int extra;
2372 char far *ret = NULL;
2373 if(0 <= parm && parm < 4)
2374 ret=fractalspecific[type].param[parm];
2375 else if(parm >= 4 && parm < MAXPARAMS)
2376 if((extra=find_extra_param(type)) > -1)
2377 ret=moreparams[extra].param[parm-4];
2378 if(ret)
2379 if(*ret == 0)
2380 ret = NULL;
2381
2382 if(type == FORMULA || type == FFORMULA)
2383 if(paramnotused(parm))
2384 ret = NULL;
2385
2386 if(ret && buf != NULL)
2387 far_strcpy(buf,ret);
2388 return(ret?1:0);
2389 }
2390