aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/fractals.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/fractals.h')
-rw-r--r--src/fractals.h30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/fractals.h b/src/fractals.h
index 2262d82..611e4e6 100644
--- a/src/fractals.h
+++ b/src/fractals.h
@@ -6,30 +6,30 @@
#include "grids.h"
#include "precision.h"
-enum fractal {
- MANDELBROT, // IMPLEMENTED IN SERIAL SHARED
- TRICORN, // IMPLEMENTED IN SERIAL SHARED
- MULTIBROT, // IMPLEMENTED IN SERIAL SHARED
- MULTICORN, // IMPLEMENTED IN SERIAL SHARED
- BURNING_SHIP, // IMPLEMENTED IN SERIAL SHARED
- //NEWTON, // MIGHT NEVER BE IMPLEMENTED, REQUIRES SPECIAL COLORING
- JULIA // IMPLEMENTED IN SERIAL SHARED
-};
+typedef union {
+ CBASE degree;
+ struct {
+ complex_t constant;
+ double radius;
+ } cr ;
+} grid_gen_params ;
+
+typedef void (*fractal_generator)(grid_t* , const grid_gen_params* );
size_t mandelbrot(const CBASE complex z0, const size_t max_iterations);
-void mandelbrot_grid(grid_t* grid);
+void mandelbrot_grid(grid_t* grid, const grid_gen_params* params);
size_t tricorn(const CBASE complex z0, const size_t max_iterations);
-void tricorn_grid(grid_t* grid);
+void tricorn_grid(grid_t* grid, const grid_gen_params* params);
size_t burning_ship(const CBASE complex z0, const size_t max_iterations);
-void burning_ship_grid(grid_t* grid);
+void burning_ship_grid(grid_t* grid, const grid_gen_params* params);
size_t multibrot(const CBASE complex z0, const size_t max_iterations, const double d);
-void multibrot_grid(grid_t* grid, const double d);
+void multibrot_grid(grid_t* grid, const grid_gen_params* params);
size_t multicorn(const CBASE complex z0, const size_t max_iterations, const double d);
-void multicorn_grid(grid_t* grid, const double d);
+void multicorn_grid(grid_t* grid, const grid_gen_params* params);
size_t julia(const CBASE complex z0, const CBASE complex c, const size_t max_iterations, const double R);
-void julia_grid(grid_t* grid, const complex_t c, const double R);
+void julia_grid(grid_t* grid, const grid_gen_params* params);