int main(int c, char **a) { OE oe = (OE)OperatingEnvironment_LinuxNew(); MiniMacs mm = 0; Data input = 0; uint count=0,i=0; init_polynomial(); mm = GenericMiniMacs_DefaultLoadNew(oe,a[1]); InitStats(oe); if (!mm) { oe->p("Error could not create instance of MiniMacs"); OperatingEnvironment_LinuxDestroy(&oe); return -1; } { CliArg arg = (CliArg)oe->getmem(sizeof(*arg)); arg->file = a[2]; arg->oe = oe; oe->newthread(client,arg); } mm->init_heap(2); mm->invite(1,8080); printf("Got client ... \n"); input = Data_new(oe, mm->get_ltext()); for(i = 0; i < mm->get_ltext(); ++i) { input->data[i] = 'r'; } mm->secret_input(0,0,input); for(count = 0; count < COUNT; ++count) { CHECK_POINT_S("Mul server"); mm->mul(1,0,0); CHECK_POINT_E("Mul server"); } usleep(5); PrintMeasurements(oe); return 0; }
static inline replica_private_input(byte val, uint dst, MiniMacs mm) { uint rep = mm->get_ltext(); uint i = 0; byte * r = malloc(rep); uint player = 0; uint nplayers = mm->get_no_peers()+1; printf("ltext = %u\n", mm->get_ltext()); for(i = 0;i < rep;++i) { r[i] = val; } for(player = 0; player < nplayers;++player) { mm->secret_input(player,128,Data_shallow(r,rep)); mm->add(dst,128,dst); } free(r); }
static inline void replica_public_input(byte val, uint dst, MiniMacs mm) { uint rep = mm->get_ltext(); uint i = 0; byte * r = malloc(rep); for(i = 0;i < rep;++i) { r[i] = val; } mm->public_input( dst, Data_shallow(r,rep)); free(r); }