/[escript]/temp_trunk_copy/escript/test/DataTaggedTestCase.cpp
ViewVC logotype

Diff of /temp_trunk_copy/escript/test/DataTaggedTestCase.cpp

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

revision 524 by jgs, Tue Feb 14 05:55:46 2006 UTC revision 527 by jgs, Wed Feb 15 01:25:57 2006 UTC
# Line 3931  void DataTaggedTestCase::testSetSlice() Line 3931  void DataTaggedTestCase::testSetSlice()
3931    
3932      DataArrayView::RegionType region;      DataArrayView::RegionType region;
3933    
3934        myData2.getDefaultValue()()=1.0;
3935    
3936      myData1.setSlice(&myData2, region);      myData1.setSlice(&myData2, region);
3937    
3938      //cout << myData1.toString() << endl;      //cout << myData1.toString() << endl;
# Line 3945  void DataTaggedTestCase::testSetSlice() Line 3947  void DataTaggedTestCase::testSetSlice()
3947      assert(myDataView.getRank()==0);      assert(myDataView.getRank()==0);
3948      assert(myDataView.noValues()==1);      assert(myDataView.noValues()==1);
3949      assert(myDataView.getShape().size()==0);      assert(myDataView.getShape().size()==0);
3950      assert(myDataView()==0.0);      assert(myDataView()==1.0);
3951    
3952    }    }
3953    
# Line 3965  void DataTaggedTestCase::testSetSlice() Line 3967  void DataTaggedTestCase::testSetSlice()
3967        viewData1[i]=i;        viewData1[i]=i;
3968      }      }
3969      DataArrayView myView1(viewData1,viewShape);      DataArrayView myView1(viewData1,viewShape);
3970        DataTagged myData1(keys,values,myView1,FunctionSpace());
3971    
3972      DataArrayView::ValueType viewData2(3);      DataArrayView::ValueType viewData2(3);
3973      for (int i=0;i<viewShape[0];i++) {      for (int i=0;i<viewShape[0];i++) {
3974        viewData2[i]=i+3;        viewData2[i]=i+3;
3975      }      }
3976      DataArrayView myView2(viewData2,viewShape);      DataArrayView myView2(viewData2,viewShape);
   
     DataTagged myData1(keys,values,myView1,FunctionSpace());  
3977      DataTagged myData2(keys,values,myView2,FunctionSpace());      DataTagged myData2(keys,values,myView2,FunctionSpace());
3978    
3979      // full slice      // full slice
# Line 4007  void DataTaggedTestCase::testSetSlice() Line 4008  void DataTaggedTestCase::testSetSlice()
4008      viewShape.push_back(1);      viewShape.push_back(1);
4009    
4010      DataArrayView::ValueType viewData3(1);      DataArrayView::ValueType viewData3(1);
4011      viewData3[0]=0.0;      viewData3[0]=6.0;
4012      DataArrayView myView3(viewData3,viewShape);      DataArrayView myView3(viewData3,viewShape);
   
