From 627f4641269d273f3bbf76e679381924115aaf16 Mon Sep 17 00:00:00 2001 From: JP Appel Date: Sat, 20 Apr 2024 03:01:37 -0400 Subject: moved lattice to complex --- src/fractals.c | 21 --------------------- src/util.c | 22 ++++++++++++++++++++++ src/util.h | 12 ++++++++++++ 3 files changed, 34 insertions(+), 21 deletions(-) create mode 100644 src/util.c create mode 100644 src/util.h (limited to 'src') diff --git a/src/fractals.c b/src/fractals.c index 1e27b9c..3c131f3 100644 --- a/src/fractals.c +++ b/src/fractals.c @@ -9,27 +9,6 @@ #include "fractals.h" -/* - * Converts a grid point into an complex number - */ -double complex lattice_to_complex(const size_t index, const size_t x_res, const size_t y_res) { - const double x_min = -2.0; - const double x_max = 2.0; - const double y_min = -2.0; - const double y_max = 2.0; - - const double x_step = (x_max - x_min) / (double)x_res; - const double y_step = (y_max - y_min) / (double)y_res; - - const size_t x_index = index % x_res; - const size_t y_index = index / x_res; - - const double x = x_min + x_index * x_step; - const double y = y_min + y_index * y_step; - - return x + y * I; -} - int main(const int argc, char *argv[]) { //default values diff --git a/src/util.c b/src/util.c new file mode 100644 index 0000000..b76da0b --- /dev/null +++ b/src/util.c @@ -0,0 +1,22 @@ +#include "util.h" + +/* + * Converts a grid point into an complex number + */ +double complex lattice_to_complex(const size_t index, const vec2 resolution) { + const double x_min = -2.0; + const double x_max = 2.0; + const double y_min = -2.0; + const double y_max = 2.0; + + const double x_step = (x_max - x_min) / (double)resolution.x; + const double y_step = (y_max - y_min) / (double)resolution.y; + + const size_t x_index = index % resolution.x; + const size_t y_index = index / resolution.x; + + const double x = x_min + x_index * x_step; + const double y = y_min + y_index * y_step; + + return x + y * I; +} diff --git a/src/util.h b/src/util.h new file mode 100644 index 0000000..798b73b --- /dev/null +++ b/src/util.h @@ -0,0 +1,12 @@ +#pragma once + +#include +#include + +typedef struct { + size_t x; + size_t y; +} vec2; + +double complex lattice_to_complex(const size_t index, const vec2 resolution); + -- cgit v1.2.3