@@ -234,6 +234,8 @@ class algorithm
234234 INLINE static constexpr void input (buffer_t & buffer, const block_t & block) NOEXCEPT;
235235 INLINE static constexpr void input_left (auto & buffer, const half_t & half) NOEXCEPT;
236236 INLINE static constexpr void input_right (auto & buffer, const half_t & half) NOEXCEPT;
237+ INLINE static constexpr void reinput_left (auto & buffer, const auto & left) NOEXCEPT;
238+ INLINE static constexpr void reinput_right (auto & buffer, const auto & right) NOEXCEPT;
237239 INLINE static constexpr digest_t output (const state_t & state) NOEXCEPT;
238240
239241 // / Padding.
@@ -257,12 +259,6 @@ class algorithm
257259 static constexpr void pad_half (auto & buffer) NOEXCEPT;
258260 static constexpr void pad_n (auto & buffer, count_t blocks) NOEXCEPT;
259261
260- // / Double hashing.
261- // / -----------------------------------------------------------------------
262-
263- static constexpr void reinput_left (auto & buffer, const auto & left) NOEXCEPT;
264- static constexpr void reinput_right (auto & buffer, const auto & right) NOEXCEPT;
265-
266262 // / Iteration (message scheduling vectorized for multiple blocks).
267263 // / -----------------------------------------------------------------------
268264
@@ -386,9 +382,12 @@ class algorithm
386382 xint128_t message) NOEXCEPT;
387383
388384 template <bool Swap>
389- static void native_rounds (xint128_t & lo, xint128_t & hi,
385+ INLINE static void native_rounds (xint128_t & lo, xint128_t & hi,
390386 const block_t & block) NOEXCEPT;
391387
388+ INLINE static void native_rounds (xint128_t & lo, xint128_t & hi,
389+ const half_t & left, const chunk_t & pad) NOEXCEPT;
390+
392391 template <bool Swap>
393392 static void native_transform (state_t & state, const auto & block) NOEXCEPT;
394393 static void native_transform (state_t & state, iblocks_t & blocks) NOEXCEPT;
@@ -409,8 +408,6 @@ class algorithm
409408 static digest_t native_double_hash (const half_t & half) NOEXCEPT;
410409 static digest_t native_double_hash (const half_t & left, const half_t & right) NOEXCEPT;
411410
412-
413-
414411public:
415412 // / Summary public values.
416413 // / -----------------------------------------------------------------------
0 commit comments