Changeset 1155 in Sophya
- Timestamp:
- Aug 29, 2000, 6:08:46 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/HiStats/ntuple.cc
r1092 r1155 545 545 //-- 546 546 { 547 char strg[256]; 548 if (dobj->mInfo) sprintf(strg, "NVar=%6d NEnt=%9d BlkSz=%6d NBlk=%6d HasInfo", 549 (int)dobj->mNVar, (int)dobj->mNEnt, (int)dobj->mBlk, (int)dobj->mNBlk); 550 else sprintf(strg, "NVar=%6d NEnt=%9d BlkSz=%6d NBlk=%6d ", 551 (int)dobj->mNVar, (int)dobj->mNEnt, (int)dobj->mBlk, (int)dobj->mNBlk); 552 s.PutLine(strg); 553 s.PutI4(dobj->mNVar); 547 if (dobj == NULL) return; 548 549 // On ecrit cette chaine pour compatibilite avec l'ancienne version 550 string strg = "NTuple"; 551 s.Put(strg); 552 553 // On ecrit 3 uint_4 .... 554 // 0: Numero de version, 1 : non nul -> has info, 2 : reserve 555 uint_4 itab[3]; 556 itab[0] = 2; // Numero de version a 1 557 itab[1] = itab[2] = 0; 558 if (dobj->mInfo) itab[1] = 1; 559 s.Put(itab, 3); 560 561 s.Put(dobj->mNVar); 554 562 s.PutBytes(dobj->mNames, dobj->mNVar*LENNAME1); 555 s.Put I4(dobj->mNEnt);556 s.Put I4(dobj->mBlk);557 s.Put I4(dobj->mNBlk);563 s.Put(dobj->mNEnt); 564 s.Put(dobj->mBlk); 565 s.Put(dobj->mNBlk); 558 566 if (dobj->mInfo) s << (*(dobj->mInfo)); 559 567 int jb; 560 568 for(jb=0; jb<dobj->mNBlk; jb++) 561 s.Put R4s(dobj->mPtr[jb], dobj->mNVar*dobj->mBlk);569 s.Put(dobj->mPtr[jb], dobj->mNVar*dobj->mBlk); 562 570 return; 563 571 } … … 571 579 { 572 580 573 dobj->Clean(); 574 575 char strg[256]; 576 s.GetLine(strg, 255); 577 // Pour savoir s'il y avait un DVList Info associe 581 if (dobj == NULL) dobj = new NTuple; 582 else dobj->Clean(); 583 578 584 bool hadinfo = false; 579 if (strncmp(strg+strlen(strg)-7, "HasInfo", 7) == 0) hadinfo = true; 580 581 s.GetI4(dobj->mNVar); 585 string strg; 586 s.Get(strg); 587 if (strg == "NTuple") { 588 uint_4 itab[3]; 589 s.Get(itab, 3); 590 if (itab[1] != 0) hadinfo = true; 591 } 592 else { 593 // Ancienne version de PPF NTuple - Pour savoir s'il y avait un DVList Info associe 594 char buff[256]; 595 strcpy(buff, strg.c_str()); 596 if (strncmp(buff+strlen(buff)-7, "HasInfo", 7) == 0) hadinfo = true; 597 } 598 s.Get(dobj->mNVar); 582 599 dobj->mNames = new char[dobj->mNVar*LENNAME1]; 583 600 dobj->mVar = new r_4[dobj->mNVar]; 584 601 dobj->mVarD = new r_8[dobj->mNVar]; 585 602 s.GetBytes(dobj->mNames, dobj->mNVar*LENNAME1); 586 s.Get I4(dobj->mNEnt);587 s.Get I4(dobj->mBlk);588 s.Get I4(dobj->mNBlk);603 s.Get(dobj->mNEnt); 604 s.Get(dobj->mBlk); 605 s.Get(dobj->mNBlk); 589 606 590 607 if (hadinfo) { // Lecture eventuelle du DVList Info … … 597 614 r_4* pt = new r_4[dobj->mNVar*dobj->mBlk]; 598 615 dobj->mPtr.push_back(pt); 599 s.Get R4s(dobj->mPtr[jb], dobj->mNVar*dobj->mBlk);616 s.Get(dobj->mPtr[jb], dobj->mNVar*dobj->mBlk); 600 617 } 601 618
Note:
See TracChangeset
for help on using the changeset viewer.