23 xmalloc(1 *
sizeof(*field_data_set));
25 field_data_set->
cell = cell_field_data;
26 field_data_set->
vertex = vertex_field_data;
27 field_data_set->
edge = edge_field_data;
29 return field_data_set;
48 "ERROR(yac_field_data_set_get_field_data): invalid location")
61 char const * mask_name) {
66 field_data_set, location), mask, mask_name);
72 size_t count,
char const * mask_name) {
74 int * mask_cpy =
xmalloc(count *
sizeof(*mask_cpy));
75 memcpy(mask_cpy, mask, count *
sizeof(*mask));
77 char * mask_name_cpy =
78 (mask_name != NULL)?strdup(mask_name):NULL;
82 field_data_set, location, mask_cpy,
102 xmalloc(count *
sizeof(*coordinates_cpy));
107 field_data_set, location, coordinates_cpy);
114 free(field_data_set);
void yac_field_data_delete(struct yac_field_data *field_data)
size_t yac_field_data_add_mask_nocpy(struct yac_field_data *field_data, int const *mask, char const *mask_name)
struct yac_field_data * yac_field_data_empty_new()
size_t yac_field_data_add_coordinates_nocpy(struct yac_field_data *field_data, yac_coordinate_pointer coordinates)
struct yac_field_data_set * yac_field_data_set_new(struct yac_field_data *cell_field_data, struct yac_field_data *vertex_field_data, struct yac_field_data *edge_field_data)
void yac_field_data_set_delete(struct yac_field_data_set *field_data_set)
size_t yac_field_data_set_add_mask_nocpy(struct yac_field_data_set *field_data_set, enum yac_location location, int const *mask, char const *mask_name)
struct yac_field_data * yac_field_data_set_get_field_data(struct yac_field_data_set *field_data_set, enum yac_location location)
size_t yac_field_data_set_add_mask(struct yac_field_data_set *field_data_set, enum yac_location location, int const *mask, size_t count, char const *mask_name)
struct yac_field_data_set * yac_field_data_set_empty_new()
size_t yac_field_data_set_add_coordinates(struct yac_field_data_set *field_data_set, enum yac_location location, yac_coordinate_pointer coordinates, size_t count)
size_t yac_field_data_set_add_coordinates_nocpy(struct yac_field_data_set *field_data_set, enum yac_location location, yac_coordinate_pointer coordinates)
struct yac_field_data * cell
struct yac_field_data * edge
struct yac_field_data * vertex
yac_coordinate_pointer * coordinates
#define YAC_ASSERT(exp, msg)
double(* yac_coordinate_pointer)[3]