The error only occurred on some libc implementations, e.g. on debug
glibc (options -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC).
inline bool cmp_gor1_t::operator()(const clos_t &x, const clos_t &y) const
{
- const kernel_t *k = ctx.dc_kernels[ctx.dc_origin];
const uint32_t xo = x.origin, yo = y.origin;
-
- DASSERT(xo != yo && x.tlook == HROOT && y.tlook == HROOT);
+ if (xo == yo) return false;
// if longest components differ, leftmost already incorporates that
+ const kernel_t *k = ctx.dc_kernels[ctx.dc_origin];
return unpack_leftmost(k->prectbl[xo * k->size + yo]) < 0;
}
template<typename data_t, typename hash_t>
data_t& lookup_t<data_t, hash_t>::operator[](uint32_t idx)
{
+ DASSERT(idx < elems.size());
return elems[idx].data;
}
template<typename data_t, typename hash_t>
const data_t& lookup_t<data_t, hash_t>::operator[](uint32_t idx) const
{
+ DASSERT(idx < elems.size());
return elems[idx].data;
}