/[escript]/branches/arrayview_from_1695_trunk/escript/test/DataArrayViewTestCase.cpp
ViewVC logotype

Diff of /branches/arrayview_from_1695_trunk/escript/test/DataArrayViewTestCase.cpp

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

revision 712 by gross, Wed Apr 26 22:39:51 2006 UTC revision 713 by gross, Thu Apr 27 05:03:44 2006 UTC
# Line 1751  void DataArrayViewTestCase::testUnaryOp( Line 1751  void DataArrayViewTestCase::testUnaryOp(
1751    
1752        // check the results        // check the results
1753        tmp = std::sin((double)p);        tmp = std::sin((double)p);
1754        assert(std::abs(dataView()-tmp)<1.e-10);        assert(std::abs(dataView()-tmp)<=REL_TOL*std::abs(tmp));
1755    
1756        if (p<npoints-1) {        if (p<npoints-1) {
1757          dataView.incrOffset();          dataView.incrOffset();
# Line 1793  void DataArrayViewTestCase::testUnaryOp( Line 1793  void DataArrayViewTestCase::testUnaryOp(
1793        // check the results        // check the results
1794        for (int i=0;i<shape[0];i++) {        for (int i=0;i<shape[0];i++) {
1795          for (int j=0;j<shape[1];j++) {          for (int j=0;j<shape[1];j++) {
1796            assert(std::abs(dataView(i,j)-std::sqrt((double)dataView.index(i,j)))<1.e-10);            assert(std::abs(dataView(i,j)-std::sqrt((double)dataView.index(i,j)))<=REL_TOL*std::sqrt((double)dataView.index(i,j)));
1797          }          }
1798        }        }
1799    
# Line 1831  void DataArrayViewTestCase::testUnaryOp( Line 1831  void DataArrayViewTestCase::testUnaryOp(
1831          for (int j=0;j<shape[1];j++) {          for (int j=0;j<shape[1];j++) {
1832            for (int k=0;k<shape[2];k++) {            for (int k=0;k<shape[2];k++) {
1833              for (int l=0;l<shape[3];l++) {              for (int l=0;l<shape[3];l++) {
1834                dataView(i,j,k,l)=dataView.index(i,j,k,l);                dataView(i,j,k,l)=dataView.index(i,j,k,l)+1;
1835              }              }
1836            }            }
1837          }          }
# Line 1845  void DataArrayViewTestCase::testUnaryOp( Line 1845  void DataArrayViewTestCase::testUnaryOp(
1845          for (int j=0;j<shape[1];j++) {          for (int j=0;j<shape[1];j++) {
1846            for (int k=0;k<shape[2];k++) {            for (int k=0;k<shape[2];k++) {
1847              for (int l=0;l<shape[3];l++) {              for (int l=0;l<shape[3];l++) {
1848                assert(std::abs(dataView(i,j,k,l)-std::log((double)dataView.index(i,j,k,l)))<1.e-10);                assert(std::abs(dataView(i,j,k,l)-std::log(1+(double)dataView.index(i,j,k,l)))<=REL_TOL*std::abs(std::log(1+(double)dataView.index(i,j,k,l))));
1849              }              }
1850            }            }
1851          }          }
# Line 2082  void DataArrayViewTestCase::testBinaryOp Line 2082  void DataArrayViewTestCase::testBinaryOp
2082        for (int i=0;i<shape[0];i++) {        for (int i=0;i<shape[0];i++) {
2083          for (int j=0;j<shape[1];j++) {          for (int j=0;j<shape[1];j++) {
2084            tmp=5.8*dataView.index(i,j);            tmp=5.8*dataView.index(i,j);
2085            assert(dataView(i,j)==tmp);            assert(std::abs(dataView(i,j)-tmp)<=REL_TOL*std::abs(tmp));
2086          }          }
2087        }        }
2088    
# Line 2136  void DataArrayViewTestCase::testBinaryOp Line 2136  void DataArrayViewTestCase::testBinaryOp
2136            for (int k=0;k<shape[2];k++) {            for (int k=0;k<shape[2];k++) {
2137              for (int l=0;l<shape[3];l++) {              for (int l=0;l<shape[3];l++) {
2138                tmp=5.4*dataView.index(i,j,k,l);                tmp=5.4*dataView.index(i,j,k,l);
2139                assert(dataView(i,j,k,l)==tmp);                assert(std::abs(dataView(i,j,k,l)-tmp)<=REL_TOL*std::abs(tmp));
2140              }              }
2141            }            }
2142          }          }
# Line 2179  void DataArrayViewTestCase::testReductio Line 2179  void DataArrayViewTestCase::testReductio
2179    
2180        // apply a reduction operation to this data point and check the results        // apply a reduction operation to this data point and check the results
2181        FMax fmax_func;        FMax fmax_func;
2182        assert(dataView.reductionOp(fmax_func,numeric_limits<double>::max()*-1)==p);        assert(std::abs(dataView.reductionOp(fmax_func,numeric_limits<double>::max()*-1)-p)<=REL_TOL*p);
2183    
2184        if (p<npoints-1) {        if (p<npoints-1) {
2185          dataView.incrOffset();          dataView.incrOffset();
# Line 2217  void DataArrayViewTestCase::testReductio Line 2217  void DataArrayViewTestCase::testReductio
2217    
2218        // apply a reduction operation to this data point and check the results        // apply a reduction operation to this data point and check the results
2219        FMin fmin_func;        FMin fmin_func;
2220        assert(dataView.reductionOp(fmin_func,numeric_limits<double>::max())==dataView.index(0,0));        assert(std::abs(dataView.reductionOp(fmin_func,numeric_limits<double>::max())-dataView.index(0,0))<=REL_TOL*std::abs(dataView.index(0,0)));
2221    
2222        if (p<npoints-1) {        if (p<npoints-1) {
2223          dataView.incrOffset();          dataView.incrOffset();

Legend:
Removed from v.712  
changed lines
  Added in v.713

  ViewVC Help
Powered by ViewVC 1.1.26