Major updates integration from all upstreams

This commit is contained in:
miketout
2018-09-18 14:33:53 -07:00
396 changed files with 25517 additions and 6854 deletions

View File

@@ -18,7 +18,7 @@
namespace libsnark {
template<mp_size_t n>
bigint<n>::bigint(const uint64_t x) /// Initalize from a small integer
bigint<n>::bigint(const uint64_t x) /// Initialize from a small integer
{
static_assert(UINT64_MAX <= GMP_NUMB_MAX, "uint64_t does not fit in a GMP limb");
this->data[0] = x;
@@ -125,6 +125,7 @@ size_t bigint<n>::num_bits() const
}
else
{
static_assert(GMP_NUMB_MAX <= ULLONG_MAX, "coercing limb to unsigned long long might truncate");
return ((i+1) * GMP_NUMB_BITS) - __builtin_clzll(x);
}
}
@@ -132,7 +133,7 @@ size_t bigint<n>::num_bits() const
}
template<mp_size_t n>
uint64_t bigint<n>::as_ulong() const
uint64_t bigint<n>::as_uint64() const
{
return this->data[0];
}