#define RADIUS 2.
#define PART_SIZE 80
#define PARTS_IN_SIDE 8
#define POINTS_IN_SIDE (PARTS_IN_SIDE*PART_SIZE)
#define TOTAL_PARTS (PARTS_IN_SIDE*PARTS_IN_SIDE)
#define TOTAL_POINTS (TOTAL_PARTS*PART_SIZE*PART_SIZE)
#define PART_STEP (2*RADIUS/PARTS_IN_SIDE)
#define BEGIN (-RADIUS)
#define STEP (PART_STEP/PART_SIZE)
#define MAX_ITERATION 4096
typedef __complex__ float Complex;
inline Complex f(Complex _z, Complex _param) {
static const double t = 0.1;
static const Complex rot = CC(cos(t),sin(t));
Complex z2, z5;
_z *= rot;
z2 = _z * _z;
z5 = z2 * z2 * _z;
return _z -
_param * 0.015 * (z5 * z2 + 1./z5 + _z + .1/_z);
}
struct part {
unsigned short iter[PART_SIZE][PART_SIZE];
};
void gtk_draw_part(int, int, struct part const*);
void gtk_init_table();
void gtk_wait();