Checkpoint the party/runtime stack before share-program and malicious-mode work.

Ship the TLS mesh, composer, Beaver/Yao/leaf MPC, prep/online paths, apps, and docs so the tree is pushable before elevating share_expr, security_mode, and prep resume.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ryan Henry 2026-09-28 05:59:19 -06:00
parent 695f8e84f7
commit 0d22946a0e
1835 changed files with 170291 additions and 2849 deletions

View file

@ -348,10 +348,12 @@ inline std::int64_t horner(const cubic_bits & piece, unsigned q, std::int64_t ra
} // namespace principal_detail
/// @brief Number of cubic pieces at this fractional width.
/// @param which the party index
/// @param which the principal map, not a 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`
/// \complexity One table lookup of `nparts`. `Θ(1)`.
/// @see grotto::eval_principal
inline std::uint16_t principal_parts(principal which, unsigned fractional_bits)
{
if (!principal_precision(fractional_bits))
@ -360,12 +362,16 @@ inline std::uint16_t principal_parts(principal which, unsigned fractional_bits)
}
/// @brief Evaluate the principal-domain cubic. `raw / 2^fractional_bits` is the input.
/// @param which the party index
/// @param which the principal map, not a 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`
/// \complexity `piece_index` binary-searches `nparts` knots, then `horner` loops the four cubic coefficients (`i` from 3 down to 0).
/// Time `Θ(log P)` knot comparisons plus `Θ(1)` arithmetic, `P = principal_parts(which, fractional_bits)`. Extra space `Θ(1)`.
/// @see grotto::eval_reduced
/// @see grotto::eval_window
inline std::int64_t eval_principal(principal which, unsigned fractional_bits, std::int64_t raw)
{
if (!principal_precision(fractional_bits))