diff options
| author | JP Appel <jeanpierre.appel01@gmail.com> | 2024-04-20 18:41:09 -0400 |
|---|---|---|
| committer | JP Appel <jeanpierre.appel01@gmail.com> | 2024-04-20 18:41:09 -0400 |
| commit | af5c7314b9c27f93047fbc0ce130e1ae2043be72 (patch) | |
| tree | 7e09870ace4b653fad7082aa7df1cc497821b9a2 /src/grids.h | |
| parent | c4a156a82960e1e5f9c36c8061ffc0c981c1a56e (diff) | |
implemented write_grid and read_grid function
Diffstat (limited to 'src/grids.h')
| -rw-r--r-- | src/grids.h | 19 |
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); |
