aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/grids.h
diff options
context:
space:
mode:
authorJP Appel <jeanpierre.appel01@gmail.com>2024-04-20 18:41:09 -0400
committerJP Appel <jeanpierre.appel01@gmail.com>2024-04-20 18:41:09 -0400
commitaf5c7314b9c27f93047fbc0ce130e1ae2043be72 (patch)
tree7e09870ace4b653fad7082aa7df1cc497821b9a2 /src/grids.h
parentc4a156a82960e1e5f9c36c8061ffc0c981c1a56e (diff)
implemented write_grid and read_grid function
Diffstat (limited to 'src/grids.h')
-rw-r--r--src/grids.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/grids.h b/src/grids.h
index f1581b3..8c9db91 100644
--- a/src/grids.h
+++ b/src/grids.h
@@ -1,18 +1,33 @@
#pragma once
#include <stddef.h>
+#include <stdio.h>
#include <stdbool.h>
+#include <complex.h>
+
+//grid write errors
+#define GRID_NO_DATA 1
+#define GRID_WRITE_ERROR 2
+
+#define GRID_MAGIC_NUMBER 0xA6005E
typedef struct {
size_t x;
size_t y;
size_t size;
+ double complex lower_left;
+ double complex upper_right;
size_t* data;
} grid_t;
-grid_t* create_grid(const size_t x, const size_t y);
-void set_grid(grid_t* grid, const double val);
+grid_t* create_grid(const size_t x, const size_t y, double complex lower_left, double complex upper_right);
+void set_grid(grid_t* grid, const size_t val);
grid_t* copy_grid(const grid_t* grid);
void free_grid(grid_t* grid);
bool grid_equal(const grid_t* grid1, const grid_t* grid2);
bool grid_allclose(const grid_t* grid1, const grid_t* grid2, const size_t max_error);
+
+double complex grid_to_complex(const grid_t* grid, const size_t index);
+
+int write_grid(FILE* restrict file, const grid_t* grid);
+grid_t* read_grid(FILE* restrict file);