Document the new DPF surfaces in one command set, and test the field, half-tree, and multipoint edges.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ryan Henry 2026-09-24 23:18:10 -06:00
parent 0d8a5a8131
commit 0dff6df8ed
250 changed files with 12199 additions and 1981 deletions

View file

@ -347,7 +347,11 @@ inline std::int64_t horner(const cubic_bits & piece, unsigned q, std::int64_t ra
} // namespace principal_detail
/// Number of cubic pieces at this fractional width.
/// @brief Number of cubic pieces at this fractional width.
/// @param which the party index
/// @param fractional_bits the number of fractional bits
/// @return Number of cubic pieces at this fractional width
/// @throws std::invalid_argument if `precision must be 8, 12, ..., 32`
inline std::uint16_t principal_parts(principal which, unsigned fractional_bits)
{
if (!principal_precision(fractional_bits))
@ -355,7 +359,13 @@ inline std::uint16_t principal_parts(principal which, unsigned fractional_bits)
return principal_detail::table_for(which, fractional_bits).nparts;
}
/// Evaluate the principal-domain cubic. `raw / 2^fractional_bits` is the input.
/// @brief Evaluate the principal-domain cubic. `raw / 2^fractional_bits` is the input.
/// @param which the party index
/// @param fractional_bits the number of fractional bits
/// @param raw the underlying integer
/// @return the returned `std::int64_t`
/// @throws std::invalid_argument if `precision must be 8, 12, ..., 32`
/// @throws std::out_of_range if `input is below the principal domain`
inline std::int64_t eval_principal(principal which, unsigned fractional_bits, std::int64_t raw)
{
if (!principal_precision(fractional_bits))