/[escript]/trunk/escript/src/Utils.cpp
ViewVC logotype

Diff of /trunk/escript/src/Utils.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2823 by jfenwick, Thu Dec 3 01:35:08 2009 UTC revision 2824 by jfenwick, Wed Dec 16 01:22:56 2009 UTC
# Line 532  resolveGroup(boost::python::object obj) Line 532  resolveGroup(boost::python::object obj)
532         throw DataException("Error - resolveGroup expects a sequence object.");         throw DataException("Error - resolveGroup expects a sequence object.");
533      }      }
534      std::vector<DataLazy*> dats;      std::vector<DataLazy*> dats;
535        std::vector<Data*> dp;
536      for (int i=0;i<len;++i)      for (int i=0;i<len;++i)
537      {      {
538          Data* p=0;          Data* p=0;
# Line 547  resolveGroup(boost::python::object obj) Line 548  resolveGroup(boost::python::object obj)
548          if (p->isLazy())          if (p->isLazy())
549          {          {
550              dats.push_back(dynamic_cast<DataLazy*>(p->borrowData()));              dats.push_back(dynamic_cast<DataLazy*>(p->borrowData()));
551                dp.push_back(p);
552          }          }
553      }      }
554      if (dats.size()>0)      if (dats.size()>0)
555      {      {
556          dats[0]->resolveGroupWorker(dats);          dats[0]->resolveGroupWorker(dats);
557      }      }
558        // all the data will be identities now but its still lazy
559        // convert it to ready
560        for (int i=dp.size()-1;i>=0;--i)
561        {
562            dp[i]->resolve();
563        }
564  }  }
565    
566    
567  }  // end of namespace  }  // end of namespace

Legend:
Removed from v.2823  
changed lines
  Added in v.2824

  ViewVC Help
Powered by ViewVC 1.1.26