Changeset 2001 in Sophya for trunk


Ignore:
Timestamp:
May 14, 2002, 5:12:52 PM (23 years ago)
Author:
ansari
Message:

Correction/renforcement protection calculs doubles ds PIGraphicUC::SetUCS() - Reza 14/5/2002

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PI/pigraphuc.cc

    r1946 r2001  
    1717//define PROT_DBLE  1.e-19
    1818#define PETIT_DBLE 1.e-100
    19 #define PREC_DBLE  1.e-16
     19// qque probleme sur le trace - J'augmente les marges - Reza 14/5/2002
     20// #define PREC_DBLE  1.e-16 
     21#define PREC_DBLE  1.e-14
    2022#define PROT_DBLE  1.e-40
    2123
     
    177179
    178180  double xym;
    179   xym = fabs(xmax+xmin); xym = (xym > PETIT_DBLE) ? xym : PETIT_DBLE;
    180   if ((xmax-xmin)/xym < PREC_DBLE) {xmin=xmin-PREC_DBLE/2.*xym; xmax=xmin+PREC_DBLE*xym;}
    181   xym = fabs(ymax+ymin); xym = (xym > PETIT_DBLE) ? xym : PETIT_DBLE;
    182   if ((ymax-ymin)/xym < PREC_DBLE) {ymin=ymin-PREC_DBLE/2.*xym; ymax=ymin+PREC_DBLE*xym;}
     181  //DBG-REZA  cerr << " DBG-SetUCS() xmax-xmin = " << xmax-xmin << " xmin,max=" << xmin << "," << xmax << endl;
     182  if ((xmax-xmin) < PREC_DBLE*fabs(xmax+xmin)) {
     183    xym = fabs(xmax);  xym = (xym > PETIT_DBLE) ? xym : PETIT_DBLE;
     184    xmax += PREC_DBLE/2.*xym;
     185    xmin -= PREC_DBLE/2.*xym;
     186    //DBG-REZA  cerr << " PIGraphicUC::SetUCS() xmin,max=" << xmin << "," << xmax << " xym=" << xym << endl;
     187  }
     188  //DBG-REZAcerr << " DBG-SetUCS() ymax-ymin = " << ymax-ymin << " ymin,max=" << ymin << "," << ymax << endl;
     189  if ((ymax-ymin) < PREC_DBLE*fabs(ymax+ymin)) {
     190    xym = fabs(ymax);  xym = (xym > PETIT_DBLE) ? xym : PETIT_DBLE;
     191    ymax += PREC_DBLE/2.*xym;
     192    ymin -= PREC_DBLE/2.*xym;
     193    //DBG-REZAcerr << " PIGraphicUC::SetUCS() ymin,max=" << ymin << "," << ymax << " xym=" << xym << endl;
     194  }
     195  //    xym = fabs(xmax+xmin); xym = (xym > PETIT_DBLE) ? xym : PETIT_DBLE;
     196  // if ((xmax-xmin)/xym < PREC_DBLE) {xmin=xmin-PREC_DBLE/2.*xym; xmax=xmin+PREC_DBLE*xym;}
     197  // xym = fabs(ymax+ymin); xym = (xym > PETIT_DBLE) ? xym : PETIT_DBLE;
     198  // if ((ymax-ymin)/xym < PREC_DBLE) {ymin=ymin-PREC_DBLE/2.*xym; ymax=ymin+PREC_DBLE*xym;}
    183199//  if (xmax <= xmin  || ymax <= ymin) {
    184200//    cerr << "PIGraphicUC::SetUCS() Error - xmax <= xmin  || ymax <= ymin ! " << endl;
Note: See TracChangeset for help on using the changeset viewer.