Changeset 2506 in Sophya for trunk/SophyaLib/NTools/poly.cc
- Timestamp:
- Mar 15, 2004, 5:46:56 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/NTools/poly.cc
r2344 r2506 20 20 : TVector<r_8>(degre+1), dirty(0), deg(0) 21 21 { 22 END_CONSTRUCTOR23 22 } 24 23 … … 27 26 :TVector<r_8>(a), dirty(a.dirty), deg(a.deg) 28 27 { 29 END_CONSTRUCTOR30 28 } 31 29 … … 96 94 return Root2(roots(0),roots(1)); 97 95 default : 98 THROW(parmErr);96 throw ParmError("Poly::Roots()") ; 99 97 } 100 98 } … … 106 104 { 107 105 UpdateDegIfDirty(); 108 if (deg != 1) THROW(sizeMismatchErr);106 if (deg != 1) ParmError("Poly::Root1() deg!= 1") ; 109 107 110 108 if (Element(1) == 0) return 0; … … 118 116 { 119 117 UpdateDegIfDirty(); 120 if (deg != 2) THROW(sizeMismatchErr);118 if (deg != 2) throw SzMismatchError("Poly::Root2() deg != 2") ; 121 119 122 120 double delta = Element(1)*Element(1) - 4*Element(0)*Element(2); … … 227 225 { 228 226 int n = x.NElts(); 229 if (n != (int)y.NElts()) THROW(sizeMismatchErr);227 if (n != (int)y.NElts()) throw SzMismatchError("Poly::Fit() "); 230 228 231 229 Realloc(degre); … … 262 260 { 263 261 int n = x.NElts(); 264 if (n != (int)y.NElts()) THROW(sizeMismatchErr);265 if (n != (int)erry2.NElts()) THROW(sizeMismatchErr);262 if (n != (int)y.NElts()) throw SzMismatchError("Poly::Fit() "); 263 if (n != (int)erry2.NElts()) throw SzMismatchError("Poly::Fit() ") ; 266 264 267 265 Realloc(degre); … … 288 286 Poly Poly::power(int n) const // a accelerer !!! 289 287 { 290 if (n < 0) THROW(rangeCheckErr);288 if (n < 0) throw RangeCheckError("Poly::power() n<0 "); 291 289 if (n == 0) { Poly r(0); r[0] = 1; return r;} 292 290 if (n == 1) { return *this; } … … 358 356 maxDegX(degreX), maxDegY(degreY), degX(0), degY(0), deg(0) 359 357 { 360 END_CONSTRUCTOR361 358 } 362 359 … … 370 367 for (int j=0; j<=degY; j++) 371 368 Coef(i,j) = polX[i]*polY[j]; 372 END_CONSTRUCTOR373 369 } 374 370 … … 379 375 degX(a.degX), degY(a.degY), deg(a.deg) 380 376 { 381 END_CONSTRUCTOR382 377 } 383 378 … … 467 462 { 468 463 int n = x.NElts(); 469 if (n != (int)y.NElts()) THROW(sizeMismatchErr);470 if (n != (int)z.NElts()) THROW(sizeMismatchErr);464 if (n != (int)y.NElts()) throw SzMismatchError("Poly2::Fit() - 1"); 465 if (n != (int)z.NElts()) throw SzMismatchError("Poly2::Fit() - 2"); 471 466 472 467 Realloc(degreX, degreY); … … 510 505 { 511 506 int n = x.NElts(); 512 if (n != (int)y.NElts()) THROW(sizeMismatchErr);513 if (n != (int)z.NElts()) THROW(sizeMismatchErr);514 if (n != (int)errz2.NElts()) THROW(sizeMismatchErr);507 if (n != (int)y.NElts()) throw SzMismatchError("Poly2::Fit() - 3"); 508 if (n != (int)z.NElts()) throw SzMismatchError("Poly2::Fit() - 4"); 509 if (n != (int)errz2.NElts()) throw SzMismatchError("Poly2::Fit() - 5"); 515 510 516 511 Realloc(degreX, degreY); … … 551 546 { 552 547 int n = x.NElts(); 553 if (n != (int)y.NElts()) THROW(sizeMismatchErr);554 if (n != (int)z.NElts()) THROW(sizeMismatchErr);548 if (n != (int)y.NElts()) throw SzMismatchError("Poly2::Fit() - 6"); 549 if (n != (int)z.NElts()) throw SzMismatchError("Poly2::Fit() - 7"); 555 550 556 551 Realloc(degre, degre); // certains vaudront 0, impose. … … 604 599 { 605 600 int n = x.NElts(); 606 if (n != (int)y.NElts()) THROW(sizeMismatchErr);607 if (n != (int)z.NElts()) THROW(sizeMismatchErr);608 if (n != (int)errz2.NElts()) THROW(sizeMismatchErr);601 if (n != (int)y.NElts()) throw SzMismatchError("Poly2::Fit() - 8"); 602 if (n != (int)z.NElts()) throw SzMismatchError("Poly2::Fit() - 9"); 603 if (n != (int)errz2.NElts()) throw SzMismatchError("Poly2::Fit() - 10"); 609 604 610 605 Realloc(degre, degre); … … 733 728 Poly2 Poly2::power(int n) const 734 729 { 735 if (n < 0) THROW(rangeCheckErr);730 if (n < 0) throw RangeCheckError("Poly2::power(n<0) "); 736 731 if (n == 0) { Poly2 r(0); r.Coef(0,0) = 1; return r;} 737 732 if (n == 1) { return *this; }
Note:
See TracChangeset
for help on using the changeset viewer.