Changeset 2699 in Sophya for trunk/SophyaLib/HiStats/basedtable.cc
- Timestamp:
- Apr 27, 2005, 1:48:19 PM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/HiStats/basedtable.cc
r2693 r2699 117 117 sa_size_t BaseDataTable::IndexNom(char const* nom) const 118 118 { 119 for(sa_size_t k=0; k<NVar(); k++) 120 if ( mNames[k].nom == nom ) return k; 121 throw NotFoundExc("BaseDataTable::IndexNom() : column name not found "); 119 for(sa_size_t k=0; k<NVar(); k++) 120 if ( mNames[k].nom == nom ) return k; 121 return -1; 122 // Reza:Avril 2005 : PINtuple se base sur le renvoi de -1 et pas d'une exception 123 // throw NotFoundExc("BaseDataTable::IndexNom() : column name not found "); 122 124 } 123 125 … … 202 204 sa_size_t off = n%mSegSz; 203 205 for(sa_size_t k=0; k<mIColsP.size(); k++) 204 mVarMTV[mIColIdx[k]] = mIColsP[k]->Get Segment(bid)[off];206 mVarMTV[mIColIdx[k]] = mIColsP[k]->GetCstSegment(bid)[off]; 205 207 for(sa_size_t k=0; k<mLColsP.size(); k++) 206 mVarMTV[mLColIdx[k]] = mLColsP[k]->Get Segment(bid)[off];208 mVarMTV[mLColIdx[k]] = mLColsP[k]->GetCstSegment(bid)[off]; 207 209 for(sa_size_t k=0; k<mFColsP.size(); k++) 208 mVarMTV[mFColIdx[k]] = mFColsP[k]->Get Segment(bid)[off];210 mVarMTV[mFColIdx[k]] = mFColsP[k]->GetCstSegment(bid)[off]; 209 211 for(sa_size_t k=0; k<mDColsP.size(); k++) 210 mVarMTV[mDColIdx[k]] = mDColsP[k]->Get Segment(bid)[off];212 mVarMTV[mDColIdx[k]] = mDColsP[k]->GetCstSegment(bid)[off]; 211 213 for(sa_size_t k=0; k<mSColsP.size(); k++) 212 mVarMTV[mSColIdx[k]] = atof(mSColsP[k]->Get Segment(bid)[off].c_str());214 mVarMTV[mSColIdx[k]] = atof(mSColsP[k]->GetCstSegment(bid)[off].c_str()); 213 215 214 216 return mVarMTV; … … 307 309 sa_size_t off = n%mSegSz; 308 310 for(sa_size_t k=0; k<mIColsP.size(); k++) 309 mVarD[mIColIdx[k]] = mIColsP[k]->Get Segment(bid)[off];311 mVarD[mIColIdx[k]] = mIColsP[k]->GetCstSegment(bid)[off]; 310 312 for(sa_size_t k=0; k<mLColsP.size(); k++) 311 mVarD[mLColIdx[k]] = mLColsP[k]->Get Segment(bid)[off];313 mVarD[mLColIdx[k]] = mLColsP[k]->GetCstSegment(bid)[off]; 312 314 for(sa_size_t k=0; k<mFColsP.size(); k++) 313 mVarD[mFColIdx[k]] = mFColsP[k]->Get Segment(bid)[off];315 mVarD[mFColIdx[k]] = mFColsP[k]->GetCstSegment(bid)[off]; 314 316 for(sa_size_t k=0; k<mDColsP.size(); k++) 315 mVarD[mDColIdx[k]] = mDColsP[k]->Get Segment(bid)[off];317 mVarD[mDColIdx[k]] = mDColsP[k]->GetCstSegment(bid)[off]; 316 318 for(sa_size_t k=0; k<mSColsP.size(); k++) 317 mVarD[mSColIdx[k]] = atof(mSColsP[k]->Get Segment(bid)[off].c_str());319 mVarD[mSColIdx[k]] = atof(mSColsP[k]->GetCstSegment(bid)[off].c_str()); 318 320 319 321 return mVarD; … … 326 328 if ((n < 0) || (n >= NEntry())) 327 329 throw RangeCheckError("BaseDataTable::GetCell() out of range line index n"); 328 if ((k < 0) || ( n>= NVar()))330 if ((k < 0) || (k >= NVar())) 329 331 throw RangeCheckError("BaseDataTable::GetCell() out of range column index k"); 330 332 double rv = BADVAL; … … 332 334 sa_size_t bid = n/mSegSz; 333 335 sa_size_t off = n%mSegSz; 336 334 337 switch (mNames[k].type) { 335 338 case IntegerField : 336 rv = mIColsP[sk]->Get Segment(bid)[off];339 rv = mIColsP[sk]->GetCstSegment(bid)[off]; 337 340 break; 338 341 case LongField : 339 rv = mLColsP[sk]->Get Segment(bid)[off];342 rv = mLColsP[sk]->GetCstSegment(bid)[off]; 340 343 break; 341 344 case FloatField : 342 rv = mFColsP[sk]->Get Segment(bid)[off];345 rv = mFColsP[sk]->GetCstSegment(bid)[off]; 343 346 break; 344 347 case DoubleField : 345 rv = mDColsP[sk]->Get Segment(bid)[off];348 rv = mDColsP[sk]->GetCstSegment(bid)[off]; 346 349 break; 347 350 case StringField : 348 rv = atof(mSColsP[sk]->Get Segment(bid)[off].c_str());351 rv = atof(mSColsP[sk]->GetCstSegment(bid)[off].c_str()); 349 352 break; 350 353 default: … … 365 368 if ((n < 0) || (n >= NEntry())) 366 369 throw RangeCheckError("BaseDataTable::GetCell() out of range line index n"); 367 if ((k < 0) || ( n>= NVar()))370 if ((k < 0) || (k >= NVar())) 368 371 throw RangeCheckError("BaseDataTable::GetCell() out of range column index k"); 369 372 MuTyV rv;; … … 373 376 switch (mNames[k].type) { 374 377 case IntegerField : 375 rv = mIColsP[sk]->Get Segment(bid)[off];378 rv = mIColsP[sk]->GetCstSegment(bid)[off]; 376 379 break; 377 380 case LongField : 378 rv = mLColsP[sk]->Get Segment(bid)[off];381 rv = mLColsP[sk]->GetCstSegment(bid)[off]; 379 382 break; 380 383 case FloatField : 381 rv = mFColsP[sk]->Get Segment(bid)[off];384 rv = mFColsP[sk]->GetCstSegment(bid)[off]; 382 385 break; 383 386 case DoubleField : 384 rv = mDColsP[sk]->Get Segment(bid)[off];387 rv = mDColsP[sk]->GetCstSegment(bid)[off]; 385 388 break; 386 389 case StringField : 387 rv = atof(mSColsP[sk]->GetSegment(bid)[off].c_str());390 rv = mSColsP[sk]->GetCstSegment(bid)[off]; 388 391 break; 389 392 default: … … 420 423 case IntegerField : 421 424 for(size_t is=0; is<mIColsP[sk]->NbSegments(); is++) { 422 int_4* sp = mIColsP[sk]->GetSegment(is);425 const int_4* sp = mIColsP[sk]->GetCstSegment(is); 423 426 for(size_t n=0; n<mIColsP[sk]->SegmentSize(); n++) { 424 427 if (cnt >= NEntry()) break; … … 432 435 case LongField : 433 436 for(size_t is=0; is<mLColsP[sk]->NbSegments(); is++) { 434 int_8* sp = mLColsP[sk]->GetSegment(is);437 const int_8* sp = mLColsP[sk]->GetCstSegment(is); 435 438 for(size_t n=0; n<mLColsP[sk]->SegmentSize(); n++) { 436 439 if (cnt >= NEntry()) break; … … 443 446 case FloatField : 444 447 for(size_t is=0; is<mFColsP[sk]->NbSegments(); is++) { 445 r_4* sp = mFColsP[sk]->GetSegment(is);448 const r_4* sp = mFColsP[sk]->GetCstSegment(is); 446 449 for(size_t n=0; n<mFColsP[sk]->SegmentSize(); n++) { 447 450 if (cnt >= NEntry()) break; … … 454 457 case DoubleField : 455 458 for(size_t is=0; is<mDColsP[sk]->NbSegments(); is++) { 456 r_8* sp = mDColsP[sk]->GetSegment(is);459 const r_8* sp = mDColsP[sk]->GetCstSegment(is); 457 460 for(size_t n=0; n<mDColsP[sk]->SegmentSize(); n++) { 458 461 if (cnt >= NEntry()) break; … … 524 527 string BaseDataTable::LineHeaderToString() const 525 528 { 526 char buff[32];527 string rets=" Num ";529 string rets,s; 530 528 531 for(int i=0; i<NVar(); i++) { 529 sprintf(buff, "%8s ", NomIndex(i).c_str() ); 530 rets += buff; 531 } 532 rets += '\n'; 532 s = mNames[i].nom; 533 s += ' '; 534 size_t l = s.length(); 535 for(size_t ii=l; ii<10; ii++) s += ' '; 536 rets += s; 537 } 533 538 return(rets); 534 539 } … … 547 552 switch (mNames[k].type) { 548 553 case IntegerField : 549 rv = mIColsP[sk]->Get Segment(bid)[off];554 rv = mIColsP[sk]->GetCstSegment(bid)[off]; 550 555 break; 551 556 case LongField : 552 rv = mLColsP[sk]->Get Segment(bid)[off];557 rv = mLColsP[sk]->GetCstSegment(bid)[off]; 553 558 break; 554 559 case FloatField : 555 rv = mFColsP[sk]->Get Segment(bid)[off];560 rv = mFColsP[sk]->GetCstSegment(bid)[off]; 556 561 break; 557 562 case DoubleField : 558 rv = mDColsP[sk]->Get Segment(bid)[off];563 rv = mDColsP[sk]->GetCstSegment(bid)[off]; 559 564 break; 560 565 case StringField : 561 rv = atof(mSColsP[sk]->GetSegment(bid)[off].c_str());566 rv = mSColsP[sk]->GetCstSegment(bid)[off]; 562 567 break; 563 568 default: … … 565 570 break; 566 571 } 567 rs += " "; 568 rs += (string)rv; 572 string s = (string)rv; 573 s += ' '; 574 size_t l = s.length(); 575 for(size_t ii=l; ii<10; ii++) s += ' '; 576 rs += s; 569 577 } 570 578 return rs;
Note:
See TracChangeset
for help on using the changeset viewer.