Files
MP-SPDZ/Processor/FixInput.cpp
2023-05-02 11:36:52 +10:00

31 lines
464 B
C++

/*
* FixInput.cpp
*
*/
#include "FixInput.h"
#include <math.h>
template<>
void FixInput_<Integer>::read(std::istream& in, const int* params)
{
double x;
in >> x;
items[0] = round(x * exp2(*params));
}
template<>
void FixInput_<bigint>::read(std::istream& in, const int* params)
{
#ifdef HIGH_PREC_INPUT
mpf_class x;
in >> x;
items[0] = x << *params;
#else
double x;
in >> x;
items[0] = round(x * exp2(*params));
#endif
}