/* * ReplicatedMC.cpp * */ #include "ReplicatedMC.h" #include "GC/ReplicatedSecret.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.get_share()[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::value_type tmp; tmp.unpack(o); values[i] = S[i].get_share().sum() + tmp; } } template class ReplicatedMC >; template class ReplicatedMC;