Changeset 2419 in Sophya for trunk/SophyaPI/PIext/servnobjm.cc
- Timestamp:
- Jul 21, 2003, 11:13:10 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaPI/PIext/servnobjm.cc
r2322 r2419 909 909 mImgapp->RedirectStdOutErr(false); 910 910 911 int k1,k2,dk;911 int_8 k1,k2,dk; 912 912 k1 = 0; k2 = objnt->NbLines(); dk = 1; 913 913 DecodeLoopParameters(loop, k1, k2, dk); 914 914 if (k1 < 0) k1 = 0; 915 915 if (k2 < 0) k2 = objnt->NbLines(); 916 if (k2 > (int_ 4)objnt->NbLines()) k2 = objnt->NbLines();916 if (k2 > (int_8)objnt->NbLines()) k2 = objnt->NbLines(); 917 917 if (dk <= 0) dk = 1; 918 918 919 919 try { 920 920 double* xn; 921 int kmax= k2;922 for(k=k 1; k<kmax; k+=dk) {921 int_8 kstart = k1, kend = k2; 922 for(k=kstart; k<kend; k+=dk) { 923 923 xn = objnt->GetLineD(k); 924 if (f( xn, xnt, xnt+1, xnt+2, xnt+3, k, kmax) != 0) {924 if (f((int_8_exprf)k, xn, xnt, xnt+1, xnt+2, xnt+3, (int_8_exprf)kstart,(int_8_exprf) kend) != 0) { 925 925 if (nt) { 926 for(i =0; i<4; i++) fxnt[i] = xnt[i];926 for(int i=0; i<4; i++) fxnt[i] = xnt[i]; 927 927 nt->Fill(fxnt); 928 928 } … … 989 989 990 990 fputs("/* ------ Compare bits on double --------- */ \n", fip); 991 fputs("typedef long long int_8 ;\n", fip);992 fputs("int_8 BitCmp64(double v,int_8flg)\n", fip);993 fputs("{return ((int_8 )((v<0.) ? v-0.1 : v+0.1))&flg;}\n", fip);991 fputs("typedef long long int_8_exprf;\n", fip); 992 fputs("int_8_exprf BitCmp64(double v,int_8_exprf flg)\n", fip); 993 fputs("{return ((int_8_exprf)((v<0.) ? v-0.1 : v+0.1))&flg;}\n", fip); 994 994 fputs("/* ------ Some random number generators --------- */ \n", fip); 995 995 fputs("#if defined(__ppc__) && defined(__MACH__) \n",fip); … … 1011 1011 fputs("#define gaurand() NorRand() \n\n", fip); 1012 1012 1013 fputs("/* NTupleInterface Variable declaration - Generated by piapp \n", fip); 1014 fputs(" -- Services2NObjMgr::PrepareNTExpressionCFile() -- */ \n\n", fip); 1015 fprintf(fip,"int %s(double* _xnti_, double* _rx_, double* _ry_, double* _rz_, \n", 1013 fputs("/* NTupleInterface Variable declaration - Generated by piapp */\n", fip); 1014 fputs("/* -- Services2NObjMgr::PrepareNTExpressionCFile() -- */ \n", fip); 1015 fputs("/* _nl line number or sequential index : _nstart <= _nl < _nend */ \n\n", fip); 1016 fprintf(fip,"int %s(int_8_exprf _nl, double* _xnti_, double* _rx_, double* _ry_, double* _rz_, \n", 1016 1017 funcname.c_str()); 1017 fprintf(fip," double* _rt_, int _n_, int _nmax_) \n");1018 fprintf(fip," double* _rt_, int_8_exprf _nstart, int_8_exprf _nend) \n"); 1018 1019 fprintf(fip, "{ \n %s \n", vardec.c_str()); 1019 1020 fputs(" if (!1) { /* Cut Expression failed */ \n", fip); … … 1178 1179 float fxnt[10]; 1179 1180 1180 int i,k;1181 for( i=0; i<10; i++) xnt[i] = 0.;1182 int k1,k2,dk;1181 int_8 k; 1182 for(k=0; k<10; k++) xnt[k] = 0.; 1183 int_8 k1,k2,dk; 1183 1184 k1 = 0; k2 = objnt->NbLines(); dk = 1; 1184 1185 DecodeLoopParameters(loop, k1, k2, dk); 1185 1186 if (k1 < 0) k1 = 0; 1186 1187 if (k2 < 0) k2 = objnt->NbLines(); 1187 if (k2 > (int_ 4)objnt->NbLines()) k2 = objnt->NbLines();1188 if (k2 > (int_8)objnt->NbLines()) k2 = objnt->NbLines(); 1188 1189 if (dk <= 0) dk = 1; 1189 1190 … … 1192 1193 for(k=k1; k<k2; k += dk) { 1193 1194 xn = objnt->GetLineD(k); 1194 if (f( xn, xnt, xnt+1, xnt+2, xnt+3) != 0) {1195 if (f((int_8_exprf)k,xn, xnt, xnt+1, xnt+2, xnt+3) != 0) { 1195 1196 if (nt) { 1196 for(i =0; i<4; i++) fxnt[i] = xnt[i];1197 for(int i=0; i<4; i++) fxnt[i] = xnt[i]; 1197 1198 nt->Fill(fxnt); 1198 1199 } … … 1251 1252 1252 1253 fputs("/* ------ Compare bits on double --------- */ \n", fip); 1253 fputs("typedef long long int_8 ;\n", fip);1254 fputs("int_8 BitCmp64(double v,int_8flg)\n", fip);1255 fputs("{return ((int_8 )((v<0.) ? v-0.1 : v+0.1))&flg;}\n", fip);1254 fputs("typedef long long int_8_exprf;\n", fip); 1255 fputs("int_8_exprf BitCmp64(double v,int_8_exprf flg)\n", fip); 1256 fputs("{return ((int_8_exprf)((v<0.) ? v-0.1 : v+0.1))&flg;}\n", fip); 1256 1257 fputs("/* ------ Some random number generators --------- */ \n", fip); 1257 1258 fputs("#if defined(__ppc__) && defined(__MACH__) \n",fip); … … 1273 1274 fputs("#define gaurand() NorRand() \n\n", fip); 1274 1275 1275 fputs("int expf_pia_dl_func( double* _zz6qi_, double* _rx_6q_, double* _ry_6q_, double* _rz_6q_, double* _rt_6q_) \n{\n", fip);1276 fputs("int expf_pia_dl_func(int_8_exprf _nl, double* _zz6qi_, double* _rx_6q_, double* _ry_6q_, double* _rz_6q_, double* _rt_6q_) \n{\n", fip); 1276 1277 fprintf(fip,"%s \n", vardec.c_str()); 1277 1278 fprintf(fip, "if (!(%s)) { *_rx_6q_ = *_ry_6q_ = *_rz_6q_ = *_rt_6q_ = 0.; return(0); } \n", cut.c_str()); … … 1323 1324 // Fonction static 1324 1325 /* --Methode-- */ 1325 void Services2NObjMgr::DecodeLoopParameters(string& loop, int & i1, int& i2, int& di)1326 void Services2NObjMgr::DecodeLoopParameters(string& loop, int_8& i1, int_8& i2, int_8& di) 1326 1327 { 1327 1328 // Decode des paramatres de boucle for(int i=i1; i<i2; i+=di) specifies … … 1331 1332 if (l < 1) return; 1332 1333 size_t p = loop.find(':'); 1333 if (p >= l) { i1 = ato i(loop.c_str()); return; }1334 i1 = ato i(loop.substr(0, p).c_str());1334 if (p >= l) { i1 = atol(loop.c_str()); return; } 1335 i1 = atol(loop.substr(0, p).c_str()); 1335 1336 string aa = loop.substr(p+1); 1336 1337 p = aa.find(':'); 1337 1338 if (p < aa.length() ) { 1338 i2 = ato i(aa.substr(0,p).c_str());1339 di = ato i(aa.substr(p+1).c_str());1340 } 1341 else i2 = ato i(aa.c_str());1339 i2 = atol(aa.substr(0,p).c_str()); 1340 di = atol(aa.substr(p+1).c_str()); 1341 } 1342 else i2 = atol(aa.c_str()); 1342 1343 // cout << "-> I1= " << i1 << " I2= " << i2 << " DI= " << di << endl; 1343 1344 return;
Note:
See TracChangeset
for help on using the changeset viewer.