/* To print the statistics of the solution */ void print_summary(solution_t *soln) { job_t *jobs = soln->jobs; int *jobs_order = soln->jobs_order; int first_job, last_job; printf("-----------------\n"); printf("SUMMARY\n"); printf("-----------------\n"); first_job = jobs_order[0]; last_job = jobs_order[numnodes]; printf("Time span: %f\n", get_end_time(last_job, soln)-get_start_time(first_job, soln)); printf("Objective function: %f\n", objective_function(soln)); printf("\n"); printf("Number of late jobs: %d\n", get_num_late_jobs(soln)); printf("Sum of all tardiness: %f\n", get_total_lateness(soln)); printf("Max tardiness: %f\n", get_max_lateness(soln)); printf("Average tardiness: %f\n", get_average_lateness(soln)); printf("Variance of tardiness: %f\n", get_variance_lateness(soln)); printf("Standard deviation of tardiness: %f\n", get_standard_deviation_lateness(soln)); printf("\n"); printf("Number of early jobs: %d\n", get_num_early_jobs(soln)); printf("Sum of all earliness: %f\n", get_total_earliness(soln)); printf("Average earliness: %f\n", get_average_earliness(soln)); printf("\n"); printf("Total travelling time: %f\n", get_total_travelling_time(soln)); printf("Total waiting time: %f\n", get_total_waiting_time(soln)); printf("-----------------\n"); }
ulong_ elapsed() const { if(!is_supported() || !m_start_event){ return 0; } if(m_stop_event){ const_cast<event &>(m_stop_event).wait(); return get_start_time(m_stop_event) - get_end_time(m_start_event); } else { event now = const_cast<command_queue &>(m_queue).enqueue_marker(); now.wait(); return get_start_time(now) - get_end_time(m_start_event); } }
static __inline__ int xmt_get_end_time(const char *pri, H264_DVR_TIME *time) { int ret; JTime ts; ret = get_end_time(pri, &ts); if (!ret) { time->dwYear = ts.year + J_SDK_DEF_BASE_YEAR; time->dwMonth = ts.month; time->dwDay = ts.date; time->dwHour = ts.hour; time->dwMinute = ts.minute; time->dwSecond = ts.second; } return ret; }
static __inline__ int hie_get_end_time(const char *pri, TimeInfo *time) { int ret; JTime ts; ret = get_end_time(pri, &ts); if (!ret) { time->wYear = ts.year + J_SDK_DEF_BASE_YEAR; time->wMonth = ts.month; time->wDay = ts.date; time->wHour = ts.hour; time->wMinute = ts.minute; time->wSecond = 0;//ts.second; } /*printf("end:%04d/%02d/%02d-%02d:%02d:%02d\n", (int)time->wYear, (int)time->wMonth, (int)time->wDay, (int)time->wHour, (int)time->wMinute, (int)time->wSecond);*/ return ret; }
/* To print the details of the solution */ void print_solution(solution_t *soln) { job_t *jobs = soln->jobs; int *jobs_order = soln->jobs_order; int i, job_id; float duration; for(i=0; i<numnodes+1; i++) { job_id = jobs_order[i]; duration = jobs[job_id].end_time - jobs[job_id].start_time; printf("-----------------\n"); printf("Job #: %d\n", job_id); printf("Job order: %d\n", get_job_order(job_id, soln)); if(i > 0) printf("Waiting time: %f\n", get_waiting_time(jobs_order[i-1], job_id, soln)); printf("Start Time: %f\n", get_start_time(job_id, soln)); printf("End Time: %f\n", get_end_time(job_id, soln)); printf("Duration: %f\n", get_duration(job_id, soln)); printf("Lateness: %f\n", get_lateness_time(job_id, soln)); printf("-----------------\n"); } }
int cgiMain() { int power_num,group_serial_num[5],group_num,group_idx; int i,j,k; char name[81]; ctrl_group *p_group ; cgiFormInteger("power_num", &power_num, 0); cgiFormInteger("group_num", &group_num, 0); memset(name,0,sizeof(name)); cgiFormStringNoNewlines("serial_num", name, 81); get_serial_num(name,&group_serial_num); if(power_num > 100) power_num = 100; if(group_num > 5) group_num = 5; if(group_serial_num[0] > 100) group_serial_num[0] = 100; if(group_serial_num[1] > 100) group_serial_num[1] = 100; if(group_serial_num[2] > 100) group_serial_num[2] = 100; if(group_serial_num[3] > 100) group_serial_num[3] = 100; if(group_serial_num[4] > 100) group_serial_num[4] = 100; cgiWriteEnvironment("/CHANGE/THIS/PATH/capcgi.dat"); cgiHeaderContentType("text/html"); OutHead(); OutBodyStart(); if(0 == check_password()) return 0; fprintf(cgiOut, "<p>power_num=%d group_num=%d [%d-%d-%d-%d-%d]</p>\n", power_num,group_num,group_serial_num[0],group_serial_num[1], group_serial_num[2],group_serial_num[3],group_serial_num[4]); if(0 == power_num) { fprintf(cgiOut, "<p>数据出错,退出!!</p>\n"); OutBodyEnd(); return 0; } else { pwsw_h.power_num = power_num; pwsw_h.group_num = group_num; pwsw_h.group[0].ctrl_serial_num = group_serial_num[0]; pwsw_h.group[1].ctrl_serial_num = group_serial_num[1]; pwsw_h.group[2].ctrl_serial_num = group_serial_num[2]; pwsw_h.group[3].ctrl_serial_num = group_serial_num[3]; pwsw_h.group[4].ctrl_serial_num = group_serial_num[4]; for(i=0;i<group_num;i++) { p_group = &pwsw_h.group[i]; p_group->projector_on = 0; p_group->ctrl_serial_num = group_serial_num[i]; get_start_time(i,&p_group->start_time); get_end_time(i,&p_group->end_time); for(j=0;j<p_group->ctrl_serial_num;j++) { p_group->serial_info[j].duration_ms = get_duration_ms(i,j); for(k=0;k<power_num;k++) { p_group->serial_info[j].power_status[k]= get_power_status(i,j,k); } } } } //Out_pwsw_xml(); save_to_xml_file(); fprintf(cgiOut, "<p>保存成功,请返回!</p>\n"); fprintf(cgiOut, " <input type=\"button\" name=\"rest\" onclick=\"javascript:history.go(-1)\" value=\"重新载入\" />\n"); OutBodyEnd(); return 0; }