void threadFunc(int threadNum, void* param) { Result* result = (Result*) param; LWLOG("Begin loop", threadNum); if (!result->plugin->DoThread(threadNum, &result->params)) mint_store_32_relaxed(&result->failed, 1); LWLOG("End loop", threadNum); }
void addKmer(InternalKmer key) override { InternalKmer value = 1; if (key == 0) { return; } assert(key != 0); assert(value != 0); for (uint32_t idx = integerHash(key);; idx++) { idx &= m_total_set_size - 1; uint32_t prevKey = mint_compare_exchange_strong_32_relaxed(&m_entries[idx].key, 0, key); if ((prevKey == 0) || (prevKey == key)) { mint_store_32_relaxed(&m_entries[idx].value, value); return; } } }