Exemplo n.º 1
0
void biosal_assembly_vertex_init(struct biosal_assembly_vertex *self)
{
    self->coverage_depth = 0;

    CORE_BITMAP_CLEAR_FLAGS(self->flags);

    biosal_assembly_vertex_clear_flag(self, BIOSAL_VERTEX_FLAG_USED_BY_WALKER);
    biosal_assembly_vertex_clear_flag(self, BIOSAL_VERTEX_FLAG_TIP);
    biosal_assembly_vertex_clear_flag(self, BIOSAL_VERTEX_FLAG_BUBBLE);
    biosal_assembly_vertex_clear_flag(self, BIOSAL_VERTEX_FLAG_VISITED);
    biosal_assembly_vertex_clear_flag(self, BIOSAL_VERTEX_FLAG_UNITIG);
    biosal_assembly_vertex_clear_flag(self, BIOSAL_VERTEX_FLAG_PROCESSED_BY_VISITOR);

    biosal_assembly_vertex_set_last_actor(self, THORIUM_ACTOR_NOBODY, -1);

    biosal_assembly_connectivity_init(&self->connectivity);
}
Exemplo n.º 2
0
void biosal_assembly_graph_store_mark_as_used(struct thorium_actor *self,
                struct biosal_assembly_vertex *vertex, int source, int path)
{
    struct biosal_assembly_graph_store *concrete_self;

    CORE_DEBUGGER_ASSERT(source >= 0);
    CORE_DEBUGGER_ASSERT(path >= 0);

    concrete_self = thorium_actor_concrete_actor(self);

    if (!biosal_assembly_vertex_get_flag(vertex, BIOSAL_VERTEX_FLAG_USED)) {
        biosal_assembly_vertex_set_flag(vertex, BIOSAL_VERTEX_FLAG_USED);
        ++concrete_self->consumed_canonical_vertex_count;
        biosal_assembly_graph_store_print_progress(self);
    }

#if 0
    printf("%s set last_actor %d last_path_index %d\n",
                    thorium_actor_script_name(self),
                    source, path);
#endif

    biosal_assembly_vertex_set_last_actor(vertex, source, path);
}