int main(int argc, char **argv){ const char *ip = "127.0.0.1"; int port = 8888; int requests = 10000; int clients = 50; welcome(); usage(argc, argv); for(int i=1; i<argc; i++){ if(strcmp("-v", argv[i]) == 0){ exit(0); } } if(argc > 1){ ip = argv[1]; } if(argc > 2){ port = atoi(argv[2]); } if(argc > 3){ requests = atoi(argv[3]); } if(argc > 4){ clients = atoi(argv[4]); } //printf("preparing data...\n"); init_data(requests); //printf("preparing links...\n"); init_links(clients, ip, port); bench("set"); bench("get"); bench("del"); bench("hset"); bench("hget"); bench("hdel"); bench("zset"); bench("zget"); bench("zdel"); bench("qpush"); bench("qpop"); printf("\n"); return 0; }
void init_links(Dllist *dll, int const LNK) { switch (LNK) { case LEX: copy_order(dll, STD, LEX); sort(dll->root, dll->length[LEX], dll, LEX); break; case POL: if (dll->up2date[LEX]) { copy_order(dll, LEX, POL); sort(dll->root->links[POL][FWD], dll->length[POL]-1, dll, POL); } else { init_links(dll, LEX); init_links(dll, POL); } break; case GRA: if (dll->up2date[POL]) graham(dll); else { init_links(dll, POL); init_links(dll, GRA); } break; case JAR: if (dll->up2date[POL]) jarvis(dll); else { init_links(dll, POL); init_links(dll, JAR); } break; default: printf("Error in init_links function\n"); break; } }
ANNetwork::ANNetwork(const wchar_t *fname) : m_status(-1), m_nrule(0.2f), m_alpha(0.7f) { int res = 0; int nnum = 0, ifunc = 0, hfunc = 0; float w = 0.0f; FILE *fp = _wfopen(fname, L"rt"); if (fp) { if ((res = fwscanf(fp, L"%d", &m_layers_number)) != 1) { fclose(fp); m_status = -1; return; } for (int l = 0; l < m_layers_number; l++) { if ((res = fwscanf(fp, L"%d", &nnum)) != 1) { fclose(fp); m_status = -1; return; } else layers.push_back(new ANNLayer(nnum)); } if ((res = fwscanf(fp, L"%d %d", &ifunc, &hfunc)) != 2) { //function for input hidden/output layers ifunc = 0; //default LINEAR for input hfunc = 1; //default SIGMOID for hidden/output } vector<float> adds, mults; for (int n = 0; n < layers[0]->get_neurons_number(); n++) { float a, m; if (res = fwscanf(fp, L"%f %f", &a, &m) != 2) { //blank network file? for (int n = 0; n < layers[0]->get_neurons_number(); n++) { adds.push_back(0.0); //default add = 0 mults.push_back(1.0); //default mult = 1 } break; } adds.push_back(a); mults.push_back(m); } init_links(&adds[0], &mults[0], ifunc, hfunc); for (int l = 1; l < m_layers_number; l++) { //load all weights except input layer for (int n = 0; n < layers[l]->get_neurons_number(); n++) { //num of Neurons in layer for (int i = 0; i < layers[l]->neurons[n]->get_input_links_number(); i++) { //num of inputs in Neuron if ((res = fwscanf(fp, L"%f", &w)) != 1) { //blank network file? fclose(fp); m_status = 1; //init to random values//////////////// randomize_weights((unsigned int)time(0)); return; } else layers[l]->neurons[n]->inputs[i]->w = w; } } } fclose(fp); m_status = 0; } else m_status = -1; }