4013      DataTagged myData3(keys,values,myView3,FunctionSpace());      DataTagged myData3(keys,values,myView3,FunctionSpace());
4014    
4015      region.clear();      region.clear();
# Line 4032  void DataTaggedTestCase::testSetSlice() Line 4032  void DataTaggedTestCase::testSetSlice()
4032      assert(myDataView.noValues()==3);      assert(myDataView.noValues()==3);
4033      assert(myDataView.getShape().size()==1);      assert(myDataView.getShape().size()==1);
4034      assert(myDataView(0)==3.0);      assert(myDataView(0)==3.0);
4035      assert(myDataView(1)==0.0);      assert(myDataView(1)==6.0);
4036      assert(myDataView(2)==5.0);      assert(myDataView(2)==5.0);
4037    
4038      // scalar slice      // scalar slice
4039    
4040      //region.clear();      region.clear();
4041      //region_element.first=0;      region_element.first=0;
4042      //region_element.second=0;      region_element.second=0;
4043      //region.push_back(region_element);      region.push_back(region_element);
4044    
4045        DataTagged myData4;
4046        myData4.getDefaultValue()()=7.0;
4047    
4048        myData1.setSlice(&myData4, region);
4049    
4050      //cout << myData3.toString() << endl;      //cout << myData3.toString() << endl;
4051    
4052      //myData3.setSlice(&myData2, region);      assert(myData1.getTagLookup().size()==0);
4053    
4054      //cout << myData3.toString() << endl;      assert(myData1.getLength()==3);
4055    
4056        myDataView = myData1.getDefaultValue();
4057        assert(!myDataView.isEmpty());
4058        assert(myDataView.getOffset()==0);
4059        assert(myDataView.getRank()==1);
4060        assert(myDataView.noValues()==3);
4061        assert(myDataView.getShape().size()==1);
4062        assert(myDataView(0)==7.0);
4063        assert(myDataView(1)==6.0);
4064        assert(myDataView(2)==5.0);
4065    
4066      }
4067    
4068      {
4069    
4070        cout << "\tTest slicing DataTagged with rank 3 default value only." << endl;
4071    
4072        DataTagged::TagListType keys;
4073    
4074        DataTagged::ValueListType values;
4075    
4076        DataArrayView::ShapeType viewShape;
4077        viewShape.push_back(3);
4078        viewShape.push_back(3);
4079        viewShape.push_back(3);
4080    
4081      //assert(myData3.getTagLookup().size()==0);      DataArrayView::ValueType viewData1(27);
4082        for (int i=0;i<viewData1.size();i++) {
4083          viewData1[i]=i;
4084        }
4085        DataArrayView myView1(viewData1,viewShape);
4086        DataTagged myData1(keys,values,myView1,FunctionSpace());
4087    
4088      //assert(myData3.getLength()==1);      DataArrayView::ValueType viewData2(27);
4089        for (int i=0;i<viewData2.size();i++) {
4090          viewData2[i]=i+27;
4091        }
4092        DataArrayView myView2(viewData2,viewShape);
4093        DataTagged myData2(keys,values,myView2,FunctionSpace());
4094    
4095        // full slice
4096    
4097        std::pair<int, int> region_element;
4098        region_element.first=0;
4099        region_element.second=3;
4100        DataArrayView::RegionType region;
4101        region.push_back(region_element);
4102        region.push_back(region_element);
4103        region.push_back(region_element);
4104    
4105        myData1.setSlice(&myData2, region);
4106    
4107      //myDataView = myData3.getDefaultValue();      //cout << myData1.toString() << endl;
4108      //assert(!myDataView.isEmpty());  
4109      //assert(myDataView.getOffset()==0);      assert(myData1.getTagLookup().size()==0);
4110      //assert(myDataView.getRank()==0);  
4111      //assert(myDataView.noValues()==1);      assert(myData1.getLength()==27);
4112      //assert(myDataView.getShape().size()==0);  
4113      //assert(myDataView()==3.0);      DataArrayView myDataView = myData1.getDefaultValue();
4114        assert(!myDataView.isEmpty());
4115        assert(myDataView.getOffset()==0);
4116        assert(myDataView.getRank()==3);
4117        assert(myDataView.noValues()==27);
4118        assert(myDataView.getShape().size()==3);
4119    
4120        // rank 1 slice
4121    
4122        viewShape.clear();
4123        viewShape.push_back(3);
4124    
4125        DataArrayView::ValueType viewData3(3);
4126        for (int i=0;i<viewData3.size();i++) {
4127          viewData3[i]=i+60;
4128        }
4129        DataArrayView myView3(viewData3,viewShape);
4130        DataTagged myData3(keys,values,myView3,FunctionSpace());
4131    
4132        region.clear();
4133        region.push_back(region_element);
4134        region_element.first=0;
4135        region_element.second=0;
4136        region.push_back(region_element);
4137        region.push_back(region_element);
4138    
4139        myData1.setSlice(&myData3, region);
4140    
4141        //cout << myData1.toString() << endl;
4142    
4143        assert(myData1.getTagLookup().size()==0);
4144    
4145        assert(myData1.getLength()==27);
4146    
4147        myDataView = myData1.getDefaultValue();
4148        assert(!myDataView.isEmpty());
4149        assert(myDataView.getOffset()==0);
4150        assert(myDataView.getRank()==3);
4151        assert(myDataView.noValues()==27);
4152        assert(myDataView.getShape().size()==3);
4153        assert(myDataView(0,0,0)==60.0);
4154        assert(myDataView(1,0,0)==61.0);
4155        assert(myDataView(2,0,0)==62.0);
4156    
4157        // scalar slice
4158    
4159        region.clear();
4160        region_element.first=0;
4161        region_element.second=0;
4162        region.push_back(region_element);
4163        region.push_back(region_element);
4164        region.push_back(region_element);
4165    
4166        DataTagged myData4;
4167        myData4.getDefaultValue()()=70.0;
4168    
4169        myData1.setSlice(&myData4, region);
4170    
4171        //cout << myData1.toString() << endl;
4172    
4173        assert(myData1.getTagLookup().size()==0);
4174    
4175        assert(myData1.getLength()==27);
4176    
4177        myDataView = myData1.getDefaultValue();
4178        assert(!myDataView.isEmpty());
4179        assert(myDataView.getOffset()==0);
4180        assert(myDataView.getRank()==3);
4181        assert(myDataView.noValues()==27);
4182        assert(myDataView.getShape().size()==3);
4183        assert(myDataView(0,0,0)==70.0);
4184    
4185    }    }
4186    

Legend:
Removed from v.524  
changed lines
  Added in v.527

  ViewVC Help
Powered by ViewVC 1.1.26