Region *GetRegion( char *inname, fstream &output, int &FstIter, double &CurTime, double &TimeStp, double &TimeWrite, double &PresDerivCoef, double &EndTime) { int Cont = 1, HeadRead = 1; FstIter = 1; char tmp[150]; double CurTime1, Buf; fstream input = fstream(inname, ios::in); Region *Reg = NULL, *Reg1 = NULL, *Reg0 = NULL; Reg = new Region; Reg1 = new Region; InHead(input, CurTime, TimeStp, TimeWrite, PresDerivCoef, EndTime); if((!Reg->ReadMatter(input)) || (!Reg->ReadData(input))) { cout << " Could not read ReadIni. exiting.\n"; exit(0); } input >> tmp; if(!seek_eof(input)) { input.close(); input.open(inname, ios::in); InHead(input, CurTime, TimeStp, TimeWrite, PresDerivCoef, EndTime); Reg1->ReadMatter(input); Reg1->ReadData(input); } input >> tmp; OutHead(output, *Reg, CurTime, TimeStp, TimeWrite, PresDerivCoef, EndTime, 1); if(InHead(input, CurTime1, Buf, Buf, Buf, Buf)) { if(!Reg1->ReadData(input)) goto exit_loop; input >> tmp; OutHead(output, *Reg1, CurTime, TimeStp, TimeWrite, PresDerivCoef, EndTime); Reg0 = Reg; Reg = Reg1; Reg1 = Reg0; CurTime = CurTime1; while(InHead(input, CurTime1, Buf, Buf, Buf, Buf)) { // if (!Reg1->ReadData(input)) goto exit_loop; if(!Reg1->ReadData(input)) goto exit_loop; input >> tmp; OutHead(output, *Reg1, CurTime, TimeStp, TimeWrite, PresDerivCoef, EndTime); Reg0 = Reg; Reg = Reg1; Reg1 = Reg0; CurTime = CurTime1; } }; exit_loop: cout << " Bef del Coreleft " << Coreleft() << "\n"; delete Reg1; cout << " Aft del Coreleft " << Coreleft() << "\n"; return Reg; };
RegionIO* GetRegion(char *inname,fstream &output,int &FstIter, double &CurTime,double &TimeStp,double &TimeWrite, double &PresDerivCoef,double &EndTime) { int Cont=1,HeadRead=1;FstIter=1; char tmp[150]; double CurTime1,Buf; fstream input=fstream(inname,ios::in); RegionIO *Reg=NULL,*Reg1=NULL,*Reg0=NULL; Reg=new RegionIO;Reg1=new RegionIO; do { if (!FstIter) {input>>tmp;HeadRead=InHead(input,CurTime,Buf,Buf,Buf,Buf);} else InHead(input,CurTime,TimeStp,TimeWrite,PresDerivCoef,EndTime); Cont=0; if ((HeadRead) && (Reg->ReadIni(input))) { if (!FstIter) { OutHead(output,*Reg1,CurTime1,TimeStp,TimeWrite,PresDerivCoef,EndTime); Reg1->InterfaceIODelete(); } FstIter=0; //cout<<" Read Reg1 \n"; input>>tmp; if (InHead(input,CurTime1,Buf,Buf,Buf,Buf) && (Reg1->ReadIni(input))) { OutHead(output,*Reg,CurTime,TimeStp,TimeWrite,PresDerivCoef,EndTime); Reg->InterfaceIODelete(); Cont=1; cout<<" Cont "<<Cont<<"\n"; } else Reg1->InterfaceIODelete(); } else { if (FstIter) { cout<<" There is no points. Exiting\n";exit (1);}
// 处理页求请求 int Page::Deal() { FUNCTION_TRACK(); // 函数轨迹跟踪 Connect * const connect = m_request->GetConnect(); // 输出http协议头部 if( OutHead() < 0 ) { LOG_ERROR("Send http head error"); return ERR; } // 输出数据体 return OutBody(); }
int cgiMain() { int sensor_num,sensor_idx; int i,j,k; char name[81]; light_sensor *p_sensor ; cgiFormInteger("sensor_num", &sensor_num, 0); if(sensor_num > 100) sensor_num = 100; cgiWriteEnvironment("/CHANGE/THIS/PATH/capcgi.dat"); cgiHeaderContentType("text/html"); OutHead(); OutBodyStart(); if(0 == check_password()) return 0; if(0 == sensor_num) { fprintf(cgiOut, "<p>数据出错,退出!!</p>\n"); OutBodyEnd(); return 0; } else { pwsw_h.sensor_num= sensor_num; for(i=0;i<sensor_num;i++) { p_sensor = &pwsw_h.sensor[i]; p_sensor->lux = get_lux(i+1); p_sensor->voltage = get_voltage(i+1); } } 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; }
int cgiMain() { int sensor_num; sensor_num = 0; cgiFormInteger("sensor_num", &sensor_num, 0); pdlc_load_light_sensor_from_xml(); if(sensor_num > 50) sensor_num = 50; if(0 == sensor_num) { sensor_num = pwsw_h.sensor_num; } else { pwsw_h.sensor_num = sensor_num; } cgiWriteEnvironment("/CHANGE/THIS/PATH/capcgi.dat"); CookieSet(); cgiHeaderContentType("text/html"); OutHead(); OutBodyStart(); if(0 == check_password()) return 0; //fprintf(cgiOut, "<p> sensor_num=%d -%d</p>\n",pwsw_h.sensor_num,sensor_num); OutBodyConfigForm(sensor_num); OutGroup(sensor_num); OutBodyEnd(); return 0; }
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; }
void main(int argc, char *argv[]) { argc--; cout << " uil_my - version\n"; cout << " Coreleft " << Coreleft() << "\n"; // char tmp[50]; if((argc < 2) || (GetCmd("/h", argc, argv) != NULL)) { cout << "usage:\n" << argv[0] << " in_lmethod output_file\n" << " /h - display help\n" << " /dN - set dimension N\n" << " /s - Skip vacuum for better show\n" << " /oT - output in T times more frequently when something happens on the bound\n" << " /eN - Skip calculation of sound N times ( 10 by default )\n" << #ifndef InternalPointsUrs " current version - no internal points \n"; #else " current version - with internal points \n"; #endif exit(1); } my_file = new fstream(argv[2], ios::out); int FstIter = 0; double TimeStp, EndTime, CurTime = 0, TimeWrite, PresDerivCoef; Region *Reg = GetRegion( argv[1], *my_file, FstIter, CurTime, TimeStp, TimeWrite, PresDerivCoef, EndTime); // my_file->close();};/* double CoefUp = 1, NumSkipS = 10; char *tmp; if((tmp = GetCmd("/e", argc, argv)) != NULL) NumSkipS = atoi(tmp); if((tmp = GetCmd("/o", argc, argv)) != NULL) CoefUp = min(atof(tmp), 1); if((tmp = GetCmd("/s", argc, argv)) != NULL) Reg->RegionShow = 1; int d = 1; if((tmp = GetCmd("/d", argc, argv)) != NULL) d = atoi(tmp); //cout<<d<<"\n"; Reg->SetBodySkipS(NumSkipS); Reg->SetWorkDim(d); Reg->ClcMass(); int x = 1; double CurStp, OldTimeWrite, NewTimeWrite, PresDeriv = 1, OldStp = 1e5; int BreakSignal = 0; Time_struct Time; double CurStpSum = 0; int CurStpNum = 1; cout << " Before clc Coreleft " << Coreleft() << "\n"; while((!(CurTime >= EndTime)) && (!BreakSignal)) { OldTimeWrite = CurTime; NewTimeWrite = min(OldTimeWrite + TimeWrite / (1 + PresDeriv * PresDerivCoef), EndTime); //cout<<" Before While NewTime "<<NewTimeWrite<<"\n"; while((!(CurTime >= NewTimeWrite)) && (!BreakSignal)) { NewTimeWrite = min(OldTimeWrite + TimeWrite / (1 + PresDeriv * PresDerivCoef), EndTime); if(x < 100) { x++; CurStp = 0.5 * log10(x) * TimeStp; } else CurStp = TimeStp; if(CurStp + CurTime > NewTimeWrite) CurStp = NewTimeWrite - CurTime; if(CurStp < MathZer) break; if(CurStp > OldStp) CurStp = OldStp * (CoefUp * log(CurStp / OldStp) + 1); OldStp = CurStp; CurStpSum += CurStp; CurStpNum++; CurTime += CurStp; StepRegion(*Reg, CurStp, TimeStp, PresDeriv); } OutHead(*my_file, *Reg, CurTime, TimeStp, TimeWrite, PresDerivCoef, EndTime); cout << " Write !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1\n"; cout << " CurStp " << CurStpSum / CurStpNum << " CurTime " << CurTime << "\n"; CurStpNum = 1; CurStpSum = 0; #ifdef WCPP if(_kbhit()) { BreakSignal = _getch(); if(BreakSignal == ESC) break; } #else while((BreakSignal = bioskey(1)) != 0) if(BreakSignal == ESC) break; else { cout << " " << BreakSignal; bioskey(0); } #endif } cout << Time << "\n" << " Coreleft " << Coreleft() << "\n"; Reg->DeleteRegion(); my_file->close(); cout << " Coreleft " << Coreleft() << "\n"; };
int cgiMain() { int power_num,group_serial_num[5],group_num,group_idx; power_num = 8; group_num = 6; cgiFormInteger("power_num", &power_num, 0); cgiFormInteger("group_num", &group_num, 0); cgiFormInteger("group1_num", &group_serial_num[0], 0); cgiFormInteger("group2_num", &group_serial_num[1], 0); cgiFormInteger("group3_num", &group_serial_num[2], 0); cgiFormInteger("group4_num", &group_serial_num[3], 0); cgiFormInteger("group5_num", &group_serial_num[4], 0); pdlc_load_pwctrl_from_xml(); 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; if(0 == power_num) { power_num = pwsw_h.power_num; group_num = pwsw_h.group_num; group_serial_num[0] = pwsw_h.group[0].ctrl_serial_num; group_serial_num[1] = pwsw_h.group[1].ctrl_serial_num; group_serial_num[2] = pwsw_h.group[2].ctrl_serial_num; group_serial_num[3] = pwsw_h.group[3].ctrl_serial_num; group_serial_num[4] = pwsw_h.group[4].ctrl_serial_num; } else { #if 1 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]; #endif } cgiWriteEnvironment("/CHANGE/THIS/PATH/capcgi.dat"); CookieSet(); cgiHeaderContentType("text/html"); OutHead(); OutBodyStart(); if(0 == check_password()) return 0; OutBodyConfigForm(power_num,group_num,group_serial_num[0],group_serial_num[1], group_serial_num[2],group_serial_num[3],group_serial_num[4]); // 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]); for(group_idx=0;group_idx<pwsw_h.group_num;group_idx++) { OutGroup(pwsw_h.power_num,pwsw_h.group[group_idx].ctrl_serial_num,group_idx); } OutBodyEnd(); return 0; }
void main( int argc, char *argv[] ) { argc--; cout<<" Coreleft "<<Coreleft()<<"\n"; // char tmp[50]; if ((argc<2) || (GetCmd("/h",argc,argv)!=NULL)) { cout<<"usage:\n"<<argv[0]<<" in_lmethod output_file\n"<< " /h - display help\n"; exit(1); } my_file=new fstream(argv[2],ios::out); int FstIter=0; double TimeStp,EndTime,CurTime=0,TimeWrite,PresDerivCoef; RegionIO *Reg=GetRegion(argv[1],*my_file,FstIter, CurTime,TimeStp,TimeWrite,PresDerivCoef,EndTime); if (argc>2) CoefUp=max(1,atoi(argv[3]));else CoefUp=1; ClcMass(*Reg); int x=1; double CurStp,OldTimeWrite,NewTimeWrite,PresDeriv=1,OldStp=1e5; int BreakSignal=0; //#ifdef WCPP double elapsed_time; clock_t start, finish;start=clock(); //#endif while ((!(CurTime>=EndTime)) && (!BreakSignal)) { OldTimeWrite=CurTime; NewTimeWrite=min(OldTimeWrite+TimeWrite/(1+PresDeriv*PresDerivCoef),EndTime); //cout<<" Before While NewTime "<<NewTimeWrite<<"\n"; while ((!(CurTime>=NewTimeWrite)) && (!BreakSignal)) { NewTimeWrite=min(OldTimeWrite+ TimeWrite/(1+PresDeriv*PresDerivCoef),EndTime); if (x<100) {x++;CurStp=0.5*log10(x)*TimeStp;} else CurStp=TimeStp; if (CurStp+CurTime>NewTimeWrite) CurStp=NewTimeWrite-CurTime; if (CurStp<MathZer) break; if (CurStp>OldStp) CurStp=OldStp*(CoefUp*log(CurStp/OldStp)+1); OldStp=CurStp; //cout<<" CurStp "<<CurStp<<" CurTime "<<CurTime<<"\n"; //ChRead(); if ((x==2) && (FstIter)) CalcPos(*Reg,-0.5*CurStp,TimeStp); // Exracted? //cout<<" StepRegion \n"; CurTime+=CurStp;StepRegion(*Reg,CurStp,TimeStp,PresDeriv); // if (i++==10) {i=0;Reconstruct(*Reg);} // Reg.SaveIni(output); } OutHead(*my_file,*Reg,CurTime,TimeStp,TimeWrite,PresDerivCoef,EndTime); cout<<" Write !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1\n"; cout<<" CurStp "<<CurStp<<" CurTime "<<CurTime<<"\n";cout.flush(); #ifdef WCPP if (_kbhit()) { BreakSignal=_getch();if (BreakSignal==ESC) break;} #else while ((BreakSignal=bioskey(1))!=0) if (BreakSignal==ESC) break;else {cout<<" "<<BreakSignal;bioskey(0);} #endif } //#ifdef WCPP finish=clock();elapsed_time=(finish-start);//CLK_TCK; cout<<" RunTime "<<elapsed_time<<"\n"; //#endif //cout<<" Reg.InterfaceIODelete(); \n"; cout<<" Coreleft "<<Coreleft()<<"\n"; Reg->InterfaceIODelete(); my_file->close(); cout<<" Coreleft "<<Coreleft()<<"\n"; };