|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <uint256.hpp>
Public Member Functions | |
| constexpr | uint256_t (const uint64_t a=0) noexcept |
| constexpr | uint256_t (const uint64_t a, const uint64_t b, const uint64_t c, const uint64_t d) noexcept |
| constexpr | uint256_t (const uint256_t &other) noexcept |
| constexpr | uint256_t (uint256_t &&other) noexcept=default |
| constexpr | uint256_t (std::string input) noexcept |
| constexpr uint256_t & | operator= (const uint256_t &other) noexcept=default |
| constexpr uint256_t & | operator= (uint256_t &&other) noexcept=default |
| constexpr | ~uint256_t () noexcept=default |
| constexpr | operator bool () const |
| constexpr | operator uint128_t () |
| template<std::integral T> | |
| constexpr | operator T () const |
| constexpr bool | get_bit (uint64_t bit_index) const |
| constexpr uint64_t | get_msb () const |
| constexpr uint256_t | slice (uint64_t start, uint64_t end) const |
| constexpr uint256_t | pow (const uint256_t &exponent) const |
| constexpr uint256_t | operator+ (const uint256_t &other) const |
| constexpr uint256_t | operator- (const uint256_t &other) const |
| constexpr uint256_t | operator- () const |
| constexpr uint256_t | operator* (const uint256_t &other) const |
| constexpr uint256_t | operator/ (const uint256_t &other) const |
| constexpr uint256_t | operator% (const uint256_t &other) const |
| constexpr uint256_t | operator>> (const uint256_t &other) const |
| constexpr uint256_t | operator<< (const uint256_t &other) const |
| constexpr uint256_t | operator& (const uint256_t &other) const |
| constexpr uint256_t | operator^ (const uint256_t &other) const |
| constexpr uint256_t | operator| (const uint256_t &other) const |
| constexpr uint256_t | operator~ () const |
| constexpr bool | operator== (const uint256_t &other) const |
| constexpr bool | operator!= (const uint256_t &other) const |
| constexpr bool | operator! () const |
| constexpr bool | operator> (const uint256_t &other) const |
| constexpr bool | operator< (const uint256_t &other) const |
| constexpr bool | operator>= (const uint256_t &other) const |
| constexpr bool | operator<= (const uint256_t &other) const |
| constexpr uint256_t & | operator+= (const uint256_t &other) |
| constexpr uint256_t & | operator-= (const uint256_t &other) |
| constexpr uint256_t & | operator*= (const uint256_t &other) |
| constexpr uint256_t & | operator/= (const uint256_t &other) |
| constexpr uint256_t & | operator%= (const uint256_t &other) |
| constexpr uint256_t & | operator++ () |
| constexpr uint256_t & | operator-- () |
| constexpr uint256_t & | operator&= (const uint256_t &other) |
| constexpr uint256_t & | operator^= (const uint256_t &other) |
| constexpr uint256_t & | operator|= (const uint256_t &other) |
| constexpr uint256_t & | operator>>= (const uint256_t &other) |
| constexpr uint256_t & | operator<<= (const uint256_t &other) |
| constexpr std::pair< uint256_t, uint256_t > | mul_extended (const uint256_t &other) const |
| Compute the result of multiplication modulu 2**512. | |
| constexpr std::pair< uint256_t, uint256_t > | divmod (const uint256_t &b) const |
| size_t | hash () const noexcept |
| void | msgpack_pack (auto &packer) const |
| void | msgpack_unpack (auto o) |
| void | msgpack_schema (auto &packer) const |
Static Public Member Functions | |
| static constexpr uint256_t | from_uint128 (const uint128_t a) noexcept |
| static constexpr size_t | length () |
Public Attributes | |
| uint64_t | data [4] |
Static Private Member Functions | |
| static constexpr std::pair< uint64_t, uint64_t > | mul_wide (uint64_t a, uint64_t b) |
| static constexpr std::pair< uint64_t, uint64_t > | addc (uint64_t a, uint64_t b, uint64_t carry_in) |
| static constexpr uint64_t | addc_discard_hi (uint64_t a, uint64_t b, uint64_t carry_in) |
| static constexpr uint64_t | sbb_discard_hi (uint64_t a, uint64_t b, uint64_t borrow_in) |
| static constexpr std::pair< uint64_t, uint64_t > | sbb (uint64_t a, uint64_t b, uint64_t borrow_in) |
| static constexpr uint64_t | mac_discard_hi (uint64_t a, uint64_t b, uint64_t c, uint64_t carry_in) |
| static constexpr std::pair< uint64_t, uint64_t > | mac (uint64_t a, uint64_t b, uint64_t c, uint64_t carry_in) |
| static constexpr void | wasm_madd (const uint64_t &left_limb, const uint64_t *right_limbs, uint64_t &result_0, uint64_t &result_1, uint64_t &result_2, uint64_t &result_3, uint64_t &result_4, uint64_t &result_5, uint64_t &result_6, uint64_t &result_7, uint64_t &result_8) |
| Multiply one limb by 9 limbs and add to resulting limbs. | |
| static constexpr std::array< uint64_t, WASM_NUM_LIMBS > | wasm_convert (const uint64_t *data) |
| Convert from 4 64-bit limbs to 9 29-bit limbs. | |
Definition at line 32 of file uint256.hpp.
|
inlineconstexprnoexcept |
Definition at line 39 of file uint256.hpp.
|
inlineconstexprnoexcept |
Definition at line 43 of file uint256.hpp.
|
inlineconstexprnoexcept |
Definition at line 47 of file uint256.hpp.
|
constexprdefaultnoexcept |
|
inlineexplicitconstexprnoexcept |
Definition at line 52 of file uint256.hpp.
|
constexprdefaultnoexcept |
|
staticconstexprprivate |
Definition at line 31 of file uint256_impl.hpp.
|
staticconstexprprivate |
Definition at line 40 of file uint256_impl.hpp.
|
constexpr |
Definition at line 128 of file uint256_impl.hpp.
|
inlinestaticconstexprnoexcept |
Definition at line 94 of file uint256.hpp.
|
constexpr |
Definition at line 319 of file uint256_impl.hpp.
|
constexpr |
Definition at line 330 of file uint256_impl.hpp.
|
inlinenoexcept |
Definition at line 211 of file uint256.hpp.
|
inlinestaticconstexpr |
Definition at line 139 of file uint256.hpp.
|
staticconstexprprivate |
Definition at line 61 of file uint256_impl.hpp.
|
staticconstexprprivate |
Definition at line 75 of file uint256_impl.hpp.
| void bb::numeric::uint256_t::msgpack_pack | ( | auto & | packer | ) | const |
Definition at line 630 of file uint256_impl.hpp.
|
inline |
Definition at line 216 of file uint256.hpp.
| void bb::numeric::uint256_t::msgpack_unpack | ( | auto | o | ) |
Definition at line 643 of file uint256_impl.hpp.
|
constexpr |
Compute the result of multiplication modulu 2**512.
Definition at line 180 of file uint256_impl.hpp.
|
staticconstexprprivate |
Definition at line 13 of file uint256_impl.hpp.
|
inlineexplicitconstexpr |
Definition at line 103 of file uint256.hpp.
|
inlineexplicitconstexpr |
Definition at line 106 of file uint256.hpp.
|
inlineexplicitconstexpr |
Definition at line 105 of file uint256.hpp.
|
constexpr |
Definition at line 504 of file uint256_impl.hpp.
|
constexpr |
Definition at line 499 of file uint256_impl.hpp.
Definition at line 469 of file uint256_impl.hpp.
Definition at line 161 of file uint256.hpp.
Definition at line 474 of file uint256_impl.hpp.
Definition at line 178 of file uint256.hpp.
Definition at line 363 of file uint256_impl.hpp.
Definition at line 151 of file uint256.hpp.
Definition at line 339 of file uint256_impl.hpp.
|
inlineconstexpr |
Definition at line 167 of file uint256.hpp.
Definition at line 141 of file uint256.hpp.
|
constexpr |
Definition at line 358 of file uint256_impl.hpp.
Definition at line 348 of file uint256_impl.hpp.
|
inlineconstexpr |
Definition at line 172 of file uint256.hpp.
Definition at line 146 of file uint256.hpp.
Definition at line 464 of file uint256_impl.hpp.
Definition at line 156 of file uint256.hpp.
|
constexpr |
Definition at line 524 of file uint256_impl.hpp.
Definition at line 582 of file uint256_impl.hpp.
|
inlineconstexpr |
Definition at line 199 of file uint256.hpp.
|
constexpr |
Definition at line 529 of file uint256_impl.hpp.
|
constexprdefaultnoexcept |
|
constexprdefaultnoexcept |
|
constexpr |
Definition at line 494 of file uint256_impl.hpp.
|
constexpr |
Definition at line 509 of file uint256_impl.hpp.
|
constexpr |
Definition at line 519 of file uint256_impl.hpp.
Definition at line 534 of file uint256_impl.hpp.
|
inlineconstexpr |
Definition at line 194 of file uint256.hpp.
Definition at line 479 of file uint256_impl.hpp.
Definition at line 183 of file uint256.hpp.
Definition at line 484 of file uint256_impl.hpp.
Definition at line 188 of file uint256.hpp.
|
constexpr |
Definition at line 489 of file uint256_impl.hpp.
Definition at line 299 of file uint256_impl.hpp.
|
staticconstexprprivate |
Definition at line 45 of file uint256_impl.hpp.
|
staticconstexprprivate |
Definition at line 55 of file uint256_impl.hpp.
|
constexpr |
Viewing this uint256_t as a bit string, and counting bits from 0, slices a substring.
start-th bit, to (but excluding) the end-th bit of this. Definition at line 291 of file uint256_impl.hpp.
|
staticconstexprprivate |
Convert from 4 64-bit limbs to 9 29-bit limbs.
Definition at line 115 of file uint256_impl.hpp.
|
staticconstexprprivate |
Multiply one limb by 9 limbs and add to resulting limbs.
Definition at line 88 of file uint256_impl.hpp.
| uint64_t bb::numeric::uint256_t::data[4] |
Definition at line 207 of file uint256.hpp.