Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
uint_decomposition.cpp
Go to the documentation of this file.
1
#include "
barretenberg/vm2/simulation/lib/uint_decomposition.hpp
"
2
#include "
barretenberg/numeric/uint128/uint128.hpp
"
3
4
namespace
bb::avm2::simulation
{
5
6
const
uint256_t
TWO_POW_128
=
uint256_t
(1) << 128;
7
const
uint128_t
TWO_POW_64
=
static_cast<
uint128_t
>
(1) << 64;
8
9
U256Decomposition
decompose
(
const
uint256_t
& x)
10
{
11
uint128_t
lo =
static_cast<
uint128_t
>
(x %
TWO_POW_128
);
12
uint128_t
hi =
static_cast<
uint128_t
>
(x >> 128);
13
return
{ lo, hi };
14
}
15
16
U128Decomposition
decompose
(
const
uint128_t
& x)
17
{
18
uint64_t lo =
static_cast<
uint64_t
>
(x %
TWO_POW_64
);
19
uint64_t hi =
static_cast<
uint64_t
>
(x >> 64);
20
return
{ lo, hi };
21
}
22
23
}
// namespace bb::avm2::simulation
bb::numeric::uint256_t
Definition
uint256.hpp:32
bb::avm2::simulation
Definition
address_derivation.cpp:8
bb::avm2::simulation::decompose
U256Decomposition decompose(const uint256_t &x)
Definition
uint_decomposition.cpp:9
bb::avm2::simulation::TWO_POW_128
const uint256_t TWO_POW_128
Definition
uint_decomposition.cpp:6
bb::avm2::simulation::TWO_POW_64
const uint128_t TWO_POW_64
Definition
uint_decomposition.cpp:7
uint128_t
unsigned __int128 uint128_t
Definition
serialize.hpp:44
bb::avm2::simulation::U128Decomposition
Definition
uint_decomposition.hpp:17
bb::avm2::simulation::U256Decomposition
Definition
uint_decomposition.hpp:8
uint128.hpp
uint_decomposition.hpp
src
barretenberg
vm2
simulation
lib
uint_decomposition.cpp
Generated by
1.9.8