Miniball<CoordAccessor>::Miniball (int d_, Pit begin, Pit end, CoordAccessor ca) : d (d_), points_begin (begin), points_end (end), coord_accessor (ca), time (clock()), nt0 (NT(0)), L(), support_end (L.begin()), fsize(0), ssize(0), current_c (NULL), current_sqr_r (NT(-1)), c (NULL), sqr_r (NULL), q0 (NULL), z (NULL), f (NULL), v (NULL), a (NULL) { assert (points_begin != points_end); create_arrays(); // set initial center for (int j=0; j<d; ++j) c[0][j] = nt0; current_c = c[0]; // compute miniball pivot_mb (points_end); // update time time = (clock() - time) / CLOCKS_PER_SEC; }
int main(int argc, char* argv[]) { settings.hosts.resize(1); settings.hosts[0] = default_multicast; int retcode = parse_args(argc, argv); // set type to multicast and change queue length to 512K settings.type = madara::transport::MULTICAST; settings.queue_length = 512000; madara::knowledge::WaitSettings wait_settings; wait_settings.max_wait_time = 10; wait_settings.poll_frequency = 1.0; wait_settings.delay_sending_modifieds = false; if (settings.id == 1) { wait_settings.pre_print_statement = "Waiting on finished_transmitting to change from process.id==1...\n"; } if (retcode < 0) return retcode; madara::knowledge::KnowledgeBase knowledge("", settings); knowledge.set(".id", (madara::knowledge::KnowledgeRecord::Integer)settings.id, madara::knowledge::EvalSettings::SEND); // run tests // test_tree_compilation (knowledge); if (settings.id == 0) create_arrays(knowledge); else { utility::wait_true(knowledge, "finished_transmitting", wait_settings); write_transported_arrays(knowledge); } // knowledge.print (); return 0; }