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

@ -16,7 +16,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
@ -110,7 +116,11 @@ TYPED_TEST_P(EvalPointTest, Basic)
for (auto [x, y] : this->params)
{
auto [dpf0, dpf1] = dpf::make_dpf(x, y);
auto _keys = dpf::make_dpf(x, y);
auto & dpf0 = std::get<0>(_keys);
auto & dpf1 = std::get<1>(_keys);
this->assert_wrapper(x, y,
[&dpf0](input_type cur)
@ -131,7 +141,11 @@ TYPED_TEST_P(EvalPointTest, BasicPathMemoizer)
for (auto [x, y] : this->params)
{
auto [dpf0, dpf1] = dpf::make_dpf(x, y);
auto _keys = dpf::make_dpf(x, y);
auto & dpf0 = std::get<0>(_keys);
auto & dpf1 = std::get<1>(_keys);
using key0_t = std::decay_t<decltype(dpf0)>;
using key1_t = std::decay_t<decltype(dpf1)>;
auto memo0 = dpf::make_basic_path_memoizer<key0_t>(),
@ -156,7 +170,11 @@ TYPED_TEST_P(EvalPointTest, NonmemoizingPathMemoizer)
for (auto [x, y] : this->params)
{
auto [dpf0, dpf1] = dpf::make_dpf(x, y);
auto _keys = dpf::make_dpf(x, y);
auto & dpf0 = std::get<0>(_keys);
auto & dpf1 = std::get<1>(_keys);
using key0_t = std::decay_t<decltype(dpf0)>;
using key1_t = std::decay_t<decltype(dpf1)>;
auto memo0 = dpf::make_nonmemoizing_path_memoizer<key0_t>(),
@ -206,6 +224,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>,