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

@ -14,7 +14,13 @@ auto recon(const A & a, const B & b)
&& dpf::is_secret_share_v<std::decay_t<B>>)
return dpf::reconstruct(a, b);
else
return a - b;
{
using T = std::common_type_t<std::decay_t<A>, std::decay_t<B>>;
if constexpr (std::is_integral_v<T> && std::is_unsigned_v<T>)
return static_cast<T>(a - b);
else
return a - b;
}
}
} // namespace
@ -128,7 +134,11 @@ TYPED_TEST_P(EvalPointMultiTest, Basic)
for (auto [x, y0, y1, y2, y3] : this->params)
{
auto [dpf0, dpf1] = dpf::make_dpf(x, y0, y1, y2, y3);
auto _keys = dpf::make_dpf(x, y0, y1, y2, y3);
auto & dpf0 = std::get<0>(_keys);
auto & dpf1 = std::get<1>(_keys);
this->assert_wrapper(x, y0, y1, y2, y3,
[&dpf0](input_type cur)
@ -152,7 +162,11 @@ TYPED_TEST_P(EvalPointMultiTest, BasicPathMemoizer)
for (auto [x, y0, y1, y2, y3] : this->params)
{
auto [dpf0, dpf1] = dpf::make_dpf(x, y0, y1, y2, y3);
auto _keys = dpf::make_dpf(x, y0, y1, y2, y3);
auto & dpf0 = std::get<0>(_keys);
auto & dpf1 = std::get<1>(_keys);
this->assert_wrapper(x, y0, y1, y2, y3,
[&dpf0, &memo0](input_type cur)
@ -176,7 +190,11 @@ TYPED_TEST_P(EvalPointMultiTest, NonmemoizingPathMemoizer)
for (auto [x, y0, y1, y2, y3] : this->params)
{
auto [dpf0, dpf1] = dpf::make_dpf(x, y0, y1, y2, y3);
auto _keys = dpf::make_dpf(x, y0, y1, y2, y3);
auto & dpf0 = std::get<0>(_keys);
auto & dpf1 = std::get<1>(_keys);
this->assert_wrapper(x, y0, y1, y2, y3,
[&dpf0, &memo0](input_type cur)
@ -222,6 +240,13 @@ using Types = testing::Types
test_type<uint16_t, dpf::bitstring<150>>,
test_type<uint16_t, dpf::xor_wrapper<int64_t>>,
test_type<uint16_t, dpf::xor_wrapper<uint64_t>>,
test_type<uint16_t, dpf::gf2>,
test_type<uint16_t, dpf::gf22>,
test_type<uint16_t, dpf::gf24>,
test_type<uint16_t, dpf::gf28>,
test_type<uint16_t, dpf::gf216>,
test_type<uint16_t, dpf::gf232>,
test_type<uint16_t, dpf::gf264>,
// custom types
test_type<custom_input_type, uint64_t>,