Changeset 1efd6f9 in tol


Ignore:
Timestamp:
Feb 15, 2012, 7:36:31 PM (15 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
0e07e12
Parents:
0d88c15
Message:

Fixes #1434

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol/btol/serie_type/tsrgrav.cpp

    r0d88c15 r1efd6f9  
    635635        BDate d=FirstDate();
    636636        BDat  lastNotEqual = val;
    637         GetLength();
    638         Ser()->GetData(data_, FirstDate(),LastDate(),Length());
     637        int len = GetLength();
     638        Ser()->GetData(data_, FirstDate(),LastDate(),len);
    639639        BHash hash; Dating()->GetHashBetween(hash, FirstDate(),LastDate());
    640640        BReal h = dte.Hash();
    641         for(; n<Length(); n++)
     641        for(; n<len; n++)
    642642        {
    643643          if(data_[n]==val)
    … …  
    751751      else
    752752      {
    753         GetLength();
    754         Ser()->GetData(data_,FirstDate(),LastDate(),Length());
     753        int len = GetLength();
     754        Ser()->GetData(data_,FirstDate(),LastDate(),len);
    755755       
    756756        BInt n=0;
    … …  
    833833  if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte))
    834834  {
    835     if(!Length())
     835    int len = GetLength();
     836    if(!len)
    836837    {
    837838      dat = 0.0;
    … …  
    848849      BData serData;
    849850      ser_->GetData(serData);
    850 
    851 
    852851      BHash hash; Dating()->GetHashBetween(hash, firstDate_,lastDate_);
    853852      Realloc(hash.Size());
    854       BInt  n;
     853      BInt  n, p, m;
    855854      BDate d;
    856855      BReal h = dte.Hash();
    857 
    858       for(n=0; n<Length(); n++)
     856      BDat x;
     857      int len = GetLength();
     858      for(n=0; n<len; n++)
    859859      {
    860860        data_[n] = 0.0;
    861         for(BInt p = 0; p<pol_.Size(); p++)
     861      }
     862      for(p=0; p<pol_.Size(); p++)
     863      {
     864        BMonome<BDat>& mon = pol_[p];
     865        for(n=0; n<len; n++)
    862866        {
    863     BInt m    = n-pol_[p].Degree()+backward_;
    864     BDat  x    = serData[m];
    865     data_[n] += pol_[p].Coef()*x;
     867          m    = n-mon.Degree()+backward_;
     868          x    = serData[m];
     869          data_[n] += mon.Coef()*x;
    866870        }
    867871        if(hash[n]==h) { dat = data_[n]; }
    868 
    869872      }
    870873      CompactData();
    … …  
    963966        BReal h0 = ser_->FirstDate().Hash();
    964967        BReal h  = dte.Hash();
    965 
    966         for(n=0; (n<Length()) && (hash[n]<h0); n++)
     968        int len = GetLength();
     969        for(n=0; (n<len) && (hash[n]<h0); n++)
    967970        {
    968971    data_[n] = (*ini_)[HashToDte(hash[n])];
    … …  
    970973        }
    971974
    972         for(; n<Length(); n++)
     975        for(; n<len; n++)
    973976        {
    974977    data_[n] = (*ser_)[HashToDte(hash[n])];
    … …  
    12431246        {
    12441247          BDat pivot = data_[n];
    1245           for(BInt m=n; m<Length(); m++)
     1248          int len = GetLength();
     1249          for(BInt m=n; m<len; m++)
    12461250          {
    12471251            data_[m] -= expand[m-n]*pivot;
Note: See TracChangeset for help on using the changeset viewer.