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:
parent
695f8e84f7
commit
0d22946a0e
1835 changed files with 170291 additions and 2849 deletions
|
|
@ -34,6 +34,10 @@ namespace dpf
|
|||
|
||||
/// @brief represents an unsigned integer modulo `2^Nbits` for small values of `Nbits`
|
||||
/// @tparam Nbits width in bits
|
||||
/// @note Domain widths 1, 2, and 4 are this type or `dpf::xint`, not
|
||||
/// `dpf::bit` / `dpf::twobit` / `dpf::nyble`.
|
||||
/// @see dpf::xint
|
||||
/// @see dpf::modints::modintN_t
|
||||
template <std::size_t Nbits>
|
||||
class modint
|
||||
{
|
||||
|
|
@ -831,6 +835,12 @@ struct mod_pow_2<dpf::modint<Nbits>>
|
|||
namespace modints
|
||||
{
|
||||
|
||||
/// @name modintN_t
|
||||
/// @{
|
||||
|
||||
/// @brief `modintN_t` is `dpf::modint<N>` for N from 1 through 256.
|
||||
/// @see dpf::modint
|
||||
/// @see dpf::xint
|
||||
// 1--9
|
||||
using modint1_t = dpf::modint<1>;
|
||||
using modint2_t = dpf::modint<2>;
|
||||
|
|
@ -1114,6 +1124,8 @@ using modint254_t = dpf::modint<254>;
|
|||
using modint255_t = dpf::modint<255>;
|
||||
using modint256_t = dpf::modint<256>;
|
||||
|
||||
/// @}
|
||||
|
||||
namespace literals = dpf::literals::modints;
|
||||
|
||||
} // namespace modints
|
||||
|
|
@ -1124,6 +1136,11 @@ namespace literals
|
|||
namespace modints
|
||||
{
|
||||
|
||||
/// @name modint literals `N_uN`
|
||||
/// @{
|
||||
|
||||
/// @brief Decimal literal for `dpf::modint<N>`. Widths through 64 take an integer; wider widths take a digit string.
|
||||
/// @see dpf::modints::modintN_t
|
||||
// 1--9
|
||||
constexpr static auto operator "" _u1(unsigned long long int x) { return dpf::modints::modint1_t{static_cast<psnip_uint8_t>(x)}; }
|
||||
constexpr static auto operator "" _u2(unsigned long long int x) { return dpf::modints::modint2_t{static_cast<psnip_uint8_t>(x)}; }
|
||||
|
|
@ -1408,6 +1425,8 @@ template <char ...digits> constexpr static auto operator "" _u254() { utils::con
|
|||
template <char ...digits> constexpr static auto operator "" _u255() { utils::constexpr_maybe_throw<std::runtime_error>(!(std::isdigit(digits) && ...), "invalid char"); uint256_t x{0}; ((x = x * 10 + (digits - '0')), ...); return dpf::modints::modint255_t{x}; }
|
||||
template <char ...digits> constexpr static auto operator "" _u256() { utils::constexpr_maybe_throw<std::runtime_error>(!(std::isdigit(digits) && ...), "invalid char"); uint256_t x{0}; ((x = x * 10 + (digits - '0')), ...); return dpf::modints::modint256_t{x}; }
|
||||
|
||||
/// @}
|
||||
|
||||
} // namespace modints
|
||||
|
||||
} // namespace literals
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue