/* * ReplicatedMC.cpp * */ #include "ReplicatedMC.h" #include "GC/ReplicatedSecret.h" #include "Math/Rep3Share.h" template void ReplicatedMC::POpen_Begin(vector& values, const vector& S, const Player& P) { assert(T::length == 2); (void)values; octetStream o; for (auto& x : S) x[0].pack(o); P.send_relative(-1, o); } template void ReplicatedMC::POpen_End(vector& values, const vector& S, const Player& P) { octetStream o; P.receive_relative(1, o); values.resize(S.size()); for (size_t i = 0; i < S.size(); i++) { typename T::clear tmp; tmp.unpack(o); values[i] = S[i].sum() + tmp; } } template class ReplicatedMC; template class ReplicatedMC;