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); }
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); }