star-enclosures-2d

Extract enclosures from 2D geometry
git clone git://git.meso-star.fr/star-enclosures-2d.git
Log | Files | Refs | README | LICENSE

commit 10558d205b15530f9e521bde7d73e77c02e60929
parent 4aa735f981fce6d15d523b6bc29bdff9ee8a56f3
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Wed, 11 Apr 2018 14:24:19 +0200

Fix compilation errors and warnings on GCC

Diffstat:
Msrc/senc2d_scene_analyze.c | 60++++++++++++++++++++++++++++++------------------------------
Msrc/test_senc2d_utils.h | 6++++--
2 files changed, 34 insertions(+), 32 deletions(-)

diff --git a/src/senc2d_scene_analyze.c b/src/senc2d_scene_analyze.c @@ -696,35 +696,35 @@ group_connex_components tmp_res = darray_enclosure_resize(&desc->enclosures, desc->enclosures_count); if(tmp_res != RES_OK) { *res = tmp_res; - return; - } - FOR_EACH(ccc, 0, cc_count) { - component_id_t c = (component_id_t)ccc; - struct cc_descriptor* const cc = descriptors[c]; - const struct cc_descriptor* other_desc = cc; - struct enclosure_data* enclosures - = darray_enclosure_data_get(&desc->enclosures); - component_id_t fst; - - while(other_desc->enclosure_id == CC_GROUP_ID_NONE) { - other_desc = *(darray_ptr_component_descriptor_cdata_get(connex_components) - + other_desc->cc_group_root); + } else { + FOR_EACH(ccc, 0, cc_count) { + component_id_t c = (component_id_t)ccc; + struct cc_descriptor* const cc = descriptors[c]; + const struct cc_descriptor* other_desc = cc; + struct enclosure_data* enclosures + = darray_enclosure_data_get(&desc->enclosures); + component_id_t fst; + + while(other_desc->enclosure_id == CC_GROUP_ID_NONE) { + other_desc = *(darray_ptr_component_descriptor_cdata_get(connex_components) + + other_desc->cc_group_root); + } + ASSERT(other_desc->cc_group_root != CC_GROUP_ROOT_NONE); + ASSERT(other_desc->enclosure_id != CC_GROUP_ID_NONE); + ASSERT(cc->medium == other_desc->medium); + cc->cc_group_root = other_desc->cc_group_root; + cc->enclosure_id = other_desc->enclosure_id; + ++enclosures[cc->enclosure_id].cc_count; + /* Linked list of componnents */ + fst = enclosures[cc->enclosure_id].first_component; + cc->enclosure_next_component = fst; + enclosures[cc->enclosure_id].first_component = cc->cc_id; + enclosures[cc->enclosure_id].side_range.first + = MMIN(enclosures[cc->enclosure_id].side_range.first, cc->side_range.first); + enclosures[cc->enclosure_id].side_range.last + = MMAX(enclosures[cc->enclosure_id].side_range.last, cc->side_range.last); + enclosures[cc->enclosure_id].side_count += cc->side_count; } - ASSERT(other_desc->cc_group_root != CC_GROUP_ROOT_NONE); - ASSERT(other_desc->enclosure_id != CC_GROUP_ID_NONE); - ASSERT(cc->medium == other_desc->medium); - cc->cc_group_root = other_desc->cc_group_root; - cc->enclosure_id = other_desc->enclosure_id; - ++enclosures[cc->enclosure_id].cc_count; - /* Linked list of componnents */ - fst = enclosures[cc->enclosure_id].first_component; - cc->enclosure_next_component = fst; - enclosures[cc->enclosure_id].first_component = cc->cc_id; - enclosures[cc->enclosure_id].side_range.first - = MMIN(enclosures[cc->enclosure_id].side_range.first, cc->side_range.first); - enclosures[cc->enclosure_id].side_range.last - = MMAX(enclosures[cc->enclosure_id].side_range.last, cc->side_range.last); - enclosures[cc->enclosure_id].side_count += cc->side_count; } } /* Implicit barrier here */ @@ -837,7 +837,7 @@ collect_and_link_neighbours seg_in->vertice_id[(neighbour_info->common_vertex_rank + 1) % 2]; if(vertices[other_vrtx].pos.y > vertices[common_vrtx].pos.y) { max_y = vertices[other_vrtx].pos.y; - max_y_vrank = 1 - neighbour_info->common_vertex_rank; + max_y_vrank = (unsigned char)(1 - neighbour_info->common_vertex_rank); } else { max_y = vertices[common_vrtx].pos.y; max_y_vrank = neighbour_info->common_vertex_rank; @@ -1209,7 +1209,7 @@ senc2d_scene_analyze * released / data produced by step 4 cannot be used * until next sync point */ - if(res, res != RES_OK) { + if(res != RES_OK) { #pragma omp single nowait { log_err(scn->dev, "%s: could not build result.\n", FUNC_NAME); diff --git a/src/test_senc2d_utils.h b/src/test_senc2d_utils.h @@ -189,7 +189,8 @@ check_memory_allocator(struct mem_allocator* allocator) /******************************************************************************* * Circle functions ******************************************************************************/ -void create_circle +static INLINE void +create_circle (const double radius, const unsigned nslices, struct context* ctx) @@ -216,7 +217,8 @@ void create_circle } } -void circle_release(struct context* ctx) +static INLINE void +circle_release(struct context* ctx) { ASSERT(ctx); sa_release(ctx->positions);