inline void filter_run(Iter i, const Iter end, const int min_length, const Functor& functor, const Color& color) { while (i != end) { if (color.is_self(*i)) { Iter last = i; run_end(i, end, color); if (functor(i - last, min_length)) std::fill(last, i, color.other(i)); } else { run_end(i, end, get_other_color(color)); } } }
inline void run_histogram(T i, const T end, Vec& hist, const Color& color) { while (i != end) { if (color.is_self(*i)) { T last = i; run_end(i, end, color); size_t cur_length = i - last; hist[cur_length]++; } else { run_end(i, end, get_other_color(color)); } } }
inline size_t max_run(T i, const T end, const Color& color) { size_t max = 0; while (i != end) { if (color.is_self(*i)) { T last = i; run_end(i, end, color); size_t cur_length = i - last; if (cur_length > max) max = cur_length; } else { run_end(i, end, color); } } return max; }
static PyObject* next(IteratorObject* self) { SelfType* so = (SelfType*)self; PyObject* result = 0; while (so->m_it != so->m_end) { run_end(so->m_it, so->m_end, get_other_color(Color())); Iterator start = so->m_it; run_end(so->m_it, so->m_end, Color()); if (so->m_it - start > 0) { result = create_RectObject (RunMaker() ((start - so->m_begin) + so->m_offset, (so->m_it - so->m_begin) + so->m_offset, so->m_sequence)); break; } } return result; }
void TimesliceBuilderZeromq::operator()() { run_begin(); while (ts_index_ < max_timeslice_number_ && *signal_status_ == 0) { run_cycle(); scheduler_.timer(); } run_end(); }
std::string to_rle(const T& image) { // White first std::ostringstream oss; for (typename T::const_vec_iterator i = image.vec_begin(); i != image.vec_end(); /* deliberately blank */) { typename T::const_vec_iterator start; start = i; run_end(i, image.vec_end(), runs::White()); oss << int(i - start) << " "; start = i; run_end(i, image.vec_end(), runs::Black()); oss << int(i - start) << " "; } return oss.str(); }
/* MAIN PROGRAM */ int main(int argc, char** argv) { int next_event; char keytoclose = 'p'; if(!startup_check(0)) return -1; /* Initialize csiglib and simulation */ while (initialize(argc, (const char * *)argv)) {; /* Schedule beginning of simulation */ event_time = current_time; event_type = RUN_event; schedule_event(); /* Schedule end of simulation */ event_time = stop_time; event_type = run_end_event; event_priority = 9999; schedule_event(); /* EVENT EXECUTION CONTROL LOOP */ while (!run_error && !done) { /* Pull next event from event list */ next_event = c_timing(); /* increment the event count for this event */ event_count[next_event]++; /* Call appropriate event routine */ switch ( next_event ) { case run_end_event: run_end(); break; case RUN_event: RUN(); event_trace("RUN",event_count[next_event]); break; case ARRIVE_event: ARRIVE(); event_trace("ARRIVE",event_count[next_event]); break; case STFCFC_event: STFCFC(); event_trace("STFCFC",event_count[next_event]); break; case FINFCFC_event: FINFCFC(); event_trace("FINFCFC",event_count[next_event]); break; case STFCE_event: STFCE(); event_trace("STFCE",event_count[next_event]); break; case FINFCE_event: FINFCE(); event_trace("FINFCE",event_count[next_event]); break; case STEE_event: STEE(); event_trace("STEE",event_count[next_event]); break; case FINEE_event: FINEE(); event_trace("FINEE",event_count[next_event]); break; case SETSRVR_event: SETSRVR(); event_trace("SETSRVR",event_count[next_event]); break; case ADDECON_event: ADDECON(); event_trace("ADDECON",event_count[next_event]); break; case ADDFC_event: ADDFC(); event_trace("ADDFC",event_count[next_event]); break; case ASSIGN_event: ASSIGN(); event_trace("ASSIGN",event_count[next_event]); break; } } } // experiments terminated printf("Experiments ended! If runs end early: \n\r1. check fields in *.exp file. \n\r2. check if output file was already open. \n\r"); return 0; }
/* MAIN PROGRAM */ int main(int argc, char** argv) { int next_event; char keytoclose = 'p'; if(!startup_check(0)) return -1; /* Initialize csiglib and simulation */ while (initialize(argc, (const char * *)argv)) {; /* Schedule beginning of simulation */ event_time = current_time; event_type = RUN_event; schedule_event(); /* Schedule end of simulation */ event_time = stop_time; event_type = run_end_event; event_priority = 9999; schedule_event(); /* EVENT EXECUTION CONTROL LOOP */ while (!run_error && !done) { /* Pull next event from event list */ next_event = c_timing(); /* increment the event count for this event */ event_count[next_event]++; /* Call appropriate event routine */ switch ( next_event ) { case run_end_event: run_end(); break; case RUN_event: RUN(); event_trace("RUN",event_count[next_event]); break; case CUSTM_event: CUSTM(); event_trace("CUSTM",event_count[next_event]); break; case RENT_event: RENT(); event_trace("RENT",event_count[next_event]); break; case RETURN_event: RETURN(); event_trace("RETURN",event_count[next_event]); break; case FAIL_event: FAIL(); event_trace("FAIL",event_count[next_event]); break; case FIX_event: FIX(); event_trace("FIX",event_count[next_event]); break; case INPUT_event: INPUT(); event_trace("INPUT",event_count[next_event]); break; case WALKIN_event: WALKIN(); event_trace("WALKIN",event_count[next_event]); break; case RETIRE_event: RETIRE(); event_trace("RETIRE",event_count[next_event]); break; case LVE_event: LVE(); event_trace("LVE",event_count[next_event]); break; case RESERV_event: RESERV(); event_trace("RESERV",event_count[next_event]); break; case RSVP_event: RSVP(); event_trace("RSVP",event_count[next_event]); break; case costs_event: costs(); event_trace("costs",event_count[next_event]); break; } } } // experiments terminated printf("Experiments ended! If runs end early: \n\r1. check fields in *.exp file. \n\r2. check if output file was already open. \n\r"); return 0; }