aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/serial-fractals.c
diff options
context:
space:
mode:
authorJP Appel <jeanpierre.appel01@gmail.com>2024-04-25 19:24:49 -0400
committerJP Appel <jeanpierre.appel01@gmail.com>2024-04-25 19:24:49 -0400
commitf15d4cdb413d2fe28ff20cfccb784cf739aad8e6 (patch)
treef7b61e3eb8beb4536118471a72ce59c0a242ddfa /src/serial-fractals.c
parent4d11db63f237423036f7daa41a1213ddcf30d532 (diff)
added help and allow changing of fractal at runtime
Diffstat (limited to 'src/serial-fractals.c')
-rw-r--r--src/serial-fractals.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/serial-fractals.c b/src/serial-fractals.c
index 72fb205..ee55b3b 100644
--- a/src/serial-fractals.c
+++ b/src/serial-fractals.c
@@ -22,7 +22,7 @@ size_t mandelbrot(const CBASE complex z0, const size_t max_iterations) {
/*
* Fills a grid with mandelbrot values
*/
-void mandelbrot_grid(grid_t* grid){
+void mandelbrot_grid(grid_t* grid, const grid_gen_params* params){
const size_t size = grid->size;
const size_t max_iterations = grid->max_iterations;
size_t* data = grid->data;
@@ -50,7 +50,7 @@ size_t tricorn(const CBASE complex z0, const size_t max_iterations){
/*
* Fills a grid with tricorn values
*/
-void tricorn_grid(grid_t* grid){
+void tricorn_grid(grid_t* grid, const grid_gen_params* params){
const size_t size = grid->size;
const size_t max_iterations = grid->max_iterations;
size_t* data = grid->data;
@@ -80,7 +80,7 @@ size_t burning_ship(const CBASE complex z0, const size_t max_iterations) {
/*
* Fills a grid with burning_ship values
*/
-void burning_ship_grid(grid_t* grid){
+void burning_ship_grid(grid_t* grid, const grid_gen_params* params){
const size_t size = grid->size;
const size_t max_iterations = grid->max_iterations;
size_t* data = grid->data;
@@ -109,7 +109,8 @@ size_t multibrot(const CBASE complex z0, const size_t max_iterations, const doub
/*
* Fills a grid with multibrot values
*/
-void multibrot_grid(grid_t* grid, const double d){
+void multibrot_grid(grid_t* grid, const grid_gen_params* params){
+ const double d = params->degree;
const size_t size = grid->size;
const size_t max_iterations = grid->max_iterations;
size_t* data = grid->data;
@@ -136,7 +137,8 @@ size_t multicorn(const CBASE complex z0, const size_t max_iterations, const doub
/*
* Fills a grid with multicorn values
*/
-void multicorn_grid(grid_t* grid, const double d){
+void multicorn_grid(grid_t* grid, const grid_gen_params* params){
+ const double d = params->degree;
const size_t size = grid->size;
const size_t max_iterations = grid->max_iterations;
size_t* data = grid->data;
@@ -162,12 +164,14 @@ size_t julia(const CBASE complex z0, const CBASE complex c, const size_t max_ite
return iteration;
}
-void julia_grid(grid_t* grid, const complex_t constant, const double R){
+void julia_grid(grid_t* grid, const grid_gen_params* params){
+ const complex_t constant = params->cr.constant;
+ const double radius = params->cr.radius;
const size_t size = grid->size;
const size_t max_iterations = grid->max_iterations;
const CBASE complex c = constant.re + constant.im * I;
size_t* data = grid->data;
for(size_t i = 0; i <size; i++){
- data[i] = julia(grid_to_complex(grid, i), c, max_iterations, R);
+ data[i] = julia(grid_to_complex(grid, i), c, max_iterations, radius);
}
}