Annotate noexcept and constexpr with HEDLEY, and add interval containment, ChaCha, and the dyadic range tables.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ryan Henry 2026-09-24 20:44:07 -06:00
parent 875f09fec1
commit 0d8a5a8131
97 changed files with 9212 additions and 1159 deletions

View file

@ -143,9 +143,11 @@ class parallel_const_bit_iterator
using const_reference = const value_type &;
using pointer = std::add_pointer_t<value_type>;
HEDLEY_NO_THROW
HEDLEY_ALWAYS_INLINE
constexpr
parallel_const_bit_iterator(parallel_const_bit_iterator &&) noexcept = default;
HEDLEY_NO_THROW
HEDLEY_ALWAYS_INLINE
constexpr
parallel_const_bit_iterator(const parallel_const_bit_iterator &) noexcept = default;
@ -273,6 +275,7 @@ class parallel_const_bit_iterator
std::make_index_sequence<batch_size>());
}
HEDLEY_NO_THROW
explicit constexpr parallel_const_bit_iterator(
const word_pointer_array & arr) noexcept
: iter_{arr},
@ -293,7 +296,9 @@ class parallel_const_bit_iterator
simde_type vec_mask_;
simde_array all_vecs_;
HEDLEY_NO_THROW
friend parallel_const_bit_iterator parallel_bit_iterable<batch_size, ChildT>::begin() const noexcept;
HEDLEY_NO_THROW
friend parallel_const_bit_iterator parallel_bit_iterable<batch_size, ChildT>::end() const noexcept;
}; // class dpf::parallel_const_bit_iterator
@ -302,6 +307,7 @@ template <std::size_t N,
typename Iter>
HEDLEY_PURE
HEDLEY_ALWAYS_INLINE
HEDLEY_NO_THROW
auto batch_of(Iter it) noexcept
{
return dpf::parallel_bit_iterable<N, ChildT>{it};
@ -311,6 +317,7 @@ template <typename ChildT,
typename ...Ts>
HEDLEY_PURE
HEDLEY_ALWAYS_INLINE
HEDLEY_NO_THROW
auto batch_of(const dpf::bit_array_base<ChildT> & t, const Ts & ...ts) noexcept
{
return dpf::parallel_bit_iterable<1+sizeof...(Ts), ChildT>{t, ts...};