Changeset 2fa44ff in tol


Ignore:
Timestamp:
Nov 14, 2008, 6:01:50 PM (18 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
47faaab
Parents:
c16d2f2
Message:

Ensuring successor and predecessor operations

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

File:
1 edited

Legend:

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

    rc16d2f2 r2fa44ff  
    217217  d.PutFraction(0);
    218218  d.IncDay(1);
     219  assert(d>=dte);
    219220  return(d);
    220221}
    … …  
    226227  d.PutFraction(0);
    227228  if(!dte.Fraction()) { d.IncDay(-1); }
     229  assert(d<=dte);
    228230  return(d);
    229231}
    … …  
    292294  EnsureLimitsSuccessor(dte);
    293295  BDate easterDay = DteEasterSunday(dte.Year());
    294   if (dte < easterDay)     { return(easterDay); }
    295   else                     { return(DteEasterSunday(dte.Year()+1)); }
     296  BDate d;
     297  if (dte < easterDay) { d=easterDay; }
     298  else                 { d=DteEasterSunday(dte.Year()+1); }
     299  assert(d>=dte);
     300  return(d);
    296301}
    297302
    … …  
    302307  EnsureLimitsPredecessor(dte);
    303308  BDate easterDay = DteEasterSunday(dte.Year());
    304   if (dte > easterDay)     { return(easterDay); }
    305   else                           { return(DteEasterSunday(dte.Year()-1)); }
     309  BDate d;
     310  if (dte > easterDay)     { d=easterDay; }
     311  else                           { d=DteEasterSunday(dte.Year()-1); }
     312  assert(d<=dte);
     313  return(d);
    306314}
    307315
    … …  
    319327    d = DteEasterSunday(y);
    320328  }
     329  assert(d>=dte);
    321330  return(d);
    322331}
    … …  
    337346    d = DteEasterSunday(y);
    338347  }
     348  assert(d<=dte);
    339349  return(d);
    340350}
    … …  
    386396  d+=(7+weekDay_-w)%7 + 7*(weekDay_==w);
    387397//Std(BText("\nBTmsWeekDay::Successor(")+dte+")="+d);
     398  assert(d>=dte);
    388399  return(d);
    389400}
    … …  
    400411  d-= (7+w-weekDay_)%7 + 7*((w==weekDay_));
    401412//Std(BText("\nBTmsWeekDay::Predecessor(")+dte+")="+d);
     413  assert(d<=dte);
    402414  return(d);
    403415}
    … …  
    413425  if(nth>1) { d+= 7*(nth-1); }
    414426//Std(BText("\nBTmsWeekDay::Next(")+dte+","+nth+")="+d);
     427  assert(d>=dte);
    415428  return(d);
    416429}
    … …  
    429442
    430443//Std(BText("\nBTmsWeekDay::Prev(")+dte+","+nth+")="+d);
     444  assert(d<=dte);
    431445  return(d);
    432446}
    … …  
    479493  { suc.IncMonth(1); }
    480494  suc.PutDay(monthDay_);
     495  assert(suc>=dte);
    481496  return(suc);
    482497}
    … …  
    494509  { pre.IncMonth(-1); }
    495510  pre.PutDay(monthDay_);
     511  assert(pre<=dte);
    496512  return(pre);
    497513}
    … …  
    535551  }
    536552  else { suc.PutDate(dte.Year()+1, month_, 1); }
     553  assert(suc>=dte);
    537554  return(suc);
    538555}
    … …  
    555572  else // (pre.Month() > month)
    556573  { pre.PutDate(dte.Year(),month_,DteDaysInMonth(month_,dte.Year())); }
     574  assert(pre<=dte);
    557575  return(pre);
    558576}
    … …  
    585603    if(d.Hour()>=hour_) { d.IncDay(1); }
    586604    d.PutHour(hour_);
     605  assert(d>=dte);
    587606    return(d);
    588607}
    … …  
    598617    if(d.Hour()<=hour_) { d.IncDay(-1); }
    599618    d.PutHour(hour_);
     619  assert(d<=dte);
    600620    return(d);
    601621}
    … …  
    611631  BDate d = Successor(dte);
    612632  d.IncDay(nth-1);
     633  assert(d>=dte);
    613634  return(d);
    614635}
    … …  
    624645  BDate d = Predecessor(dte);
    625646  d.IncDay(1-nth);
     647  assert(d<=dte);
    626648  return(d);
    627649}
    … …  
    662684    if(d.Minute()>=minute_) { d.IncHour(1); }
    663685    d.PutMinute(minute_);
     686  assert(d>=dte);
    664687    return(d);
    665688}
    … …  
    674697    if(d.Minute()<=minute_) { d.IncHour(-1); }
    675698    d.PutMinute(minute_);
     699  assert(d<=dte);
    676700    return(d);
    677701}
    … …  
    687711  BDate d = Successor(dte);
    688712  d.IncHour(nth-1);
     713  assert(d>=dte);
    689714  return(d);
    690715}
    … …  
    700725  BDate d = Predecessor(dte);
    701726  d.IncHour(1-nth);
     727  assert(d<=dte);
    702728  return(d);
    703729}
    … …  
    738764    if(d.Second()>=second_) { d.IncMinute(1); }
    739765    d.PutSecond(second_);
     766  assert(d>=dte);
    740767    return(d);
    741768}
    … …  
    750777    if(d.Second()<=second_) { d.IncMinute(-1); }
    751778    d.PutSecond(second_);
     779  assert(d<=dte);
    752780    return(d);
    753781}
    … …  
    763791  BDate d = Successor(dte);
    764792  d.IncMinute(nth-1);
     793  assert(d>=dte);
    765794  return(d);
    766795}
    … …  
    776805  BDate d = Predecessor(dte);
    777806  d.IncMinute(1-nth);
     807  assert(d<=dte);
    778808  return(d);
    779809}
Note: See TracChangeset for help on using the changeset viewer.