1 /* This file was taken from XaoS-the fast portable realtime interactive
2    fractal zoomer. but it is simplified for BB. You may get complette
3    sources at XaoS homepage (http://www.paru.cas.cz/~hubicka/XaoS
4  */
5 /*
6  *     XaoS, a fast portable realtime fractal zoomer
7  *                  Copyright (C) 1996,1997 by
8  *
9  *      Jan Hubicka          (hubicka@paru.cas.cz)
10  *      Thomas Marsh         (tmarsh@austin.ibm.com)
11  *
12  * This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation; either version 2 of the License, or
15  * (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with this program; if not, write to the Free Software
24  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25  */
26 #ifndef FORMULAS_H
27 #define FORMULAS_H
28 
29 #include "config.h"
30 
31 #define INCOLORING 2
32 #define OUTCOLORING 7
33 #define MAX_LAMBDA 2
34 
35 typedef struct {
36     number_t mc, nc;
37     number_t mi, ni;
38 } vinfo;
39 
40 typedef struct {
41     number_t y0, k;
42 } symetry;
43 
44 struct symetryinfo {
45     number_t xsym, ysym;
46     int nsymetries;
47     symetry *symetry;
48 };
49 
50 #define FORMULAMAGIC 1121
51 struct formula {
52     int magic;
53     int (*calculate) (number_t, number_t, number_t, number_t) REGISTERS(3);
54     char *name[2];
55     vinfo v;
56     int mandelbrot;
57     number_t pre, pim;
58     struct symetryinfo out[OUTCOLORING];
59     struct symetryinfo in[INCOLORING];
60     int juliamode;
61     int startzero;
62 };
63 
64 extern struct formula formulas[];
65 extern char *incolorname[];
66 extern char *outcolorname[];
67 extern CONST int nformulas;
68 extern int coloringmode;
69 extern int incoloringmode;
70 
71 #endif				/* FORMULAS_H */
72