mirror of
https://github.com/data61/MP-SPDZ.git
synced 2026-01-09 13:37:58 -05:00
Multinode computation.
This commit is contained in:
@@ -87,6 +87,7 @@ public:
|
||||
void xorc(const ::BaseInstruction& instruction);
|
||||
void nots(const ::BaseInstruction& instruction);
|
||||
void notcb(const ::BaseInstruction& instruction);
|
||||
void movsb(const ::BaseInstruction& instruction);
|
||||
void andm(const ::BaseInstruction& instruction);
|
||||
void and_(const vector<int>& args, bool repeat);
|
||||
void andrs(const vector<int>& args) { and_(args, true); }
|
||||
|
||||
@@ -283,6 +283,13 @@ void Processor<T>::notcb(const ::BaseInstruction& instruction)
|
||||
}
|
||||
}
|
||||
|
||||
template<class T>
|
||||
void Processor<T>::movsb(const ::BaseInstruction& instruction)
|
||||
{
|
||||
for (int i = 0; i < DIV_CEIL(instruction.get_n(), T::default_length); i++)
|
||||
S[instruction.get_r(0) + i] = S[instruction.get_r(1) + i];
|
||||
}
|
||||
|
||||
template<class T>
|
||||
void Processor<T>::andm(const ::BaseInstruction& instruction)
|
||||
{
|
||||
|
||||
@@ -32,7 +32,7 @@ void TinierSharePrep<T>::buffer_secret_triples()
|
||||
assert(triple_generator != 0);
|
||||
params.generateBits = false;
|
||||
vector<array<T, 3>> triples;
|
||||
TripleShuffleSacrifice<T> sacrifice;
|
||||
TripleShuffleSacrifice<T> sacrifice(DATA_GF2);
|
||||
size_t required;
|
||||
required = sacrifice.minimum_n_inputs_with_combining(
|
||||
BaseMachine::batch_size<T>(DATA_TRIPLE));
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
X(STMSBI, PROC.mem_op(SIZE, MMS, PROC.S, Ci[REG1], R0)) \
|
||||
X(LDMCBI, PROC.mem_op(SIZE, PROC.C, MMC, R0, Ci[REG1])) \
|
||||
X(STMCBI, PROC.mem_op(SIZE, MMC, PROC.C, Ci[REG1], R0)) \
|
||||
X(MOVSB, S0 = PS1) \
|
||||
X(MOVSB, PROC.movsb(INST)) \
|
||||
X(TRANS, T::trans(PROC, IMM, EXTRA)) \
|
||||
X(BITB, PROC.random_bit(S0)) \
|
||||
X(REVEAL, T::reveal_inst(PROC, EXTRA)) \
|
||||
@@ -123,7 +123,7 @@
|
||||
X(LDMINTI, I0 = MII) \
|
||||
X(STMINTI, MII = I0) \
|
||||
X(PUSHINT, PROC.pushi(I0.get())) \
|
||||
X(POPINT, long x; PROC.popi(x); I0 = x) \
|
||||
X(POPINT, PROC.popi(I0)) \
|
||||
X(MOVINT, I0 = PI1) \
|
||||
X(BITDECINT, PROC.bitdecint(EXTRA, I0)) \
|
||||
X(LDARG, I0 = PROC.get_arg()) \
|
||||
|
||||
Reference in New Issue
Block a user