Changeset bbe047a in tol


Ignore:
Timestamp:
May 16, 2011, 10:06:22 AM (15 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
806484d
Parents:
b0504e57
Message:

Refs #1205

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@3545 be4846ae-f051-483a-831f-b64e7d08527f

Location:
tol/btol/timeset_type
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • tol/btol/timeset_type/tmsgrav.cpp

    rb0504e57 rbbe047a  
    4141//--------------------------------------------------------------------
    4242BTraceInit("tmsgrav.cpp");
    43 BDat  BTmsAbortable::maxIter_    = 100000;
    44 BDat  BTmsAbortable::outOfRange_ = 10000;
    45 
     43BDat BTmsAbortable::maxIter_ = 100000;
     44BDat BTmsAbortable::outOfRange_ = 10000;
     45BDat BTmsAbortable::cutRangeFactor_ = 100;
    4646
    4747template<>
    … …  
    338338  if(!abortedMessageSended_)
    339339  {
    340     int N = (int)MaxIter().Value();
     340    BText id = Identify();
     341    if(id=="$tmp$") { id = ""; }
     342    else { id = I2(" for TimeSet "," para el TimeSet ")+id; };
    341343    Warning(function +
    342             I2(" has been aborted after ",
    343                " ha sido abortado después de ")+N+
    344             I2(" iterations for TimeSet ",
    345                " iteraciones para el TimeSet ")+Identify()+
     344            I2(" has been aborted ",
     345               " ha sido abortado ")+id+
    346346            I2(" operating between dates "," operando entre las fechas [")+d1+","+d2+"]"+"\n"+
    347             I2("Bounded TimeSet resulting behaviour will be assumed.",
    348                "Se asumirá en los resultados el comportamiento de TimeSet acotado."));
     347            I2("Probably this is an expression of empty time set.",
     348               "Probablemente se trata de una expresión del conjunto temporal vacío."));
    349349    ((BTmsAbortable*)(this))->abortedMessageSended_ = true;
    350350  }
    … …  
    362362  {
    363363    int M = (int)OutOfRange().Value();
     364    BText id = Identify();
     365    if(id=="$tmp$") { id = ""; }
     366    else { id = I2(" for TimeSet "," para el TimeSet ")+id; };
    364367    Warning(function +
    365368            I2(" has been aborted because it has fall out of calculation range ",
    366                " ha sido abortado porque se ha salido del rango de cálculo ")+
    367           //" ["+CurrentCalcFirstDate()+ ","+CurrentCalcLastDate()+"] "+
    368             M+
    369             I2(" times ",
    370                " veces ")+
    371             I2(" for TimeSet ",
    372                " para el TimeSet ")+Identify()+
     369               " ha sido abortado porque se ha salido del rango de cálculo ")+id+
    373370            I2(" operating between dates "," operando entre las fechas [")+d1+","+d2+"]"+"\n"+
    374             I2("Bounded TimeSet resulting behaviour will be assumed.",
    375                "Se asumirá en los resultados el comportamiento de TimeSet acotado."));
     371            I2("Probably this is an expression of empty time set.",
     372               "Probablemente se trata de una expresión del conjunto temporal vacío."));
    376373    ((BTmsAbortable*)(this))->abortedMessageSended_ = true;
    377374  }
    … …  
    699696  BDate curLimit = CurrentCalcLastDate();
    700697  if(!curLimit.HasValue()) { curLimit = BDate::DefaultLast(); }
     698  double defaultRange =  BDate::DefaultLast() -  BDate::DefaultFirst();
     699  BDate cutLimit = curLimit+((1+defaultRange)*cutRangeFactor_.Value());
    701700  for(n=iter=0; iter<N; iter++)
    702701  {
    … …  
    707706    if(curLimit<dte)
    708707    {
    709       if(n>M)
     708      if((n>M) || (cutLimit<dte))
    710709      {
    711710        AbortMessageOutOfRange("BTmsIntersection::Successor",dte_,dte,1);
    … …  
    749748  BDate curLimit = CurrentCalcFirstDate();
    750749  if(curLimit==BDate::Begin()) { curLimit = BDate::DefaultFirst(); }
     750  double defaultRange =  BDate::DefaultLast() -  BDate::DefaultFirst();
     751  BDate cutLimit = curLimit-((1+defaultRange)*cutRangeFactor_.Value());
    751752  for(n=iter=0; iter<N; iter++)
    752753  {
    … …  
    756757    if(curLimit>dte)
    757758    {
    758       if(n>M)
     759      if((n>M) || (cutLimit>dte))
    759760      {
    760761        AbortMessageOutOfRange("BTmsIntersection::Predecessor",dte_,dte,-1);
    … …  
    847848  BDate curLimit = CurrentCalcLastDate();
    848849  if(!curLimit.HasValue()) { curLimit = BDate::DefaultLast(); }
     850  double defaultRange =  BDate::DefaultLast() -  BDate::DefaultFirst();
     851  BDate cutLimit = curLimit+((1+defaultRange)*cutRangeFactor_.Value());
    849852  if(a_!=b_)
    850853  {
    … …  
    856859      if(curLimit<dte)
    857860      {
    858         if(n>M)
     861        if((n>M) || (cutLimit<dte))
    859862        {
    860863          AbortMessageOutOfRange("BTmsDifference::Successor",dte_,dte,1);
    … …  
    899902  BDate curLimit = CurrentCalcFirstDate();
    900903  if(curLimit==BDate::Begin()) { curLimit = BDate::DefaultFirst(); }
     904  double defaultRange =  BDate::DefaultLast() -  BDate::DefaultFirst();
     905  BDate cutLimit = curLimit-((1+defaultRange)*cutRangeFactor_.Value());
    901906  if(a_!=b_)
    902907  {
    … …  
    908913      if(curLimit>dte)
    909914      {
    910         if(n>M)
     915        if((n>M) || (cutLimit>dte))
    911916        {
    912917          AbortMessageOutOfRange("BTmsDifference::Predecessor",dte_,dte,-1);
    … …  
    11861191  BDate curLimit = CurrentCalcLastDate();
    11871192  if(!curLimit.HasValue()) { curLimit = BDate::DefaultLast(); }
     1193  double defaultRange =  BDate::DefaultLast() -  BDate::DefaultFirst();
     1194  BDate cutLimit = curLimit+((1+defaultRange)*cutRangeFactor_.Value());
    11881195  for(n=iter=0; iter<N; iter++)
    11891196  {
    … …  
    11931200    if(curLimit<dte)
    11941201    {
    1195       if(n>M)
     1202      if((n>M)||(cutLimit<dte))
    11961203      {
    11971204        AbortMessageOutOfRange("BTmsAllIntersection::Successor",dte_,dte,1);
    … …  
    12491256  BDate curLimit = CurrentCalcFirstDate();
    12501257  if(curLimit==BDate::Begin()) { curLimit = BDate::DefaultFirst(); }
     1258  double defaultRange =  BDate::DefaultLast() -  BDate::DefaultFirst();
     1259  BDate cutLimit = curLimit+((1+defaultRange)*cutRangeFactor_.Value());
    12511260  for(n=iter=0; iter<N; iter++)
    12521261  {
    … …  
    12561265    if(curLimit>dte)
    12571266    {
    1258       if(n>M)
     1267      if((n>M)||(cutLimit>dte))
    12591268      {
    12601269        AbortMessageOutOfRange("BTmsAllIntersection::Predecessor",dte_,dte,-1);
  • tol/btol/timeset_type/tol_btmsgrav.h

    rb0504e57 rbbe047a  
    197197  static BDat  maxIter_;
    198198  static BDat  outOfRange_;
     199  static BDat  cutRangeFactor_;
    199200  bool  abortedMessageSended_;
    200201  BDate abortSuccFirst_;
Note: See TracChangeset for help on using the changeset viewer.