14#define TO_POINTER(a) (to_pointer(&a, sizeof(a)))
26 double lon_a,
double lat_a,
double lon_b,
double lat_b,
28 double lon_c,
double lat_c,
double lon_d,
double lat_d,
29 double * intersection);
37 char const * grid_name);
enum yac_edge_type * edge_type
struct yac_grid_cell generate_cell_rad(double *lon, double *lat, enum yac_edge_type *edge_type, size_t num_corners)
void * to_pointer(void *data, size_t size_data)
int double_are_unequal(double a, double b)
struct yac_grid_cell generate_cell_3d(yac_coordinate_pointer coords, enum yac_edge_type *edge_type, size_t num_corners)
struct yac_grid_cell generate_cell_deg(double *lon, double *lat, enum yac_edge_type *edge_type, size_t num_corners)
int intersect(enum yac_edge_type edge_type_a, double lon_a, double lat_a, double lon_b, double lat_b, enum yac_edge_type edge_type_b, double lon_c, double lat_c, double lon_d, double lat_d, double *intersection)
void set_even_io_rank_list(MPI_Comm comm)
int double_are_equal(double a, double b)
void check_basic_grid_data(struct yac_basic_grid_data grid_a, struct yac_basic_grid_data grid_b, char const *grid_name)
double(* yac_coordinate_pointer)[3]