/[escript]/branches/split/weipa/src/DataVar.cpp
ViewVC logotype

Diff of /branches/split/weipa/src/DataVar.cpp

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

revision 3184 by caltinay, Fri Sep 3 01:29:21 2010 UTC revision 3185 by caltinay, Thu Sep 16 00:30:09 2010 UTC
# Line 92  bool DataVar::initFromEscript(escript::D Line 92  bool DataVar::initFromEscript(escript::D
92  #ifndef VISIT_PLUGIN  #ifndef VISIT_PLUGIN
93      cleanup();      cleanup();
94    
95      if (!escriptData.actsExpanded()) {      if (!escriptData.isConstant() && !escriptData.actsExpanded()) {
96          cerr << "WARNING: Only expanded data supported!" << endl;          cerr << "WARNING: Weipa only supports constant & expanded data, "
97                << "not initializing " << varName << endl;
98          return false;          return false;
99      }      }
100    
# Line 140  bool DataVar::initFromEscript(escript::D Line 141  bool DataVar::initFromEscript(escript::D
141          size_t dataSize = dimSize * ptsPerSample;          size_t dataSize = dimSize * ptsPerSample;
142          float* tempData = new float[dataSize*numSamples];          float* tempData = new float[dataSize*numSamples];
143          float* destPtr = tempData;          float* destPtr = tempData;
144          for (int sampleNo=0; sampleNo<numSamples; sampleNo++) {          if (escriptData.isConstant()) {
145              const escript::DataAbstract::ValueType::value_type* values =              const escript::DataAbstract::ValueType::value_type* values =
146                  escriptData.getSampleDataRO(sampleNo);                  escriptData.getSampleDataRO(0);
147              copy(values, values+dataSize, destPtr);              for (int pointNo=0; pointNo<numSamples*ptsPerSample; pointNo++) {
148              destPtr += dataSize;                  copy(values, values+dimSize, destPtr);
149                    destPtr += dimSize;
150                }
151            } else {
152                for (int sampleNo=0; sampleNo<numSamples; sampleNo++) {
153                    const escript::DataAbstract::ValueType::value_type* values =
154                        escriptData.getSampleDataRO(sampleNo);
155                    copy(values, values+dataSize, destPtr);
156                    destPtr += dataSize;
157                }
158          }          }
159    
160          const float* srcPtr = tempData;          const float* srcPtr = tempData;

Legend:
Removed from v.3184  
changed lines
  Added in v.3185

  ViewVC Help
Powered by ViewVC 1.1.26