11 #define macro_xstr(a) macro_str(a) 12 #define macro_str(a) #a 27 inline void error(
const char * s,
int line = 0,
const char * file =
nullptr) {
28 fprintf(stderr, s,
"\n");
30 fprintf(stderr,
"at %d, %s\n", line, file);
36 reinterpret_cast<void(*)(Ts...)
>(
function)(args...);
39 std::string
Party(
int p);
40 template <
typename T = u
int64_t>
42 std::stringstream sstr;
43 const T* values = (
const T*) &var;
44 for (
unsigned int i = 0; i <
sizeof(__m128i) /
sizeof(T); i++) {
45 sstr <<
"0x"<<std::hex<< values[i] <<
" ";
57 inline string change_base(
string str,
int old_base,
int new_base) {
59 mpz_init_set_str (tmp, str.c_str(), old_base);
60 char * b =
new char[mpz_sizeinbase(tmp, new_base) + 2];
61 mpz_get_str(b, new_base, tmp);
74 for(
int i = bin.size()-1; i>=1; --i) {
76 bin[i] = (bin[i] ==
'1' ?
'0':
'1');
88 for(
int i = bin.size()-1; i>=1; --i) {
90 bin[i] = (bin[i] ==
'1' ?
'0':
'1');
T bool_to_int(const bool *data, size_t len=0)
Definition: utils.hpp:56
std::string Party(int p)
Definition: utils.hpp:36
double wallClock()
Definition: utils.hpp:49
void run_function(void *function, const Ts &... args)
Definition: utils.h:35
std::string m128i_to_string(const __m128i var)
Definition: utils.h:41
void delete_array_null(T *ptr)
Definition: utils.h:20
__m128i block
Definition: block.h:8
string dec_to_bin(const string &dec)
Definition: utils.h:68
void error(const char *s, int line=0, const char *file=nullptr)
Definition: utils.h:27
string bin_to_dec(const string &bin2)
Definition: utils.h:82
void int64_to_bool(bool *data, uint64_t input, int length)
Definition: utils.hpp:80
std::string hex_to_binary(std::string hex)
Definition: utils.hpp:25
uint64_t timeStamp()
Definition: utils.hpp:44
string change_base(string str, int old_base, int new_base)
Definition: utils.h:57
block bool_to128(const bool *data)
Definition: utils.hpp:76
void parse_party_and_port(char **arg, int *party, int *port)
Definition: utils.hpp:31