23 memcpy(bits, in.
bits,
sizeof(
Bit)*length);
30 Integer(
int len,
const void * b) : length(len) {
32 memcpy(bits, b,
sizeof(
Bit)*len);
35 if (bits!=
nullptr)
delete[]
bits;
78 template<
typename... Args>
79 static size_t bool_size(
size_t size, Args... args) {
82 static void bool_data(
bool* data,
size_t len,
long long num) {
83 bool_data(data, len, std::to_string(num));
85 static void bool_data(
bool* data,
size_t len,
string str) {
87 std::reverse(bin.begin(), bin.end());
89 int l = (bin.size() > (size_t)len ? len : bin.size());
90 for(
int i = 0; i < l; ++i)
91 data[i] = (bin[i] ==
'1');
92 for (
size_t i = l; i < len; ++i)
Integer(int len, const void *b)
Definition: integer.h:30
Bit equal(const Integer &rhs) const
Definition: integer.hpp:305
string dec_to_bin(const string &dec)
Definition: utils.h:68
Integer operator+(const Integer &rhs) const
Definition: integer.hpp:314
static void bool_data(bool *data, size_t len, string str)
Definition: integer.h:85
Bit geq(const Integer &rhs) const
Definition: integer.hpp:294
void init(Bit *bits, const bool *b, int length, int party=PUBLIC)
Definition: integer.hpp:125
Integer(const Integer &in)
Definition: integer.h:21
Definition: comparable.h:5
Integer operator/(const Integer &rhs) const
Definition: integer.hpp:333
Integer operator*(const Integer &rhs) const
Definition: integer.hpp:327
Integer & operator=(Integer rhs)
Definition: integer.h:25
Integer & resize(int length, bool signed_extend=true)
Definition: integer.hpp:215
Integer operator|(const Integer &rhs) const
Definition: integer.hpp:235
Bit & operator[](int index)
Definition: integer.hpp:162
#define PUBLIC
Definition: utils.h:14
static void bool_data(bool *data, size_t len, long long num)
Definition: integer.h:82
Integer operator>>(int shamt) const
Definition: integer.hpp:264
Integer abs() const
Definition: integer.hpp:208
Integer operator^(const Integer &rhs) const
Definition: integer.hpp:228
~Integer()
Definition: integer.h:34
Integer()
Definition: integer.h:40
int size() const
Definition: integer.hpp:203
Definition: swappable.h:7
void swap(const Bit &swap, T &o1, T &o2)
Definition: swappable.h:18
Integer operator &(const Integer &rhs) const
Integer operator<<(int shamt) const
Definition: integer.hpp:249
Integer modExp(Integer p, Integer q)
Definition: integer.hpp:391
Integer leading_zeros() const
Definition: integer.hpp:357
Integer hamming_weight() const
Definition: integer.hpp:367
static size_t bool_size(size_t size, Args... args)
Definition: integer.h:79
int length
Definition: integer.h:15
Integer operator%(const Integer &rhs) const
Definition: integer.hpp:342
O reveal(int party=PUBLIC) const
Integer select(const Bit &sel, const Integer &rhs) const
Definition: integer.hpp:155
Bit * bits
Definition: integer.h:16
Integer(Integer &&in)
Definition: integer.h:17
Integer operator-() const
Definition: integer.hpp:352