|
@@ -314,13 +314,16 @@ static value_t parallel_streameval_rdpf(MPCIO &mpcio, const RDPF &dpf,
|
|
|
[&mpcio, &dpf, &scaled_xor, thread_num, threadstart, threadsize] {
|
|
|
MPCTIO tio(mpcio, thread_num);
|
|
|
|
|
|
- auto ev = StreamEval(dpf, threadstart, 0, tio.aes_ops());
|
|
|
+ RegXS local_xor;
|
|
|
+ size_t local_aes_ops = 0;
|
|
|
+ auto ev = StreamEval(dpf, threadstart, 0, local_aes_ops);
|
|
|
for (address_t x=0;x<threadsize;++x) {
|
|
|
|
|
|
DPFnode leaf = ev.next();
|
|
|
- RegXS sx = dpf.scaled_xs(leaf);
|
|
|
- scaled_xor[thread_num] ^= sx;
|
|
|
+ local_xor ^= dpf.scaled_xs(leaf);
|
|
|
}
|
|
|
+ scaled_xor[thread_num] = local_xor;
|
|
|
+ tio.aes_ops() += local_aes_ops;
|
|
|
|
|
|
});
|
|
|
threadstart = (threadstart + threadsize) % totsize;
|