/* * VectorProtocol.h * */ #ifndef GC_VECTORPROTOCOL_H_ #define GC_VECTORPROTOCOL_H_ #include "Protocols/Replicated.h" namespace GC { template class VectorProtocol : public ProtocolBase { typename T::part_type::Protocol part_protocol; public: Player& P; VectorProtocol(Player& P); void init_mul(SubProcessor* proc); void init_mul(Preprocessing& prep, typename T::MAC_Check& MC); typename T::clear prepare_mul(const T& x, const T& y, int n = -1); void exchange(); T finalize_mul(int n = -1); typename T::part_type::Protocol& get_part() { return part_protocol; } }; } /* namespace GC */ #endif /* GC_VECTORPROTOCOL_H_ */