/[escript]/trunk/escript/py_src/test_util_slicing_no_tagged_data.py
ViewVC logotype

Diff of /trunk/escript/py_src/test_util_slicing_no_tagged_data.py

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

revision 549 by gross, Tue Feb 14 02:25:02 2006 UTC revision 550 by gross, Wed Feb 22 02:14:38 2006 UTC
# Line 8107  class Test_util_slicing_no_tagged_data(T Line 8107  class Test_util_slicing_no_tagged_data(T
8107        self.failUnless(isinstance(res,Symbol),"wrong type of result.")        self.failUnless(isinstance(res,Symbol),"wrong type of result.")
8108        self.failUnlessEqual(res.getShape(),(4, 1, 5, 3),"wrong shape of result.")        self.failUnlessEqual(res.getShape(),(4, 1, 5, 3),"wrong shape of result.")
8109        self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8110       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8111       def test_setslice_constData_rank1_array_L(self):
8112          arg=Data(numarray.array([6.0, 2.0, 7.0]),self.functionspace)
8113          val=numarray.array([7.0])
8114          arg[2:]=val
8115          ref=Data(numarray.array([6.0, 2.0, 7.0]),self.functionspace)
8116          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8117       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8118       def test_setslice_constData_rank1_constData_L(self):
8119          arg=Data(numarray.array([2.0, 8.0, 8.0]),self.functionspace)
8120          val=Data(numarray.array([7.0]),self.functionspace)
8121          arg[2:]=val
8122          ref=Data(numarray.array([2.0, 8.0, 7.0]),self.functionspace)
8123          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8124       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8125       def test_setslice_constData_rank1_expandedData_L(self):
8126          arg=Data(numarray.array([7.0, 2.0, 4.0]),self.functionspace)
8127          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8128          val=msk_val*numarray.array([1.0])+(1.-msk_val)*numarray.array([3.0])
8129          arg[2:]=val
8130          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8131          ref=msk_ref*numarray.array([7.0, 2.0, 1.0])+(1.-msk_ref)*numarray.array([7.0, 2.0, 3.0])
8132          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8133       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8134       def test_setslice_constData_rank1_array_P(self):
8135          arg=Data(numarray.array([7.0, 4.0, 2.0]),self.functionspace)
8136          val=numarray.array(1.0)
8137          arg[1]=val
8138          ref=Data(numarray.array([7.0, 1.0, 2.0]),self.functionspace)
8139          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8140       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8141       def test_setslice_constData_rank1_constData_P(self):
8142          arg=Data(numarray.array([8.0, 1.0, 6.0]),self.functionspace)
8143          val=Data(1.0,self.functionspace)
8144          arg[1]=val
8145          ref=Data(numarray.array([8.0, 1.0, 6.0]),self.functionspace)
8146          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8147       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8148       def test_setslice_constData_rank1_expandedData_P(self):
8149          arg=Data(numarray.array([5.0, 4.0, 2.0]),self.functionspace)
8150          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8151          val=msk_val*(1.0)+(1.-msk_val)*(1.0)
8152          arg[1]=val
8153          ref=Data(numarray.array([5.0, 1.0, 2.0]),self.functionspace)
8154          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8155       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8156       def test_setslice_constData_rank1_array_C(self):
8157          arg=Data(numarray.array([2.0, 5.0, 2.0]),self.functionspace)
8158          val=numarray.array([3.0, 6.0, 8.0])
8159          arg[:]=val
8160          ref=Data(numarray.array([3.0, 6.0, 8.0]),self.functionspace)
8161          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8162       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8163       def test_setslice_constData_rank1_constData_C(self):
8164          arg=Data(numarray.array([8.0, 2.0, 5.0]),self.functionspace)
8165          val=Data(numarray.array([2.0, 1.0, 2.0]),self.functionspace)
8166          arg[:]=val
8167          ref=Data(numarray.array([2.0, 1.0, 2.0]),self.functionspace)
8168          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8169       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8170       def test_setslice_constData_rank1_expandedData_C(self):
8171          arg=Data(numarray.array([4.0, 2.0, 5.0]),self.functionspace)
8172          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8173          val=msk_val*numarray.array([7.0, 7.0, 2.0])+(1.-msk_val)*numarray.array([1.0, 7.0, 3.0])
8174          arg[:]=val
8175          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8176          ref=msk_ref*numarray.array([7.0, 7.0, 2.0])+(1.-msk_ref)*numarray.array([1.0, 7.0, 3.0])
8177          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8178       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8179       def test_setslice_constData_rank1_array_U(self):
8180          arg=Data(numarray.array([8.0, 4.0, 3.0]),self.functionspace)
8181          val=numarray.array([3.0, 2.0])
8182          arg[:2]=val
8183          ref=Data(numarray.array([3.0, 2.0, 3.0]),self.functionspace)
8184          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8185       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8186       def test_setslice_constData_rank1_constData_U(self):
8187          arg=Data(numarray.array([5.0, 5.0, 5.0]),self.functionspace)
8188          val=Data(numarray.array([7.0, 5.0]),self.functionspace)
8189          arg[:2]=val
8190          ref=Data(numarray.array([7.0, 5.0, 5.0]),self.functionspace)
8191          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8192       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8193       def test_setslice_constData_rank1_expandedData_U(self):
8194          arg=Data(numarray.array([4.0, 5.0, 4.0]),self.functionspace)
8195          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8196          val=msk_val*numarray.array([4.0, 8.0])+(1.-msk_val)*numarray.array([1.0, 8.0])
8197          arg[:2]=val
8198          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8199          ref=msk_ref*numarray.array([4.0, 8.0, 4.0])+(1.-msk_ref)*numarray.array([1.0, 8.0, 4.0])
8200          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8201       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8202       def test_setslice_constData_rank1_array_R(self):
8203          arg=Data(numarray.array([7.0, 1.0, 3.0]),self.functionspace)
8204          val=numarray.array([8.0])
8205          arg[1:2]=val
8206          ref=Data(numarray.array([7.0, 8.0, 3.0]),self.functionspace)
8207          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8208       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8209       def test_setslice_constData_rank1_constData_R(self):
8210          arg=Data(numarray.array([7.0, 7.0, 7.0]),self.functionspace)
8211          val=Data(numarray.array([6.0]),self.functionspace)
8212          arg[1:2]=val
8213          ref=Data(numarray.array([7.0, 6.0, 7.0]),self.functionspace)
8214          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8215       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8216       def test_setslice_constData_rank1_expandedData_R(self):
8217          arg=Data(numarray.array([8.0, 3.0, 5.0]),self.functionspace)
8218          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8219          val=msk_val*numarray.array([8.0])+(1.-msk_val)*numarray.array([7.0])
8220          arg[1:2]=val
8221          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8222          ref=msk_ref*numarray.array([8.0, 8.0, 5.0])+(1.-msk_ref)*numarray.array([8.0, 7.0, 5.0])
8223          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8224       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8225       def test_setslice_constData_rank2_array_PC(self):
8226          arg=Data(numarray.array([[5.0, 2.0, 5.0, 7.0], [3.0, 5.0, 2.0, 3.0], [5.0, 2.0, 5.0, 1.0]]),self.functionspace)
8227          val=numarray.array([4.0, 7.0, 5.0, 8.0])
8228          arg[1,:]=val
8229          ref=Data(numarray.array([[5.0, 2.0, 5.0, 7.0], [4.0, 7.0, 5.0, 8.0], [5.0, 2.0, 5.0, 1.0]]),self.functionspace)
8230          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8231       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8232       def test_setslice_constData_rank2_constData_PC(self):
8233          arg=Data(numarray.array([[4.0, 8.0, 8.0, 5.0], [5.0, 6.0, 7.0, 4.0], [7.0, 8.0, 6.0, 4.0]]),self.functionspace)
8234          val=Data(numarray.array([5.0, 7.0, 7.0, 8.0]),self.functionspace)
8235          arg[1,:]=val
8236          ref=Data(numarray.array([[4.0, 8.0, 8.0, 5.0], [5.0, 7.0, 7.0, 8.0], [7.0, 8.0, 6.0, 4.0]]),self.functionspace)
8237          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8238       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8239       def test_setslice_constData_rank2_expandedData_PC(self):
8240          arg=Data(numarray.array([[5.0, 4.0, 1.0, 1.0], [5.0, 8.0, 8.0, 1.0], [3.0, 1.0, 6.0, 7.0]]),self.functionspace)
8241          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8242          val=msk_val*numarray.array([6.0, 6.0, 4.0, 1.0])+(1.-msk_val)*numarray.array([4.0, 6.0, 5.0, 1.0])
8243          arg[1,:]=val
8244          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8245          ref=msk_ref*numarray.array([[5.0, 4.0, 1.0, 1.0], [6.0, 6.0, 4.0, 1.0], [3.0, 1.0, 6.0, 7.0]])+(1.-msk_ref)*numarray.array([[5.0, 4.0, 1.0, 1.0], [4.0, 6.0, 5.0, 1.0], [3.0, 1.0, 6.0, 7.0]])
8246          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8247       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8248       def test_setslice_constData_rank2_array_CR(self):
8249          arg=Data(numarray.array([[8.0, 2.0, 3.0, 6.0], [1.0, 8.0, 2.0, 5.0], [2.0, 7.0, 6.0, 4.0]]),self.functionspace)
8250          val=numarray.array([[1.0, 3.0], [2.0, 5.0], [2.0, 1.0]])
8251          arg[:,1:3]=val
8252          ref=Data(numarray.array([[8.0, 1.0, 3.0, 6.0], [1.0, 2.0, 5.0, 5.0], [2.0, 2.0, 1.0, 4.0]]),self.functionspace)
8253          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8254       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8255       def test_setslice_constData_rank2_constData_CR(self):
8256          arg=Data(numarray.array([[7.0, 3.0, 3.0, 3.0], [3.0, 3.0, 1.0, 4.0], [7.0, 2.0, 4.0, 3.0]]),self.functionspace)
8257          val=Data(numarray.array([[2.0, 7.0], [1.0, 5.0], [1.0, 6.0]]),self.functionspace)
8258          arg[:,1:3]=val
8259          ref=Data(numarray.array([[7.0, 2.0, 7.0, 3.0], [3.0, 1.0, 5.0, 4.0], [7.0, 1.0, 6.0, 3.0]]),self.functionspace)
8260          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8261       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8262       def test_setslice_constData_rank2_expandedData_CR(self):
8263          arg=Data(numarray.array([[3.0, 2.0, 5.0, 2.0], [8.0, 4.0, 5.0, 2.0], [7.0, 8.0, 1.0, 4.0]]),self.functionspace)
8264          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8265          val=msk_val*numarray.array([[6.0, 5.0], [3.0, 4.0], [8.0, 3.0]])+(1.-msk_val)*numarray.array([[1.0, 1.0], [3.0, 4.0], [8.0, 1.0]])
8266          arg[:,1:3]=val
8267          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8268          ref=msk_ref*numarray.array([[3.0, 6.0, 5.0, 2.0], [8.0, 3.0, 4.0, 2.0], [7.0, 8.0, 3.0, 4.0]])+(1.-msk_ref)*numarray.array([[3.0, 1.0, 1.0, 2.0], [8.0, 3.0, 4.0, 2.0], [7.0, 8.0, 1.0, 4.0]])
8269          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8270       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8271       def test_setslice_constData_rank2_array_PL(self):
8272          arg=Data(numarray.array([[4.0, 4.0, 6.0, 8.0], [5.0, 2.0, 5.0, 4.0], [7.0, 5.0, 6.0, 1.0]]),self.functionspace)
8273          val=numarray.array([5.0, 1.0])
8274          arg[1,2:]=val
8275          ref=Data(numarray.array([[4.0, 4.0, 6.0, 8.0], [5.0, 2.0, 5.0, 1.0], [7.0, 5.0, 6.0, 1.0]]),self.functionspace)
8276          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8277       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8278       def test_setslice_constData_rank2_constData_PL(self):
8279          arg=Data(numarray.array([[2.0, 6.0, 5.0, 4.0], [7.0, 7.0, 2.0, 3.0], [5.0, 4.0, 4.0, 2.0]]),self.functionspace)
8280          val=Data(numarray.array([1.0, 4.0]),self.functionspace)
8281          arg[1,2:]=val
8282          ref=Data(numarray.array([[2.0, 6.0, 5.0, 4.0], [7.0, 7.0, 1.0, 4.0], [5.0, 4.0, 4.0, 2.0]]),self.functionspace)
8283          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8284       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8285       def test_setslice_constData_rank2_expandedData_PL(self):
8286          arg=Data(numarray.array([[2.0, 7.0, 4.0, 7.0], [1.0, 2.0, 2.0, 3.0], [5.0, 4.0, 7.0, 5.0]]),self.functionspace)
8287          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8288          val=msk_val*numarray.array([7.0, 5.0])+(1.-msk_val)*numarray.array([6.0, 6.0])
8289          arg[1,2:]=val
8290          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8291          ref=msk_ref*numarray.array([[2.0, 7.0, 4.0, 7.0], [1.0, 2.0, 7.0, 5.0], [5.0, 4.0, 7.0, 5.0]])+(1.-msk_ref)*numarray.array([[2.0, 7.0, 4.0, 7.0], [1.0, 2.0, 6.0, 6.0], [5.0, 4.0, 7.0, 5.0]])
8292          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8293       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8294       def test_setslice_constData_rank2_array_UN(self):
8295          arg=Data(numarray.array([[8.0, 3.0, 5.0, 5.0], [1.0, 6.0, 1.0, 4.0], [2.0, 7.0, 5.0, 6.0]]),self.functionspace)
8296          val=numarray.array([[2.0, 2.0, 7.0, 7.0], [1.0, 5.0, 7.0, 8.0]])
8297          arg[:2]=val
8298          ref=Data(numarray.array([[2.0, 2.0, 7.0, 7.0], [1.0, 5.0, 7.0, 8.0], [2.0, 7.0, 5.0, 6.0]]),self.functionspace)
8299          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8300       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8301       def test_setslice_constData_rank2_constData_UN(self):
8302          arg=Data(numarray.array([[7.0, 1.0, 1.0, 3.0], [7.0, 2.0, 7.0, 8.0], [8.0, 3.0, 1.0, 6.0]]),self.functionspace)
8303          val=Data(numarray.array([[3.0, 8.0, 6.0, 8.0], [2.0, 6.0, 7.0, 1.0]]),self.functionspace)
8304          arg[:2]=val
8305          ref=Data(numarray.array([[3.0, 8.0, 6.0, 8.0], [2.0, 6.0, 7.0, 1.0], [8.0, 3.0, 1.0, 6.0]]),self.functionspace)
8306          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8307       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8308       def test_setslice_constData_rank2_expandedData_UN(self):
8309          arg=Data(numarray.array([[8.0, 7.0, 2.0, 7.0], [5.0, 7.0, 3.0, 2.0], [8.0, 5.0, 7.0, 3.0]]),self.functionspace)
8310          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8311          val=msk_val*numarray.array([[8.0, 8.0, 8.0, 7.0], [5.0, 6.0, 8.0, 4.0]])+(1.-msk_val)*numarray.array([[2.0, 4.0, 2.0, 4.0], [5.0, 1.0, 5.0, 1.0]])
8312          arg[:2]=val
8313          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8314          ref=msk_ref*numarray.array([[8.0, 8.0, 8.0, 7.0], [5.0, 6.0, 8.0, 4.0], [8.0, 5.0, 7.0, 3.0]])+(1.-msk_ref)*numarray.array([[2.0, 4.0, 2.0, 4.0], [5.0, 1.0, 5.0, 1.0], [8.0, 5.0, 7.0, 3.0]])
8315          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8316       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8317       def test_setslice_constData_rank2_array_PP(self):
8318          arg=Data(numarray.array([[5.0, 4.0, 2.0, 8.0], [5.0, 4.0, 4.0, 4.0], [4.0, 3.0, 8.0, 3.0]]),self.functionspace)
8319          val=numarray.array(1.0)
8320          arg[1,2]=val
8321          ref=Data(numarray.array([[5.0, 4.0, 2.0, 8.0], [5.0, 4.0, 1.0, 4.0], [4.0, 3.0, 8.0, 3.0]]),self.functionspace)
8322          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8323       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8324       def test_setslice_constData_rank2_constData_PP(self):
8325          arg=Data(numarray.array([[8.0, 8.0, 1.0, 7.0], [5.0, 8.0, 2.0, 5.0], [4.0, 8.0, 5.0, 4.0]]),self.functionspace)
8326          val=Data(1.0,self.functionspace)
8327          arg[1,2]=val
8328          ref=Data(numarray.array([[8.0, 8.0, 1.0, 7.0], [5.0, 8.0, 1.0, 5.0], [4.0, 8.0, 5.0, 4.0]]),self.functionspace)
8329          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8330       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8331       def test_setslice_constData_rank2_expandedData_PP(self):
8332          arg=Data(numarray.array([[2.0, 6.0, 7.0, 4.0], [3.0, 8.0, 2.0, 6.0], [7.0, 2.0, 5.0, 8.0]]),self.functionspace)
8333          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8334          val=msk_val*(1.0)+(1.-msk_val)*(1.0)
8335          arg[1,2]=val
8336          ref=Data(numarray.array([[2.0, 6.0, 7.0, 4.0], [3.0, 8.0, 1.0, 6.0], [7.0, 2.0, 5.0, 8.0]]),self.functionspace)
8337          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8338       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8339       def test_setslice_constData_rank2_array_RN(self):
8340          arg=Data(numarray.array([[8.0, 8.0, 6.0, 7.0], [8.0, 1.0, 7.0, 6.0], [2.0, 6.0, 5.0, 7.0]]),self.functionspace)
8341          val=numarray.array([[4.0, 4.0, 3.0, 8.0]])
8342          arg[1:2]=val
8343          ref=Data(numarray.array([[8.0, 8.0, 6.0, 7.0], [4.0, 4.0, 3.0, 8.0], [2.0, 6.0, 5.0, 7.0]]),self.functionspace)
8344          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8345       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8346       def test_setslice_constData_rank2_constData_RN(self):
8347          arg=Data(numarray.array([[8.0, 4.0, 6.0, 4.0], [8.0, 1.0, 1.0, 1.0], [3.0, 1.0, 3.0, 8.0]]),self.functionspace)
8348          val=Data(numarray.array([[5.0, 5.0, 4.0, 2.0]]),self.functionspace)
8349          arg[1:2]=val
8350          ref=Data(numarray.array([[8.0, 4.0, 6.0, 4.0], [5.0, 5.0, 4.0, 2.0], [3.0, 1.0, 3.0, 8.0]]),self.functionspace)
8351          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8352       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8353       def test_setslice_constData_rank2_expandedData_RN(self):
8354          arg=Data(numarray.array([[1.0, 6.0, 7.0, 4.0], [4.0, 5.0, 5.0, 6.0], [5.0, 6.0, 8.0, 3.0]]),self.functionspace)
8355          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8356          val=msk_val*numarray.array([[8.0, 4.0, 1.0, 7.0]])+(1.-msk_val)*numarray.array([[2.0, 2.0, 7.0, 1.0]])
8357          arg[1:2]=val
8358          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8359          ref=msk_ref*numarray.array([[1.0, 6.0, 7.0, 4.0], [8.0, 4.0, 1.0, 7.0], [5.0, 6.0, 8.0, 3.0]])+(1.-msk_ref)*numarray.array([[1.0, 6.0, 7.0, 4.0], [2.0, 2.0, 7.0, 1.0], [5.0, 6.0, 8.0, 3.0]])
8360          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8361       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8362       def test_setslice_constData_rank2_array_UC(self):
8363          arg=Data(numarray.array([[6.0, 2.0, 1.0, 1.0], [5.0, 8.0, 3.0, 4.0], [5.0, 4.0, 8.0, 5.0]]),self.functionspace)
8364          val=numarray.array([[1.0, 4.0, 8.0, 6.0], [2.0, 8.0, 7.0, 3.0]])
8365          arg[:2,:]=val
8366          ref=Data(numarray.array([[1.0, 4.0, 8.0, 6.0], [2.0, 8.0, 7.0, 3.0], [5.0, 4.0, 8.0, 5.0]]),self.functionspace)
8367          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8368       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8369       def test_setslice_constData_rank2_constData_UC(self):
8370          arg=Data(numarray.array([[4.0, 1.0, 1.0, 7.0], [5.0, 7.0, 1.0, 8.0], [8.0, 1.0, 2.0, 6.0]]),self.functionspace)
8371          val=Data(numarray.array([[4.0, 1.0, 1.0, 2.0], [5.0, 6.0, 8.0, 4.0]]),self.functionspace)
8372          arg[:2,:]=val
8373          ref=Data(numarray.array([[4.0, 1.0, 1.0, 2.0], [5.0, 6.0, 8.0, 4.0], [8.0, 1.0, 2.0, 6.0]]),self.functionspace)
8374          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8375       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8376       def test_setslice_constData_rank2_expandedData_UC(self):
8377          arg=Data(numarray.array([[1.0, 1.0, 7.0, 3.0], [5.0, 7.0, 1.0, 7.0], [3.0, 8.0, 3.0, 4.0]]),self.functionspace)
8378          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8379          val=msk_val*numarray.array([[1.0, 6.0, 1.0, 2.0], [8.0, 5.0, 8.0, 4.0]])+(1.-msk_val)*numarray.array([[5.0, 5.0, 3.0, 4.0], [3.0, 3.0, 2.0, 5.0]])
8380          arg[:2,:]=val
8381          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8382          ref=msk_ref*numarray.array([[1.0, 6.0, 1.0, 2.0], [8.0, 5.0, 8.0, 4.0], [3.0, 8.0, 3.0, 4.0]])+(1.-msk_ref)*numarray.array([[5.0, 5.0, 3.0, 4.0], [3.0, 3.0, 2.0, 5.0], [3.0, 8.0, 3.0, 4.0]])
8383          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8384       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8385       def test_setslice_constData_rank2_array_LC(self):
8386          arg=Data(numarray.array([[1.0, 5.0, 2.0, 2.0], [1.0, 1.0, 3.0, 7.0], [8.0, 7.0, 8.0, 2.0]]),self.functionspace)
8387          val=numarray.array([[5.0, 2.0, 5.0, 5.0]])
8388          arg[2:,:]=val
8389          ref=Data(numarray.array([[1.0, 5.0, 2.0, 2.0], [1.0, 1.0, 3.0, 7.0], [5.0, 2.0, 5.0, 5.0]]),self.functionspace)
8390          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8391       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8392       def test_setslice_constData_rank2_constData_LC(self):
8393          arg=Data(numarray.array([[4.0, 4.0, 5.0, 5.0], [2.0, 8.0, 2.0, 8.0], [6.0, 5.0, 5.0, 7.0]]),self.functionspace)
8394          val=Data(numarray.array([[7.0, 1.0, 8.0, 5.0]]),self.functionspace)
8395          arg[2:,:]=val
8396          ref=Data(numarray.array([[4.0, 4.0, 5.0, 5.0], [2.0, 8.0, 2.0, 8.0], [7.0, 1.0, 8.0, 5.0]]),self.functionspace)
8397          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8398       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8399       def test_setslice_constData_rank2_expandedData_LC(self):
8400          arg=Data(numarray.array([[8.0, 2.0, 5.0, 2.0], [6.0, 3.0, 1.0, 6.0], [4.0, 5.0, 2.0, 5.0]]),self.functionspace)
8401          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8402          val=msk_val*numarray.array([[1.0, 2.0, 7.0, 6.0]])+(1.-msk_val)*numarray.array([[5.0, 4.0, 4.0, 4.0]])
8403          arg[2:,:]=val
8404          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8405          ref=msk_ref*numarray.array([[8.0, 2.0, 5.0, 2.0], [6.0, 3.0, 1.0, 6.0], [1.0, 2.0, 7.0, 6.0]])+(1.-msk_ref)*numarray.array([[8.0, 2.0, 5.0, 2.0], [6.0, 3.0, 1.0, 6.0], [5.0, 4.0, 4.0, 4.0]])
8406          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8407       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8408       def test_setslice_constData_rank2_array_LL(self):
8409          arg=Data(numarray.array([[3.0, 3.0, 6.0, 5.0], [4.0, 1.0, 3.0, 4.0], [5.0, 7.0, 3.0, 6.0]]),self.functionspace)
8410          val=numarray.array([[4.0, 5.0]])
8411          arg[2:,2:]=val
8412          ref=Data(numarray.array([[3.0, 3.0, 6.0, 5.0], [4.0, 1.0, 3.0, 4.0], [5.0, 7.0, 4.0, 5.0]]),self.functionspace)
8413          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8414       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8415       def test_setslice_constData_rank2_constData_LL(self):
8416          arg=Data(numarray.array([[7.0, 1.0, 5.0, 1.0], [3.0, 1.0, 5.0, 8.0], [1.0, 3.0, 3.0, 4.0]]),self.functionspace)
8417          val=Data(numarray.array([[2.0, 6.0]]),self.functionspace)
8418          arg[2:,2:]=val
8419          ref=Data(numarray.array([[7.0, 1.0, 5.0, 1.0], [3.0, 1.0, 5.0, 8.0], [1.0, 3.0, 2.0, 6.0]]),self.functionspace)
8420          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8421       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8422       def test_setslice_constData_rank2_expandedData_LL(self):
8423          arg=Data(numarray.array([[1.0, 3.0, 1.0, 2.0], [5.0, 3.0, 2.0, 3.0], [3.0, 1.0, 1.0, 5.0]]),self.functionspace)
8424          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8425          val=msk_val*numarray.array([[7.0, 7.0]])+(1.-msk_val)*numarray.array([[4.0, 4.0]])
8426          arg[2:,2:]=val
8427          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8428          ref=msk_ref*numarray.array([[1.0, 3.0, 1.0, 2.0], [5.0, 3.0, 2.0, 3.0], [3.0, 1.0, 7.0, 7.0]])+(1.-msk_ref)*numarray.array([[1.0, 3.0, 1.0, 2.0], [5.0, 3.0, 2.0, 3.0], [3.0, 1.0, 4.0, 4.0]])
8429          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8430       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8431       def test_setslice_constData_rank2_array_UL(self):
8432          arg=Data(numarray.array([[4.0, 2.0, 2.0, 2.0], [8.0, 5.0, 3.0, 8.0], [1.0, 3.0, 8.0, 5.0]]),self.functionspace)
8433          val=numarray.array([[2.0, 6.0], [8.0, 1.0]])
8434          arg[:2,2:]=val
8435          ref=Data(numarray.array([[4.0, 2.0, 2.0, 6.0], [8.0, 5.0, 8.0, 1.0], [1.0, 3.0, 8.0, 5.0]]),self.functionspace)
8436          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8437       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8438       def test_setslice_constData_rank2_constData_UL(self):
8439          arg=Data(numarray.array([[3.0, 5.0, 2.0, 8.0], [3.0, 4.0, 8.0, 2.0], [8.0, 1.0, 2.0, 7.0]]),self.functionspace)
8440          val=Data(numarray.array([[6.0, 6.0], [8.0, 6.0]]),self.functionspace)
8441          arg[:2,2:]=val
8442          ref=Data(numarray.array([[3.0, 5.0, 6.0, 6.0], [3.0, 4.0, 8.0, 6.0], [8.0, 1.0, 2.0, 7.0]]),self.functionspace)
8443          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8444       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8445       def test_setslice_constData_rank2_expandedData_UL(self):
8446          arg=Data(numarray.array([[8.0, 1.0, 2.0, 7.0], [1.0, 5.0, 8.0, 6.0], [4.0, 7.0, 2.0, 2.0]]),self.functionspace)
8447          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8448          val=msk_val*numarray.array([[8.0, 2.0], [6.0, 2.0]])+(1.-msk_val)*numarray.array([[3.0, 4.0], [6.0, 8.0]])
8449          arg[:2,2:]=val
8450          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8451          ref=msk_ref*numarray.array([[8.0, 1.0, 8.0, 2.0], [1.0, 5.0, 6.0, 2.0], [4.0, 7.0, 2.0, 2.0]])+(1.-msk_ref)*numarray.array([[8.0, 1.0, 3.0, 4.0], [1.0, 5.0, 6.0, 8.0], [4.0, 7.0, 2.0, 2.0]])
8452          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8453       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8454       def test_setslice_constData_rank2_array_CC(self):
8455          arg=Data(numarray.array([[6.0, 2.0, 7.0, 6.0], [6.0, 4.0, 8.0, 4.0], [3.0, 1.0, 6.0, 1.0]]),self.functionspace)
8456          val=numarray.array([[3.0, 7.0, 6.0, 1.0], [4.0, 3.0, 1.0, 5.0], [6.0, 6.0, 2.0, 3.0]])
8457          arg[:,:]=val
8458          ref=Data(numarray.array([[3.0, 7.0, 6.0, 1.0], [4.0, 3.0, 1.0, 5.0], [6.0, 6.0, 2.0, 3.0]]),self.functionspace)
8459          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8460       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8461       def test_setslice_constData_rank2_constData_CC(self):
8462          arg=Data(numarray.array([[6.0, 7.0, 3.0, 1.0], [5.0, 2.0, 5.0, 5.0], [6.0, 6.0, 5.0, 8.0]]),self.functionspace)
8463          val=Data(numarray.array([[8.0, 5.0, 3.0, 8.0], [2.0, 7.0, 6.0, 3.0], [6.0, 8.0, 1.0, 3.0]]),self.functionspace)
8464          arg[:,:]=val
8465          ref=Data(numarray.array([[8.0, 5.0, 3.0, 8.0], [2.0, 7.0, 6.0, 3.0], [6.0, 8.0, 1.0, 3.0]]),self.functionspace)
8466          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8467       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8468       def test_setslice_constData_rank2_expandedData_CC(self):
8469          arg=Data(numarray.array([[4.0, 6.0, 3.0, 1.0], [8.0, 2.0, 1.0, 3.0], [2.0, 4.0, 8.0, 6.0]]),self.functionspace)
8470          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8471          val=msk_val*numarray.array([[5.0, 6.0, 3.0, 7.0], [8.0, 1.0, 1.0, 4.0], [5.0, 8.0, 2.0, 3.0]])+(1.-msk_val)*numarray.array([[3.0, 1.0, 7.0, 3.0], [2.0, 1.0, 6.0, 2.0], [4.0, 8.0, 6.0, 5.0]])
8472          arg[:,:]=val
8473          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8474          ref=msk_ref*numarray.array([[5.0, 6.0, 3.0, 7.0], [8.0, 1.0, 1.0, 4.0], [5.0, 8.0, 2.0, 3.0]])+(1.-msk_ref)*numarray.array([[3.0, 1.0, 7.0, 3.0], [2.0, 1.0, 6.0, 2.0], [4.0, 8.0, 6.0, 5.0]])
8475          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8476       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8477       def test_setslice_constData_rank2_array_CN(self):
8478          arg=Data(numarray.array([[1.0, 3.0, 3.0, 8.0], [4.0, 7.0, 6.0, 7.0], [3.0, 3.0, 3.0, 1.0]]),self.functionspace)
8479          val=numarray.array([[5.0, 4.0, 2.0, 8.0], [3.0, 6.0, 4.0, 2.0], [7.0, 7.0, 2.0, 4.0]])
8480          arg[:]=val
8481          ref=Data(numarray.array([[5.0, 4.0, 2.0, 8.0], [3.0, 6.0, 4.0, 2.0], [7.0, 7.0, 2.0, 4.0]]),self.functionspace)
8482          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8483       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8484       def test_setslice_constData_rank2_constData_CN(self):
8485          arg=Data(numarray.array([[5.0, 8.0, 6.0, 1.0], [6.0, 5.0, 2.0, 2.0], [5.0, 7.0, 5.0, 4.0]]),self.functionspace)
8486          val=Data(numarray.array([[6.0, 2.0, 8.0, 1.0], [1.0, 4.0, 3.0, 8.0], [1.0, 1.0, 2.0, 5.0]]),self.functionspace)
8487          arg[:]=val
8488          ref=Data(numarray.array([[6.0, 2.0, 8.0, 1.0], [1.0, 4.0, 3.0, 8.0], [1.0, 1.0, 2.0, 5.0]]),self.functionspace)
8489          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8490       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8491       def test_setslice_constData_rank2_expandedData_CN(self):
8492          arg=Data(numarray.array([[4.0, 5.0, 6.0, 2.0], [6.0, 8.0, 5.0, 1.0], [6.0, 3.0, 4.0, 6.0]]),self.functionspace)
8493          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8494          val=msk_val*numarray.array([[2.0, 2.0, 3.0, 6.0], [8.0, 7.0, 4.0, 7.0], [6.0, 8.0, 1.0, 3.0]])+(1.-msk_val)*numarray.array([[3.0, 4.0, 6.0, 2.0], [3.0, 4.0, 2.0, 1.0], [7.0, 8.0, 3.0, 1.0]])
8495          arg[:]=val
8496          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8497          ref=msk_ref*numarray.array([[2.0, 2.0, 3.0, 6.0], [8.0, 7.0, 4.0, 7.0], [6.0, 8.0, 1.0, 3.0]])+(1.-msk_ref)*numarray.array([[3.0, 4.0, 6.0, 2.0], [3.0, 4.0, 2.0, 1.0], [7.0, 8.0, 3.0, 1.0]])
8498          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8499       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8500       def test_setslice_constData_rank2_array_RP(self):
8501          arg=Data(numarray.array([[5.0, 8.0, 4.0, 7.0], [2.0, 3.0, 7.0, 3.0], [6.0, 7.0, 5.0, 7.0]]),self.functionspace)
8502          val=numarray.array([2.0])
8503          arg[1:2,2]=val
8504          ref=Data(numarray.array([[5.0, 8.0, 4.0, 7.0], [2.0, 3.0, 2.0, 3.0], [6.0, 7.0, 5.0, 7.0]]),self.functionspace)
8505          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8506       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8507       def test_setslice_constData_rank2_constData_RP(self):
8508          arg=Data(numarray.array([[4.0, 1.0, 2.0, 2.0], [6.0, 2.0, 2.0, 3.0], [3.0, 4.0, 7.0, 2.0]]),self.functionspace)
8509          val=Data(numarray.array([2.0]),self.functionspace)
8510          arg[1:2,2]=val
8511          ref=Data(numarray.array([[4.0, 1.0, 2.0, 2.0], [6.0, 2.0, 2.0, 3.0], [3.0, 4.0, 7.0, 2.0]]),self.functionspace)
8512          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8513       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8514       def test_setslice_constData_rank2_expandedData_RP(self):
8515          arg=Data(numarray.array([[5.0, 7.0, 4.0, 2.0], [7.0, 8.0, 5.0, 4.0], [4.0, 1.0, 5.0, 4.0]]),self.functionspace)
8516          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8517          val=msk_val*numarray.array([1.0])+(1.-msk_val)*numarray.array([5.0])
8518          arg[1:2,2]=val
8519          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8520          ref=msk_ref*numarray.array([[5.0, 7.0, 4.0, 2.0], [7.0, 8.0, 1.0, 4.0], [4.0, 1.0, 5.0, 4.0]])+(1.-msk_ref)*numarray.array([[5.0, 7.0, 4.0, 2.0], [7.0, 8.0, 5.0, 4.0], [4.0, 1.0, 5.0, 4.0]])
8521          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8522       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8523       def test_setslice_constData_rank2_array_PN(self):
8524          arg=Data(numarray.array([[4.0, 2.0, 6.0, 3.0], [8.0, 4.0, 4.0, 4.0], [4.0, 7.0, 5.0, 5.0]]),self.functionspace)
8525          val=numarray.array([4.0, 7.0, 1.0, 6.0])
8526          arg[1]=val
8527          ref=Data(numarray.array([[4.0, 2.0, 6.0, 3.0], [4.0, 7.0, 1.0, 6.0], [4.0, 7.0, 5.0, 5.0]]),self.functionspace)
8528          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8529       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8530       def test_setslice_constData_rank2_constData_PN(self):
8531          arg=Data(numarray.array([[3.0, 4.0, 8.0, 3.0], [7.0, 2.0, 8.0, 1.0], [3.0, 7.0, 4.0, 6.0]]),self.functionspace)
8532          val=Data(numarray.array([3.0, 5.0, 3.0, 3.0]),self.functionspace)
8533          arg[1]=val
8534          ref=Data(numarray.array([[3.0, 4.0, 8.0, 3.0], [3.0, 5.0, 3.0, 3.0], [3.0, 7.0, 4.0, 6.0]]),self.functionspace)
8535          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8536       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8537       def test_setslice_constData_rank2_expandedData_PN(self):
8538          arg=Data(numarray.array([[3.0, 5.0, 4.0, 5.0], [5.0, 7.0, 2.0, 8.0], [3.0, 7.0, 2.0, 7.0]]),self.functionspace)
8539          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8540          val=msk_val*numarray.array([2.0, 8.0, 1.0, 6.0])+(1.-msk_val)*numarray.array([2.0, 4.0, 5.0, 3.0])
8541          arg[1]=val
8542          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8543          ref=msk_ref*numarray.array([[3.0, 5.0, 4.0, 5.0], [2.0, 8.0, 1.0, 6.0], [3.0, 7.0, 2.0, 7.0]])+(1.-msk_ref)*numarray.array([[3.0, 5.0, 4.0, 5.0], [2.0, 4.0, 5.0, 3.0], [3.0, 7.0, 2.0, 7.0]])
8544          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8545       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8546       def test_setslice_constData_rank2_array_RR(self):
8547          arg=Data(numarray.array([[4.0, 6.0, 8.0, 6.0], [5.0, 4.0, 7.0, 6.0], [1.0, 6.0, 5.0, 5.0]]),self.functionspace)
8548          val=numarray.array([[1.0, 6.0]])
8549          arg[1:2,1:3]=val
8550          ref=Data(numarray.array([[4.0, 6.0, 8.0, 6.0], [5.0, 1.0, 6.0, 6.0], [1.0, 6.0, 5.0, 5.0]]),self.functionspace)
8551          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8552       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8553       def test_setslice_constData_rank2_constData_RR(self):
8554          arg=Data(numarray.array([[3.0, 8.0, 7.0, 3.0], [8.0, 5.0, 8.0, 4.0], [8.0, 2.0, 2.0, 3.0]]),self.functionspace)
8555          val=Data(numarray.array([[5.0, 1.0]]),self.functionspace)
8556          arg[1:2,1:3]=val
8557          ref=Data(numarray.array([[3.0, 8.0, 7.0, 3.0], [8.0, 5.0, 1.0, 4.0], [8.0, 2.0, 2.0, 3.0]]),self.functionspace)
8558          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8559       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8560       def test_setslice_constData_rank2_expandedData_RR(self):
8561          arg=Data(numarray.array([[3.0, 5.0, 3.0, 4.0], [7.0, 1.0, 3.0, 5.0], [8.0, 3.0, 5.0, 2.0]]),self.functionspace)
8562          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8563          val=msk_val*numarray.array([[4.0, 2.0]])+(1.-msk_val)*numarray.array([[7.0, 7.0]])
8564          arg[1:2,1:3]=val
8565          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8566          ref=msk_ref*numarray.array([[3.0, 5.0, 3.0, 4.0], [7.0, 4.0, 2.0, 5.0], [8.0, 3.0, 5.0, 2.0]])+(1.-msk_ref)*numarray.array([[3.0, 5.0, 3.0, 4.0], [7.0, 7.0, 7.0, 5.0], [8.0, 3.0, 5.0, 2.0]])
8567          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8568       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8569       def test_setslice_constData_rank2_array_UP(self):
8570          arg=Data(numarray.array([[7.0, 7.0, 1.0, 5.0], [7.0, 6.0, 8.0, 5.0], [8.0, 8.0, 4.0, 4.0]]),self.functionspace)
8571          val=numarray.array([3.0, 7.0])
8572          arg[:2,2]=val
8573          ref=Data(numarray.array([[7.0, 7.0, 3.0, 5.0], [7.0, 6.0, 7.0, 5.0], [8.0, 8.0, 4.0, 4.0]]),self.functionspace)
8574          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8575       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8576       def test_setslice_constData_rank2_constData_UP(self):
8577          arg=Data(numarray.array([[5.0, 6.0, 6.0, 3.0], [7.0, 7.0, 6.0, 6.0], [8.0, 2.0, 2.0, 1.0]]),self.functionspace)
8578          val=Data(numarray.array([2.0, 7.0]),self.functionspace)
8579          arg[:2,2]=val
8580          ref=Data(numarray.array([[5.0, 6.0, 2.0, 3.0], [7.0, 7.0, 7.0, 6.0], [8.0, 2.0, 2.0, 1.0]]),self.functionspace)
8581          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8582       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8583       def test_setslice_constData_rank2_expandedData_UP(self):
8584          arg=Data(numarray.array([[7.0, 6.0, 8.0, 1.0], [2.0, 5.0, 1.0, 1.0], [4.0, 5.0, 6.0, 8.0]]),self.functionspace)
8585          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8586          val=msk_val*numarray.array([7.0, 3.0])+(1.-msk_val)*numarray.array([6.0, 5.0])
8587          arg[:2,2]=val
8588          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8589          ref=msk_ref*numarray.array([[7.0, 6.0, 7.0, 1.0], [2.0, 5.0, 3.0, 1.0], [4.0, 5.0, 6.0, 8.0]])+(1.-msk_ref)*numarray.array([[7.0, 6.0, 6.0, 1.0], [2.0, 5.0, 5.0, 1.0], [4.0, 5.0, 6.0, 8.0]])
8590          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8591       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8592       def test_setslice_constData_rank2_array_UR(self):
8593          arg=Data(numarray.array([[5.0, 2.0, 3.0, 2.0], [4.0, 4.0, 6.0, 2.0], [4.0, 3.0, 7.0, 4.0]]),self.functionspace)
8594          val=numarray.array([[8.0, 4.0], [3.0, 3.0]])
8595          arg[:2,1:3]=val
8596          ref=Data(numarray.array([[5.0, 8.0, 4.0, 2.0], [4.0, 3.0, 3.0, 2.0], [4.0, 3.0, 7.0, 4.0]]),self.functionspace)
8597          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8598       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8599       def test_setslice_constData_rank2_constData_UR(self):
8600          arg=Data(numarray.array([[8.0, 8.0, 1.0, 2.0], [2.0, 7.0, 5.0, 6.0], [7.0, 4.0, 5.0, 6.0]]),self.functionspace)
8601          val=Data(numarray.array([[8.0, 5.0], [2.0, 7.0]]),self.functionspace)
8602          arg[:2,1:3]=val
8603          ref=Data(numarray.array([[8.0, 8.0, 5.0, 2.0], [2.0, 2.0, 7.0, 6.0], [7.0, 4.0, 5.0, 6.0]]),self.functionspace)
8604          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8605       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8606       def test_setslice_constData_rank2_expandedData_UR(self):
8607          arg=Data(numarray.array([[4.0, 3.0, 5.0, 8.0], [5.0, 8.0, 3.0, 5.0], [6.0, 8.0, 3.0, 1.0]]),self.functionspace)
8608          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8609          val=msk_val*numarray.array([[6.0, 5.0], [1.0, 2.0]])+(1.-msk_val)*numarray.array([[2.0, 3.0], [7.0, 4.0]])
8610          arg[:2,1:3]=val
8611          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8612          ref=msk_ref*numarray.array([[4.0, 6.0, 5.0, 8.0], [5.0, 1.0, 2.0, 5.0], [6.0, 8.0, 3.0, 1.0]])+(1.-msk_ref)*numarray.array([[4.0, 2.0, 3.0, 8.0], [5.0, 7.0, 4.0, 5.0], [6.0, 8.0, 3.0, 1.0]])
8613          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8614       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8615       def test_setslice_constData_rank2_array_LR(self):
8616          arg=Data(numarray.array([[7.0, 3.0, 3.0, 5.0], [3.0, 5.0, 3.0, 3.0], [8.0, 8.0, 1.0, 3.0]]),self.functionspace)
8617          val=numarray.array([[1.0, 6.0]])
8618          arg[2:,1:3]=val
8619          ref=Data(numarray.array([[7.0, 3.0, 3.0, 5.0], [3.0, 5.0, 3.0, 3.0], [8.0, 1.0, 6.0, 3.0]]),self.functionspace)
8620          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8621       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8622       def test_setslice_constData_rank2_constData_LR(self):
8623          arg=Data(numarray.array([[3.0, 1.0, 3.0, 3.0], [5.0, 5.0, 3.0, 4.0], [6.0, 3.0, 5.0, 5.0]]),self.functionspace)
8624          val=Data(numarray.array([[4.0, 8.0]]),self.functionspace)
8625          arg[2:,1:3]=val
8626          ref=Data(numarray.array([[3.0, 1.0, 3.0, 3.0], [5.0, 5.0, 3.0, 4.0], [6.0, 4.0, 8.0, 5.0]]),self.functionspace)
8627          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8628       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8629       def test_setslice_constData_rank2_expandedData_LR(self):
8630          arg=Data(numarray.array([[6.0, 2.0, 7.0, 6.0], [4.0, 8.0, 2.0, 1.0], [4.0, 1.0, 5.0, 1.0]]),self.functionspace)
8631          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8632          val=msk_val*numarray.array([[2.0, 8.0]])+(1.-msk_val)*numarray.array([[8.0, 1.0]])
8633          arg[2:,1:3]=val
8634          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8635          ref=msk_ref*numarray.array([[6.0, 2.0, 7.0, 6.0], [4.0, 8.0, 2.0, 1.0], [4.0, 2.0, 8.0, 1.0]])+(1.-msk_ref)*numarray.array([[6.0, 2.0, 7.0, 6.0], [4.0, 8.0, 2.0, 1.0], [4.0, 8.0, 1.0, 1.0]])
8636          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8637       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8638       def test_setslice_constData_rank2_array_LN(self):
8639          arg=Data(numarray.array([[8.0, 2.0, 5.0, 3.0], [1.0, 1.0, 5.0, 5.0], [7.0, 7.0, 5.0, 5.0]]),self.functionspace)
8640          val=numarray.array([[8.0, 7.0, 6.0, 1.0]])
8641          arg[2:]=val
8642          ref=Data(numarray.array([[8.0, 2.0, 5.0, 3.0], [1.0, 1.0, 5.0, 5.0], [8.0, 7.0, 6.0, 1.0]]),self.functionspace)
8643          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8644       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8645       def test_setslice_constData_rank2_constData_LN(self):
8646          arg=Data(numarray.array([[7.0, 1.0, 1.0, 2.0], [5.0, 1.0, 3.0, 2.0], [4.0, 7.0, 6.0, 6.0]]),self.functionspace)
8647          val=Data(numarray.array([[5.0, 4.0, 4.0, 5.0]]),self.functionspace)
8648          arg[2:]=val
8649          ref=Data(numarray.array([[7.0, 1.0, 1.0, 2.0], [5.0, 1.0, 3.0, 2.0], [5.0, 4.0, 4.0, 5.0]]),self.functionspace)
8650          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8651       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8652       def test_setslice_constData_rank2_expandedData_LN(self):
8653          arg=Data(numarray.array([[6.0, 4.0, 1.0, 1.0], [2.0, 4.0, 5.0, 4.0], [3.0, 2.0, 5.0, 5.0]]),self.functionspace)
8654          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8655          val=msk_val*numarray.array([[1.0, 4.0, 4.0, 7.0]])+(1.-msk_val)*numarray.array([[4.0, 5.0, 2.0, 7.0]])
8656          arg[2:]=val
8657          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8658          ref=msk_ref*numarray.array([[6.0, 4.0, 1.0, 1.0], [2.0, 4.0, 5.0, 4.0], [1.0, 4.0, 4.0, 7.0]])+(1.-msk_ref)*numarray.array([[6.0, 4.0, 1.0, 1.0], [2.0, 4.0, 5.0, 4.0], [4.0, 5.0, 2.0, 7.0]])
8659          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8660       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8661       def test_setslice_constData_rank2_array_UU(self):
8662          arg=Data(numarray.array([[2.0, 6.0, 6.0, 2.0], [2.0, 5.0, 7.0, 4.0], [6.0, 4.0, 3.0, 2.0]]),self.functionspace)
8663          val=numarray.array([[2.0, 5.0, 1.0], [6.0, 3.0, 5.0]])
8664          arg[:2,:3]=val
8665          ref=Data(numarray.array([[2.0, 5.0, 1.0, 2.0], [6.0, 3.0, 5.0, 4.0], [6.0, 4.0, 3.0, 2.0]]),self.functionspace)
8666          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8667       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8668       def test_setslice_constData_rank2_constData_UU(self):
8669          arg=Data(numarray.array([[8.0, 1.0, 3.0, 8.0], [2.0, 8.0, 2.0, 3.0], [8.0, 6.0, 8.0, 6.0]]),self.functionspace)
8670          val=Data(numarray.array([[3.0, 4.0, 5.0], [3.0, 4.0, 8.0]]),self.functionspace)
8671          arg[:2,:3]=val
8672          ref=Data(numarray.array([[3.0, 4.0, 5.0, 8.0], [3.0, 4.0, 8.0, 3.0], [8.0, 6.0, 8.0, 6.0]]),self.functionspace)
8673          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8674       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8675       def test_setslice_constData_rank2_expandedData_UU(self):
8676          arg=Data(numarray.array([[5.0, 1.0, 5.0, 1.0], [8.0, 4.0, 5.0, 4.0], [5.0, 1.0, 3.0, 1.0]]),self.functionspace)
8677          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8678          val=msk_val*numarray.array([[6.0, 6.0, 8.0], [4.0, 5.0, 4.0]])+(1.-msk_val)*numarray.array([[2.0, 5.0, 4.0], [3.0, 5.0, 5.0]])
8679          arg[:2,:3]=val
8680          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8681          ref=msk_ref*numarray.array([[6.0, 6.0, 8.0, 1.0], [4.0, 5.0, 4.0, 4.0], [5.0, 1.0, 3.0, 1.0]])+(1.-msk_ref)*numarray.array([[2.0, 5.0, 4.0, 1.0], [3.0, 5.0, 5.0, 4.0], [5.0, 1.0, 3.0, 1.0]])
8682          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8683       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8684       def test_setslice_constData_rank3_array_RLP(self):
8685          arg=Data(numarray.array([[[3.0, 1.0, 7.0], [5.0, 8.0, 2.0], [7.0, 4.0, 5.0], [6.0, 7.0, 4.0]], [[1.0, 6.0, 2.0], [5.0, 7.0, 5.0], [8.0, 8.0, 2.0], [3.0, 1.0, 2.0]], [[5.0, 2.0, 4.0], [5.0, 3.0, 5.0], [8.0, 8.0, 5.0], [7.0, 7.0, 8.0]]]),self.functionspace)
8686          val=numarray.array([[2.0, 6.0]])
8687          arg[1:2,2:,1]=val
8688          ref=Data(numarray.array([[[3.0, 1.0, 7.0], [5.0, 8.0, 2.0], [7.0, 4.0, 5.0], [6.0, 7.0, 4.0]], [[1.0, 6.0, 2.0], [5.0, 7.0, 5.0], [8.0, 2.0, 2.0], [3.0, 6.0, 2.0]], [[5.0, 2.0, 4.0], [5.0, 3.0, 5.0], [8.0, 8.0, 5.0], [7.0, 7.0, 8.0]]]),self.functionspace)
8689          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8690       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8691       def test_setslice_constData_rank3_constData_RLP(self):
8692          arg=Data(numarray.array([[[8.0, 3.0, 7.0], [8.0, 7.0, 8.0], [7.0, 1.0, 2.0], [8.0, 4.0, 8.0]], [[7.0, 2.0, 2.0], [8.0, 3.0, 4.0], [1.0, 2.0, 3.0], [8.0, 1.0, 1.0]], [[3.0, 8.0, 1.0], [4.0, 3.0, 3.0], [5.0, 2.0, 3.0], [5.0, 4.0, 6.0]]]),self.functionspace)
8693          val=Data(numarray.array([[1.0, 1.0]]),self.functionspace)
8694          arg[1:2,2:,1]=val
8695          ref=Data(numarray.array([[[8.0, 3.0, 7.0], [8.0, 7.0, 8.0], [7.0, 1.0, 2.0], [8.0, 4.0, 8.0]], [[7.0, 2.0, 2.0], [8.0, 3.0, 4.0], [1.0, 1.0, 3.0], [8.0, 1.0, 1.0]], [[3.0, 8.0, 1.0], [4.0, 3.0, 3.0], [5.0, 2.0, 3.0], [5.0, 4.0, 6.0]]]),self.functionspace)
8696          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8697       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8698       def test_setslice_constData_rank3_expandedData_RLP(self):
8699          arg=Data(numarray.array([[[3.0, 1.0, 4.0], [7.0, 2.0, 8.0], [6.0, 1.0, 8.0], [8.0, 1.0, 2.0]], [[3.0, 7.0, 1.0], [3.0, 8.0, 2.0], [6.0, 7.0, 5.0], [1.0, 1.0, 8.0]], [[8.0, 2.0, 5.0], [3.0, 6.0, 1.0], [1.0, 6.0, 8.0], [1.0, 4.0, 3.0]]]),self.functionspace)
8700          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8701          val=msk_val*numarray.array([[2.0, 4.0]])+(1.-msk_val)*numarray.array([[7.0, 3.0]])
8702          arg[1:2,2:,1]=val
8703          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8704          ref=msk_ref*numarray.array([[[3.0, 1.0, 4.0], [7.0, 2.0, 8.0], [6.0, 1.0, 8.0], [8.0, 1.0, 2.0]], [[3.0, 7.0, 1.0], [3.0, 8.0, 2.0], [6.0, 2.0, 5.0], [1.0, 4.0, 8.0]], [[8.0, 2.0, 5.0], [3.0, 6.0, 1.0], [1.0, 6.0, 8.0], [1.0, 4.0, 3.0]]])+(1.-msk_ref)*numarray.array([[[3.0, 1.0, 4.0], [7.0, 2.0, 8.0], [6.0, 1.0, 8.0], [8.0, 1.0, 2.0]], [[3.0, 7.0, 1.0], [3.0, 8.0, 2.0], [6.0, 7.0, 5.0], [1.0, 3.0, 8.0]], [[8.0, 2.0, 5.0], [3.0, 6.0, 1.0], [1.0, 6.0, 8.0], [1.0, 4.0, 3.0]]])
8705          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8706       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8707       def test_setslice_constData_rank3_array_URC(self):
8708          arg=Data(numarray.array([[[2.0, 5.0, 2.0], [8.0, 4.0, 5.0], [3.0, 5.0, 5.0], [7.0, 1.0, 2.0]], [[1.0, 5.0, 7.0], [3.0, 6.0, 6.0], [1.0, 5.0, 4.0], [5.0, 8.0, 8.0]], [[5.0, 6.0, 5.0], [8.0, 6.0, 3.0], [8.0, 5.0, 7.0], [6.0, 4.0, 1.0]]]),self.functionspace)
8709          val=numarray.array([[[1.0, 6.0, 3.0], [5.0, 6.0, 2.0]], [[2.0, 4.0, 7.0], [4.0, 1.0, 6.0]]])
8710          arg[:2,1:3,:]=val
8711          ref=Data(numarray.array([[[2.0, 5.0, 2.0], [1.0, 6.0, 3.0], [5.0, 6.0, 2.0], [7.0, 1.0, 2.0]], [[1.0, 5.0, 7.0], [2.0, 4.0, 7.0], [4.0, 1.0, 6.0], [5.0, 8.0, 8.0]], [[5.0, 6.0, 5.0], [8.0, 6.0, 3.0], [8.0, 5.0, 7.0], [6.0, 4.0, 1.0]]]),self.functionspace)
8712          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8713       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8714       def test_setslice_constData_rank3_constData_URC(self):
8715          arg=Data(numarray.array([[[4.0, 6.0, 7.0], [3.0, 7.0, 7.0], [5.0, 2.0, 6.0], [8.0, 3.0, 4.0]], [[2.0, 5.0, 8.0], [1.0, 6.0, 2.0], [4.0, 4.0, 7.0], [4.0, 4.0, 8.0]], [[6.0, 3.0, 4.0], [6.0, 2.0, 7.0], [5.0, 5.0, 2.0], [4.0, 1.0, 6.0]]]),self.functionspace)
8716          val=Data(numarray.array([[[4.0, 7.0, 1.0], [7.0, 3.0, 7.0]], [[3.0, 3.0, 5.0], [4.0, 5.0, 8.0]]]),self.functionspace)
8717          arg[:2,1:3,:]=val
8718          ref=Data(numarray.array([[[4.0, 6.0, 7.0], [4.0, 7.0, 1.0], [7.0, 3.0, 7.0], [8.0, 3.0, 4.0]], [[2.0, 5.0, 8.0], [3.0, 3.0, 5.0], [4.0, 5.0, 8.0], [4.0, 4.0, 8.0]], [[6.0, 3.0, 4.0], [6.0, 2.0, 7.0], [5.0, 5.0, 2.0], [4.0, 1.0, 6.0]]]),self.functionspace)
8719          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8720       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8721       def test_setslice_constData_rank3_expandedData_URC(self):
8722          arg=Data(numarray.array([[[5.0, 3.0, 2.0], [3.0, 3.0, 4.0], [2.0, 5.0, 8.0], [7.0, 2.0, 2.0]], [[7.0, 8.0, 4.0], [3.0, 2.0, 8.0], [6.0, 7.0, 8.0], [8.0, 5.0, 3.0]], [[2.0, 8.0, 2.0], [7.0, 6.0, 3.0], [2.0, 2.0, 2.0], [4.0, 8.0, 4.0]]]),self.functionspace)
8723          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8724          val=msk_val*numarray.array([[[1.0, 4.0, 5.0], [1.0, 3.0, 3.0]], [[7.0, 7.0, 2.0], [6.0, 7.0, 6.0]]])+(1.-msk_val)*numarray.array([[[8.0, 6.0, 7.0], [4.0, 5.0, 2.0]], [[2.0, 4.0, 1.0], [3.0, 2.0, 1.0]]])
8725          arg[:2,1:3,:]=val
8726          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8727          ref=msk_ref*numarray.array([[[5.0, 3.0, 2.0], [1.0, 4.0, 5.0], [1.0, 3.0, 3.0], [7.0, 2.0, 2.0]], [[7.0, 8.0, 4.0], [7.0, 7.0, 2.0], [6.0, 7.0, 6.0], [8.0, 5.0, 3.0]], [[2.0, 8.0, 2.0], [7.0, 6.0, 3.0], [2.0, 2.0, 2.0], [4.0, 8.0, 4.0]]])+(1.-msk_ref)*numarray.array([[[5.0, 3.0, 2.0], [8.0, 6.0, 7.0], [4.0, 5.0, 2.0], [7.0, 2.0, 2.0]], [[7.0, 8.0, 4.0], [2.0, 4.0, 1.0], [3.0, 2.0, 1.0], [8.0, 5.0, 3.0]], [[2.0, 8.0, 2.0], [7.0, 6.0, 3.0], [2.0, 2.0, 2.0], [4.0, 8.0, 4.0]]])
8728          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8729       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8730       def test_setslice_constData_rank3_array_PUP(self):
8731          arg=Data(numarray.array([[[7.0, 3.0, 6.0], [4.0, 8.0, 2.0], [4.0, 5.0, 5.0], [1.0, 4.0, 7.0]], [[2.0, 7.0, 1.0], [1.0, 1.0, 6.0], [1.0, 7.0, 7.0], [4.0, 5.0, 7.0]], [[2.0, 8.0, 2.0], [3.0, 6.0, 7.0], [3.0, 5.0, 5.0], [1.0, 6.0, 8.0]]]),self.functionspace)
8732          val=numarray.array([6.0, 5.0, 2.0])
8733          arg[1,:3,1]=val
8734          ref=Data(numarray.array([[[7.0, 3.0, 6.0], [4.0, 8.0, 2.0], [4.0, 5.0, 5.0], [1.0, 4.0, 7.0]], [[2.0, 6.0, 1.0], [1.0, 5.0, 6.0], [1.0, 2.0, 7.0], [4.0, 5.0, 7.0]], [[2.0, 8.0, 2.0], [3.0, 6.0, 7.0], [3.0, 5.0, 5.0], [1.0, 6.0, 8.0]]]),self.functionspace)
8735          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8736       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8737       def test_setslice_constData_rank3_constData_PUP(self):
8738          arg=Data(numarray.array([[[6.0, 4.0, 5.0], [5.0, 3.0, 2.0], [8.0, 5.0, 7.0], [4.0, 7.0, 2.0]], [[8.0, 6.0, 7.0], [5.0, 5.0, 7.0], [2.0, 4.0, 3.0], [1.0, 5.0, 3.0]], [[2.0, 6.0, 8.0], [4.0, 8.0, 7.0], [5.0, 8.0, 2.0], [7.0, 7.0, 4.0]]]),self.functionspace)
8739          val=Data(numarray.array([6.0, 7.0, 8.0]),self.functionspace)
8740          arg[1,:3,1]=val
8741          ref=Data(numarray.array([[[6.0, 4.0, 5.0], [5.0, 3.0, 2.0], [8.0, 5.0, 7.0], [4.0, 7.0, 2.0]], [[8.0, 6.0, 7.0], [5.0, 7.0, 7.0], [2.0, 8.0, 3.0], [1.0, 5.0, 3.0]], [[2.0, 6.0, 8.0], [4.0, 8.0, 7.0], [5.0, 8.0, 2.0], [7.0, 7.0, 4.0]]]),self.functionspace)
8742          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8743       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8744       def test_setslice_constData_rank3_expandedData_PUP(self):
8745          arg=Data(numarray.array([[[2.0, 1.0, 1.0], [2.0, 5.0, 1.0], [7.0, 3.0, 3.0], [4.0, 4.0, 2.0]], [[8.0, 4.0, 3.0], [6.0, 7.0, 3.0], [2.0, 5.0, 2.0], [7.0, 8.0, 5.0]], [[1.0, 4.0, 7.0], [2.0, 6.0, 5.0], [1.0, 2.0, 3.0], [8.0, 4.0, 2.0]]]),self.functionspace)
8746          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8747          val=msk_val*numarray.array([2.0, 3.0, 2.0])+(1.-msk_val)*numarray.array([6.0, 6.0, 1.0])
8748          arg[1,:3,1]=val
8749          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8750          ref=msk_ref*numarray.array([[[2.0, 1.0, 1.0], [2.0, 5.0, 1.0], [7.0, 3.0, 3.0], [4.0, 4.0, 2.0]], [[8.0, 2.0, 3.0], [6.0, 3.0, 3.0], [2.0, 2.0, 2.0], [7.0, 8.0, 5.0]], [[1.0, 4.0, 7.0], [2.0, 6.0, 5.0], [1.0, 2.0, 3.0], [8.0, 4.0, 2.0]]])+(1.-msk_ref)*numarray.array([[[2.0, 1.0, 1.0], [2.0, 5.0, 1.0], [7.0, 3.0, 3.0], [4.0, 4.0, 2.0]], [[8.0, 6.0, 3.0], [6.0, 6.0, 3.0], [2.0, 1.0, 2.0], [7.0, 8.0, 5.0]], [[1.0, 4.0, 7.0], [2.0, 6.0, 5.0], [1.0, 2.0, 3.0], [8.0, 4.0, 2.0]]])
8751          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8752       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8753       def test_setslice_constData_rank3_array_RLR(self):
8754          arg=Data(numarray.array([[[6.0, 2.0, 5.0], [6.0, 6.0, 5.0], [6.0, 2.0, 4.0], [2.0, 8.0, 2.0]], [[7.0, 7.0, 8.0], [5.0, 3.0, 7.0], [2.0, 8.0, 3.0], [8.0, 6.0, 3.0]], [[8.0, 6.0, 4.0], [8.0, 6.0, 2.0], [7.0, 4.0, 2.0], [7.0, 6.0, 5.0]]]),self.functionspace)
8755          val=numarray.array([[[5.0], [6.0]]])
8756          arg[1:2,2:,1:2]=val
8757          ref=Data(numarray.array([[[6.0, 2.0, 5.0], [6.0, 6.0, 5.0], [6.0, 2.0, 4.0], [2.0, 8.0, 2.0]], [[7.0, 7.0, 8.0], [5.0, 3.0, 7.0], [2.0, 5.0, 3.0], [8.0, 6.0, 3.0]], [[8.0, 6.0, 4.0], [8.0, 6.0, 2.0], [7.0, 4.0, 2.0], [7.0, 6.0, 5.0]]]),self.functionspace)
8758          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8759       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8760       def test_setslice_constData_rank3_constData_RLR(self):
8761          arg=Data(numarray.array([[[6.0, 2.0, 6.0], [4.0, 5.0, 7.0], [3.0, 1.0, 4.0], [7.0, 4.0, 4.0]], [[3.0, 7.0, 7.0], [1.0, 7.0, 6.0], [1.0, 2.0, 7.0], [1.0, 7.0, 3.0]], [[4.0, 2.0, 7.0], [6.0, 6.0, 7.0], [4.0, 1.0, 6.0], [6.0, 1.0, 6.0]]]),self.functionspace)
8762          val=Data(numarray.array([[[4.0], [6.0]]]),self.functionspace)
8763          arg[1:2,2:,1:2]=val
8764          ref=Data(numarray.array([[[6.0, 2.0, 6.0], [4.0, 5.0, 7.0], [3.0, 1.0, 4.0], [7.0, 4.0, 4.0]], [[3.0, 7.0, 7.0], [1.0, 7.0, 6.0], [1.0, 4.0, 7.0], [1.0, 6.0, 3.0]], [[4.0, 2.0, 7.0], [6.0, 6.0, 7.0], [4.0, 1.0, 6.0], [6.0, 1.0, 6.0]]]),self.functionspace)
8765          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8766       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8767       def test_setslice_constData_rank3_expandedData_RLR(self):
8768          arg=Data(numarray.array([[[3.0, 8.0, 7.0], [4.0, 6.0, 5.0], [2.0, 4.0, 1.0], [3.0, 7.0, 6.0]], [[8.0, 4.0, 5.0], [1.0, 8.0, 4.0], [4.0, 7.0, 6.0], [8.0, 7.0, 1.0]], [[6.0, 7.0, 1.0], [2.0, 5.0, 4.0], [2.0, 5.0, 3.0], [1.0, 8.0, 1.0]]]),self.functionspace)
8769          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8770          val=msk_val*numarray.array([[[7.0], [3.0]]])+(1.-msk_val)*numarray.array([[[7.0], [6.0]]])
8771          arg[1:2,2:,1:2]=val
8772          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8773          ref=msk_ref*numarray.array([[[3.0, 8.0, 7.0], [4.0, 6.0, 5.0], [2.0, 4.0, 1.0], [3.0, 7.0, 6.0]], [[8.0, 4.0, 5.0], [1.0, 8.0, 4.0], [4.0, 7.0, 6.0], [8.0, 3.0, 1.0]], [[6.0, 7.0, 1.0], [2.0, 5.0, 4.0], [2.0, 5.0, 3.0], [1.0, 8.0, 1.0]]])+(1.-msk_ref)*numarray.array([[[3.0, 8.0, 7.0], [4.0, 6.0, 5.0], [2.0, 4.0, 1.0], [3.0, 7.0, 6.0]], [[8.0, 4.0, 5.0], [1.0, 8.0, 4.0], [4.0, 7.0, 6.0], [8.0, 6.0, 1.0]], [[6.0, 7.0, 1.0], [2.0, 5.0, 4.0], [2.0, 5.0, 3.0], [1.0, 8.0, 1.0]]])
8774          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8775       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8776       def test_setslice_constData_rank3_array_PLN(self):
8777          arg=Data(numarray.array([[[5.0, 5.0, 4.0], [8.0, 8.0, 8.0], [4.0, 6.0, 5.0], [2.0, 3.0, 2.0]], [[4.0, 4.0, 5.0], [6.0, 1.0, 1.0], [8.0, 6.0, 1.0], [2.0, 2.0, 2.0]], [[1.0, 5.0, 3.0], [2.0, 2.0, 2.0], [3.0, 7.0, 7.0], [4.0, 3.0, 7.0]]]),self.functionspace)
8778          val=numarray.array([[8.0, 7.0, 5.0], [6.0, 6.0, 3.0]])
8779          arg[1,2:]=val
8780          ref=Data(numarray.array([[[5.0, 5.0, 4.0], [8.0, 8.0, 8.0], [4.0, 6.0, 5.0], [2.0, 3.0, 2.0]], [[4.0, 4.0, 5.0], [6.0, 1.0, 1.0], [8.0, 7.0, 5.0], [6.0, 6.0, 3.0]], [[1.0, 5.0, 3.0], [2.0, 2.0, 2.0], [3.0, 7.0, 7.0], [4.0, 3.0, 7.0]]]),self.functionspace)
8781          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8782       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8783       def test_setslice_constData_rank3_constData_PLN(self):
8784          arg=Data(numarray.array([[[4.0, 6.0, 4.0], [7.0, 3.0, 3.0], [5.0, 8.0, 7.0], [6.0, 5.0, 3.0]], [[5.0, 5.0, 5.0], [4.0, 4.0, 3.0], [8.0, 5.0, 1.0], [3.0, 3.0, 3.0]], [[3.0, 1.0, 8.0], [8.0, 4.0, 1.0], [1.0, 2.0, 7.0], [7.0, 7.0, 1.0]]]),self.functionspace)
8785          val=Data(numarray.array([[8.0, 2.0, 2.0], [2.0, 3.0, 2.0]]),self.functionspace)
8786          arg[1,2:]=val
8787          ref=Data(numarray.array([[[4.0, 6.0, 4.0], [7.0, 3.0, 3.0], [5.0, 8.0, 7.0], [6.0, 5.0, 3.0]], [[5.0, 5.0, 5.0], [4.0, 4.0, 3.0], [8.0, 2.0, 2.0], [2.0, 3.0, 2.0]], [[3.0, 1.0, 8.0], [8.0, 4.0, 1.0], [1.0, 2.0, 7.0], [7.0, 7.0, 1.0]]]),self.functionspace)
8788          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8789       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8790       def test_setslice_constData_rank3_expandedData_PLN(self):
8791          arg=Data(numarray.array([[[8.0, 4.0, 3.0], [2.0, 8.0, 3.0], [7.0, 5.0, 7.0], [5.0, 6.0, 4.0]], [[2.0, 5.0, 1.0], [5.0, 8.0, 1.0], [2.0, 3.0, 2.0], [6.0, 7.0, 3.0]], [[2.0, 1.0, 2.0], [1.0, 6.0, 6.0], [4.0, 7.0, 5.0], [5.0, 5.0, 3.0]]]),self.functionspace)
8792          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8793          val=msk_val*numarray.array([[5.0, 7.0, 1.0], [4.0, 7.0, 5.0]])+(1.-msk_val)*numarray.array([[5.0, 1.0, 3.0], [1.0, 4.0, 2.0]])
8794          arg[1,2:]=val
8795          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8796          ref=msk_ref*numarray.array([[[8.0, 4.0, 3.0], [2.0, 8.0, 3.0], [7.0, 5.0, 7.0], [5.0, 6.0, 4.0]], [[2.0, 5.0, 1.0], [5.0, 8.0, 1.0], [5.0, 7.0, 1.0], [4.0, 7.0, 5.0]], [[2.0, 1.0, 2.0], [1.0, 6.0, 6.0], [4.0, 7.0, 5.0], [5.0, 5.0, 3.0]]])+(1.-msk_ref)*numarray.array([[[8.0, 4.0, 3.0], [2.0, 8.0, 3.0], [7.0, 5.0, 7.0], [5.0, 6.0, 4.0]], [[2.0, 5.0, 1.0], [5.0, 8.0, 1.0], [5.0, 1.0, 3.0], [1.0, 4.0, 2.0]], [[2.0, 1.0, 2.0], [1.0, 6.0, 6.0], [4.0, 7.0, 5.0], [5.0, 5.0, 3.0]]])
8797          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8798       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8799       def test_setslice_constData_rank3_array_CLL(self):
8800          arg=Data(numarray.array([[[6.0, 7.0, 7.0], [8.0, 2.0, 2.0], [2.0, 8.0, 7.0], [1.0, 5.0, 4.0]], [[7.0, 6.0, 8.0], [7.0, 4.0, 6.0], [2.0, 4.0, 5.0], [4.0, 6.0, 7.0]], [[5.0, 7.0, 6.0], [6.0, 1.0, 7.0], [1.0, 1.0, 5.0], [1.0, 6.0, 6.0]]]),self.functionspace)
8801          val=numarray.array([[[5.0], [3.0]], [[6.0], [6.0]], [[5.0], [3.0]]])
8802          arg[:,2:,2:]=val
8803          ref=Data(numarray.array([[[6.0, 7.0, 7.0], [8.0, 2.0, 2.0], [2.0, 8.0, 5.0], [1.0, 5.0, 3.0]], [[7.0, 6.0, 8.0], [7.0, 4.0, 6.0], [2.0, 4.0, 6.0], [4.0, 6.0, 6.0]], [[5.0, 7.0, 6.0], [6.0, 1.0, 7.0], [1.0, 1.0, 5.0], [1.0, 6.0, 3.0]]]),self.functionspace)
8804          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8805       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8806       def test_setslice_constData_rank3_constData_CLL(self):
8807          arg=Data(numarray.array([[[1.0, 3.0, 5.0], [1.0, 4.0, 2.0], [6.0, 7.0, 8.0], [6.0, 4.0, 6.0]], [[3.0, 5.0, 1.0], [6.0, 7.0, 6.0], [6.0, 2.0, 7.0], [2.0, 8.0, 3.0]], [[6.0, 1.0, 6.0], [4.0, 6.0, 3.0], [1.0, 1.0, 4.0], [7.0, 2.0, 1.0]]]),self.functionspace)
8808          val=Data(numarray.array([[[4.0], [1.0]], [[6.0], [3.0]], [[1.0], [4.0]]]),self.functionspace)
8809          arg[:,2:,2:]=val
8810          ref=Data(numarray.array([[[1.0, 3.0, 5.0], [1.0, 4.0, 2.0], [6.0, 7.0, 4.0], [6.0, 4.0, 1.0]], [[3.0, 5.0, 1.0], [6.0, 7.0, 6.0], [6.0, 2.0, 6.0], [2.0, 8.0, 3.0]], [[6.0, 1.0, 6.0], [4.0, 6.0, 3.0], [1.0, 1.0, 1.0], [7.0, 2.0, 4.0]]]),self.functionspace)
8811          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8812       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8813       def test_setslice_constData_rank3_expandedData_CLL(self):
8814          arg=Data(numarray.array([[[1.0, 6.0, 8.0], [6.0, 1.0, 7.0], [1.0, 1.0, 2.0], [5.0, 3.0, 4.0]], [[8.0, 4.0, 2.0], [8.0, 1.0, 2.0], [7.0, 2.0, 3.0], [2.0, 6.0, 4.0]], [[3.0, 8.0, 6.0], [1.0, 3.0, 1.0], [7.0, 5.0, 4.0], [4.0, 8.0, 8.0]]]),self.functionspace)
8815          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8816          val=msk_val*numarray.array([[[1.0], [7.0]], [[1.0], [2.0]], [[8.0], [1.0]]])+(1.-msk_val)*numarray.array([[[5.0], [1.0]], [[2.0], [3.0]], [[4.0], [2.0]]])
8817          arg[:,2:,2:]=val
8818          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8819          ref=msk_ref*numarray.array([[[1.0, 6.0, 8.0], [6.0, 1.0, 7.0], [1.0, 1.0, 1.0], [5.0, 3.0, 7.0]], [[8.0, 4.0, 2.0], [8.0, 1.0, 2.0], [7.0, 2.0, 1.0], [2.0, 6.0, 2.0]], [[3.0, 8.0, 6.0], [1.0, 3.0, 1.0], [7.0, 5.0, 8.0], [4.0, 8.0, 1.0]]])+(1.-msk_ref)*numarray.array([[[1.0, 6.0, 8.0], [6.0, 1.0, 7.0], [1.0, 1.0, 5.0], [5.0, 3.0, 1.0]], [[8.0, 4.0, 2.0], [8.0, 1.0, 2.0], [7.0, 2.0, 2.0], [2.0, 6.0, 3.0]], [[3.0, 8.0, 6.0], [1.0, 3.0, 1.0], [7.0, 5.0, 4.0], [4.0, 8.0, 2.0]]])
8820          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8821       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8822       def test_setslice_constData_rank3_array_RCR(self):
8823          arg=Data(numarray.array([[[3.0, 4.0, 5.0], [7.0, 3.0, 4.0], [6.0, 7.0, 6.0], [4.0, 2.0, 6.0]], [[8.0, 5.0, 7.0], [3.0, 6.0, 1.0], [4.0, 2.0, 8.0], [6.0, 7.0, 4.0]], [[2.0, 2.0, 1.0], [3.0, 7.0, 1.0], [6.0, 1.0, 4.0], [1.0, 7.0, 1.0]]]),self.functionspace)
8824          val=numarray.array([[[5.0], [5.0], [2.0], [6.0]]])
8825          arg[1:2,:,1:2]=val
8826          ref=Data(numarray.array([[[3.0, 4.0, 5.0], [7.0, 3.0, 4.0], [6.0, 7.0, 6.0], [4.0, 2.0, 6.0]], [[8.0, 5.0, 7.0], [3.0, 5.0, 1.0], [4.0, 2.0, 8.0], [6.0, 6.0, 4.0]], [[2.0, 2.0, 1.0], [3.0, 7.0, 1.0], [6.0, 1.0, 4.0], [1.0, 7.0, 1.0]]]),self.functionspace)
8827          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8828       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8829       def test_setslice_constData_rank3_constData_RCR(self):
8830          arg=Data(numarray.array([[[5.0, 2.0, 4.0], [8.0, 5.0, 1.0], [8.0, 2.0, 6.0], [4.0, 3.0, 1.0]], [[1.0, 6.0, 4.0], [8.0, 7.0, 7.0], [2.0, 3.0, 7.0], [4.0, 3.0, 3.0]], [[4.0, 6.0, 2.0], [3.0, 4.0, 7.0], [1.0, 8.0, 8.0], [2.0, 3.0, 8.0]]]),self.functionspace)
8831          val=Data(numarray.array([[[3.0], [5.0], [7.0], [4.0]]]),self.functionspace)
8832          arg[1:2,:,1:2]=val
8833          ref=Data(numarray.array([[[5.0, 2.0, 4.0], [8.0, 5.0, 1.0], [8.0, 2.0, 6.0], [4.0, 3.0, 1.0]], [[1.0, 3.0, 4.0], [8.0, 5.0, 7.0], [2.0, 7.0, 7.0], [4.0, 4.0, 3.0]], [[4.0, 6.0, 2.0], [3.0, 4.0, 7.0], [1.0, 8.0, 8.0], [2.0, 3.0, 8.0]]]),self.functionspace)
8834          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8835       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8836       def test_setslice_constData_rank3_expandedData_RCR(self):
8837          arg=Data(numarray.array([[[8.0, 3.0, 8.0], [2.0, 8.0, 6.0], [7.0, 4.0, 2.0], [2.0, 1.0, 3.0]], [[5.0, 2.0, 1.0], [1.0, 3.0, 3.0], [3.0, 4.0, 8.0], [6.0, 7.0, 4.0]], [[1.0, 5.0, 1.0], [1.0, 7.0, 6.0], [1.0, 7.0, 8.0], [8.0, 7.0, 4.0]]]),self.functionspace)
8838          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8839          val=msk_val*numarray.array([[[3.0], [7.0], [8.0], [1.0]]])+(1.-msk_val)*numarray.array([[[5.0], [3.0], [4.0], [2.0]]])
8840          arg[1:2,:,1:2]=val
8841          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8842          ref=msk_ref*numarray.array([[[8.0, 3.0, 8.0], [2.0, 8.0, 6.0], [7.0, 4.0, 2.0], [2.0, 1.0, 3.0]], [[5.0, 3.0, 1.0], [1.0, 7.0, 3.0], [3.0, 8.0, 8.0], [6.0, 1.0, 4.0]], [[1.0, 5.0, 1.0], [1.0, 7.0, 6.0], [1.0, 7.0, 8.0], [8.0, 7.0, 4.0]]])+(1.-msk_ref)*numarray.array([[[8.0, 3.0, 8.0], [2.0, 8.0, 6.0], [7.0, 4.0, 2.0], [2.0, 1.0, 3.0]], [[5.0, 5.0, 1.0], [1.0, 3.0, 3.0], [3.0, 4.0, 8.0], [6.0, 2.0, 4.0]], [[1.0, 5.0, 1.0], [1.0, 7.0, 6.0], [1.0, 7.0, 8.0], [8.0, 7.0, 4.0]]])
8843          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8844       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8845       def test_setslice_constData_rank3_array_LLL(self):
8846          arg=Data(numarray.array([[[8.0, 5.0, 4.0], [8.0, 3.0, 8.0], [4.0, 8.0, 4.0], [6.0, 5.0, 6.0]], [[3.0, 8.0, 4.0], [7.0, 2.0, 1.0], [7.0, 6.0, 5.0], [8.0, 1.0, 3.0]], [[5.0, 4.0, 4.0], [2.0, 2.0, 2.0], [8.0, 5.0, 5.0], [1.0, 8.0, 5.0]]]),self.functionspace)
8847          val=numarray.array([[[4.0], [6.0]]])
8848          arg[2:,2:,2:]=val
8849          ref=Data(numarray.array([[[8.0, 5.0, 4.0], [8.0, 3.0, 8.0], [4.0, 8.0, 4.0], [6.0, 5.0, 6.0]], [[3.0, 8.0, 4.0], [7.0, 2.0, 1.0], [7.0, 6.0, 5.0], [8.0, 1.0, 3.0]], [[5.0, 4.0, 4.0], [2.0, 2.0, 2.0], [8.0, 5.0, 4.0], [1.0, 8.0, 6.0]]]),self.functionspace)
8850          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8851       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8852       def test_setslice_constData_rank3_constData_LLL(self):
8853          arg=Data(numarray.array([[[5.0, 7.0, 4.0], [3.0, 5.0, 7.0], [5.0, 4.0, 5.0], [5.0, 5.0, 4.0]], [[5.0, 6.0, 7.0], [4.0, 3.0, 4.0], [1.0, 6.0, 3.0], [1.0, 5.0, 2.0]], [[8.0, 2.0, 3.0], [5.0, 5.0, 7.0], [5.0, 3.0, 7.0], [8.0, 6.0, 4.0]]]),self.functionspace)
8854          val=Data(numarray.array([[[3.0], [6.0]]]),self.functionspace)
8855          arg[2:,2:,2:]=val
8856          ref=Data(numarray.array([[[5.0, 7.0, 4.0], [3.0, 5.0, 7.0], [5.0, 4.0, 5.0], [5.0, 5.0, 4.0]], [[5.0, 6.0, 7.0], [4.0, 3.0, 4.0], [1.0, 6.0, 3.0], [1.0, 5.0, 2.0]], [[8.0, 2.0, 3.0], [5.0, 5.0, 7.0], [5.0, 3.0, 3.0], [8.0, 6.0, 6.0]]]),self.functionspace)
8857          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8858       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8859       def test_setslice_constData_rank3_expandedData_LLL(self):
8860          arg=Data(numarray.array([[[3.0, 8.0, 2.0], [1.0, 3.0, 1.0], [1.0, 8.0, 8.0], [4.0, 5.0, 2.0]], [[7.0, 1.0, 1.0], [7.0, 6.0, 4.0], [5.0, 8.0, 2.0], [6.0, 7.0, 2.0]], [[6.0, 7.0, 8.0], [7.0, 2.0, 3.0], [5.0, 1.0, 7.0], [4.0, 2.0, 4.0]]]),self.functionspace)
8861          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8862          val=msk_val*numarray.array([[[8.0], [2.0]]])+(1.-msk_val)*numarray.array([[[8.0], [5.0]]])
8863          arg[2:,2:,2:]=val
8864          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8865          ref=msk_ref*numarray.array([[[3.0, 8.0, 2.0], [1.0, 3.0, 1.0], [1.0, 8.0, 8.0], [4.0, 5.0, 2.0]], [[7.0, 1.0, 1.0], [7.0, 6.0, 4.0], [5.0, 8.0, 2.0], [6.0, 7.0, 2.0]], [[6.0, 7.0, 8.0], [7.0, 2.0, 3.0], [5.0, 1.0, 8.0], [4.0, 2.0, 2.0]]])+(1.-msk_ref)*numarray.array([[[3.0, 8.0, 2.0], [1.0, 3.0, 1.0], [1.0, 8.0, 8.0], [4.0, 5.0, 2.0]], [[7.0, 1.0, 1.0], [7.0, 6.0, 4.0], [5.0, 8.0, 2.0], [6.0, 7.0, 2.0]], [[6.0, 7.0, 8.0], [7.0, 2.0, 3.0], [5.0, 1.0, 8.0], [4.0, 2.0, 5.0]]])
8866          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8867       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8868       def test_setslice_constData_rank3_array_LPC(self):
8869          arg=Data(numarray.array([[[8.0, 3.0, 3.0], [8.0, 1.0, 2.0], [7.0, 5.0, 7.0], [5.0, 8.0, 5.0]], [[2.0, 1.0, 5.0], [2.0, 6.0, 1.0], [8.0, 6.0, 5.0], [8.0, 6.0, 8.0]], [[8.0, 3.0, 1.0], [5.0, 3.0, 6.0], [3.0, 4.0, 6.0], [2.0, 7.0, 2.0]]]),self.functionspace)
8870          val=numarray.array([[3.0, 3.0, 1.0]])
8871          arg[2:,2,:]=val
8872          ref=Data(numarray.array([[[8.0, 3.0, 3.0], [8.0, 1.0, 2.0], [7.0, 5.0, 7.0], [5.0, 8.0, 5.0]], [[2.0, 1.0, 5.0], [2.0, 6.0, 1.0], [8.0, 6.0, 5.0], [8.0, 6.0, 8.0]], [[8.0, 3.0, 1.0], [5.0, 3.0, 6.0], [3.0, 3.0, 1.0], [2.0, 7.0, 2.0]]]),self.functionspace)
8873          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8874       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8875       def test_setslice_constData_rank3_constData_LPC(self):
8876          arg=Data(numarray.array([[[4.0, 1.0, 5.0], [2.0, 5.0, 5.0], [1.0, 3.0, 8.0], [3.0, 2.0, 8.0]], [[1.0, 1.0, 7.0], [1.0, 7.0, 1.0], [3.0, 7.0, 3.0], [3.0, 1.0, 8.0]], [[4.0, 3.0, 8.0], [7.0, 8.0, 8.0], [4.0, 8.0, 2.0], [4.0, 1.0, 3.0]]]),self.functionspace)
8877          val=Data(numarray.array([[2.0, 6.0, 6.0]]),self.functionspace)
8878          arg[2:,2,:]=val
8879          ref=Data(numarray.array([[[4.0, 1.0, 5.0], [2.0, 5.0, 5.0], [1.0, 3.0, 8.0], [3.0, 2.0, 8.0]], [[1.0, 1.0, 7.0], [1.0, 7.0, 1.0], [3.0, 7.0, 3.0], [3.0, 1.0, 8.0]], [[4.0, 3.0, 8.0], [7.0, 8.0, 8.0], [2.0, 6.0, 6.0], [4.0, 1.0, 3.0]]]),self.functionspace)
8880          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8881       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8882       def test_setslice_constData_rank3_expandedData_LPC(self):
8883          arg=Data(numarray.array([[[4.0, 4.0, 1.0], [7.0, 4.0, 4.0], [8.0, 5.0, 4.0], [2.0, 2.0, 8.0]], [[8.0, 5.0, 5.0], [6.0, 6.0, 1.0], [2.0, 7.0, 8.0], [4.0, 5.0, 4.0]], [[3.0, 8.0, 5.0], [7.0, 8.0, 3.0], [3.0, 5.0, 3.0], [5.0, 8.0, 2.0]]]),self.functionspace)
8884          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8885          val=msk_val*numarray.array([[4.0, 2.0, 5.0]])+(1.-msk_val)*numarray.array([[3.0, 4.0, 7.0]])
8886          arg[2:,2,:]=val
8887          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8888          ref=msk_ref*numarray.array([[[4.0, 4.0, 1.0], [7.0, 4.0, 4.0], [8.0, 5.0, 4.0], [2.0, 2.0, 8.0]], [[8.0, 5.0, 5.0], [6.0, 6.0, 1.0], [2.0, 7.0, 8.0], [4.0, 5.0, 4.0]], [[3.0, 8.0, 5.0], [7.0, 8.0, 3.0], [4.0, 2.0, 5.0], [5.0, 8.0, 2.0]]])+(1.-msk_ref)*numarray.array([[[4.0, 4.0, 1.0], [7.0, 4.0, 4.0], [8.0, 5.0, 4.0], [2.0, 2.0, 8.0]], [[8.0, 5.0, 5.0], [6.0, 6.0, 1.0], [2.0, 7.0, 8.0], [4.0, 5.0, 4.0]], [[3.0, 8.0, 5.0], [7.0, 8.0, 3.0], [3.0, 4.0, 7.0], [5.0, 8.0, 2.0]]])
8889          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8890       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8891       def test_setslice_constData_rank3_array_URU(self):
8892          arg=Data(numarray.array([[[1.0, 4.0, 3.0], [2.0, 7.0, 6.0], [2.0, 8.0, 5.0], [6.0, 6.0, 5.0]], [[4.0, 6.0, 1.0], [7.0, 2.0, 5.0], [1.0, 3.0, 3.0], [4.0, 4.0, 3.0]], [[7.0, 1.0, 7.0], [4.0, 4.0, 6.0], [3.0, 7.0, 1.0], [2.0, 4.0, 5.0]]]),self.functionspace)
8893          val=numarray.array([[[7.0, 4.0], [5.0, 5.0]], [[3.0, 2.0], [7.0, 4.0]]])
8894          arg[:2,1:3,:2]=val
8895          ref=Data(numarray.array([[[1.0, 4.0, 3.0], [7.0, 4.0, 6.0], [5.0, 5.0, 5.0], [6.0, 6.0, 5.0]], [[4.0, 6.0, 1.0], [3.0, 2.0, 5.0], [7.0, 4.0, 3.0], [4.0, 4.0, 3.0]], [[7.0, 1.0, 7.0], [4.0, 4.0, 6.0], [3.0, 7.0, 1.0], [2.0, 4.0, 5.0]]]),self.functionspace)
8896          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8897       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8898       def test_setslice_constData_rank3_constData_URU(self):
8899          arg=Data(numarray.array([[[3.0, 5.0, 6.0], [8.0, 8.0, 5.0], [7.0, 2.0, 7.0], [8.0, 4.0, 4.0]], [[5.0, 3.0, 1.0], [8.0, 2.0, 2.0], [1.0, 5.0, 6.0], [6.0, 6.0, 2.0]], [[2.0, 7.0, 4.0], [4.0, 4.0, 7.0], [3.0, 5.0, 3.0], [7.0, 6.0, 8.0]]]),self.functionspace)
8900          val=Data(numarray.array([[[7.0, 4.0], [8.0, 4.0]], [[8.0, 3.0], [8.0, 4.0]]]),self.functionspace)
8901          arg[:2,1:3,:2]=val
8902          ref=Data(numarray.array([[[3.0, 5.0, 6.0], [7.0, 4.0, 5.0], [8.0, 4.0, 7.0], [8.0, 4.0, 4.0]], [[5.0, 3.0, 1.0], [8.0, 3.0, 2.0], [8.0, 4.0, 6.0], [6.0, 6.0, 2.0]], [[2.0, 7.0, 4.0], [4.0, 4.0, 7.0], [3.0, 5.0, 3.0], [7.0, 6.0, 8.0]]]),self.functionspace)
8903          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8904       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8905       def test_setslice_constData_rank3_expandedData_URU(self):
8906          arg=Data(numarray.array([[[2.0, 3.0, 7.0], [2.0, 4.0, 3.0], [6.0, 5.0, 3.0], [6.0, 4.0, 3.0]], [[8.0, 3.0, 1.0], [1.0, 1.0, 5.0], [6.0, 4.0, 4.0], [8.0, 8.0, 3.0]], [[2.0, 8.0, 5.0], [8.0, 4.0, 5.0], [4.0, 4.0, 3.0], [7.0, 2.0, 5.0]]]),self.functionspace)
8907          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8908          val=msk_val*numarray.array([[[1.0, 8.0], [3.0, 8.0]], [[8.0, 4.0], [7.0, 6.0]]])+(1.-msk_val)*numarray.array([[[1.0, 5.0], [6.0, 3.0]], [[8.0, 5.0], [4.0, 2.0]]])
8909          arg[:2,1:3,:2]=val
8910          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8911          ref=msk_ref*numarray.array([[[2.0, 3.0, 7.0], [1.0, 8.0, 3.0], [3.0, 8.0, 3.0], [6.0, 4.0, 3.0]], [[8.0, 3.0, 1.0], [8.0, 4.0, 5.0], [7.0, 6.0, 4.0], [8.0, 8.0, 3.0]], [[2.0, 8.0, 5.0], [8.0, 4.0, 5.0], [4.0, 4.0, 3.0], [7.0, 2.0, 5.0]]])+(1.-msk_ref)*numarray.array([[[2.0, 3.0, 7.0], [1.0, 5.0, 3.0], [6.0, 3.0, 3.0], [6.0, 4.0, 3.0]], [[8.0, 3.0, 1.0], [8.0, 5.0, 5.0], [4.0, 2.0, 4.0], [8.0, 8.0, 3.0]], [[2.0, 8.0, 5.0], [8.0, 4.0, 5.0], [4.0, 4.0, 3.0], [7.0, 2.0, 5.0]]])
8912          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8913       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8914       def test_setslice_constData_rank3_array_CUN(self):
8915          arg=Data(numarray.array([[[6.0, 5.0, 2.0], [2.0, 4.0, 4.0], [4.0, 5.0, 5.0], [7.0, 6.0, 5.0]], [[6.0, 6.0, 8.0], [1.0, 8.0, 6.0], [5.0, 1.0, 6.0], [4.0, 6.0, 7.0]], [[2.0, 3.0, 2.0], [7.0, 7.0, 8.0], [6.0, 1.0, 6.0], [7.0, 1.0, 5.0]]]),self.functionspace)
8916          val=numarray.array([[[5.0, 8.0, 3.0], [2.0, 4.0, 3.0], [6.0, 3.0, 2.0]], [[7.0, 2.0, 7.0], [7.0, 1.0, 2.0], [4.0, 8.0, 7.0]], [[2.0, 3.0, 5.0], [5.0, 3.0, 7.0], [1.0, 6.0, 2.0]]])
8917          arg[:,:3]=val
8918          ref=Data(numarray.array([[[5.0, 8.0, 3.0], [2.0, 4.0, 3.0], [6.0, 3.0, 2.0], [7.0, 6.0, 5.0]], [[7.0, 2.0, 7.0], [7.0, 1.0, 2.0], [4.0, 8.0, 7.0], [4.0, 6.0, 7.0]], [[2.0, 3.0, 5.0], [5.0, 3.0, 7.0], [1.0, 6.0, 2.0], [7.0, 1.0, 5.0]]]),self.functionspace)
8919          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8920       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8921       def test_setslice_constData_rank3_constData_CUN(self):
8922          arg=Data(numarray.array([[[8.0, 2.0, 3.0], [3.0, 5.0, 5.0], [4.0, 7.0, 1.0], [4.0, 2.0, 3.0]], [[8.0, 3.0, 4.0], [3.0, 6.0, 8.0], [1.0, 8.0, 4.0], [1.0, 1.0, 3.0]], [[6.0, 4.0, 8.0], [8.0, 8.0, 3.0], [1.0, 7.0, 5.0], [4.0, 7.0, 7.0]]]),self.functionspace)
8923          val=Data(numarray.array([[[7.0, 8.0, 8.0], [4.0, 4.0, 3.0], [7.0, 6.0, 7.0]], [[8.0, 8.0, 1.0], [5.0, 6.0, 1.0], [1.0, 4.0, 4.0]], [[8.0, 7.0, 4.0], [7.0, 3.0, 4.0], [3.0, 7.0, 5.0]]]),self.functionspace)
8924          arg[:,:3]=val
8925          ref=Data(numarray.array([[[7.0, 8.0, 8.0], [4.0, 4.0, 3.0], [7.0, 6.0, 7.0], [4.0, 2.0, 3.0]], [[8.0, 8.0, 1.0], [5.0, 6.0, 1.0], [1.0, 4.0, 4.0], [1.0, 1.0, 3.0]], [[8.0, 7.0, 4.0], [7.0, 3.0, 4.0], [3.0, 7.0, 5.0], [4.0, 7.0, 7.0]]]),self.functionspace)
8926          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8927       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8928       def test_setslice_constData_rank3_expandedData_CUN(self):
8929          arg=Data(numarray.array([[[3.0, 3.0, 3.0], [2.0, 7.0, 3.0], [1.0, 5.0, 6.0], [4.0, 7.0, 1.0]], [[4.0, 4.0, 1.0], [1.0, 5.0, 4.0], [3.0, 1.0, 4.0], [2.0, 5.0, 4.0]], [[6.0, 1.0, 1.0], [3.0, 7.0, 1.0], [4.0, 5.0, 1.0], [7.0, 8.0, 7.0]]]),self.functionspace)
8930          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8931          val=msk_val*numarray.array([[[5.0, 6.0, 8.0], [3.0, 5.0, 6.0], [2.0, 5.0, 6.0]], [[1.0, 2.0, 5.0], [2.0, 5.0, 3.0], [2.0, 2.0, 1.0]], [[8.0, 4.0, 1.0], [2.0, 8.0, 8.0], [2.0, 3.0, 3.0]]])+(1.-msk_val)*numarray.array([[[1.0, 6.0, 8.0], [5.0, 4.0, 7.0], [7.0, 4.0, 5.0]], [[7.0, 1.0, 2.0], [6.0, 6.0, 3.0], [7.0, 2.0, 6.0]], [[8.0, 7.0, 2.0], [7.0, 3.0, 3.0], [4.0, 2.0, 8.0]]])
8932          arg[:,:3]=val
8933          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8934          ref=msk_ref*numarray.array([[[5.0, 6.0, 8.0], [3.0, 5.0, 6.0], [2.0, 5.0, 6.0], [4.0, 7.0, 1.0]], [[1.0, 2.0, 5.0], [2.0, 5.0, 3.0], [2.0, 2.0, 1.0], [2.0, 5.0, 4.0]], [[8.0, 4.0, 1.0], [2.0, 8.0, 8.0], [2.0, 3.0, 3.0], [7.0, 8.0, 7.0]]])+(1.-msk_ref)*numarray.array([[[1.0, 6.0, 8.0], [5.0, 4.0, 7.0], [7.0, 4.0, 5.0], [4.0, 7.0, 1.0]], [[7.0, 1.0, 2.0], [6.0, 6.0, 3.0], [7.0, 2.0, 6.0], [2.0, 5.0, 4.0]], [[8.0, 7.0, 2.0], [7.0, 3.0, 3.0], [4.0, 2.0, 8.0], [7.0, 8.0, 7.0]]])
8935          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8936       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8937       def test_setslice_constData_rank3_array_PPC(self):
8938          arg=Data(numarray.array([[[2.0, 7.0, 1.0], [5.0, 1.0, 6.0], [1.0, 3.0, 2.0], [6.0, 7.0, 3.0]], [[3.0, 4.0, 7.0], [6.0, 5.0, 3.0], [1.0, 6.0, 2.0], [3.0, 2.0, 4.0]], [[1.0, 3.0, 7.0], [3.0, 4.0, 3.0], [1.0, 4.0, 7.0], [5.0, 3.0, 2.0]]]),self.functionspace)
8939          val=numarray.array([6.0, 6.0, 3.0])
8940          arg[1,2,:]=val
8941          ref=Data(numarray.array([[[2.0, 7.0, 1.0], [5.0, 1.0, 6.0], [1.0, 3.0, 2.0], [6.0, 7.0, 3.0]], [[3.0, 4.0, 7.0], [6.0, 5.0, 3.0], [6.0, 6.0, 3.0], [3.0, 2.0, 4.0]], [[1.0, 3.0, 7.0], [3.0, 4.0, 3.0], [1.0, 4.0, 7.0], [5.0, 3.0, 2.0]]]),self.functionspace)
8942          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8943       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8944       def test_setslice_constData_rank3_constData_PPC(self):
8945          arg=Data(numarray.array([[[5.0, 1.0, 5.0], [3.0, 4.0, 4.0], [6.0, 8.0, 8.0], [1.0, 4.0, 8.0]], [[6.0, 3.0, 4.0], [8.0, 3.0, 2.0], [3.0, 1.0, 1.0], [1.0, 5.0, 5.0]], [[2.0, 2.0, 3.0], [3.0, 7.0, 8.0], [3.0, 1.0, 7.0], [3.0, 1.0, 5.0]]]),self.functionspace)
8946          val=Data(numarray.array([3.0, 7.0, 1.0]),self.functionspace)
8947          arg[1,2,:]=val
8948          ref=Data(numarray.array([[[5.0, 1.0, 5.0], [3.0, 4.0, 4.0], [6.0, 8.0, 8.0], [1.0, 4.0, 8.0]], [[6.0, 3.0, 4.0], [8.0, 3.0, 2.0], [3.0, 7.0, 1.0], [1.0, 5.0, 5.0]], [[2.0, 2.0, 3.0], [3.0, 7.0, 8.0], [3.0, 1.0, 7.0], [3.0, 1.0, 5.0]]]),self.functionspace)
8949          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8950       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8951       def test_setslice_constData_rank3_expandedData_PPC(self):
8952          arg=Data(numarray.array([[[5.0, 8.0, 8.0], [6.0, 8.0, 5.0], [4.0, 5.0, 5.0], [2.0, 8.0, 7.0]], [[8.0, 8.0, 5.0], [1.0, 1.0, 1.0], [7.0, 4.0, 7.0], [6.0, 1.0, 3.0]], [[1.0, 4.0, 1.0], [2.0, 1.0, 7.0], [5.0, 7.0, 3.0], [1.0, 7.0, 5.0]]]),self.functionspace)
8953          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8954          val=msk_val*numarray.array([2.0, 5.0, 8.0])+(1.-msk_val)*numarray.array([6.0, 1.0, 1.0])
8955          arg[1,2,:]=val
8956          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8957          ref=msk_ref*numarray.array([[[5.0, 8.0, 8.0], [6.0, 8.0, 5.0], [4.0, 5.0, 5.0], [2.0, 8.0, 7.0]], [[8.0, 8.0, 5.0], [1.0, 1.0, 1.0], [2.0, 5.0, 8.0], [6.0, 1.0, 3.0]], [[1.0, 4.0, 1.0], [2.0, 1.0, 7.0], [5.0, 7.0, 3.0], [1.0, 7.0, 5.0]]])+(1.-msk_ref)*numarray.array([[[5.0, 8.0, 8.0], [6.0, 8.0, 5.0], [4.0, 5.0, 5.0], [2.0, 8.0, 7.0]], [[8.0, 8.0, 5.0], [1.0, 1.0, 1.0], [6.0, 1.0, 1.0], [6.0, 1.0, 3.0]], [[1.0, 4.0, 1.0], [2.0, 1.0, 7.0], [5.0, 7.0, 3.0], [1.0, 7.0, 5.0]]])
8958          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8959       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8960       def test_setslice_constData_rank3_array_CCU(self):
8961          arg=Data(numarray.array([[[2.0, 5.0, 5.0], [1.0, 8.0, 5.0], [2.0, 8.0, 3.0], [4.0, 5.0, 6.0]], [[1.0, 7.0, 1.0], [8.0, 1.0, 6.0], [7.0, 1.0, 3.0], [1.0, 3.0, 2.0]], [[7.0, 2.0, 6.0], [7.0, 7.0, 3.0], [7.0, 8.0, 6.0], [1.0, 2.0, 6.0]]]),self.functionspace)
8962          val=numarray.array([[[2.0, 2.0], [5.0, 5.0], [2.0, 8.0], [5.0, 5.0]], [[1.0, 6.0], [4.0, 5.0], [4.0, 5.0], [6.0, 8.0]], [[8.0, 2.0], [1.0, 4.0], [7.0, 4.0], [1.0, 2.0]]])
8963          arg[:,:,:2]=val
8964          ref=Data(numarray.array([[[2.0, 2.0, 5.0], [5.0, 5.0, 5.0], [2.0, 8.0, 3.0], [5.0, 5.0, 6.0]], [[1.0, 6.0, 1.0], [4.0, 5.0, 6.0], [4.0, 5.0, 3.0], [6.0, 8.0, 2.0]], [[8.0, 2.0, 6.0], [1.0, 4.0, 3.0], [7.0, 4.0, 6.0], [1.0, 2.0, 6.0]]]),self.functionspace)
8965          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8966       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8967       def test_setslice_constData_rank3_constData_CCU(self):
8968          arg=Data(numarray.array([[[1.0, 7.0, 1.0], [2.0, 1.0, 7.0], [4.0, 6.0, 7.0], [1.0, 1.0, 6.0]], [[4.0, 6.0, 2.0], [2.0, 7.0, 5.0], [8.0, 5.0, 4.0], [5.0, 3.0, 5.0]], [[5.0, 2.0, 5.0], [5.0, 2.0, 3.0], [1.0, 4.0, 5.0], [6.0, 6.0, 4.0]]]),self.functionspace)
8969          val=Data(numarray.array([[[8.0, 8.0], [8.0, 7.0], [1.0, 5.0], [6.0, 4.0]], [[5.0, 3.0], [8.0, 7.0], [1.0, 2.0], [1.0, 2.0]], [[7.0, 7.0], [7.0, 8.0], [7.0, 3.0], [4.0, 1.0]]]),self.functionspace)
8970          arg[:,:,:2]=val
8971          ref=Data(numarray.array([[[8.0, 8.0, 1.0], [8.0, 7.0, 7.0], [1.0, 5.0, 7.0], [6.0, 4.0, 6.0]], [[5.0, 3.0, 2.0], [8.0, 7.0, 5.0], [1.0, 2.0, 4.0], [1.0, 2.0, 5.0]], [[7.0, 7.0, 5.0], [7.0, 8.0, 3.0], [7.0, 3.0, 5.0], [4.0, 1.0, 4.0]]]),self.functionspace)
8972          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8973       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8974       def test_setslice_constData_rank3_expandedData_CCU(self):
8975          arg=Data(numarray.array([[[2.0, 2.0, 8.0], [5.0, 4.0, 3.0], [2.0, 3.0, 4.0], [4.0, 2.0, 3.0]], [[3.0, 7.0, 2.0], [8.0, 2.0, 1.0], [7.0, 3.0, 5.0], [3.0, 8.0, 3.0]], [[7.0, 8.0, 5.0], [7.0, 5.0, 6.0], [5.0, 8.0, 5.0], [5.0, 4.0, 4.0]]]),self.functionspace)
8976          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
8977          val=msk_val*numarray.array([[[6.0, 6.0], [2.0, 7.0], [5.0, 6.0], [8.0, 1.0]], [[1.0, 1.0], [7.0, 5.0], [8.0, 6.0], [2.0, 6.0]], [[2.0, 7.0], [7.0, 6.0], [2.0, 8.0], [6.0, 1.0]]])+(1.-msk_val)*numarray.array([[[3.0, 3.0], [2.0, 1.0], [3.0, 7.0], [5.0, 7.0]], [[5.0, 6.0], [7.0, 7.0], [3.0, 2.0], [6.0, 3.0]], [[7.0, 6.0], [8.0, 6.0], [5.0, 6.0], [5.0, 4.0]]])
8978          arg[:,:,:2]=val
8979          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
8980          ref=msk_ref*numarray.array([[[6.0, 6.0, 8.0], [2.0, 7.0, 3.0], [5.0, 6.0, 4.0], [8.0, 1.0, 3.0]], [[1.0, 1.0, 2.0], [7.0, 5.0, 1.0], [8.0, 6.0, 5.0], [2.0, 6.0, 3.0]], [[2.0, 7.0, 5.0], [7.0, 6.0, 6.0], [2.0, 8.0, 5.0], [6.0, 1.0, 4.0]]])+(1.-msk_ref)*numarray.array([[[3.0, 3.0, 8.0], [2.0, 1.0, 3.0], [3.0, 7.0, 4.0], [5.0, 7.0, 3.0]], [[5.0, 6.0, 2.0], [7.0, 7.0, 1.0], [3.0, 2.0, 5.0], [6.0, 3.0, 3.0]], [[7.0, 6.0, 5.0], [8.0, 6.0, 6.0], [5.0, 6.0, 5.0], [5.0, 4.0, 4.0]]])
8981          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8982       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8983       def test_setslice_constData_rank3_array_LLU(self):
8984          arg=Data(numarray.array([[[6.0, 8.0, 5.0], [3.0, 4.0, 2.0], [8.0, 8.0, 7.0], [4.0, 7.0, 7.0]], [[4.0, 2.0, 1.0], [2.0, 7.0, 5.0], [6.0, 2.0, 8.0], [7.0, 5.0, 8.0]], [[8.0, 2.0, 2.0], [7.0, 1.0, 3.0], [8.0, 7.0, 4.0], [1.0, 5.0, 1.0]]]),self.functionspace)
8985          val=numarray.array([[[4.0, 6.0], [7.0, 5.0]]])
8986          arg[2:,2:,:2]=val
8987          ref=Data(numarray.array([[[6.0, 8.0, 5.0], [3.0, 4.0, 2.0], [8.0, 8.0, 7.0], [4.0, 7.0, 7.0]], [[4.0, 2.0, 1.0], [2.0, 7.0, 5.0], [6.0, 2.0, 8.0], [7.0, 5.0, 8.0]], [[8.0, 2.0, 2.0], [7.0, 1.0, 3.0], [4.0, 6.0, 4.0], [7.0, 5.0, 1.0]]]),self.functionspace)
8988          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8989       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8990       def test_setslice_constData_rank3_constData_LLU(self):
8991          arg=Data(numarray.array([[[8.0, 3.0, 3.0], [2.0, 5.0, 4.0], [1.0, 4.0, 2.0], [6.0, 7.0, 7.0]], [[1.0, 6.0, 5.0], [6.0, 5.0, 3.0], [8.0, 7.0, 8.0], [7.0, 4.0, 8.0]], [[3.0, 7.0, 4.0], [6.0, 7.0, 5.0], [8.0, 4.0, 7.0], [3.0, 1.0, 4.0]]]),self.functionspace)
8992          val=Data(numarray.array([[[3.0, 4.0], [6.0, 1.0]]]),self.functionspace)
8993          arg[2:,2:,:2]=val
8994          ref=Data(numarray.array([[[8.0, 3.0, 3.0], [2.0, 5.0, 4.0], [1.0, 4.0, 2.0], [6.0, 7.0, 7.0]], [[1.0, 6.0, 5.0], [6.0, 5.0, 3.0], [8.0, 7.0, 8.0], [7.0, 4.0, 8.0]], [[3.0, 7.0, 4.0], [6.0, 7.0, 5.0], [3.0, 4.0, 7.0], [6.0, 1.0, 4.0]]]),self.functionspace)
8995          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
8996       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8997       def test_setslice_constData_rank3_expandedData_LLU(self):
8998          arg=Data(numarray.array([[[8.0, 2.0, 2.0], [4.0, 1.0, 6.0], [2.0, 2.0, 2.0], [1.0, 7.0, 2.0]], [[6.0, 1.0, 4.0], [3.0, 8.0, 1.0], [6.0, 8.0, 7.0], [3.0, 3.0, 7.0]], [[7.0, 2.0, 8.0], [7.0, 6.0, 6.0], [3.0, 2.0, 3.0], [8.0, 3.0, 8.0]]]),self.functionspace)
8999          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9000          val=msk_val*numarray.array([[[3.0, 5.0], [4.0, 1.0]]])+(1.-msk_val)*numarray.array([[[1.0, 8.0], [4.0, 8.0]]])
9001          arg[2:,2:,:2]=val
9002          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9003          ref=msk_ref*numarray.array([[[8.0, 2.0, 2.0], [4.0, 1.0, 6.0], [2.0, 2.0, 2.0], [1.0, 7.0, 2.0]], [[6.0, 1.0, 4.0], [3.0, 8.0, 1.0], [6.0, 8.0, 7.0], [3.0, 3.0, 7.0]], [[7.0, 2.0, 8.0], [7.0, 6.0, 6.0], [3.0, 5.0, 3.0], [4.0, 1.0, 8.0]]])+(1.-msk_ref)*numarray.array([[[8.0, 2.0, 2.0], [4.0, 1.0, 6.0], [2.0, 2.0, 2.0], [1.0, 7.0, 2.0]], [[6.0, 1.0, 4.0], [3.0, 8.0, 1.0], [6.0, 8.0, 7.0], [3.0, 3.0, 7.0]], [[7.0, 2.0, 8.0], [7.0, 6.0, 6.0], [1.0, 8.0, 3.0], [4.0, 8.0, 8.0]]])
9004          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9005       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9006       def test_setslice_constData_rank3_array_LUU(self):
9007          arg=Data(numarray.array([[[4.0, 7.0, 6.0], [8.0, 2.0, 5.0], [7.0, 6.0, 4.0], [2.0, 6.0, 8.0]], [[3.0, 8.0, 8.0], [4.0, 6.0, 3.0], [3.0, 4.0, 2.0], [4.0, 2.0, 6.0]], [[4.0, 8.0, 6.0], [6.0, 4.0, 1.0], [5.0, 8.0, 2.0], [7.0, 1.0, 1.0]]]),self.functionspace)
9008          val=numarray.array([[[6.0, 7.0], [8.0, 6.0], [7.0, 8.0]]])
9009          arg[2:,:3,:2]=val
9010          ref=Data(numarray.array([[[4.0, 7.0, 6.0], [8.0, 2.0, 5.0], [7.0, 6.0, 4.0], [2.0, 6.0, 8.0]], [[3.0, 8.0, 8.0], [4.0, 6.0, 3.0], [3.0, 4.0, 2.0], [4.0, 2.0, 6.0]], [[6.0, 7.0, 6.0], [8.0, 6.0, 1.0], [7.0, 8.0, 2.0], [7.0, 1.0, 1.0]]]),self.functionspace)
9011          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9012       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9013       def test_setslice_constData_rank3_constData_LUU(self):
9014          arg=Data(numarray.array([[[3.0, 2.0, 8.0], [7.0, 2.0, 8.0], [2.0, 5.0, 2.0], [7.0, 4.0, 1.0]], [[4.0, 8.0, 8.0], [6.0, 6.0, 2.0], [7.0, 1.0, 2.0], [1.0, 1.0, 3.0]], [[7.0, 5.0, 7.0], [1.0, 4.0, 8.0], [3.0, 3.0, 4.0], [4.0, 3.0, 1.0]]]),self.functionspace)
9015          val=Data(numarray.array([[[2.0, 7.0], [3.0, 5.0], [5.0, 6.0]]]),self.functionspace)
9016          arg[2:,:3,:2]=val
9017          ref=Data(numarray.array([[[3.0, 2.0, 8.0], [7.0, 2.0, 8.0], [2.0, 5.0, 2.0], [7.0, 4.0, 1.0]], [[4.0, 8.0, 8.0], [6.0, 6.0, 2.0], [7.0, 1.0, 2.0], [1.0, 1.0, 3.0]], [[2.0, 7.0, 7.0], [3.0, 5.0, 8.0], [5.0, 6.0, 4.0], [4.0, 3.0, 1.0]]]),self.functionspace)
9018          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9019       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9020       def test_setslice_constData_rank3_expandedData_LUU(self):
9021          arg=Data(numarray.array([[[5.0, 1.0, 1.0], [7.0, 1.0, 5.0], [6.0, 2.0, 1.0], [2.0, 4.0, 2.0]], [[6.0, 6.0, 1.0], [6.0, 2.0, 2.0], [6.0, 6.0, 1.0], [5.0, 3.0, 5.0]], [[6.0, 4.0, 6.0], [5.0, 8.0, 3.0], [2.0, 1.0, 4.0], [5.0, 6.0, 2.0]]]),self.functionspace)
9022          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9023          val=msk_val*numarray.array([[[2.0, 1.0], [5.0, 7.0], [6.0, 3.0]]])+(1.-msk_val)*numarray.array([[[7.0, 5.0], [4.0, 5.0], [8.0, 4.0]]])
9024          arg[2:,:3,:2]=val
9025          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9026          ref=msk_ref*numarray.array([[[5.0, 1.0, 1.0], [7.0, 1.0, 5.0], [6.0, 2.0, 1.0], [2.0, 4.0, 2.0]], [[6.0, 6.0, 1.0], [6.0, 2.0, 2.0], [6.0, 6.0, 1.0], [5.0, 3.0, 5.0]], [[2.0, 1.0, 6.0], [5.0, 7.0, 3.0], [6.0, 3.0, 4.0], [5.0, 6.0, 2.0]]])+(1.-msk_ref)*numarray.array([[[5.0, 1.0, 1.0], [7.0, 1.0, 5.0], [6.0, 2.0, 1.0], [2.0, 4.0, 2.0]], [[6.0, 6.0, 1.0], [6.0, 2.0, 2.0], [6.0, 6.0, 1.0], [5.0, 3.0, 5.0]], [[7.0, 5.0, 6.0], [4.0, 5.0, 3.0], [8.0, 4.0, 4.0], [5.0, 6.0, 2.0]]])
9027          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9028       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9029       def test_setslice_constData_rank3_array_CLR(self):
9030          arg=Data(numarray.array([[[5.0, 5.0, 6.0], [4.0, 4.0, 8.0], [5.0, 4.0, 2.0], [3.0, 7.0, 4.0]], [[3.0, 4.0, 3.0], [4.0, 6.0, 7.0], [2.0, 3.0, 6.0], [1.0, 1.0, 2.0]], [[6.0, 7.0, 6.0], [1.0, 5.0, 4.0], [2.0, 4.0, 4.0], [8.0, 1.0, 7.0]]]),self.functionspace)
9031          val=numarray.array([[[4.0], [5.0]], [[1.0], [8.0]], [[8.0], [5.0]]])
9032          arg[:,2:,1:2]=val
9033          ref=Data(numarray.array([[[5.0, 5.0, 6.0], [4.0, 4.0, 8.0], [5.0, 4.0, 2.0], [3.0, 5.0, 4.0]], [[3.0, 4.0, 3.0], [4.0, 6.0, 7.0], [2.0, 1.0, 6.0], [1.0, 8.0, 2.0]], [[6.0, 7.0, 6.0], [1.0, 5.0, 4.0], [2.0, 8.0, 4.0], [8.0, 5.0, 7.0]]]),self.functionspace)
9034          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9035       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9036       def test_setslice_constData_rank3_constData_CLR(self):
9037          arg=Data(numarray.array([[[2.0, 3.0, 1.0], [4.0, 2.0, 6.0], [2.0, 1.0, 4.0], [3.0, 5.0, 8.0]], [[3.0, 8.0, 2.0], [4.0, 1.0, 5.0], [4.0, 5.0, 8.0], [4.0, 8.0, 6.0]], [[1.0, 7.0, 5.0], [2.0, 8.0, 1.0], [4.0, 5.0, 6.0], [1.0, 1.0, 3.0]]]),self.functionspace)
9038          val=Data(numarray.array([[[3.0], [7.0]], [[7.0], [8.0]], [[7.0], [2.0]]]),self.functionspace)
9039          arg[:,2:,1:2]=val
9040          ref=Data(numarray.array([[[2.0, 3.0, 1.0], [4.0, 2.0, 6.0], [2.0, 3.0, 4.0], [3.0, 7.0, 8.0]], [[3.0, 8.0, 2.0], [4.0, 1.0, 5.0], [4.0, 7.0, 8.0], [4.0, 8.0, 6.0]], [[1.0, 7.0, 5.0], [2.0, 8.0, 1.0], [4.0, 7.0, 6.0], [1.0, 2.0, 3.0]]]),self.functionspace)
9041          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9042       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9043       def test_setslice_constData_rank3_expandedData_CLR(self):
9044          arg=Data(numarray.array([[[4.0, 3.0, 1.0], [4.0, 5.0, 4.0], [2.0, 7.0, 6.0], [4.0, 5.0, 5.0]], [[1.0, 5.0, 6.0], [7.0, 7.0, 7.0], [2.0, 5.0, 7.0], [6.0, 4.0, 5.0]], [[6.0, 1.0, 5.0], [5.0, 1.0, 3.0], [2.0, 8.0, 2.0], [1.0, 1.0, 8.0]]]),self.functionspace)
9045          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9046          val=msk_val*numarray.array([[[5.0], [4.0]], [[2.0], [1.0]], [[6.0], [2.0]]])+(1.-msk_val)*numarray.array([[[1.0], [5.0]], [[2.0], [4.0]], [[4.0], [8.0]]])
9047          arg[:,2:,1:2]=val
9048          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9049          ref=msk_ref*numarray.array([[[4.0, 3.0, 1.0], [4.0, 5.0, 4.0], [2.0, 5.0, 6.0], [4.0, 4.0, 5.0]], [[1.0, 5.0, 6.0], [7.0, 7.0, 7.0], [2.0, 2.0, 7.0], [6.0, 1.0, 5.0]], [[6.0, 1.0, 5.0], [5.0, 1.0, 3.0], [2.0, 6.0, 2.0], [1.0, 2.0, 8.0]]])+(1.-msk_ref)*numarray.array([[[4.0, 3.0, 1.0], [4.0, 5.0, 4.0], [2.0, 1.0, 6.0], [4.0, 5.0, 5.0]], [[1.0, 5.0, 6.0], [7.0, 7.0, 7.0], [2.0, 2.0, 7.0], [6.0, 4.0, 5.0]], [[6.0, 1.0, 5.0], [5.0, 1.0, 3.0], [2.0, 4.0, 2.0], [1.0, 8.0, 8.0]]])
9050          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9051       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9052       def test_setslice_constData_rank3_array_CCN(self):
9053          arg=Data(numarray.array([[[8.0, 2.0, 4.0], [3.0, 3.0, 4.0], [3.0, 8.0, 8.0], [8.0, 2.0, 8.0]], [[3.0, 8.0, 1.0], [6.0, 8.0, 1.0], [8.0, 2.0, 2.0], [8.0, 8.0, 5.0]], [[6.0, 3.0, 7.0], [7.0, 6.0, 4.0], [3.0, 5.0, 4.0], [5.0, 7.0, 8.0]]]),self.functionspace)
9054          val=numarray.array([[[5.0, 1.0, 6.0], [2.0, 8.0, 2.0], [3.0, 4.0, 7.0], [7.0, 5.0, 8.0]], [[8.0, 2.0, 5.0], [6.0, 4.0, 3.0], [3.0, 7.0, 1.0], [6.0, 2.0, 5.0]], [[1.0, 7.0, 4.0], [6.0, 7.0, 1.0], [7.0, 2.0, 4.0], [4.0, 2.0, 1.0]]])
9055          arg[:,:]=val
9056          ref=Data(numarray.array([[[5.0, 1.0, 6.0], [2.0, 8.0, 2.0], [3.0, 4.0, 7.0], [7.0, 5.0, 8.0]], [[8.0, 2.0, 5.0], [6.0, 4.0, 3.0], [3.0, 7.0, 1.0], [6.0, 2.0, 5.0]], [[1.0, 7.0, 4.0], [6.0, 7.0, 1.0], [7.0, 2.0, 4.0], [4.0, 2.0, 1.0]]]),self.functionspace)
9057          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9058       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9059       def test_setslice_constData_rank3_constData_CCN(self):
9060          arg=Data(numarray.array([[[7.0, 7.0, 4.0], [5.0, 7.0, 1.0], [1.0, 7.0, 4.0], [6.0, 5.0, 7.0]], [[5.0, 8.0, 2.0], [7.0, 1.0, 5.0], [3.0, 5.0, 8.0], [6.0, 3.0, 3.0]], [[7.0, 5.0, 6.0], [8.0, 8.0, 4.0], [7.0, 3.0, 6.0], [2.0, 5.0, 4.0]]]),self.functionspace)
9061          val=Data(numarray.array([[[7.0, 2.0, 6.0], [2.0, 3.0, 6.0], [8.0, 7.0, 5.0], [3.0, 4.0, 3.0]], [[1.0, 3.0, 7.0], [5.0, 6.0, 7.0], [3.0, 5.0, 6.0], [4.0, 1.0, 2.0]], [[5.0, 1.0, 2.0], [8.0, 6.0, 5.0], [5.0, 5.0, 4.0], [4.0, 1.0, 6.0]]]),self.functionspace)
9062          arg[:,:]=val
9063          ref=Data(numarray.array([[[7.0, 2.0, 6.0], [2.0, 3.0, 6.0], [8.0, 7.0, 5.0], [3.0, 4.0, 3.0]], [[1.0, 3.0, 7.0], [5.0, 6.0, 7.0], [3.0, 5.0, 6.0], [4.0, 1.0, 2.0]], [[5.0, 1.0, 2.0], [8.0, 6.0, 5.0], [5.0, 5.0, 4.0], [4.0, 1.0, 6.0]]]),self.functionspace)
9064          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9065       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9066       def test_setslice_constData_rank3_expandedData_CCN(self):
9067          arg=Data(numarray.array([[[8.0, 5.0, 2.0], [5.0, 2.0, 1.0], [3.0, 4.0, 7.0], [7.0, 4.0, 1.0]], [[1.0, 4.0, 4.0], [4.0, 3.0, 4.0], [2.0, 7.0, 6.0], [8.0, 4.0, 5.0]], [[4.0, 2.0, 3.0], [8.0, 4.0, 2.0], [3.0, 4.0, 6.0], [7.0, 1.0, 6.0]]]),self.functionspace)
9068          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9069          val=msk_val*numarray.array([[[8.0, 8.0, 8.0], [5.0, 7.0, 1.0], [6.0, 7.0, 6.0], [8.0, 5.0, 4.0]], [[4.0, 2.0, 5.0], [4.0, 4.0, 4.0], [4.0, 3.0, 5.0], [1.0, 7.0, 2.0]], [[8.0, 8.0, 7.0], [3.0, 2.0, 2.0], [7.0, 3.0, 1.0], [5.0, 6.0, 3.0]]])+(1.-msk_val)*numarray.array([[[2.0, 4.0, 3.0], [4.0, 6.0, 4.0], [7.0, 5.0, 7.0], [8.0, 1.0, 8.0]], [[5.0, 8.0, 8.0], [6.0, 8.0, 2.0], [1.0, 4.0, 7.0], [4.0, 2.0, 4.0]], [[5.0, 8.0, 1.0], [2.0, 6.0, 7.0], [4.0, 5.0, 5.0], [5.0, 5.0, 8.0]]])
9070          arg[:,:]=val
9071          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9072          ref=msk_ref*numarray.array([[[8.0, 8.0, 8.0], [5.0, 7.0, 1.0], [6.0, 7.0, 6.0], [8.0, 5.0, 4.0]], [[4.0, 2.0, 5.0], [4.0, 4.0, 4.0], [4.0, 3.0, 5.0], [1.0, 7.0, 2.0]], [[8.0, 8.0, 7.0], [3.0, 2.0, 2.0], [7.0, 3.0, 1.0], [5.0, 6.0, 3.0]]])+(1.-msk_ref)*numarray.array([[[2.0, 4.0, 3.0], [4.0, 6.0, 4.0], [7.0, 5.0, 7.0], [8.0, 1.0, 8.0]], [[5.0, 8.0, 8.0], [6.0, 8.0, 2.0], [1.0, 4.0, 7.0], [4.0, 2.0, 4.0]], [[5.0, 8.0, 1.0], [2.0, 6.0, 7.0], [4.0, 5.0, 5.0], [5.0, 5.0, 8.0]]])
9073          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9074       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9075       def test_setslice_constData_rank3_array_LUR(self):
9076          arg=Data(numarray.array([[[4.0, 7.0, 2.0], [4.0, 5.0, 6.0], [3.0, 4.0, 6.0], [1.0, 4.0, 4.0]], [[6.0, 5.0, 2.0], [8.0, 6.0, 8.0], [7.0, 1.0, 6.0], [1.0, 5.0, 8.0]], [[6.0, 2.0, 4.0], [1.0, 5.0, 3.0], [2.0, 5.0, 8.0], [1.0, 8.0, 5.0]]]),self.functionspace)
9077          val=numarray.array([[[1.0], [7.0], [6.0]]])
9078          arg[2:,:3,1:2]=val
9079          ref=Data(numarray.array([[[4.0, 7.0, 2.0], [4.0, 5.0, 6.0], [3.0, 4.0, 6.0], [1.0, 4.0, 4.0]], [[6.0, 5.0, 2.0], [8.0, 6.0, 8.0], [7.0, 1.0, 6.0], [1.0, 5.0, 8.0]], [[6.0, 1.0, 4.0], [1.0, 7.0, 3.0], [2.0, 6.0, 8.0], [1.0, 8.0, 5.0]]]),self.functionspace)
9080          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9081       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9082       def test_setslice_constData_rank3_constData_LUR(self):
9083          arg=Data(numarray.array([[[6.0, 8.0, 6.0], [8.0, 1.0, 1.0], [2.0, 2.0, 3.0], [4.0, 4.0, 3.0]], [[1.0, 6.0, 7.0], [4.0, 3.0, 3.0], [6.0, 5.0, 8.0], [7.0, 8.0, 2.0]], [[6.0, 7.0, 8.0], [4.0, 3.0, 5.0], [6.0, 7.0, 6.0], [7.0, 4.0, 1.0]]]),self.functionspace)
9084          val=Data(numarray.array([[[1.0], [3.0], [5.0]]]),self.functionspace)
9085          arg[2:,:3,1:2]=val
9086          ref=Data(numarray.array([[[6.0, 8.0, 6.0], [8.0, 1.0, 1.0], [2.0, 2.0, 3.0], [4.0, 4.0, 3.0]], [[1.0, 6.0, 7.0], [4.0, 3.0, 3.0], [6.0, 5.0, 8.0], [7.0, 8.0, 2.0]], [[6.0, 1.0, 8.0], [4.0, 3.0, 5.0], [6.0, 5.0, 6.0], [7.0, 4.0, 1.0]]]),self.functionspace)
9087          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9088       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9089       def test_setslice_constData_rank3_expandedData_LUR(self):
9090          arg=Data(numarray.array([[[3.0, 1.0, 4.0], [1.0, 5.0, 6.0], [3.0, 5.0, 7.0], [6.0, 8.0, 2.0]], [[3.0, 8.0, 4.0], [3.0, 2.0, 6.0], [1.0, 6.0, 1.0], [2.0, 1.0, 3.0]], [[4.0, 8.0, 1.0], [4.0, 4.0, 2.0], [2.0, 7.0, 6.0], [4.0, 6.0, 8.0]]]),self.functionspace)
9091          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9092          val=msk_val*numarray.array([[[7.0], [2.0], [1.0]]])+(1.-msk_val)*numarray.array([[[1.0], [6.0], [5.0]]])
9093          arg[2:,:3,1:2]=val
9094          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9095          ref=msk_ref*numarray.array([[[3.0, 1.0, 4.0], [1.0, 5.0, 6.0], [3.0, 5.0, 7.0], [6.0, 8.0, 2.0]], [[3.0, 8.0, 4.0], [3.0, 2.0, 6.0], [1.0, 6.0, 1.0], [2.0, 1.0, 3.0]], [[4.0, 7.0, 1.0], [4.0, 2.0, 2.0], [2.0, 1.0, 6.0], [4.0, 6.0, 8.0]]])+(1.-msk_ref)*numarray.array([[[3.0, 1.0, 4.0], [1.0, 5.0, 6.0], [3.0, 5.0, 7.0], [6.0, 8.0, 2.0]], [[3.0, 8.0, 4.0], [3.0, 2.0, 6.0], [1.0, 6.0, 1.0], [2.0, 1.0, 3.0]], [[4.0, 1.0, 1.0], [4.0, 6.0, 2.0], [2.0, 5.0, 6.0], [4.0, 6.0, 8.0]]])
9096          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9097       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9098       def test_setslice_constData_rank3_array_CCL(self):
9099          arg=Data(numarray.array([[[1.0, 2.0, 2.0], [4.0, 6.0, 3.0], [1.0, 4.0, 7.0], [8.0, 7.0, 1.0]], [[1.0, 6.0, 7.0], [1.0, 1.0, 1.0], [7.0, 3.0, 4.0], [7.0, 5.0, 3.0]], [[3.0, 3.0, 2.0], [3.0, 7.0, 6.0], [5.0, 7.0, 4.0], [1.0, 3.0, 4.0]]]),self.functionspace)
9100          val=numarray.array([[[6.0], [1.0], [7.0], [4.0]], [[5.0], [5.0], [2.0], [2.0]], [[2.0], [1.0], [7.0], [3.0]]])
9101          arg[:,:,2:]=val
9102          ref=Data(numarray.array([[[1.0, 2.0, 6.0], [4.0, 6.0, 1.0], [1.0, 4.0, 7.0], [8.0, 7.0, 4.0]], [[1.0, 6.0, 5.0], [1.0, 1.0, 5.0], [7.0, 3.0, 2.0], [7.0, 5.0, 2.0]], [[3.0, 3.0, 2.0], [3.0, 7.0, 1.0], [5.0, 7.0, 7.0], [1.0, 3.0, 3.0]]]),self.functionspace)
9103          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9104       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9105       def test_setslice_constData_rank3_constData_CCL(self):
9106          arg=Data(numarray.array([[[4.0, 1.0, 8.0], [2.0, 4.0, 3.0], [2.0, 1.0, 7.0], [1.0, 5.0, 4.0]], [[2.0, 4.0, 8.0], [5.0, 3.0, 5.0], [1.0, 6.0, 1.0], [5.0, 7.0, 8.0]], [[8.0, 2.0, 7.0], [4.0, 7.0, 1.0], [6.0, 6.0, 3.0], [5.0, 5.0, 8.0]]]),self.functionspace)
9107          val=Data(numarray.array([[[6.0], [5.0], [5.0], [8.0]], [[8.0], [2.0], [5.0], [1.0]], [[7.0], [5.0], [4.0], [2.0]]]),self.functionspace)
9108          arg[:,:,2:]=val
9109          ref=Data(numarray.array([[[4.0, 1.0, 6.0], [2.0, 4.0, 5.0], [2.0, 1.0, 5.0], [1.0, 5.0, 8.0]], [[2.0, 4.0, 8.0], [5.0, 3.0, 2.0], [1.0, 6.0, 5.0], [5.0, 7.0, 1.0]], [[8.0, 2.0, 7.0], [4.0, 7.0, 5.0], [6.0, 6.0, 4.0], [5.0, 5.0, 2.0]]]),self.functionspace)
9110          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9111       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9112       def test_setslice_constData_rank3_expandedData_CCL(self):
9113          arg=Data(numarray.array([[[2.0, 7.0, 8.0], [4.0, 6.0, 8.0], [6.0, 2.0, 3.0], [5.0, 5.0, 6.0]], [[3.0, 8.0, 8.0], [3.0, 3.0, 4.0], [3.0, 6.0, 3.0], [8.0, 4.0, 7.0]], [[5.0, 3.0, 2.0], [5.0, 7.0, 1.0], [6.0, 6.0, 8.0], [3.0, 2.0, 2.0]]]),self.functionspace)
9114          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9115          val=msk_val*numarray.array([[[8.0], [6.0], [6.0], [1.0]], [[5.0], [5.0], [6.0], [7.0]], [[2.0], [3.0], [7.0], [6.0]]])+(1.-msk_val)*numarray.array([[[6.0], [5.0], [5.0], [8.0]], [[5.0], [2.0], [1.0], [7.0]], [[3.0], [2.0], [7.0], [2.0]]])
9116          arg[:,:,2:]=val
9117          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9118          ref=msk_ref*numarray.array([[[2.0, 7.0, 8.0], [4.0, 6.0, 6.0], [6.0, 2.0, 6.0], [5.0, 5.0, 1.0]], [[3.0, 8.0, 5.0], [3.0, 3.0, 5.0], [3.0, 6.0, 6.0], [8.0, 4.0, 7.0]], [[5.0, 3.0, 2.0], [5.0, 7.0, 3.0], [6.0, 6.0, 7.0], [3.0, 2.0, 6.0]]])+(1.-msk_ref)*numarray.array([[[2.0, 7.0, 6.0], [4.0, 6.0, 5.0], [6.0, 2.0, 5.0], [5.0, 5.0, 8.0]], [[3.0, 8.0, 5.0], [3.0, 3.0, 2.0], [3.0, 6.0, 1.0], [8.0, 4.0, 7.0]], [[5.0, 3.0, 3.0], [5.0, 7.0, 2.0], [6.0, 6.0, 7.0], [3.0, 2.0, 2.0]]])
9119          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9120       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9121       def test_setslice_constData_rank3_array_CPU(self):
9122          arg=Data(numarray.array([[[5.0, 8.0, 6.0], [6.0, 7.0, 8.0], [8.0, 6.0, 5.0], [8.0, 6.0, 5.0]], [[6.0, 5.0, 5.0], [7.0, 2.0, 7.0], [3.0, 2.0, 5.0], [4.0, 5.0, 2.0]], [[5.0, 2.0, 3.0], [1.0, 7.0, 2.0], [2.0, 3.0, 8.0], [8.0, 4.0, 7.0]]]),self.functionspace)
9123          val=numarray.array([[8.0, 2.0], [1.0, 4.0], [2.0, 4.0]])
9124          arg[:,2,:2]=val
9125          ref=Data(numarray.array([[[5.0, 8.0, 6.0], [6.0, 7.0, 8.0], [8.0, 2.0, 5.0], [8.0, 6.0, 5.0]], [[6.0, 5.0, 5.0], [7.0, 2.0, 7.0], [1.0, 4.0, 5.0], [4.0, 5.0, 2.0]], [[5.0, 2.0, 3.0], [1.0, 7.0, 2.0], [2.0, 4.0, 8.0], [8.0, 4.0, 7.0]]]),self.functionspace)
9126          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9127       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9128       def test_setslice_constData_rank3_constData_CPU(self):
9129          arg=Data(numarray.array([[[3.0, 1.0, 2.0], [4.0, 8.0, 1.0], [2.0, 6.0, 8.0], [1.0, 4.0, 8.0]], [[3.0, 5.0, 8.0], [3.0, 5.0, 6.0], [5.0, 5.0, 1.0], [1.0, 1.0, 1.0]], [[7.0, 4.0, 6.0], [1.0, 7.0, 1.0], [3.0, 2.0, 5.0], [7.0, 8.0, 3.0]]]),self.functionspace)
9130          val=Data(numarray.array([[6.0, 2.0], [5.0, 6.0], [1.0, 3.0]]),self.functionspace)
9131          arg[:,2,:2]=val
9132          ref=Data(numarray.array([[[3.0, 1.0, 2.0], [4.0, 8.0, 1.0], [6.0, 2.0, 8.0], [1.0, 4.0, 8.0]], [[3.0, 5.0, 8.0], [3.0, 5.0, 6.0], [5.0, 6.0, 1.0], [1.0, 1.0, 1.0]], [[7.0, 4.0, 6.0], [1.0, 7.0, 1.0], [1.0, 3.0, 5.0], [7.0, 8.0, 3.0]]]),self.functionspace)
9133          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9134       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9135       def test_setslice_constData_rank3_expandedData_CPU(self):
9136          arg=Data(numarray.array([[[7.0, 2.0, 6.0], [2.0, 2.0, 4.0], [7.0, 4.0, 6.0], [1.0, 5.0, 7.0]], [[5.0, 7.0, 3.0], [3.0, 5.0, 4.0], [4.0, 7.0, 8.0], [5.0, 8.0, 5.0]], [[8.0, 4.0, 1.0], [2.0, 7.0, 4.0], [3.0, 5.0, 4.0], [5.0, 5.0, 4.0]]]),self.functionspace)
9137          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9138          val=msk_val*numarray.array([[4.0, 1.0], [1.0, 6.0], [4.0, 7.0]])+(1.-msk_val)*numarray.array([[1.0, 7.0], [8.0, 7.0], [6.0, 5.0]])
9139          arg[:,2,:2]=val
9140          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9141          ref=msk_ref*numarray.array([[[7.0, 2.0, 6.0], [2.0, 2.0, 4.0], [4.0, 1.0, 6.0], [1.0, 5.0, 7.0]], [[5.0, 7.0, 3.0], [3.0, 5.0, 4.0], [1.0, 6.0, 8.0], [5.0, 8.0, 5.0]], [[8.0, 4.0, 1.0], [2.0, 7.0, 4.0], [4.0, 7.0, 4.0], [5.0, 5.0, 4.0]]])+(1.-msk_ref)*numarray.array([[[7.0, 2.0, 6.0], [2.0, 2.0, 4.0], [1.0, 7.0, 6.0], [1.0, 5.0, 7.0]], [[5.0, 7.0, 3.0], [3.0, 5.0, 4.0], [8.0, 7.0, 8.0], [5.0, 8.0, 5.0]], [[8.0, 4.0, 1.0], [2.0, 7.0, 4.0], [6.0, 5.0, 4.0], [5.0, 5.0, 4.0]]])
9142          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9143       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9144       def test_setslice_constData_rank3_array_LUP(self):
9145          arg=Data(numarray.array([[[6.0, 1.0, 4.0], [7.0, 6.0, 6.0], [1.0, 2.0, 8.0], [1.0, 7.0, 7.0]], [[5.0, 5.0, 4.0], [1.0, 1.0, 3.0], [3.0, 4.0, 3.0], [7.0, 8.0, 8.0]], [[2.0, 7.0, 5.0], [6.0, 2.0, 6.0], [6.0, 4.0, 8.0], [4.0, 3.0, 2.0]]]),self.functionspace)
9146          val=numarray.array([[5.0, 2.0, 5.0]])
9147          arg[2:,:3,1]=val
9148          ref=Data(numarray.array([[[6.0, 1.0, 4.0], [7.0, 6.0, 6.0], [1.0, 2.0, 8.0], [1.0, 7.0, 7.0]], [[5.0, 5.0, 4.0], [1.0, 1.0, 3.0], [3.0, 4.0, 3.0], [7.0, 8.0, 8.0]], [[2.0, 5.0, 5.0], [6.0, 2.0, 6.0], [6.0, 5.0, 8.0], [4.0, 3.0, 2.0]]]),self.functionspace)
9149          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9150       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9151       def test_setslice_constData_rank3_constData_LUP(self):
9152          arg=Data(numarray.array([[[8.0, 4.0, 7.0], [1.0, 2.0, 6.0], [2.0, 6.0, 1.0], [6.0, 5.0, 7.0]], [[2.0, 3.0, 1.0], [3.0, 6.0, 3.0], [6.0, 4.0, 4.0], [7.0, 7.0, 6.0]], [[7.0, 4.0, 7.0], [5.0, 4.0, 5.0], [3.0, 8.0, 3.0], [4.0, 8.0, 4.0]]]),self.functionspace)
9153          val=Data(numarray.array([[4.0, 7.0, 2.0]]),self.functionspace)
9154          arg[2:,:3,1]=val
9155          ref=Data(numarray.array([[[8.0, 4.0, 7.0], [1.0, 2.0, 6.0], [2.0, 6.0, 1.0], [6.0, 5.0, 7.0]], [[2.0, 3.0, 1.0], [3.0, 6.0, 3.0], [6.0, 4.0, 4.0], [7.0, 7.0, 6.0]], [[7.0, 4.0, 7.0], [5.0, 7.0, 5.0], [3.0, 2.0, 3.0], [4.0, 8.0, 4.0]]]),self.functionspace)
9156          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9157       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9158       def test_setslice_constData_rank3_expandedData_LUP(self):
9159          arg=Data(numarray.array([[[2.0, 2.0, 1.0], [1.0, 1.0, 7.0], [8.0, 1.0, 7.0], [8.0, 2.0, 1.0]], [[5.0, 3.0, 5.0], [5.0, 3.0, 7.0], [2.0, 1.0, 5.0], [7.0, 8.0, 7.0]], [[3.0, 1.0, 5.0], [2.0, 4.0, 5.0], [1.0, 2.0, 3.0], [2.0, 8.0, 5.0]]]),self.functionspace)
9160          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9161          val=msk_val*numarray.array([[5.0, 2.0, 3.0]])+(1.-msk_val)*numarray.array([[2.0, 5.0, 1.0]])
9162          arg[2:,:3,1]=val
9163          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9164          ref=msk_ref*numarray.array([[[2.0, 2.0, 1.0], [1.0, 1.0, 7.0], [8.0, 1.0, 7.0], [8.0, 2.0, 1.0]], [[5.0, 3.0, 5.0], [5.0, 3.0, 7.0], [2.0, 1.0, 5.0], [7.0, 8.0, 7.0]], [[3.0, 5.0, 5.0], [2.0, 2.0, 5.0], [1.0, 3.0, 3.0], [2.0, 8.0, 5.0]]])+(1.-msk_ref)*numarray.array([[[2.0, 2.0, 1.0], [1.0, 1.0, 7.0], [8.0, 1.0, 7.0], [8.0, 2.0, 1.0]], [[5.0, 3.0, 5.0], [5.0, 3.0, 7.0], [2.0, 1.0, 5.0], [7.0, 8.0, 7.0]], [[3.0, 2.0, 5.0], [2.0, 5.0, 5.0], [1.0, 1.0, 3.0], [2.0, 8.0, 5.0]]])
9165          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9166       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9167       def test_setslice_constData_rank3_array_LLP(self):
9168          arg=Data(numarray.array([[[8.0, 8.0, 6.0], [8.0, 3.0, 5.0], [2.0, 8.0, 5.0], [6.0, 4.0, 1.0]], [[8.0, 1.0, 3.0], [6.0, 7.0, 8.0], [4.0, 4.0, 5.0], [5.0, 3.0, 5.0]], [[4.0, 2.0, 2.0], [1.0, 1.0, 2.0], [4.0, 1.0, 7.0], [7.0, 6.0, 5.0]]]),self.functionspace)
9169          val=numarray.array([[1.0, 4.0]])
9170          arg[2:,2:,1]=val
9171          ref=Data(numarray.array([[[8.0, 8.0, 6.0], [8.0, 3.0, 5.0], [2.0, 8.0, 5.0], [6.0, 4.0, 1.0]], [[8.0, 1.0, 3.0], [6.0, 7.0, 8.0], [4.0, 4.0, 5.0], [5.0, 3.0, 5.0]], [[4.0, 2.0, 2.0], [1.0, 1.0, 2.0], [4.0, 1.0, 7.0], [7.0, 4.0, 5.0]]]),self.functionspace)
9172          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9173       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9174       def test_setslice_constData_rank3_constData_LLP(self):
9175          arg=Data(numarray.array([[[7.0, 5.0, 2.0], [7.0, 6.0, 3.0], [5.0, 6.0, 4.0], [8.0, 6.0, 5.0]], [[7.0, 8.0, 6.0], [3.0, 5.0, 6.0], [1.0, 4.0, 1.0], [7.0, 3.0, 5.0]], [[8.0, 4.0, 5.0], [6.0, 2.0, 1.0], [2.0, 6.0, 4.0], [1.0, 4.0, 1.0]]]),self.functionspace)
9176          val=Data(numarray.array([[6.0, 4.0]]),self.functionspace)
9177          arg[2:,2:,1]=val
9178          ref=Data(numarray.array([[[7.0, 5.0, 2.0], [7.0, 6.0, 3.0], [5.0, 6.0, 4.0], [8.0, 6.0, 5.0]], [[7.0, 8.0, 6.0], [3.0, 5.0, 6.0], [1.0, 4.0, 1.0], [7.0, 3.0, 5.0]], [[8.0, 4.0, 5.0], [6.0, 2.0, 1.0], [2.0, 6.0, 4.0], [1.0, 4.0, 1.0]]]),self.functionspace)
9179          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9180       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9181       def test_setslice_constData_rank3_expandedData_LLP(self):
9182          arg=Data(numarray.array([[[3.0, 3.0, 7.0], [1.0, 1.0, 8.0], [3.0, 2.0, 4.0], [4.0, 1.0, 2.0]], [[7.0, 2.0, 6.0], [6.0, 1.0, 7.0], [2.0, 1.0, 8.0], [1.0, 4.0, 5.0]], [[1.0, 5.0, 2.0], [7.0, 6.0, 6.0], [3.0, 8.0, 4.0], [6.0, 8.0, 2.0]]]),self.functionspace)
9183          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9184          val=msk_val*numarray.array([[4.0, 1.0]])+(1.-msk_val)*numarray.array([[1.0, 7.0]])
9185          arg[2:,2:,1]=val
9186          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9187          ref=msk_ref*numarray.array([[[3.0, 3.0, 7.0], [1.0, 1.0, 8.0], [3.0, 2.0, 4.0], [4.0, 1.0, 2.0]], [[7.0, 2.0, 6.0], [6.0, 1.0, 7.0], [2.0, 1.0, 8.0], [1.0, 4.0, 5.0]], [[1.0, 5.0, 2.0], [7.0, 6.0, 6.0], [3.0, 4.0, 4.0], [6.0, 1.0, 2.0]]])+(1.-msk_ref)*numarray.array([[[3.0, 3.0, 7.0], [1.0, 1.0, 8.0], [3.0, 2.0, 4.0], [4.0, 1.0, 2.0]], [[7.0, 2.0, 6.0], [6.0, 1.0, 7.0], [2.0, 1.0, 8.0], [1.0, 4.0, 5.0]], [[1.0, 5.0, 2.0], [7.0, 6.0, 6.0], [3.0, 1.0, 4.0], [6.0, 7.0, 2.0]]])
9188          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9189       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9190       def test_setslice_constData_rank3_array_PCC(self):
9191          arg=Data(numarray.array([[[8.0, 8.0, 1.0], [7.0, 2.0, 6.0], [8.0, 1.0, 3.0], [4.0, 8.0, 1.0]], [[1.0, 2.0, 4.0], [4.0, 7.0, 7.0], [3.0, 7.0, 6.0], [2.0, 2.0, 6.0]], [[7.0, 3.0, 1.0], [2.0, 2.0, 8.0], [5.0, 2.0, 3.0], [1.0, 5.0, 2.0]]]),self.functionspace)
9192          val=numarray.array([[7.0, 7.0, 5.0], [3.0, 4.0, 8.0], [4.0, 6.0, 4.0], [7.0, 6.0, 4.0]])
9193          arg[1,:,:]=val
9194          ref=Data(numarray.array([[[8.0, 8.0, 1.0], [7.0, 2.0, 6.0], [8.0, 1.0, 3.0], [4.0, 8.0, 1.0]], [[7.0, 7.0, 5.0], [3.0, 4.0, 8.0], [4.0, 6.0, 4.0], [7.0, 6.0, 4.0]], [[7.0, 3.0, 1.0], [2.0, 2.0, 8.0], [5.0, 2.0, 3.0], [1.0, 5.0, 2.0]]]),self.functionspace)
9195          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9196       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9197       def test_setslice_constData_rank3_constData_PCC(self):
9198          arg=Data(numarray.array([[[6.0, 1.0, 6.0], [4.0, 2.0, 3.0], [6.0, 4.0, 4.0], [7.0, 5.0, 5.0]], [[8.0, 2.0, 3.0], [6.0, 4.0, 2.0], [2.0, 6.0, 4.0], [5.0, 8.0, 2.0]], [[3.0, 3.0, 2.0], [2.0, 4.0, 3.0], [4.0, 8.0, 3.0], [3.0, 5.0, 5.0]]]),self.functionspace)
9199          val=Data(numarray.array([[3.0, 8.0, 2.0], [2.0, 8.0, 7.0], [4.0, 2.0, 7.0], [6.0, 6.0, 8.0]]),self.functionspace)
9200          arg[1,:,:]=val
9201          ref=Data(numarray.array([[[6.0, 1.0, 6.0], [4.0, 2.0, 3.0], [6.0, 4.0, 4.0], [7.0, 5.0, 5.0]], [[3.0, 8.0, 2.0], [2.0, 8.0, 7.0], [4.0, 2.0, 7.0], [6.0, 6.0, 8.0]], [[3.0, 3.0, 2.0], [2.0, 4.0, 3.0], [4.0, 8.0, 3.0], [3.0, 5.0, 5.0]]]),self.functionspace)
9202          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9203       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9204       def test_setslice_constData_rank3_expandedData_PCC(self):
9205          arg=Data(numarray.array([[[4.0, 4.0, 6.0], [4.0, 5.0, 3.0], [1.0, 6.0, 6.0], [2.0, 1.0, 5.0]], [[6.0, 8.0, 6.0], [5.0, 6.0, 6.0], [7.0, 2.0, 2.0], [2.0, 1.0, 8.0]], [[3.0, 8.0, 6.0], [6.0, 2.0, 8.0], [8.0, 4.0, 3.0], [3.0, 6.0, 5.0]]]),self.functionspace)
9206          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9207          val=msk_val*numarray.array([[3.0, 5.0, 2.0], [4.0, 3.0, 3.0], [1.0, 8.0, 3.0], [3.0, 8.0, 2.0]])+(1.-msk_val)*numarray.array([[4.0, 8.0, 7.0], [4.0, 2.0, 1.0], [6.0, 2.0, 6.0], [3.0, 2.0, 3.0]])
9208          arg[1,:,:]=val
9209          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9210          ref=msk_ref*numarray.array([[[4.0, 4.0, 6.0], [4.0, 5.0, 3.0], [1.0, 6.0, 6.0], [2.0, 1.0, 5.0]], [[3.0, 5.0, 2.0], [4.0, 3.0, 3.0], [1.0, 8.0, 3.0], [3.0, 8.0, 2.0]], [[3.0, 8.0, 6.0], [6.0, 2.0, 8.0], [8.0, 4.0, 3.0], [3.0, 6.0, 5.0]]])+(1.-msk_ref)*numarray.array([[[4.0, 4.0, 6.0], [4.0, 5.0, 3.0], [1.0, 6.0, 6.0], [2.0, 1.0, 5.0]], [[4.0, 8.0, 7.0], [4.0, 2.0, 1.0], [6.0, 2.0, 6.0], [3.0, 2.0, 3.0]], [[3.0, 8.0, 6.0], [6.0, 2.0, 8.0], [8.0, 4.0, 3.0], [3.0, 6.0, 5.0]]])
9211          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9212       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9213       def test_setslice_constData_rank3_array_RRU(self):
9214          arg=Data(numarray.array([[[7.0, 7.0, 7.0], [6.0, 6.0, 6.0], [5.0, 6.0, 6.0], [1.0, 5.0, 5.0]], [[4.0, 7.0, 1.0], [8.0, 8.0, 2.0], [2.0, 2.0, 6.0], [2.0, 1.0, 1.0]], [[7.0, 7.0, 6.0], [1.0, 2.0, 7.0], [2.0, 6.0, 5.0], [3.0, 4.0, 8.0]]]),self.functionspace)
9215          val=numarray.array([[[2.0, 5.0], [6.0, 2.0]]])
9216          arg[1:2,1:3,:2]=val
9217          ref=Data(numarray.array([[[7.0, 7.0, 7.0], [6.0, 6.0, 6.0], [5.0, 6.0, 6.0], [1.0, 5.0, 5.0]], [[4.0, 7.0, 1.0], [2.0, 5.0, 2.0], [6.0, 2.0, 6.0], [2.0, 1.0, 1.0]], [[7.0, 7.0, 6.0], [1.0, 2.0, 7.0], [2.0, 6.0, 5.0], [3.0, 4.0, 8.0]]]),self.functionspace)
9218          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9219       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9220       def test_setslice_constData_rank3_constData_RRU(self):
9221          arg=Data(numarray.array([[[5.0, 4.0, 4.0], [6.0, 4.0, 6.0], [1.0, 2.0, 6.0], [2.0, 2.0, 4.0]], [[1.0, 7.0, 3.0], [7.0, 2.0, 6.0], [5.0, 8.0, 2.0], [5.0, 2.0, 5.0]], [[3.0, 1.0, 2.0], [3.0, 3.0, 4.0], [4.0, 7.0, 4.0], [5.0, 6.0, 7.0]]]),self.functionspace)
9222          val=Data(numarray.array([[[6.0, 7.0], [5.0, 7.0]]]),self.functionspace)
9223          arg[1:2,1:3,:2]=val
9224          ref=Data(numarray.array([[[5.0, 4.0, 4.0], [6.0, 4.0, 6.0], [1.0, 2.0, 6.0], [2.0, 2.0, 4.0]], [[1.0, 7.0, 3.0], [6.0, 7.0, 6.0], [5.0, 7.0, 2.0], [5.0, 2.0, 5.0]], [[3.0, 1.0, 2.0], [3.0, 3.0, 4.0], [4.0, 7.0, 4.0], [5.0, 6.0, 7.0]]]),self.functionspace)
9225          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9226       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9227       def test_setslice_constData_rank3_expandedData_RRU(self):
9228          arg=Data(numarray.array([[[7.0, 8.0, 3.0], [4.0, 7.0, 4.0], [8.0, 6.0, 3.0], [1.0, 6.0, 3.0]], [[3.0, 5.0, 1.0], [3.0, 5.0, 7.0], [7.0, 2.0, 2.0], [6.0, 3.0, 5.0]], [[7.0, 8.0, 2.0], [1.0, 5.0, 1.0], [7.0, 5.0, 5.0], [8.0, 1.0, 3.0]]]),self.functionspace)
9229          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9230          val=msk_val*numarray.array([[[7.0, 3.0], [3.0, 1.0]]])+(1.-msk_val)*numarray.array([[[6.0, 5.0], [6.0, 4.0]]])
9231          arg[1:2,1:3,:2]=val
9232          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9233          ref=msk_ref*numarray.array([[[7.0, 8.0, 3.0], [4.0, 7.0, 4.0], [8.0, 6.0, 3.0], [1.0, 6.0, 3.0]], [[3.0, 5.0, 1.0], [7.0, 3.0, 7.0], [3.0, 1.0, 2.0], [6.0, 3.0, 5.0]], [[7.0, 8.0, 2.0], [1.0, 5.0, 1.0], [7.0, 5.0, 5.0], [8.0, 1.0, 3.0]]])+(1.-msk_ref)*numarray.array([[[7.0, 8.0, 3.0], [4.0, 7.0, 4.0], [8.0, 6.0, 3.0], [1.0, 6.0, 3.0]], [[3.0, 5.0, 1.0], [6.0, 5.0, 7.0], [6.0, 4.0, 2.0], [6.0, 3.0, 5.0]], [[7.0, 8.0, 2.0], [1.0, 5.0, 1.0], [7.0, 5.0, 5.0], [8.0, 1.0, 3.0]]])
9234          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9235       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9236       def test_setslice_constData_rank3_array_LLN(self):
9237          arg=Data(numarray.array([[[8.0, 6.0, 3.0], [2.0, 8.0, 1.0], [3.0, 8.0, 7.0], [7.0, 4.0, 1.0]], [[8.0, 1.0, 7.0], [2.0, 7.0, 7.0], [5.0, 4.0, 1.0], [5.0, 2.0, 1.0]], [[3.0, 8.0, 5.0], [4.0, 6.0, 5.0], [4.0, 6.0, 6.0], [6.0, 7.0, 6.0]]]),self.functionspace)
9238          val=numarray.array([[[6.0, 8.0, 8.0], [4.0, 8.0, 6.0]]])
9239          arg[2:,2:]=val
9240          ref=Data(numarray.array([[[8.0, 6.0, 3.0], [2.0, 8.0, 1.0], [3.0, 8.0, 7.0], [7.0, 4.0, 1.0]], [[8.0, 1.0, 7.0], [2.0, 7.0, 7.0], [5.0, 4.0, 1.0], [5.0, 2.0, 1.0]], [[3.0, 8.0, 5.0], [4.0, 6.0, 5.0], [6.0, 8.0, 8.0], [4.0, 8.0, 6.0]]]),self.functionspace)
9241          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9242       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9243       def test_setslice_constData_rank3_constData_LLN(self):
9244          arg=Data(numarray.array([[[2.0, 1.0, 3.0], [2.0, 6.0, 2.0], [4.0, 2.0, 4.0], [4.0, 3.0, 6.0]], [[6.0, 6.0, 4.0], [4.0, 1.0, 8.0], [5.0, 2.0, 8.0], [6.0, 1.0, 1.0]], [[3.0, 1.0, 5.0], [2.0, 2.0, 8.0], [1.0, 8.0, 1.0], [3.0, 8.0, 4.0]]]),self.functionspace)
9245          val=Data(numarray.array([[[5.0, 7.0, 6.0], [8.0, 4.0, 1.0]]]),self.functionspace)
9246          arg[2:,2:]=val
9247          ref=Data(numarray.array([[[2.0, 1.0, 3.0], [2.0, 6.0, 2.0], [4.0, 2.0, 4.0], [4.0, 3.0, 6.0]], [[6.0, 6.0, 4.0], [4.0, 1.0, 8.0], [5.0, 2.0, 8.0], [6.0, 1.0, 1.0]], [[3.0, 1.0, 5.0], [2.0, 2.0, 8.0], [5.0, 7.0, 6.0], [8.0, 4.0, 1.0]]]),self.functionspace)
9248          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9249       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9250       def test_setslice_constData_rank3_expandedData_LLN(self):
9251          arg=Data(numarray.array([[[7.0, 5.0, 8.0], [8.0, 6.0, 7.0], [5.0, 8.0, 4.0], [1.0, 5.0, 4.0]], [[7.0, 2.0, 6.0], [7.0, 8.0, 4.0], [1.0, 7.0, 7.0], [3.0, 7.0, 4.0]], [[7.0, 6.0, 5.0], [2.0, 7.0, 6.0], [6.0, 7.0, 1.0], [5.0, 5.0, 1.0]]]),self.functionspace)
9252          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9253          val=msk_val*numarray.array([[[6.0, 2.0, 3.0], [4.0, 6.0, 4.0]]])+(1.-msk_val)*numarray.array([[[7.0, 6.0, 5.0], [4.0, 5.0, 5.0]]])
9254          arg[2:,2:]=val
9255          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9256          ref=msk_ref*numarray.array([[[7.0, 5.0, 8.0], [8.0, 6.0, 7.0], [5.0, 8.0, 4.0], [1.0, 5.0, 4.0]], [[7.0, 2.0, 6.0], [7.0, 8.0, 4.0], [1.0, 7.0, 7.0], [3.0, 7.0, 4.0]], [[7.0, 6.0, 5.0], [2.0, 7.0, 6.0], [6.0, 2.0, 3.0], [4.0, 6.0, 4.0]]])+(1.-msk_ref)*numarray.array([[[7.0, 5.0, 8.0], [8.0, 6.0, 7.0], [5.0, 8.0, 4.0], [1.0, 5.0, 4.0]], [[7.0, 2.0, 6.0], [7.0, 8.0, 4.0], [1.0, 7.0, 7.0], [3.0, 7.0, 4.0]], [[7.0, 6.0, 5.0], [2.0, 7.0, 6.0], [7.0, 6.0, 5.0], [4.0, 5.0, 5.0]]])
9257          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9258       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9259       def test_setslice_constData_rank3_array_UCP(self):
9260          arg=Data(numarray.array([[[1.0, 7.0, 2.0], [5.0, 2.0, 1.0], [1.0, 4.0, 8.0], [4.0, 5.0, 1.0]], [[8.0, 5.0, 5.0], [3.0, 1.0, 3.0], [2.0, 5.0, 1.0], [4.0, 7.0, 6.0]], [[4.0, 3.0, 6.0], [5.0, 6.0, 8.0], [4.0, 7.0, 7.0], [6.0, 6.0, 8.0]]]),self.functionspace)
9261          val=numarray.array([[4.0, 3.0, 1.0, 1.0], [8.0, 7.0, 2.0, 2.0]])
9262          arg[:2,:,1]=val
9263          ref=Data(numarray.array([[[1.0, 4.0, 2.0], [5.0, 3.0, 1.0], [1.0, 1.0, 8.0], [4.0, 1.0, 1.0]], [[8.0, 8.0, 5.0], [3.0, 7.0, 3.0], [2.0, 2.0, 1.0], [4.0, 2.0, 6.0]], [[4.0, 3.0, 6.0], [5.0, 6.0, 8.0], [4.0, 7.0, 7.0], [6.0, 6.0, 8.0]]]),self.functionspace)
9264          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9265       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9266       def test_setslice_constData_rank3_constData_UCP(self):
9267          arg=Data(numarray.array([[[4.0, 8.0, 5.0], [5.0, 1.0, 8.0], [8.0, 8.0, 6.0], [7.0, 7.0, 6.0]], [[5.0, 1.0, 8.0], [6.0, 3.0, 8.0], [6.0, 4.0, 6.0], [5.0, 1.0, 5.0]], [[5.0, 4.0, 5.0], [6.0, 6.0, 8.0], [3.0, 1.0, 6.0], [7.0, 3.0, 4.0]]]),self.functionspace)
9268          val=Data(numarray.array([[2.0, 7.0, 4.0, 2.0], [6.0, 6.0, 8.0, 2.0]]),self.functionspace)
9269          arg[:2,:,1]=val
9270          ref=Data(numarray.array([[[4.0, 2.0, 5.0], [5.0, 7.0, 8.0], [8.0, 4.0, 6.0], [7.0, 2.0, 6.0]], [[5.0, 6.0, 8.0], [6.0, 6.0, 8.0], [6.0, 8.0, 6.0], [5.0, 2.0, 5.0]], [[5.0, 4.0, 5.0], [6.0, 6.0, 8.0], [3.0, 1.0, 6.0], [7.0, 3.0, 4.0]]]),self.functionspace)
9271          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9272       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9273       def test_setslice_constData_rank3_expandedData_UCP(self):
9274          arg=Data(numarray.array([[[4.0, 1.0, 3.0], [7.0, 8.0, 8.0], [2.0, 3.0, 4.0], [4.0, 2.0, 2.0]], [[3.0, 4.0, 6.0], [1.0, 4.0, 3.0], [3.0, 8.0, 3.0], [3.0, 5.0, 2.0]], [[3.0, 5.0, 1.0], [4.0, 3.0, 2.0], [4.0, 5.0, 6.0], [3.0, 8.0, 1.0]]]),self.functionspace)
9275          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9276          val=msk_val*numarray.array([[6.0, 8.0, 5.0, 4.0], [8.0, 5.0, 5.0, 2.0]])+(1.-msk_val)*numarray.array([[6.0, 8.0, 8.0, 1.0], [3.0, 6.0, 4.0, 3.0]])
9277          arg[:2,:,1]=val
9278          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9279          ref=msk_ref*numarray.array([[[4.0, 6.0, 3.0], [7.0, 8.0, 8.0], [2.0, 5.0, 4.0], [4.0, 4.0, 2.0]], [[3.0, 8.0, 6.0], [1.0, 5.0, 3.0], [3.0, 5.0, 3.0], [3.0, 2.0, 2.0]], [[3.0, 5.0, 1.0], [4.0, 3.0, 2.0], [4.0, 5.0, 6.0], [3.0, 8.0, 1.0]]])+(1.-msk_ref)*numarray.array([[[4.0, 6.0, 3.0], [7.0, 8.0, 8.0], [2.0, 8.0, 4.0], [4.0, 1.0, 2.0]], [[3.0, 3.0, 6.0], [1.0, 6.0, 3.0], [3.0, 4.0, 3.0], [3.0, 3.0, 2.0]], [[3.0, 5.0, 1.0], [4.0, 3.0, 2.0], [4.0, 5.0, 6.0], [3.0, 8.0, 1.0]]])
9280          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9281       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9282       def test_setslice_constData_rank3_array_PPN(self):
9283          arg=Data(numarray.array([[[8.0, 5.0, 2.0], [3.0, 5.0, 5.0], [2.0, 8.0, 7.0], [6.0, 2.0, 4.0]], [[8.0, 6.0, 2.0], [5.0, 7.0, 5.0], [4.0, 1.0, 6.0], [6.0, 6.0, 3.0]], [[4.0, 8.0, 5.0], [2.0, 8.0, 8.0], [7.0, 7.0, 4.0], [6.0, 5.0, 2.0]]]),self.functionspace)
9284          val=numarray.array([2.0, 7.0, 3.0])
9285          arg[1,2]=val
9286          ref=Data(numarray.array([[[8.0, 5.0, 2.0], [3.0, 5.0, 5.0], [2.0, 8.0, 7.0], [6.0, 2.0, 4.0]], [[8.0, 6.0, 2.0], [5.0, 7.0, 5.0], [2.0, 7.0, 3.0], [6.0, 6.0, 3.0]], [[4.0, 8.0, 5.0], [2.0, 8.0, 8.0], [7.0, 7.0, 4.0], [6.0, 5.0, 2.0]]]),self.functionspace)
9287          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9288       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9289       def test_setslice_constData_rank3_constData_PPN(self):
9290          arg=Data(numarray.array([[[5.0, 1.0, 8.0], [2.0, 8.0, 8.0], [6.0, 7.0, 6.0], [1.0, 8.0, 8.0]], [[4.0, 4.0, 3.0], [2.0, 8.0, 6.0], [2.0, 8.0, 7.0], [2.0, 1.0, 8.0]], [[6.0, 3.0, 5.0], [1.0, 7.0, 1.0], [2.0, 2.0, 1.0], [5.0, 7.0, 2.0]]]),self.functionspace)
9291          val=Data(numarray.array([5.0, 5.0, 5.0]),self.functionspace)
9292          arg[1,2]=val
9293          ref=Data(numarray.array([[[5.0, 1.0, 8.0], [2.0, 8.0, 8.0], [6.0, 7.0, 6.0], [1.0, 8.0, 8.0]], [[4.0, 4.0, 3.0], [2.0, 8.0, 6.0], [5.0, 5.0, 5.0], [2.0, 1.0, 8.0]], [[6.0, 3.0, 5.0], [1.0, 7.0, 1.0], [2.0, 2.0, 1.0], [5.0, 7.0, 2.0]]]),self.functionspace)
9294          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9295       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9296       def test_setslice_constData_rank3_expandedData_PPN(self):
9297          arg=Data(numarray.array([[[2.0, 3.0, 6.0], [3.0, 6.0, 3.0], [4.0, 4.0, 5.0], [2.0, 3.0, 8.0]], [[2.0, 4.0, 7.0], [1.0, 3.0, 5.0], [2.0, 3.0, 7.0], [4.0, 5.0, 1.0]], [[7.0, 8.0, 8.0], [5.0, 5.0, 8.0], [7.0, 5.0, 4.0], [8.0, 4.0, 6.0]]]),self.functionspace)
9298          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9299          val=msk_val*numarray.array([6.0, 8.0, 4.0])+(1.-msk_val)*numarray.array([1.0, 8.0, 1.0])
9300          arg[1,2]=val
9301          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9302          ref=msk_ref*numarray.array([[[2.0, 3.0, 6.0], [3.0, 6.0, 3.0], [4.0, 4.0, 5.0], [2.0, 3.0, 8.0]], [[2.0, 4.0, 7.0], [1.0, 3.0, 5.0], [6.0, 8.0, 4.0], [4.0, 5.0, 1.0]], [[7.0, 8.0, 8.0], [5.0, 5.0, 8.0], [7.0, 5.0, 4.0], [8.0, 4.0, 6.0]]])+(1.-msk_ref)*numarray.array([[[2.0, 3.0, 6.0], [3.0, 6.0, 3.0], [4.0, 4.0, 5.0], [2.0, 3.0, 8.0]], [[2.0, 4.0, 7.0], [1.0, 3.0, 5.0], [1.0, 8.0, 1.0], [4.0, 5.0, 1.0]], [[7.0, 8.0, 8.0], [5.0, 5.0, 8.0], [7.0, 5.0, 4.0], [8.0, 4.0, 6.0]]])
9303          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9304       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9305       def test_setslice_constData_rank3_array_LPN(self):
9306          arg=Data(numarray.array([[[5.0, 7.0, 2.0], [3.0, 2.0, 2.0], [8.0, 2.0, 5.0], [3.0, 5.0, 1.0]], [[5.0, 6.0, 6.0], [3.0, 8.0, 5.0], [4.0, 3.0, 3.0], [1.0, 4.0, 2.0]], [[5.0, 5.0, 8.0], [7.0, 5.0, 5.0], [7.0, 6.0, 2.0], [7.0, 3.0, 2.0]]]),self.functionspace)
9307          val=numarray.array([[1.0, 1.0, 6.0]])
9308          arg[2:,2]=val
9309          ref=Data(numarray.array([[[5.0, 7.0, 2.0], [3.0, 2.0, 2.0], [8.0, 2.0, 5.0], [3.0, 5.0, 1.0]], [[5.0, 6.0, 6.0], [3.0, 8.0, 5.0], [4.0, 3.0, 3.0], [1.0, 4.0, 2.0]], [[5.0, 5.0, 8.0], [7.0, 5.0, 5.0], [1.0, 1.0, 6.0], [7.0, 3.0, 2.0]]]),self.functionspace)
9310          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9311       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9312       def test_setslice_constData_rank3_constData_LPN(self):
9313          arg=Data(numarray.array([[[5.0, 2.0, 7.0], [6.0, 5.0, 1.0], [3.0, 4.0, 8.0], [7.0, 8.0, 4.0]], [[8.0, 4.0, 4.0], [6.0, 1.0, 5.0], [7.0, 4.0, 1.0], [7.0, 1.0, 1.0]], [[6.0, 5.0, 3.0], [1.0, 2.0, 4.0], [7.0, 6.0, 4.0], [7.0, 6.0, 8.0]]]),self.functionspace)
9314          val=Data(numarray.array([[2.0, 7.0, 3.0]]),self.functionspace)
9315          arg[2:,2]=val
9316          ref=Data(numarray.array([[[5.0, 2.0, 7.0], [6.0, 5.0, 1.0], [3.0, 4.0, 8.0], [7.0, 8.0, 4.0]], [[8.0, 4.0, 4.0], [6.0, 1.0, 5.0], [7.0, 4.0, 1.0], [7.0, 1.0, 1.0]], [[6.0, 5.0, 3.0], [1.0, 2.0, 4.0], [2.0, 7.0, 3.0], [7.0, 6.0, 8.0]]]),self.functionspace)
9317          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9318       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9319       def test_setslice_constData_rank3_expandedData_LPN(self):
9320          arg=Data(numarray.array([[[2.0, 2.0, 4.0], [7.0, 1.0, 2.0], [7.0, 7.0, 4.0], [2.0, 3.0, 4.0]], [[6.0, 8.0, 1.0], [7.0, 3.0, 2.0], [7.0, 3.0, 7.0], [3.0, 1.0, 8.0]], [[1.0, 2.0, 6.0], [6.0, 5.0, 4.0], [6.0, 6.0, 1.0], [2.0, 2.0, 2.0]]]),self.functionspace)
9321          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9322          val=msk_val*numarray.array([[1.0, 8.0, 6.0]])+(1.-msk_val)*numarray.array([[4.0, 4.0, 5.0]])
9323          arg[2:,2]=val
9324          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9325          ref=msk_ref*numarray.array([[[2.0, 2.0, 4.0], [7.0, 1.0, 2.0], [7.0, 7.0, 4.0], [2.0, 3.0, 4.0]], [[6.0, 8.0, 1.0], [7.0, 3.0, 2.0], [7.0, 3.0, 7.0], [3.0, 1.0, 8.0]], [[1.0, 2.0, 6.0], [6.0, 5.0, 4.0], [1.0, 8.0, 6.0], [2.0, 2.0, 2.0]]])+(1.-msk_ref)*numarray.array([[[2.0, 2.0, 4.0], [7.0, 1.0, 2.0], [7.0, 7.0, 4.0], [2.0, 3.0, 4.0]], [[6.0, 8.0, 1.0], [7.0, 3.0, 2.0], [7.0, 3.0, 7.0], [3.0, 1.0, 8.0]], [[1.0, 2.0, 6.0], [6.0, 5.0, 4.0], [4.0, 4.0, 5.0], [2.0, 2.0, 2.0]]])
9326          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9327       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9328       def test_setslice_constData_rank3_array_UPN(self):
9329          arg=Data(numarray.array([[[3.0, 7.0, 4.0], [6.0, 2.0, 8.0], [5.0, 2.0, 1.0], [3.0, 8.0, 5.0]], [[2.0, 1.0, 1.0], [1.0, 6.0, 4.0], [8.0, 1.0, 4.0], [7.0, 8.0, 5.0]], [[8.0, 4.0, 5.0], [4.0, 1.0, 6.0], [5.0, 6.0, 2.0], [6.0, 6.0, 2.0]]]),self.functionspace)
9330          val=numarray.array([[3.0, 6.0, 1.0], [5.0, 1.0, 6.0]])
9331          arg[:2,2]=val
9332          ref=Data(numarray.array([[[3.0, 7.0, 4.0], [6.0, 2.0, 8.0], [3.0, 6.0, 1.0], [3.0, 8.0, 5.0]], [[2.0, 1.0, 1.0], [1.0, 6.0, 4.0], [5.0, 1.0, 6.0], [7.0, 8.0, 5.0]], [[8.0, 4.0, 5.0], [4.0, 1.0, 6.0], [5.0, 6.0, 2.0], [6.0, 6.0, 2.0]]]),self.functionspace)
9333          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9334       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9335       def test_setslice_constData_rank3_constData_UPN(self):
9336          arg=Data(numarray.array([[[1.0, 2.0, 1.0], [1.0, 3.0, 3.0], [4.0, 6.0, 5.0], [2.0, 7.0, 6.0]], [[4.0, 6.0, 8.0], [1.0, 3.0, 2.0], [4.0, 2.0, 1.0], [7.0, 5.0, 3.0]], [[4.0, 7.0, 3.0], [8.0, 5.0, 7.0], [4.0, 5.0, 5.0], [2.0, 3.0, 6.0]]]),self.functionspace)
9337          val=Data(numarray.array([[8.0, 7.0, 5.0], [2.0, 5.0, 1.0]]),self.functionspace)
9338          arg[:2,2]=val
9339          ref=Data(numarray.array([[[1.0, 2.0, 1.0], [1.0, 3.0, 3.0], [8.0, 7.0, 5.0], [2.0, 7.0, 6.0]], [[4.0, 6.0, 8.0], [1.0, 3.0, 2.0], [2.0, 5.0, 1.0], [7.0, 5.0, 3.0]], [[4.0, 7.0, 3.0], [8.0, 5.0, 7.0], [4.0, 5.0, 5.0], [2.0, 3.0, 6.0]]]),self.functionspace)
9340          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9341       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9342       def test_setslice_constData_rank3_expandedData_UPN(self):
9343          arg=Data(numarray.array([[[3.0, 4.0, 6.0], [6.0, 8.0, 5.0], [2.0, 5.0, 5.0], [4.0, 4.0, 5.0]], [[4.0, 2.0, 4.0], [6.0, 2.0, 2.0], [5.0, 6.0, 3.0], [4.0, 4.0, 7.0]], [[7.0, 4.0, 5.0], [5.0, 2.0, 2.0], [8.0, 5.0, 5.0], [4.0, 8.0, 3.0]]]),self.functionspace)
9344          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9345          val=msk_val*numarray.array([[6.0, 5.0, 2.0], [3.0, 7.0, 6.0]])+(1.-msk_val)*numarray.array([[6.0, 3.0, 7.0], [8.0, 6.0, 3.0]])
9346          arg[:2,2]=val
9347          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9348          ref=msk_ref*numarray.array([[[3.0, 4.0, 6.0], [6.0, 8.0, 5.0], [6.0, 5.0, 2.0], [4.0, 4.0, 5.0]], [[4.0, 2.0, 4.0], [6.0, 2.0, 2.0], [3.0, 7.0, 6.0], [4.0, 4.0, 7.0]], [[7.0, 4.0, 5.0], [5.0, 2.0, 2.0], [8.0, 5.0, 5.0], [4.0, 8.0, 3.0]]])+(1.-msk_ref)*numarray.array([[[3.0, 4.0, 6.0], [6.0, 8.0, 5.0], [6.0, 3.0, 7.0], [4.0, 4.0, 5.0]], [[4.0, 2.0, 4.0], [6.0, 2.0, 2.0], [8.0, 6.0, 3.0], [4.0, 4.0, 7.0]], [[7.0, 4.0, 5.0], [5.0, 2.0, 2.0], [8.0, 5.0, 5.0], [4.0, 8.0, 3.0]]])
9349          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9350       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9351       def test_setslice_constData_rank3_array_UPR(self):
9352          arg=Data(numarray.array([[[3.0, 4.0, 8.0], [2.0, 2.0, 1.0], [6.0, 3.0, 2.0], [5.0, 7.0, 4.0]], [[2.0, 6.0, 3.0], [1.0, 2.0, 8.0], [4.0, 5.0, 3.0], [8.0, 7.0, 8.0]], [[2.0, 8.0, 7.0], [8.0, 6.0, 1.0], [2.0, 1.0, 8.0], [2.0, 2.0, 3.0]]]),self.functionspace)
9353          val=numarray.array([[5.0], [6.0]])
9354          arg[:2,2,1:2]=val
9355          ref=Data(numarray.array([[[3.0, 4.0, 8.0], [2.0, 2.0, 1.0], [6.0, 5.0, 2.0], [5.0, 7.0, 4.0]], [[2.0, 6.0, 3.0], [1.0, 2.0, 8.0], [4.0, 6.0, 3.0], [8.0, 7.0, 8.0]], [[2.0, 8.0, 7.0], [8.0, 6.0, 1.0], [2.0, 1.0, 8.0], [2.0, 2.0, 3.0]]]),self.functionspace)
9356          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9357       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9358       def test_setslice_constData_rank3_constData_UPR(self):
9359          arg=Data(numarray.array([[[3.0, 7.0, 3.0], [5.0, 2.0, 2.0], [4.0, 2.0, 5.0], [7.0, 5.0, 2.0]], [[7.0, 7.0, 1.0], [2.0, 1.0, 1.0], [7.0, 1.0, 6.0], [3.0, 6.0, 8.0]], [[2.0, 8.0, 5.0], [8.0, 4.0, 3.0], [6.0, 6.0, 8.0], [3.0, 6.0, 6.0]]]),self.functionspace)
9360          val=Data(numarray.array([[3.0], [4.0]]),self.functionspace)
9361          arg[:2,2,1:2]=val
9362          ref=Data(numarray.array([[[3.0, 7.0, 3.0], [5.0, 2.0, 2.0], [4.0, 3.0, 5.0], [7.0, 5.0, 2.0]], [[7.0, 7.0, 1.0], [2.0, 1.0, 1.0], [7.0, 4.0, 6.0], [3.0, 6.0, 8.0]], [[2.0, 8.0, 5.0], [8.0, 4.0, 3.0], [6.0, 6.0, 8.0], [3.0, 6.0, 6.0]]]),self.functionspace)
9363          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9364       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9365       def test_setslice_constData_rank3_expandedData_UPR(self):
9366          arg=Data(numarray.array([[[6.0, 5.0, 5.0], [8.0, 8.0, 4.0], [4.0, 3.0, 8.0], [1.0, 2.0, 5.0]], [[3.0, 6.0, 8.0], [6.0, 4.0, 1.0], [8.0, 7.0, 8.0], [1.0, 7.0, 4.0]], [[5.0, 7.0, 7.0], [7.0, 1.0, 4.0], [5.0, 1.0, 2.0], [2.0, 4.0, 5.0]]]),self.functionspace)
9367          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9368          val=msk_val*numarray.array([[2.0], [7.0]])+(1.-msk_val)*numarray.array([[6.0], [1.0]])
9369          arg[:2,2,1:2]=val
9370          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9371          ref=msk_ref*numarray.array([[[6.0, 5.0, 5.0], [8.0, 8.0, 4.0], [4.0, 2.0, 8.0], [1.0, 2.0, 5.0]], [[3.0, 6.0, 8.0], [6.0, 4.0, 1.0], [8.0, 7.0, 8.0], [1.0, 7.0, 4.0]], [[5.0, 7.0, 7.0], [7.0, 1.0, 4.0], [5.0, 1.0, 2.0], [2.0, 4.0, 5.0]]])+(1.-msk_ref)*numarray.array([[[6.0, 5.0, 5.0], [8.0, 8.0, 4.0], [4.0, 6.0, 8.0], [1.0, 2.0, 5.0]], [[3.0, 6.0, 8.0], [6.0, 4.0, 1.0], [8.0, 1.0, 8.0], [1.0, 7.0, 4.0]], [[5.0, 7.0, 7.0], [7.0, 1.0, 4.0], [5.0, 1.0, 2.0], [2.0, 4.0, 5.0]]])
9372          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9373       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9374       def test_setslice_constData_rank3_array_PRC(self):
9375          arg=Data(numarray.array([[[2.0, 2.0, 6.0], [7.0, 2.0, 8.0], [2.0, 4.0, 7.0], [1.0, 6.0, 3.0]], [[5.0, 8.0, 6.0], [8.0, 2.0, 4.0], [5.0, 2.0, 3.0], [4.0, 7.0, 6.0]], [[2.0, 1.0, 5.0], [4.0, 1.0, 4.0], [4.0, 8.0, 5.0], [5.0, 4.0, 8.0]]]),self.functionspace)
9376          val=numarray.array([[4.0, 6.0, 8.0], [6.0, 1.0, 7.0]])
9377          arg[1,1:3,:]=val
9378          ref=Data(numarray.array([[[2.0, 2.0, 6.0], [7.0, 2.0, 8.0], [2.0, 4.0, 7.0], [1.0, 6.0, 3.0]], [[5.0, 8.0, 6.0], [4.0, 6.0, 8.0], [6.0, 1.0, 7.0], [4.0, 7.0, 6.0]], [[2.0, 1.0, 5.0], [4.0, 1.0, 4.0], [4.0, 8.0, 5.0], [5.0, 4.0, 8.0]]]),self.functionspace)
9379          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9380       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9381       def test_setslice_constData_rank3_constData_PRC(self):
9382          arg=Data(numarray.array([[[8.0, 5.0, 7.0], [3.0, 2.0, 8.0], [3.0, 6.0, 4.0], [8.0, 4.0, 8.0]], [[6.0, 3.0, 4.0], [6.0, 4.0, 4.0], [2.0, 3.0, 6.0], [3.0, 4.0, 1.0]], [[7.0, 1.0, 1.0], [8.0, 7.0, 1.0], [5.0, 6.0, 1.0], [7.0, 6.0, 3.0]]]),self.functionspace)
9383          val=Data(numarray.array([[1.0, 1.0, 3.0], [1.0, 1.0, 1.0]]),self.functionspace)
9384          arg[1,1:3,:]=val
9385          ref=Data(numarray.array([[[8.0, 5.0, 7.0], [3.0, 2.0, 8.0], [3.0, 6.0, 4.0], [8.0, 4.0, 8.0]], [[6.0, 3.0, 4.0], [1.0, 1.0, 3.0], [1.0, 1.0, 1.0], [3.0, 4.0, 1.0]], [[7.0, 1.0, 1.0], [8.0, 7.0, 1.0], [5.0, 6.0, 1.0], [7.0, 6.0, 3.0]]]),self.functionspace)
9386          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9387       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9388       def test_setslice_constData_rank3_expandedData_PRC(self):
9389          arg=Data(numarray.array([[[7.0, 8.0, 2.0], [8.0, 8.0, 1.0], [2.0, 1.0, 8.0], [5.0, 1.0, 8.0]], [[4.0, 6.0, 3.0], [2.0, 4.0, 2.0], [5.0, 5.0, 2.0], [7.0, 5.0, 4.0]], [[7.0, 4.0, 1.0], [1.0, 8.0, 8.0], [7.0, 3.0, 7.0], [1.0, 8.0, 8.0]]]),self.functionspace)
9390          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9391          val=msk_val*numarray.array([[8.0, 7.0, 1.0], [4.0, 3.0, 1.0]])+(1.-msk_val)*numarray.array([[8.0, 5.0, 8.0], [5.0, 5.0, 3.0]])
9392          arg[1,1:3,:]=val
9393          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9394          ref=msk_ref*numarray.array([[[7.0, 8.0, 2.0], [8.0, 8.0, 1.0], [2.0, 1.0, 8.0], [5.0, 1.0, 8.0]], [[4.0, 6.0, 3.0], [8.0, 7.0, 1.0], [4.0, 3.0, 1.0], [7.0, 5.0, 4.0]], [[7.0, 4.0, 1.0], [1.0, 8.0, 8.0], [7.0, 3.0, 7.0], [1.0, 8.0, 8.0]]])+(1.-msk_ref)*numarray.array([[[7.0, 8.0, 2.0], [8.0, 8.0, 1.0], [2.0, 1.0, 8.0], [5.0, 1.0, 8.0]], [[4.0, 6.0, 3.0], [8.0, 5.0, 8.0], [5.0, 5.0, 3.0], [7.0, 5.0, 4.0]], [[7.0, 4.0, 1.0], [1.0, 8.0, 8.0], [7.0, 3.0, 7.0], [1.0, 8.0, 8.0]]])
9395          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9396       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9397       def test_setslice_constData_rank3_array_RLN(self):
9398          arg=Data(numarray.array([[[7.0, 6.0, 7.0], [4.0, 3.0, 1.0], [1.0, 8.0, 7.0], [7.0, 4.0, 4.0]], [[1.0, 8.0, 6.0], [7.0, 6.0, 1.0], [8.0, 6.0, 3.0], [6.0, 8.0, 1.0]], [[3.0, 5.0, 6.0], [8.0, 1.0, 5.0], [6.0, 3.0, 5.0], [1.0, 2.0, 4.0]]]),self.functionspace)
9399          val=numarray.array([[[3.0, 3.0, 7.0], [7.0, 5.0, 5.0]]])
9400          arg[1:2,2:]=val
9401          ref=Data(numarray.array([[[7.0, 6.0, 7.0], [4.0, 3.0, 1.0], [1.0, 8.0, 7.0], [7.0, 4.0, 4.0]], [[1.0, 8.0, 6.0], [7.0, 6.0, 1.0], [3.0, 3.0, 7.0], [7.0, 5.0, 5.0]], [[3.0, 5.0, 6.0], [8.0, 1.0, 5.0], [6.0, 3.0, 5.0], [1.0, 2.0, 4.0]]]),self.functionspace)
9402          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9403       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9404       def test_setslice_constData_rank3_constData_RLN(self):
9405          arg=Data(numarray.array([[[2.0, 7.0, 8.0], [1.0, 5.0, 1.0], [7.0, 1.0, 7.0], [4.0, 4.0, 1.0]], [[7.0, 4.0, 2.0], [8.0, 1.0, 3.0], [5.0, 1.0, 7.0], [5.0, 7.0, 2.0]], [[3.0, 2.0, 4.0], [4.0, 3.0, 3.0], [7.0, 8.0, 8.0], [2.0, 5.0, 7.0]]]),self.functionspace)
9406          val=Data(numarray.array([[[1.0, 1.0, 1.0], [7.0, 7.0, 4.0]]]),self.functionspace)
9407          arg[1:2,2:]=val
9408          ref=Data(numarray.array([[[2.0, 7.0, 8.0], [1.0, 5.0, 1.0], [7.0, 1.0, 7.0], [4.0, 4.0, 1.0]], [[7.0, 4.0, 2.0], [8.0, 1.0, 3.0], [1.0, 1.0, 1.0], [7.0, 7.0, 4.0]], [[3.0, 2.0, 4.0], [4.0, 3.0, 3.0], [7.0, 8.0, 8.0], [2.0, 5.0, 7.0]]]),self.functionspace)
9409          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9410       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9411       def test_setslice_constData_rank3_expandedData_RLN(self):
9412          arg=Data(numarray.array([[[7.0, 3.0, 1.0], [1.0, 3.0, 7.0], [4.0, 7.0, 4.0], [7.0, 3.0, 5.0]], [[6.0, 8.0, 5.0], [3.0, 4.0, 2.0], [8.0, 3.0, 5.0], [3.0, 3.0, 7.0]], [[8.0, 1.0, 3.0], [7.0, 8.0, 5.0], [4.0, 6.0, 3.0], [5.0, 7.0, 5.0]]]),self.functionspace)
9413          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9414          val=msk_val*numarray.array([[[6.0, 7.0, 2.0], [2.0, 4.0, 1.0]]])+(1.-msk_val)*numarray.array([[[7.0, 5.0, 4.0], [4.0, 4.0, 8.0]]])
9415          arg[1:2,2:]=val
9416          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9417          ref=msk_ref*numarray.array([[[7.0, 3.0, 1.0], [1.0, 3.0, 7.0], [4.0, 7.0, 4.0], [7.0, 3.0, 5.0]], [[6.0, 8.0, 5.0], [3.0, 4.0, 2.0], [6.0, 7.0, 2.0], [2.0, 4.0, 1.0]], [[8.0, 1.0, 3.0], [7.0, 8.0, 5.0], [4.0, 6.0, 3.0], [5.0, 7.0, 5.0]]])+(1.-msk_ref)*numarray.array([[[7.0, 3.0, 1.0], [1.0, 3.0, 7.0], [4.0, 7.0, 4.0], [7.0, 3.0, 5.0]], [[6.0, 8.0, 5.0], [3.0, 4.0, 2.0], [7.0, 5.0, 4.0], [4.0, 4.0, 8.0]], [[8.0, 1.0, 3.0], [7.0, 8.0, 5.0], [4.0, 6.0, 3.0], [5.0, 7.0, 5.0]]])
9418          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9419       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9420       def test_setslice_constData_rank3_array_UCL(self):
9421          arg=Data(numarray.array([[[5.0, 7.0, 6.0], [3.0, 2.0, 8.0], [3.0, 8.0, 7.0], [7.0, 1.0, 2.0]], [[6.0, 2.0, 1.0], [7.0, 5.0, 7.0], [8.0, 4.0, 6.0], [8.0, 7.0, 1.0]], [[1.0, 5.0, 1.0], [3.0, 7.0, 4.0], [5.0, 8.0, 8.0], [8.0, 7.0, 8.0]]]),self.functionspace)
9422          val=numarray.array([[[8.0], [5.0], [3.0], [6.0]], [[2.0], [7.0], [7.0], [1.0]]])
9423          arg[:2,:,2:]=val
9424          ref=Data(numarray.array([[[5.0, 7.0, 8.0], [3.0, 2.0, 5.0], [3.0, 8.0, 3.0], [7.0, 1.0, 6.0]], [[6.0, 2.0, 2.0], [7.0, 5.0, 7.0], [8.0, 4.0, 7.0], [8.0, 7.0, 1.0]], [[1.0, 5.0, 1.0], [3.0, 7.0, 4.0], [5.0, 8.0, 8.0], [8.0, 7.0, 8.0]]]),self.functionspace)
9425          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9426       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9427       def test_setslice_constData_rank3_constData_UCL(self):
9428          arg=Data(numarray.array([[[8.0, 6.0, 4.0], [4.0, 3.0, 4.0], [4.0, 7.0, 3.0], [6.0, 6.0, 4.0]], [[6.0, 6.0, 6.0], [4.0, 8.0, 5.0], [2.0, 3.0, 1.0], [4.0, 6.0, 7.0]], [[3.0, 8.0, 7.0], [3.0, 8.0, 8.0], [1.0, 5.0, 4.0], [3.0, 5.0, 8.0]]]),self.functionspace)
9429          val=Data(numarray.array([[[1.0], [1.0], [6.0], [5.0]], [[6.0], [2.0], [4.0], [2.0]]]),self.functionspace)
9430          arg[:2,:,2:]=val
9431          ref=Data(numarray.array([[[8.0, 6.0, 1.0], [4.0, 3.0, 1.0], [4.0, 7.0, 6.0], [6.0, 6.0, 5.0]], [[6.0, 6.0, 6.0], [4.0, 8.0, 2.0], [2.0, 3.0, 4.0], [4.0, 6.0, 2.0]], [[3.0, 8.0, 7.0], [3.0, 8.0, 8.0], [1.0, 5.0, 4.0], [3.0, 5.0, 8.0]]]),self.functionspace)
9432          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9433       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9434       def test_setslice_constData_rank3_expandedData_UCL(self):
9435          arg=Data(numarray.array([[[5.0, 2.0, 5.0], [4.0, 5.0, 7.0], [6.0, 3.0, 1.0], [8.0, 2.0, 1.0]], [[5.0, 8.0, 5.0], [6.0, 2.0, 1.0], [3.0, 6.0, 2.0], [8.0, 5.0, 2.0]], [[4.0, 8.0, 5.0], [5.0, 8.0, 7.0], [1.0, 1.0, 7.0], [2.0, 8.0, 3.0]]]),self.functionspace)
9436          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9437          val=msk_val*numarray.array([[[4.0], [3.0], [7.0], [5.0]], [[1.0], [2.0], [8.0], [1.0]]])+(1.-msk_val)*numarray.array([[[7.0], [4.0], [5.0], [8.0]], [[5.0], [3.0], [2.0], [3.0]]])
9438          arg[:2,:,2:]=val
9439          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9440          ref=msk_ref*numarray.array([[[5.0, 2.0, 4.0], [4.0, 5.0, 3.0], [6.0, 3.0, 7.0], [8.0, 2.0, 5.0]], [[5.0, 8.0, 1.0], [6.0, 2.0, 2.0], [3.0, 6.0, 8.0], [8.0, 5.0, 1.0]], [[4.0, 8.0, 5.0], [5.0, 8.0, 7.0], [1.0, 1.0, 7.0], [2.0, 8.0, 3.0]]])+(1.-msk_ref)*numarray.array([[[5.0, 2.0, 7.0], [4.0, 5.0, 4.0], [6.0, 3.0, 5.0], [8.0, 2.0, 8.0]], [[5.0, 8.0, 5.0], [6.0, 2.0, 3.0], [3.0, 6.0, 2.0], [8.0, 5.0, 3.0]], [[4.0, 8.0, 5.0], [5.0, 8.0, 7.0], [1.0, 1.0, 7.0], [2.0, 8.0, 3.0]]])
9441          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9442       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9443       def test_setslice_constData_rank3_array_CLP(self):
9444          arg=Data(numarray.array([[[8.0, 7.0, 3.0], [2.0, 5.0, 3.0], [5.0, 2.0, 5.0], [3.0, 1.0, 6.0]], [[6.0, 1.0, 6.0], [1.0, 2.0, 3.0], [7.0, 8.0, 1.0], [5.0, 6.0, 7.0]], [[4.0, 2.0, 7.0], [3.0, 4.0, 5.0], [4.0, 2.0, 6.0], [5.0, 6.0, 3.0]]]),self.functionspace)
9445          val=numarray.array([[5.0, 4.0], [5.0, 8.0], [7.0, 3.0]])
9446          arg[:,2:,1]=val
9447          ref=Data(numarray.array([[[8.0, 7.0, 3.0], [2.0, 5.0, 3.0], [5.0, 5.0, 5.0], [3.0, 4.0, 6.0]], [[6.0, 1.0, 6.0], [1.0, 2.0, 3.0], [7.0, 5.0, 1.0], [5.0, 8.0, 7.0]], [[4.0, 2.0, 7.0], [3.0, 4.0, 5.0], [4.0, 7.0, 6.0], [5.0, 3.0, 3.0]]]),self.functionspace)
9448          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9449       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9450       def test_setslice_constData_rank3_constData_CLP(self):
9451          arg=Data(numarray.array([[[4.0, 2.0, 7.0], [7.0, 5.0, 5.0], [7.0, 4.0, 6.0], [8.0, 7.0, 8.0]], [[2.0, 5.0, 5.0], [8.0, 8.0, 7.0], [3.0, 5.0, 8.0], [2.0, 1.0, 8.0]], [[7.0, 8.0, 1.0], [7.0, 4.0, 6.0], [2.0, 3.0, 8.0], [2.0, 1.0, 6.0]]]),self.functionspace)
9452          val=Data(numarray.array([[1.0, 1.0], [7.0, 6.0], [1.0, 8.0]]),self.functionspace)
9453          arg[:,2:,1]=val
9454          ref=Data(numarray.array([[[4.0, 2.0, 7.0], [7.0, 5.0, 5.0], [7.0, 1.0, 6.0], [8.0, 1.0, 8.0]], [[2.0, 5.0, 5.0], [8.0, 8.0, 7.0], [3.0, 7.0, 8.0], [2.0, 6.0, 8.0]], [[7.0, 8.0, 1.0], [7.0, 4.0, 6.0], [2.0, 1.0, 8.0], [2.0, 8.0, 6.0]]]),self.functionspace)
9455          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9456       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9457       def test_setslice_constData_rank3_expandedData_CLP(self):
9458          arg=Data(numarray.array([[[7.0, 1.0, 5.0], [2.0, 4.0, 7.0], [1.0, 1.0, 2.0], [2.0, 3.0, 5.0]], [[4.0, 1.0, 7.0], [3.0, 7.0, 6.0], [7.0, 8.0, 6.0], [2.0, 8.0, 5.0]], [[7.0, 6.0, 6.0], [5.0, 8.0, 1.0], [5.0, 4.0, 3.0], [2.0, 3.0, 8.0]]]),self.functionspace)
9459          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9460          val=msk_val*numarray.array([[3.0, 6.0], [6.0, 7.0], [5.0, 5.0]])+(1.-msk_val)*numarray.array([[3.0, 3.0], [1.0, 8.0], [8.0, 1.0]])
9461          arg[:,2:,1]=val
9462          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9463          ref=msk_ref*numarray.array([[[7.0, 1.0, 5.0], [2.0, 4.0, 7.0], [1.0, 3.0, 2.0], [2.0, 6.0, 5.0]], [[4.0, 1.0, 7.0], [3.0, 7.0, 6.0], [7.0, 6.0, 6.0], [2.0, 7.0, 5.0]], [[7.0, 6.0, 6.0], [5.0, 8.0, 1.0], [5.0, 5.0, 3.0], [2.0, 5.0, 8.0]]])+(1.-msk_ref)*numarray.array([[[7.0, 1.0, 5.0], [2.0, 4.0, 7.0], [1.0, 3.0, 2.0], [2.0, 3.0, 5.0]], [[4.0, 1.0, 7.0], [3.0, 7.0, 6.0], [7.0, 1.0, 6.0], [2.0, 8.0, 5.0]], [[7.0, 6.0, 6.0], [5.0, 8.0, 1.0], [5.0, 8.0, 3.0], [2.0, 1.0, 8.0]]])
9464          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9465       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9466       def test_setslice_constData_rank3_array_PRL(self):
9467          arg=Data(numarray.array([[[8.0, 1.0, 5.0], [7.0, 6.0, 7.0], [2.0, 6.0, 8.0], [4.0, 2.0, 2.0]], [[4.0, 8.0, 6.0], [7.0, 3.0, 4.0], [7.0, 8.0, 6.0], [1.0, 3.0, 1.0]], [[1.0, 6.0, 7.0], [7.0, 8.0, 3.0], [4.0, 1.0, 7.0], [4.0, 3.0, 1.0]]]),self.functionspace)
9468          val=numarray.array([[3.0], [4.0]])
9469          arg[1,1:3,2:]=val
9470          ref=Data(numarray.array([[[8.0, 1.0, 5.0], [7.0, 6.0, 7.0], [2.0, 6.0, 8.0], [4.0, 2.0, 2.0]], [[4.0, 8.0, 6.0], [7.0, 3.0, 3.0], [7.0, 8.0, 4.0], [1.0, 3.0, 1.0]], [[1.0, 6.0, 7.0], [7.0, 8.0, 3.0], [4.0, 1.0, 7.0], [4.0, 3.0, 1.0]]]),self.functionspace)
9471          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9472       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9473       def test_setslice_constData_rank3_constData_PRL(self):
9474          arg=Data(numarray.array([[[8.0, 7.0, 1.0], [7.0, 1.0, 5.0], [6.0, 2.0, 7.0], [2.0, 2.0, 6.0]], [[2.0, 7.0, 2.0], [7.0, 1.0, 1.0], [5.0, 7.0, 2.0], [5.0, 6.0, 3.0]], [[2.0, 8.0, 3.0], [1.0, 7.0, 5.0], [1.0, 1.0, 2.0], [4.0, 3.0, 7.0]]]),self.functionspace)
9475          val=Data(numarray.array([[3.0], [4.0]]),self.functionspace)
9476          arg[1,1:3,2:]=val
9477          ref=Data(numarray.array([[[8.0, 7.0, 1.0], [7.0, 1.0, 5.0], [6.0, 2.0, 7.0], [2.0, 2.0, 6.0]], [[2.0, 7.0, 2.0], [7.0, 1.0, 3.0], [5.0, 7.0, 4.0], [5.0, 6.0, 3.0]], [[2.0, 8.0, 3.0], [1.0, 7.0, 5.0], [1.0, 1.0, 2.0], [4.0, 3.0, 7.0]]]),self.functionspace)
9478          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9479       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9480       def test_setslice_constData_rank3_expandedData_PRL(self):
9481          arg=Data(numarray.array([[[5.0, 5.0, 6.0], [8.0, 4.0, 4.0], [8.0, 3.0, 7.0], [2.0, 8.0, 5.0]], [[6.0, 7.0, 6.0], [6.0, 1.0, 4.0], [4.0, 6.0, 3.0], [8.0, 4.0, 6.0]], [[6.0, 7.0, 4.0], [3.0, 1.0, 5.0], [2.0, 4.0, 1.0], [1.0, 4.0, 8.0]]]),self.functionspace)
9482          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9483          val=msk_val*numarray.array([[1.0], [8.0]])+(1.-msk_val)*numarray.array([[6.0], [7.0]])
9484          arg[1,1:3,2:]=val
9485          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9486          ref=msk_ref*numarray.array([[[5.0, 5.0, 6.0], [8.0, 4.0, 4.0], [8.0, 3.0, 7.0], [2.0, 8.0, 5.0]], [[6.0, 7.0, 6.0], [6.0, 1.0, 1.0], [4.0, 6.0, 8.0], [8.0, 4.0, 6.0]], [[6.0, 7.0, 4.0], [3.0, 1.0, 5.0], [2.0, 4.0, 1.0], [1.0, 4.0, 8.0]]])+(1.-msk_ref)*numarray.array([[[5.0, 5.0, 6.0], [8.0, 4.0, 4.0], [8.0, 3.0, 7.0], [2.0, 8.0, 5.0]], [[6.0, 7.0, 6.0], [6.0, 1.0, 6.0], [4.0, 6.0, 7.0], [8.0, 4.0, 6.0]], [[6.0, 7.0, 4.0], [3.0, 1.0, 5.0], [2.0, 4.0, 1.0], [1.0, 4.0, 8.0]]])
9487          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9488       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9489       def test_setslice_constData_rank3_array_RLL(self):
9490          arg=Data(numarray.array([[[8.0, 5.0, 4.0], [5.0, 5.0, 2.0], [5.0, 2.0, 3.0], [5.0, 5.0, 3.0]], [[3.0, 6.0, 7.0], [1.0, 7.0, 8.0], [7.0, 5.0, 7.0], [3.0, 6.0, 7.0]], [[8.0, 5.0, 6.0], [5.0, 3.0, 5.0], [3.0, 2.0, 4.0], [8.0, 7.0, 5.0]]]),self.functionspace)
9491          val=numarray.array([[[8.0], [4.0]]])
9492          arg[1:2,2:,2:]=val
9493          ref=Data(numarray.array([[[8.0, 5.0, 4.0], [5.0, 5.0, 2.0], [5.0, 2.0, 3.0], [5.0, 5.0, 3.0]], [[3.0, 6.0, 7.0], [1.0, 7.0, 8.0], [7.0, 5.0, 8.0], [3.0, 6.0, 4.0]], [[8.0, 5.0, 6.0], [5.0, 3.0, 5.0], [3.0, 2.0, 4.0], [8.0, 7.0, 5.0]]]),self.functionspace)
9494          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9495       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9496       def test_setslice_constData_rank3_constData_RLL(self):
9497          arg=Data(numarray.array([[[8.0, 5.0, 6.0], [3.0, 5.0, 4.0], [2.0, 5.0, 2.0], [6.0, 1.0, 4.0]], [[7.0, 6.0, 2.0], [7.0, 6.0, 8.0], [8.0, 8.0, 7.0], [5.0, 1.0, 4.0]], [[6.0, 6.0, 2.0], [2.0, 6.0, 6.0], [6.0, 7.0, 5.0], [8.0, 1.0, 1.0]]]),self.functionspace)
9498          val=Data(numarray.array([[[6.0], [1.0]]]),self.functionspace)
9499          arg[1:2,2:,2:]=val
9500          ref=Data(numarray.array([[[8.0, 5.0, 6.0], [3.0, 5.0, 4.0], [2.0, 5.0, 2.0], [6.0, 1.0, 4.0]], [[7.0, 6.0, 2.0], [7.0, 6.0, 8.0], [8.0, 8.0, 6.0], [5.0, 1.0, 1.0]], [[6.0, 6.0, 2.0], [2.0, 6.0, 6.0], [6.0, 7.0, 5.0], [8.0, 1.0, 1.0]]]),self.functionspace)
9501          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9502       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9503       def test_setslice_constData_rank3_expandedData_RLL(self):
9504          arg=Data(numarray.array([[[1.0, 2.0, 7.0], [4.0, 6.0, 7.0], [5.0, 6.0, 5.0], [1.0, 3.0, 6.0]], [[7.0, 1.0, 1.0], [8.0, 2.0, 4.0], [3.0, 8.0, 7.0], [1.0, 3.0, 2.0]], [[7.0, 1.0, 2.0], [8.0, 6.0, 5.0], [2.0, 1.0, 1.0], [3.0, 6.0, 1.0]]]),self.functionspace)
9505          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9506          val=msk_val*numarray.array([[[1.0], [5.0]]])+(1.-msk_val)*numarray.array([[[1.0], [7.0]]])
9507          arg[1:2,2:,2:]=val
9508          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9509          ref=msk_ref*numarray.array([[[1.0, 2.0, 7.0], [4.0, 6.0, 7.0], [5.0, 6.0, 5.0], [1.0, 3.0, 6.0]], [[7.0, 1.0, 1.0], [8.0, 2.0, 4.0], [3.0, 8.0, 1.0], [1.0, 3.0, 5.0]], [[7.0, 1.0, 2.0], [8.0, 6.0, 5.0], [2.0, 1.0, 1.0], [3.0, 6.0, 1.0]]])+(1.-msk_ref)*numarray.array([[[1.0, 2.0, 7.0], [4.0, 6.0, 7.0], [5.0, 6.0, 5.0], [1.0, 3.0, 6.0]], [[7.0, 1.0, 1.0], [8.0, 2.0, 4.0], [3.0, 8.0, 1.0], [1.0, 3.0, 7.0]], [[7.0, 1.0, 2.0], [8.0, 6.0, 5.0], [2.0, 1.0, 1.0], [3.0, 6.0, 1.0]]])
9510          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9511       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9512       def test_setslice_constData_rank3_array_PPL(self):
9513          arg=Data(numarray.array([[[4.0, 8.0, 3.0], [8.0, 6.0, 3.0], [4.0, 6.0, 4.0], [2.0, 6.0, 3.0]], [[7.0, 6.0, 2.0], [2.0, 5.0, 8.0], [6.0, 4.0, 8.0], [5.0, 5.0, 7.0]], [[3.0, 8.0, 1.0], [8.0, 4.0, 5.0], [8.0, 6.0, 5.0], [2.0, 6.0, 1.0]]]),self.functionspace)
9514          val=numarray.array([4.0])
9515          arg[1,2,2:]=val
9516          ref=Data(numarray.array([[[4.0, 8.0, 3.0], [8.0, 6.0, 3.0], [4.0, 6.0, 4.0], [2.0, 6.0, 3.0]], [[7.0, 6.0, 2.0], [2.0, 5.0, 8.0], [6.0, 4.0, 4.0], [5.0, 5.0, 7.0]], [[3.0, 8.0, 1.0], [8.0, 4.0, 5.0], [8.0, 6.0, 5.0], [2.0, 6.0, 1.0]]]),self.functionspace)
9517          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9518       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9519       def test_setslice_constData_rank3_constData_PPL(self):
9520          arg=Data(numarray.array([[[7.0, 5.0, 7.0], [3.0, 4.0, 4.0], [6.0, 6.0, 4.0], [1.0, 5.0, 8.0]], [[7.0, 2.0, 7.0], [7.0, 4.0, 4.0], [1.0, 1.0, 8.0], [7.0, 1.0, 4.0]], [[6.0, 5.0, 5.0], [1.0, 1.0, 5.0], [2.0, 6.0, 3.0], [8.0, 6.0, 7.0]]]),self.functionspace)
9521          val=Data(numarray.array([1.0]),self.functionspace)
9522          arg[1,2,2:]=val
9523          ref=Data(numarray.array([[[7.0, 5.0, 7.0], [3.0, 4.0, 4.0], [6.0, 6.0, 4.0], [1.0, 5.0, 8.0]], [[7.0, 2.0, 7.0], [7.0, 4.0, 4.0], [1.0, 1.0, 1.0], [7.0, 1.0, 4.0]], [[6.0, 5.0, 5.0], [1.0, 1.0, 5.0], [2.0, 6.0, 3.0], [8.0, 6.0, 7.0]]]),self.functionspace)
9524          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9525       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9526       def test_setslice_constData_rank3_expandedData_PPL(self):
9527          arg=Data(numarray.array([[[4.0, 2.0, 1.0], [1.0, 6.0, 7.0], [1.0, 2.0, 7.0], [1.0, 3.0, 4.0]], [[7.0, 7.0, 7.0], [4.0, 1.0, 3.0], [7.0, 7.0, 3.0], [1.0, 3.0, 8.0]], [[7.0, 4.0, 1.0], [5.0, 5.0, 8.0], [2.0, 6.0, 3.0], [4.0, 4.0, 8.0]]]),self.functionspace)
9528          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9529          val=msk_val*numarray.array([3.0])+(1.-msk_val)*numarray.array([4.0])
9530          arg[1,2,2:]=val
9531          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9532          ref=msk_ref*numarray.array([[[4.0, 2.0, 1.0], [1.0, 6.0, 7.0], [1.0, 2.0, 7.0], [1.0, 3.0, 4.0]], [[7.0, 7.0, 7.0], [4.0, 1.0, 3.0], [7.0, 7.0, 3.0], [1.0, 3.0, 8.0]], [[7.0, 4.0, 1.0], [5.0, 5.0, 8.0], [2.0, 6.0, 3.0], [4.0, 4.0, 8.0]]])+(1.-msk_ref)*numarray.array([[[4.0, 2.0, 1.0], [1.0, 6.0, 7.0], [1.0, 2.0, 7.0], [1.0, 3.0, 4.0]], [[7.0, 7.0, 7.0], [4.0, 1.0, 3.0], [7.0, 7.0, 4.0], [1.0, 3.0, 8.0]], [[7.0, 4.0, 1.0], [5.0, 5.0, 8.0], [2.0, 6.0, 3.0], [4.0, 4.0, 8.0]]])
9533          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9534       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9535       def test_setslice_constData_rank3_array_RPN(self):
9536          arg=Data(numarray.array([[[5.0, 7.0, 7.0], [4.0, 2.0, 6.0], [8.0, 5.0, 7.0], [6.0, 6.0, 4.0]], [[3.0, 5.0, 1.0], [1.0, 8.0, 6.0], [2.0, 2.0, 4.0], [1.0, 1.0, 2.0]], [[1.0, 5.0, 3.0], [3.0, 1.0, 6.0], [8.0, 3.0, 7.0], [7.0, 1.0, 1.0]]]),self.functionspace)
9537          val=numarray.array([[5.0, 5.0, 6.0]])
9538          arg[1:2,2]=val
9539          ref=Data(numarray.array([[[5.0, 7.0, 7.0], [4.0, 2.0, 6.0], [8.0, 5.0, 7.0], [6.0, 6.0, 4.0]], [[3.0, 5.0, 1.0], [1.0, 8.0, 6.0], [5.0, 5.0, 6.0], [1.0, 1.0, 2.0]], [[1.0, 5.0, 3.0], [3.0, 1.0, 6.0], [8.0, 3.0, 7.0], [7.0, 1.0, 1.0]]]),self.functionspace)
9540          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9541       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9542       def test_setslice_constData_rank3_constData_RPN(self):
9543          arg=Data(numarray.array([[[2.0, 4.0, 4.0], [1.0, 4.0, 7.0], [3.0, 6.0, 2.0], [6.0, 4.0, 7.0]], [[6.0, 4.0, 5.0], [8.0, 7.0, 3.0], [6.0, 6.0, 3.0], [5.0, 5.0, 3.0]], [[5.0, 5.0, 4.0], [5.0, 6.0, 1.0], [2.0, 5.0, 3.0], [7.0, 8.0, 7.0]]]),self.functionspace)
9544          val=Data(numarray.array([[8.0, 2.0, 1.0]]),self.functionspace)
9545          arg[1:2,2]=val
9546          ref=Data(numarray.array([[[2.0, 4.0, 4.0], [1.0, 4.0, 7.0], [3.0, 6.0, 2.0], [6.0, 4.0, 7.0]], [[6.0, 4.0, 5.0], [8.0, 7.0, 3.0], [8.0, 2.0, 1.0], [5.0, 5.0, 3.0]], [[5.0, 5.0, 4.0], [5.0, 6.0, 1.0], [2.0, 5.0, 3.0], [7.0, 8.0, 7.0]]]),self.functionspace)
9547          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9548       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9549       def test_setslice_constData_rank3_expandedData_RPN(self):
9550          arg=Data(numarray.array([[[1.0, 4.0, 5.0], [2.0, 2.0, 2.0], [6.0, 2.0, 1.0], [1.0, 2.0, 1.0]], [[5.0, 2.0, 3.0], [1.0, 5.0, 4.0], [5.0, 5.0, 7.0], [7.0, 7.0, 8.0]], [[7.0, 3.0, 7.0], [5.0, 2.0, 5.0], [7.0, 1.0, 1.0], [7.0, 8.0, 4.0]]]),self.functionspace)
9551          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9552          val=msk_val*numarray.array([[7.0, 7.0, 2.0]])+(1.-msk_val)*numarray.array([[5.0, 1.0, 5.0]])
9553          arg[1:2,2]=val
9554          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9555          ref=msk_ref*numarray.array([[[1.0, 4.0, 5.0], [2.0, 2.0, 2.0], [6.0, 2.0, 1.0], [1.0, 2.0, 1.0]], [[5.0, 2.0, 3.0], [1.0, 5.0, 4.0], [7.0, 7.0, 2.0], [7.0, 7.0, 8.0]], [[7.0, 3.0, 7.0], [5.0, 2.0, 5.0], [7.0, 1.0, 1.0], [7.0, 8.0, 4.0]]])+(1.-msk_ref)*numarray.array([[[1.0, 4.0, 5.0], [2.0, 2.0, 2.0], [6.0, 2.0, 1.0], [1.0, 2.0, 1.0]], [[5.0, 2.0, 3.0], [1.0, 5.0, 4.0], [5.0, 1.0, 5.0], [7.0, 7.0, 8.0]], [[7.0, 3.0, 7.0], [5.0, 2.0, 5.0], [7.0, 1.0, 1.0], [7.0, 8.0, 4.0]]])
9556          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9557       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9558       def test_setslice_constData_rank3_array_CUR(self):
9559          arg=Data(numarray.array([[[3.0, 5.0, 2.0], [4.0, 4.0, 7.0], [3.0, 3.0, 4.0], [7.0, 3.0, 4.0]], [[1.0, 8.0, 7.0], [6.0, 1.0, 6.0], [2.0, 8.0, 3.0], [1.0, 4.0, 5.0]], [[8.0, 3.0, 7.0], [4.0, 6.0, 6.0], [3.0, 8.0, 3.0], [3.0, 2.0, 1.0]]]),self.functionspace)
9560          val=numarray.array([[[5.0], [2.0], [4.0]], [[5.0], [3.0], [6.0]], [[3.0], [8.0], [2.0]]])
9561          arg[:,:3,1:2]=val
9562          ref=Data(numarray.array([[[3.0, 5.0, 2.0], [4.0, 2.0, 7.0], [3.0, 4.0, 4.0], [7.0, 3.0, 4.0]], [[1.0, 5.0, 7.0], [6.0, 3.0, 6.0], [2.0, 6.0, 3.0], [1.0, 4.0, 5.0]], [[8.0, 3.0, 7.0], [4.0, 8.0, 6.0], [3.0, 2.0, 3.0], [3.0, 2.0, 1.0]]]),self.functionspace)
9563          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9564       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9565       def test_setslice_constData_rank3_constData_CUR(self):
9566          arg=Data(numarray.array([[[4.0, 2.0, 2.0], [8.0, 1.0, 4.0], [8.0, 3.0, 6.0], [3.0, 8.0, 2.0]], [[3.0, 1.0, 2.0], [5.0, 8.0, 3.0], [4.0, 5.0, 2.0], [1.0, 2.0, 5.0]], [[7.0, 8.0, 2.0], [8.0, 7.0, 1.0], [2.0, 6.0, 5.0], [4.0, 7.0, 5.0]]]),self.functionspace)
9567          val=Data(numarray.array([[[6.0], [8.0], [7.0]], [[3.0], [1.0], [3.0]], [[6.0], [7.0], [5.0]]]),self.functionspace)
9568          arg[:,:3,1:2]=val
9569          ref=Data(numarray.array([[[4.0, 6.0, 2.0], [8.0, 8.0, 4.0], [8.0, 7.0, 6.0], [3.0, 8.0, 2.0]], [[3.0, 3.0, 2.0], [5.0, 1.0, 3.0], [4.0, 3.0, 2.0], [1.0, 2.0, 5.0]], [[7.0, 6.0, 2.0], [8.0, 7.0, 1.0], [2.0, 5.0, 5.0], [4.0, 7.0, 5.0]]]),self.functionspace)
9570          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9571       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9572       def test_setslice_constData_rank3_expandedData_CUR(self):
9573          arg=Data(numarray.array([[[1.0, 5.0, 4.0], [8.0, 2.0, 3.0], [1.0, 3.0, 5.0], [5.0, 2.0, 4.0]], [[7.0, 8.0, 2.0], [4.0, 8.0, 8.0], [3.0, 6.0, 7.0], [2.0, 5.0, 2.0]], [[5.0, 2.0, 4.0], [6.0, 8.0, 2.0], [3.0, 2.0, 5.0], [5.0, 1.0, 2.0]]]),self.functionspace)
9574          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9575          val=msk_val*numarray.array([[[3.0], [7.0], [7.0]], [[1.0], [3.0], [2.0]], [[2.0], [7.0], [8.0]]])+(1.-msk_val)*numarray.array([[[5.0], [5.0], [2.0]], [[3.0], [1.0], [7.0]], [[3.0], [3.0], [4.0]]])
9576          arg[:,:3,1:2]=val
9577          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9578          ref=msk_ref*numarray.array([[[1.0, 3.0, 4.0], [8.0, 7.0, 3.0], [1.0, 7.0, 5.0], [5.0, 2.0, 4.0]], [[7.0, 1.0, 2.0], [4.0, 3.0, 8.0], [3.0, 2.0, 7.0], [2.0, 5.0, 2.0]], [[5.0, 2.0, 4.0], [6.0, 7.0, 2.0], [3.0, 8.0, 5.0], [5.0, 1.0, 2.0]]])+(1.-msk_ref)*numarray.array([[[1.0, 5.0, 4.0], [8.0, 5.0, 3.0], [1.0, 2.0, 5.0], [5.0, 2.0, 4.0]], [[7.0, 3.0, 2.0], [4.0, 1.0, 8.0], [3.0, 7.0, 7.0], [2.0, 5.0, 2.0]], [[5.0, 3.0, 4.0], [6.0, 3.0, 2.0], [3.0, 4.0, 5.0], [5.0, 1.0, 2.0]]])
9579          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9580       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9581       def test_setslice_constData_rank3_array_LRN(self):
9582          arg=Data(numarray.array([[[8.0, 6.0, 1.0], [2.0, 4.0, 4.0], [3.0, 5.0, 3.0], [5.0, 8.0, 6.0]], [[1.0, 8.0, 4.0], [7.0, 3.0, 1.0], [5.0, 8.0, 6.0], [2.0, 2.0, 1.0]], [[1.0, 8.0, 7.0], [1.0, 8.0, 6.0], [6.0, 4.0, 1.0], [7.0, 4.0, 4.0]]]),self.functionspace)
9583          val=numarray.array([[[7.0, 1.0, 1.0], [8.0, 8.0, 1.0]]])
9584          arg[2:,1:3]=val
9585          ref=Data(numarray.array([[[8.0, 6.0, 1.0], [2.0, 4.0, 4.0], [3.0, 5.0, 3.0], [5.0, 8.0, 6.0]], [[1.0, 8.0, 4.0], [7.0, 3.0, 1.0], [5.0, 8.0, 6.0], [2.0, 2.0, 1.0]], [[1.0, 8.0, 7.0], [7.0, 1.0, 1.0], [8.0, 8.0, 1.0], [7.0, 4.0, 4.0]]]),self.functionspace)
9586          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9587       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9588       def test_setslice_constData_rank3_constData_LRN(self):
9589          arg=Data(numarray.array([[[1.0, 3.0, 8.0], [6.0, 4.0, 5.0], [2.0, 4.0, 8.0], [5.0, 8.0, 7.0]], [[4.0, 1.0, 4.0], [5.0, 3.0, 8.0], [8.0, 5.0, 1.0], [6.0, 6.0, 3.0]], [[4.0, 4.0, 8.0], [5.0, 6.0, 4.0], [1.0, 1.0, 2.0], [2.0, 3.0, 3.0]]]),self.functionspace)
9590          val=Data(numarray.array([[[2.0, 6.0, 7.0], [2.0, 4.0, 3.0]]]),self.functionspace)
9591          arg[2:,1:3]=val
9592          ref=Data(numarray.array([[[1.0, 3.0, 8.0], [6.0, 4.0, 5.0], [2.0, 4.0, 8.0], [5.0, 8.0, 7.0]], [[4.0, 1.0, 4.0], [5.0, 3.0, 8.0], [8.0, 5.0, 1.0], [6.0, 6.0, 3.0]], [[4.0, 4.0, 8.0], [2.0, 6.0, 7.0], [2.0, 4.0, 3.0], [2.0, 3.0, 3.0]]]),self.functionspace)
9593          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9594       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9595       def test_setslice_constData_rank3_expandedData_LRN(self):
9596          arg=Data(numarray.array([[[5.0, 1.0, 3.0], [5.0, 3.0, 1.0], [5.0, 5.0, 6.0], [2.0, 5.0, 6.0]], [[6.0, 1.0, 1.0], [4.0, 8.0, 6.0], [5.0, 2.0, 8.0], [5.0, 3.0, 6.0]], [[4.0, 1.0, 8.0], [2.0, 2.0, 7.0], [4.0, 1.0, 7.0], [8.0, 4.0, 6.0]]]),self.functionspace)
9597          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9598          val=msk_val*numarray.array([[[3.0, 7.0, 5.0], [7.0, 2.0, 1.0]]])+(1.-msk_val)*numarray.array([[[4.0, 1.0, 6.0], [5.0, 3.0, 6.0]]])
9599          arg[2:,1:3]=val
9600          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9601          ref=msk_ref*numarray.array([[[5.0, 1.0, 3.0], [5.0, 3.0, 1.0], [5.0, 5.0, 6.0], [2.0, 5.0, 6.0]], [[6.0, 1.0, 1.0], [4.0, 8.0, 6.0], [5.0, 2.0, 8.0], [5.0, 3.0, 6.0]], [[4.0, 1.0, 8.0], [3.0, 7.0, 5.0], [7.0, 2.0, 1.0], [8.0, 4.0, 6.0]]])+(1.-msk_ref)*numarray.array([[[5.0, 1.0, 3.0], [5.0, 3.0, 1.0], [5.0, 5.0, 6.0], [2.0, 5.0, 6.0]], [[6.0, 1.0, 1.0], [4.0, 8.0, 6.0], [5.0, 2.0, 8.0], [5.0, 3.0, 6.0]], [[4.0, 1.0, 8.0], [4.0, 1.0, 6.0], [5.0, 3.0, 6.0], [8.0, 4.0, 6.0]]])
9602          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9603       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9604       def test_setslice_constData_rank3_array_PCN(self):
9605          arg=Data(numarray.array([[[6.0, 3.0, 8.0], [3.0, 7.0, 1.0], [5.0, 2.0, 3.0], [4.0, 3.0, 4.0]], [[1.0, 4.0, 1.0], [7.0, 1.0, 2.0], [3.0, 8.0, 1.0], [4.0, 6.0, 2.0]], [[3.0, 8.0, 6.0], [3.0, 2.0, 3.0], [3.0, 4.0, 4.0], [5.0, 7.0, 7.0]]]),self.functionspace)
9606          val=numarray.array([[8.0, 8.0, 2.0], [5.0, 6.0, 1.0], [7.0, 4.0, 7.0], [8.0, 7.0, 2.0]])
9607          arg[1,:]=val
9608          ref=Data(numarray.array([[[6.0, 3.0, 8.0], [3.0, 7.0, 1.0], [5.0, 2.0, 3.0], [4.0, 3.0, 4.0]], [[8.0, 8.0, 2.0], [5.0, 6.0, 1.0], [7.0, 4.0, 7.0], [8.0, 7.0, 2.0]], [[3.0, 8.0, 6.0], [3.0, 2.0, 3.0], [3.0, 4.0, 4.0], [5.0, 7.0, 7.0]]]),self.functionspace)
9609          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9610       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9611       def test_setslice_constData_rank3_constData_PCN(self):
9612          arg=Data(numarray.array([[[8.0, 7.0, 1.0], [4.0, 3.0, 1.0], [6.0, 4.0, 7.0], [6.0, 8.0, 7.0]], [[7.0, 6.0, 3.0], [6.0, 3.0, 5.0], [6.0, 4.0, 6.0], [8.0, 1.0, 6.0]], [[7.0, 5.0, 7.0], [1.0, 4.0, 6.0], [5.0, 8.0, 8.0], [7.0, 7.0, 3.0]]]),self.functionspace)
9613          val=Data(numarray.array([[2.0, 4.0, 7.0], [8.0, 2.0, 3.0], [5.0, 8.0, 8.0], [4.0, 6.0, 6.0]]),self.functionspace)
9614          arg[1,:]=val
9615          ref=Data(numarray.array([[[8.0, 7.0, 1.0], [4.0, 3.0, 1.0], [6.0, 4.0, 7.0], [6.0, 8.0, 7.0]], [[2.0, 4.0, 7.0], [8.0, 2.0, 3.0], [5.0, 8.0, 8.0], [4.0, 6.0, 6.0]], [[7.0, 5.0, 7.0], [1.0, 4.0, 6.0], [5.0, 8.0, 8.0], [7.0, 7.0, 3.0]]]),self.functionspace)
9616          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9617       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9618       def test_setslice_constData_rank3_expandedData_PCN(self):
9619          arg=Data(numarray.array([[[1.0, 5.0, 4.0], [7.0, 4.0, 6.0], [4.0, 6.0, 2.0], [5.0, 3.0, 4.0]], [[2.0, 1.0, 1.0], [2.0, 7.0, 7.0], [2.0, 7.0, 5.0], [4.0, 7.0, 5.0]], [[8.0, 1.0, 1.0], [6.0, 1.0, 5.0], [7.0, 1.0, 2.0], [7.0, 5.0, 1.0]]]),self.functionspace)
9620          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9621          val=msk_val*numarray.array([[6.0, 4.0, 6.0], [4.0, 5.0, 7.0], [3.0, 6.0, 4.0], [8.0, 6.0, 7.0]])+(1.-msk_val)*numarray.array([[6.0, 7.0, 3.0], [6.0, 3.0, 8.0], [2.0, 3.0, 8.0], [4.0, 1.0, 5.0]])
9622          arg[1,:]=val
9623          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9624          ref=msk_ref*numarray.array([[[1.0, 5.0, 4.0], [7.0, 4.0, 6.0], [4.0, 6.0, 2.0], [5.0, 3.0, 4.0]], [[6.0, 4.0, 6.0], [4.0, 5.0, 7.0], [3.0, 6.0, 4.0], [8.0, 6.0, 7.0]], [[8.0, 1.0, 1.0], [6.0, 1.0, 5.0], [7.0, 1.0, 2.0], [7.0, 5.0, 1.0]]])+(1.-msk_ref)*numarray.array([[[1.0, 5.0, 4.0], [7.0, 4.0, 6.0], [4.0, 6.0, 2.0], [5.0, 3.0, 4.0]], [[6.0, 7.0, 3.0], [6.0, 3.0, 8.0], [2.0, 3.0, 8.0], [4.0, 1.0, 5.0]], [[8.0, 1.0, 1.0], [6.0, 1.0, 5.0], [7.0, 1.0, 2.0], [7.0, 5.0, 1.0]]])
9625          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9626       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9627       def test_setslice_constData_rank3_array_PRR(self):
9628          arg=Data(numarray.array([[[4.0, 5.0, 2.0], [6.0, 4.0, 3.0], [5.0, 8.0, 8.0], [2.0, 4.0, 1.0]], [[2.0, 4.0, 5.0], [3.0, 1.0, 7.0], [5.0, 5.0, 1.0], [6.0, 7.0, 1.0]], [[3.0, 4.0, 8.0], [7.0, 3.0, 5.0], [2.0, 7.0, 2.0], [8.0, 2.0, 6.0]]]),self.functionspace)
9629          val=numarray.array([[6.0], [6.0]])
9630          arg[1,1:3,1:2]=val
9631          ref=Data(numarray.array([[[4.0, 5.0, 2.0], [6.0, 4.0, 3.0], [5.0, 8.0, 8.0], [2.0, 4.0, 1.0]], [[2.0, 4.0, 5.0], [3.0, 6.0, 7.0], [5.0, 6.0, 1.0], [6.0, 7.0, 1.0]], [[3.0, 4.0, 8.0], [7.0, 3.0, 5.0], [2.0, 7.0, 2.0], [8.0, 2.0, 6.0]]]),self.functionspace)
9632          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9633       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9634       def test_setslice_constData_rank3_constData_PRR(self):
9635          arg=Data(numarray.array([[[3.0, 8.0, 1.0], [8.0, 5.0, 6.0], [3.0, 6.0, 4.0], [8.0, 2.0, 2.0]], [[4.0, 4.0, 6.0], [7.0, 4.0, 3.0], [2.0, 1.0, 8.0], [3.0, 3.0, 3.0]], [[4.0, 7.0, 7.0], [3.0, 4.0, 6.0], [4.0, 3.0, 4.0], [7.0, 6.0, 3.0]]]),self.functionspace)
9636          val=Data(numarray.array([[8.0], [2.0]]),self.functionspace)
9637          arg[1,1:3,1:2]=val
9638          ref=Data(numarray.array([[[3.0, 8.0, 1.0], [8.0, 5.0, 6.0], [3.0, 6.0, 4.0], [8.0, 2.0, 2.0]], [[4.0, 4.0, 6.0], [7.0, 8.0, 3.0], [2.0, 2.0, 8.0], [3.0, 3.0, 3.0]], [[4.0, 7.0, 7.0], [3.0, 4.0, 6.0], [4.0, 3.0, 4.0], [7.0, 6.0, 3.0]]]),self.functionspace)
9639          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9640       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9641       def test_setslice_constData_rank3_expandedData_PRR(self):
9642          arg=Data(numarray.array([[[8.0, 1.0, 1.0], [4.0, 2.0, 3.0], [6.0, 7.0, 7.0], [4.0, 2.0, 4.0]], [[1.0, 3.0, 4.0], [2.0, 5.0, 4.0], [8.0, 2.0, 5.0], [5.0, 4.0, 3.0]], [[3.0, 6.0, 8.0], [4.0, 2.0, 7.0], [5.0, 5.0, 2.0], [7.0, 4.0, 8.0]]]),self.functionspace)
9643          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9644          val=msk_val*numarray.array([[5.0], [5.0]])+(1.-msk_val)*numarray.array([[8.0], [8.0]])
9645          arg[1,1:3,1:2]=val
9646          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9647          ref=msk_ref*numarray.array([[[8.0, 1.0, 1.0], [4.0, 2.0, 3.0], [6.0, 7.0, 7.0], [4.0, 2.0, 4.0]], [[1.0, 3.0, 4.0], [2.0, 5.0, 4.0], [8.0, 5.0, 5.0], [5.0, 4.0, 3.0]], [[3.0, 6.0, 8.0], [4.0, 2.0, 7.0], [5.0, 5.0, 2.0], [7.0, 4.0, 8.0]]])+(1.-msk_ref)*numarray.array([[[8.0, 1.0, 1.0], [4.0, 2.0, 3.0], [6.0, 7.0, 7.0], [4.0, 2.0, 4.0]], [[1.0, 3.0, 4.0], [2.0, 8.0, 4.0], [8.0, 8.0, 5.0], [5.0, 4.0, 3.0]], [[3.0, 6.0, 8.0], [4.0, 2.0, 7.0], [5.0, 5.0, 2.0], [7.0, 4.0, 8.0]]])
9648          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9649       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9650       def test_setslice_constData_rank3_array_PRN(self):
9651          arg=Data(numarray.array([[[3.0, 8.0, 1.0], [8.0, 2.0, 4.0], [2.0, 3.0, 5.0], [8.0, 5.0, 3.0]], [[1.0, 8.0, 4.0], [4.0, 6.0, 7.0], [2.0, 5.0, 7.0], [2.0, 1.0, 8.0]], [[6.0, 6.0, 8.0], [5.0, 4.0, 7.0], [6.0, 3.0, 5.0], [3.0, 3.0, 3.0]]]),self.functionspace)
9652          val=numarray.array([[3.0, 8.0, 4.0], [3.0, 6.0, 3.0]])
9653          arg[1,1:3]=val
9654          ref=Data(numarray.array([[[3.0, 8.0, 1.0], [8.0, 2.0, 4.0], [2.0, 3.0, 5.0], [8.0, 5.0, 3.0]], [[1.0, 8.0, 4.0], [3.0, 8.0, 4.0], [3.0, 6.0, 3.0], [2.0, 1.0, 8.0]], [[6.0, 6.0, 8.0], [5.0, 4.0, 7.0], [6.0, 3.0, 5.0], [3.0, 3.0, 3.0]]]),self.functionspace)
9655          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9656       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9657       def test_setslice_constData_rank3_constData_PRN(self):
9658          arg=Data(numarray.array([[[6.0, 3.0, 6.0], [1.0, 1.0, 1.0], [5.0, 3.0, 3.0], [4.0, 6.0, 6.0]], [[1.0, 1.0, 6.0], [5.0, 4.0, 7.0], [8.0, 6.0, 3.0], [4.0, 5.0, 6.0]], [[3.0, 1.0, 5.0], [8.0, 6.0, 1.0], [1.0, 7.0, 3.0], [4.0, 3.0, 6.0]]]),self.functionspace)
9659          val=Data(numarray.array([[6.0, 2.0, 5.0], [4.0, 2.0, 1.0]]),self.functionspace)
9660          arg[1,1:3]=val
9661          ref=Data(numarray.array([[[6.0, 3.0, 6.0], [1.0, 1.0, 1.0], [5.0, 3.0, 3.0], [4.0, 6.0, 6.0]], [[1.0, 1.0, 6.0], [6.0, 2.0, 5.0], [4.0, 2.0, 1.0], [4.0, 5.0, 6.0]], [[3.0, 1.0, 5.0], [8.0, 6.0, 1.0], [1.0, 7.0, 3.0], [4.0, 3.0, 6.0]]]),self.functionspace)
9662          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9663       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9664       def test_setslice_constData_rank3_expandedData_PRN(self):
9665          arg=Data(numarray.array([[[6.0, 3.0, 3.0], [5.0, 7.0, 7.0], [5.0, 1.0, 1.0], [5.0, 6.0, 1.0]], [[6.0, 7.0, 3.0], [2.0, 2.0, 3.0], [4.0, 3.0, 6.0], [2.0, 1.0, 3.0]], [[4.0, 6.0, 6.0], [1.0, 3.0, 2.0], [7.0, 5.0, 4.0], [1.0, 5.0, 4.0]]]),self.functionspace)
9666          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9667          val=msk_val*numarray.array([[2.0, 7.0, 6.0], [1.0, 5.0, 1.0]])+(1.-msk_val)*numarray.array([[4.0, 7.0, 1.0], [4.0, 2.0, 4.0]])
9668          arg[1,1:3]=val
9669          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9670          ref=msk_ref*numarray.array([[[6.0, 3.0, 3.0], [5.0, 7.0, 7.0], [5.0, 1.0, 1.0], [5.0, 6.0, 1.0]], [[6.0, 7.0, 3.0], [2.0, 7.0, 6.0], [1.0, 5.0, 1.0], [2.0, 1.0, 3.0]], [[4.0, 6.0, 6.0], [1.0, 3.0, 2.0], [7.0, 5.0, 4.0], [1.0, 5.0, 4.0]]])+(1.-msk_ref)*numarray.array([[[6.0, 3.0, 3.0], [5.0, 7.0, 7.0], [5.0, 1.0, 1.0], [5.0, 6.0, 1.0]], [[6.0, 7.0, 3.0], [4.0, 7.0, 1.0], [4.0, 2.0, 4.0], [2.0, 1.0, 3.0]], [[4.0, 6.0, 6.0], [1.0, 3.0, 2.0], [7.0, 5.0, 4.0], [1.0, 5.0, 4.0]]])
9671          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9672       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9673       def test_setslice_constData_rank3_array_RCN(self):
9674          arg=Data(numarray.array([[[1.0, 8.0, 6.0], [5.0, 5.0, 7.0], [2.0, 4.0, 8.0], [2.0, 3.0, 2.0]], [[1.0, 1.0, 6.0], [7.0, 7.0, 8.0], [5.0, 5.0, 2.0], [8.0, 8.0, 8.0]], [[6.0, 8.0, 1.0], [1.0, 4.0, 8.0], [5.0, 6.0, 1.0], [6.0, 2.0, 5.0]]]),self.functionspace)
9675          val=numarray.array([[[3.0, 3.0, 8.0], [2.0, 8.0, 8.0], [2.0, 3.0, 1.0], [2.0, 6.0, 1.0]]])
9676          arg[1:2,:]=val
9677          ref=Data(numarray.array([[[1.0, 8.0, 6.0], [5.0, 5.0, 7.0], [2.0, 4.0, 8.0], [2.0, 3.0, 2.0]], [[3.0, 3.0, 8.0], [2.0, 8.0, 8.0], [2.0, 3.0, 1.0], [2.0, 6.0, 1.0]], [[6.0, 8.0, 1.0], [1.0, 4.0, 8.0], [5.0, 6.0, 1.0], [6.0, 2.0, 5.0]]]),self.functionspace)
9678          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9679       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9680       def test_setslice_constData_rank3_constData_RCN(self):
9681          arg=Data(numarray.array([[[1.0, 7.0, 7.0], [2.0, 1.0, 2.0], [1.0, 2.0, 6.0], [2.0, 8.0, 6.0]], [[5.0, 6.0, 1.0], [3.0, 4.0, 8.0], [6.0, 7.0, 4.0], [6.0, 4.0, 4.0]], [[4.0, 1.0, 6.0], [1.0, 6.0, 7.0], [8.0, 4.0, 1.0], [8.0, 4.0, 1.0]]]),self.functionspace)
9682          val=Data(numarray.array([[[5.0, 1.0, 7.0], [6.0, 8.0, 6.0], [6.0, 6.0, 7.0], [5.0, 5.0, 8.0]]]),self.functionspace)
9683          arg[1:2,:]=val
9684          ref=Data(numarray.array([[[1.0, 7.0, 7.0], [2.0, 1.0, 2.0], [1.0, 2.0, 6.0], [2.0, 8.0, 6.0]], [[5.0, 1.0, 7.0], [6.0, 8.0, 6.0], [6.0, 6.0, 7.0], [5.0, 5.0, 8.0]], [[4.0, 1.0, 6.0], [1.0, 6.0, 7.0], [8.0, 4.0, 1.0], [8.0, 4.0, 1.0]]]),self.functionspace)
9685          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9686       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9687       def test_setslice_constData_rank3_expandedData_RCN(self):
9688          arg=Data(numarray.array([[[5.0, 3.0, 7.0], [5.0, 7.0, 1.0], [3.0, 7.0, 8.0], [2.0, 1.0, 8.0]], [[3.0, 8.0, 8.0], [3.0, 8.0, 4.0], [4.0, 4.0, 2.0], [3.0, 7.0, 2.0]], [[4.0, 3.0, 3.0], [4.0, 4.0, 7.0], [4.0, 5.0, 8.0], [1.0, 4.0, 4.0]]]),self.functionspace)
9689          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9690          val=msk_val*numarray.array([[[6.0, 1.0, 2.0], [3.0, 6.0, 6.0], [8.0, 5.0, 3.0], [2.0, 5.0, 3.0]]])+(1.-msk_val)*numarray.array([[[3.0, 3.0, 3.0], [8.0, 7.0, 4.0], [1.0, 3.0, 6.0], [1.0, 8.0, 4.0]]])
9691          arg[1:2,:]=val
9692          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9693          ref=msk_ref*numarray.array([[[5.0, 3.0, 7.0], [5.0, 7.0, 1.0], [3.0, 7.0, 8.0], [2.0, 1.0, 8.0]], [[6.0, 1.0, 2.0], [3.0, 6.0, 6.0], [8.0, 5.0, 3.0], [2.0, 5.0, 3.0]], [[4.0, 3.0, 3.0], [4.0, 4.0, 7.0], [4.0, 5.0, 8.0], [1.0, 4.0, 4.0]]])+(1.-msk_ref)*numarray.array([[[5.0, 3.0, 7.0], [5.0, 7.0, 1.0], [3.0, 7.0, 8.0], [2.0, 1.0, 8.0]], [[3.0, 3.0, 3.0], [8.0, 7.0, 4.0], [1.0, 3.0, 6.0], [1.0, 8.0, 4.0]], [[4.0, 3.0, 3.0], [4.0, 4.0, 7.0], [4.0, 5.0, 8.0], [1.0, 4.0, 4.0]]])
9694          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9695       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9696       def test_setslice_constData_rank3_array_UUN(self):
9697          arg=Data(numarray.array([[[2.0, 8.0, 2.0], [8.0, 2.0, 4.0], [7.0, 6.0, 6.0], [8.0, 1.0, 3.0]], [[1.0, 5.0, 2.0], [7.0, 6.0, 6.0], [4.0, 5.0, 7.0], [4.0, 2.0, 5.0]], [[4.0, 1.0, 6.0], [2.0, 1.0, 4.0], [3.0, 2.0, 4.0], [3.0, 5.0, 4.0]]]),self.functionspace)
9698          val=numarray.array([[[8.0, 1.0, 4.0], [4.0, 6.0, 7.0], [2.0, 4.0, 2.0]], [[8.0, 8.0, 8.0], [6.0, 3.0, 8.0], [1.0, 2.0, 1.0]]])
9699          arg[:2,:3]=val
9700          ref=Data(numarray.array([[[8.0, 1.0, 4.0], [4.0, 6.0, 7.0], [2.0, 4.0, 2.0], [8.0, 1.0, 3.0]], [[8.0, 8.0, 8.0], [6.0, 3.0, 8.0], [1.0, 2.0, 1.0], [4.0, 2.0, 5.0]], [[4.0, 1.0, 6.0], [2.0, 1.0, 4.0], [3.0, 2.0, 4.0], [3.0, 5.0, 4.0]]]),self.functionspace)
9701          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9702       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9703       def test_setslice_constData_rank3_constData_UUN(self):
9704          arg=Data(numarray.array([[[1.0, 8.0, 6.0], [5.0, 2.0, 1.0], [5.0, 3.0, 5.0], [4.0, 1.0, 1.0]], [[3.0, 1.0, 4.0], [1.0, 8.0, 4.0], [4.0, 8.0, 3.0], [1.0, 2.0, 4.0]], [[4.0, 1.0, 1.0], [6.0, 3.0, 2.0], [7.0, 2.0, 5.0], [1.0, 1.0, 8.0]]]),self.functionspace)
9705          val=Data(numarray.array([[[1.0, 6.0, 6.0], [6.0, 6.0, 7.0], [3.0, 5.0, 2.0]], [[5.0, 5.0, 8.0], [1.0, 8.0, 7.0], [5.0, 8.0, 4.0]]]),self.functionspace)
9706          arg[:2,:3]=val
9707          ref=Data(numarray.array([[[1.0, 6.0, 6.0], [6.0, 6.0, 7.0], [3.0, 5.0, 2.0], [4.0, 1.0, 1.0]], [[5.0, 5.0, 8.0], [1.0, 8.0, 7.0], [5.0, 8.0, 4.0], [1.0, 2.0, 4.0]], [[4.0, 1.0, 1.0], [6.0, 3.0, 2.0], [7.0, 2.0, 5.0], [1.0, 1.0, 8.0]]]),self.functionspace)
9708          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9709       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9710       def test_setslice_constData_rank3_expandedData_UUN(self):
9711          arg=Data(numarray.array([[[1.0, 2.0, 1.0], [5.0, 1.0, 4.0], [2.0, 3.0, 5.0], [5.0, 8.0, 4.0]], [[3.0, 4.0, 8.0], [6.0, 8.0, 2.0], [7.0, 2.0, 8.0], [4.0, 1.0, 5.0]], [[7.0, 7.0, 5.0], [4.0, 8.0, 4.0], [5.0, 6.0, 8.0], [5.0, 8.0, 1.0]]]),self.functionspace)
9712          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9713          val=msk_val*numarray.array([[[1.0, 3.0, 2.0], [7.0, 1.0, 7.0], [5.0, 7.0, 7.0]], [[4.0, 5.0, 6.0], [8.0, 8.0, 2.0], [6.0, 6.0, 3.0]]])+(1.-msk_val)*numarray.array([[[7.0, 2.0, 6.0], [8.0, 1.0, 5.0], [8.0, 5.0, 8.0]], [[6.0, 2.0, 6.0], [6.0, 4.0, 3.0], [7.0, 1.0, 6.0]]])
9714          arg[:2,:3]=val
9715          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9716          ref=msk_ref*numarray.array([[[1.0, 3.0, 2.0], [7.0, 1.0, 7.0], [5.0, 7.0, 7.0], [5.0, 8.0, 4.0]], [[4.0, 5.0, 6.0], [8.0, 8.0, 2.0], [6.0, 6.0, 3.0], [4.0, 1.0, 5.0]], [[7.0, 7.0, 5.0], [4.0, 8.0, 4.0], [5.0, 6.0, 8.0], [5.0, 8.0, 1.0]]])+(1.-msk_ref)*numarray.array([[[7.0, 2.0, 6.0], [8.0, 1.0, 5.0], [8.0, 5.0, 8.0], [5.0, 8.0, 4.0]], [[6.0, 2.0, 6.0], [6.0, 4.0, 3.0], [7.0, 1.0, 6.0], [4.0, 1.0, 5.0]], [[7.0, 7.0, 5.0], [4.0, 8.0, 4.0], [5.0, 6.0, 8.0], [5.0, 8.0, 1.0]]])
9717          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9718       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9719       def test_setslice_constData_rank3_array_URN(self):
9720          arg=Data(numarray.array([[[2.0, 2.0, 7.0], [3.0, 7.0, 4.0], [4.0, 4.0, 7.0], [3.0, 4.0, 5.0]], [[7.0, 8.0, 4.0], [1.0, 6.0, 4.0], [8.0, 8.0, 2.0], [5.0, 3.0, 5.0]], [[7.0, 7.0, 1.0], [2.0, 7.0, 5.0], [3.0, 3.0, 7.0], [7.0, 7.0, 4.0]]]),self.functionspace)
9721          val=numarray.array([[[7.0, 2.0, 3.0], [7.0, 5.0, 4.0]], [[2.0, 8.0, 2.0], [5.0, 3.0, 3.0]]])
9722          arg[:2,1:3]=val
9723          ref=Data(numarray.array([[[2.0, 2.0, 7.0], [7.0, 2.0, 3.0], [7.0, 5.0, 4.0], [3.0, 4.0, 5.0]], [[7.0, 8.0, 4.0], [2.0, 8.0, 2.0], [5.0, 3.0, 3.0], [5.0, 3.0, 5.0]], [[7.0, 7.0, 1.0], [2.0, 7.0, 5.0], [3.0, 3.0, 7.0], [7.0, 7.0, 4.0]]]),self.functionspace)
9724          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9725       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9726       def test_setslice_constData_rank3_constData_URN(self):
9727          arg=Data(numarray.array([[[8.0, 6.0, 5.0], [3.0, 5.0, 1.0], [4.0, 4.0, 2.0], [1.0, 4.0, 5.0]], [[8.0, 5.0, 2.0], [8.0, 2.0, 1.0], [4.0, 8.0, 3.0], [8.0, 2.0, 7.0]], [[4.0, 2.0, 5.0], [4.0, 3.0, 1.0], [2.0, 8.0, 7.0], [5.0, 7.0, 8.0]]]),self.functionspace)
9728          val=Data(numarray.array([[[6.0, 6.0, 7.0], [8.0, 8.0, 8.0]], [[6.0, 8.0, 3.0], [6.0, 6.0, 2.0]]]),self.functionspace)
9729          arg[:2,1:3]=val
9730          ref=Data(numarray.array([[[8.0, 6.0, 5.0], [6.0, 6.0, 7.0], [8.0, 8.0, 8.0], [1.0, 4.0, 5.0]], [[8.0, 5.0, 2.0], [6.0, 8.0, 3.0], [6.0, 6.0, 2.0], [8.0, 2.0, 7.0]], [[4.0, 2.0, 5.0], [4.0, 3.0, 1.0], [2.0, 8.0, 7.0], [5.0, 7.0, 8.0]]]),self.functionspace)
9731          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9732       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9733       def test_setslice_constData_rank3_expandedData_URN(self):
9734          arg=Data(numarray.array([[[3.0, 4.0, 4.0], [8.0, 6.0, 6.0], [2.0, 3.0, 4.0], [7.0, 2.0, 8.0]], [[7.0, 2.0, 2.0], [8.0, 6.0, 6.0], [4.0, 4.0, 4.0], [2.0, 3.0, 2.0]], [[3.0, 2.0, 5.0], [4.0, 6.0, 1.0], [4.0, 2.0, 2.0], [3.0, 2.0, 3.0]]]),self.functionspace)
9735          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9736          val=msk_val*numarray.array([[[3.0, 1.0, 6.0], [2.0, 8.0, 6.0]], [[4.0, 1.0, 3.0], [1.0, 1.0, 6.0]]])+(1.-msk_val)*numarray.array([[[8.0, 2.0, 2.0], [4.0, 4.0, 7.0]], [[6.0, 5.0, 2.0], [2.0, 4.0, 1.0]]])
9737          arg[:2,1:3]=val
9738          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9739          ref=msk_ref*numarray.array([[[3.0, 4.0, 4.0], [3.0, 1.0, 6.0], [2.0, 8.0, 6.0], [7.0, 2.0, 8.0]], [[7.0, 2.0, 2.0], [4.0, 1.0, 3.0], [1.0, 1.0, 6.0], [2.0, 3.0, 2.0]], [[3.0, 2.0, 5.0], [4.0, 6.0, 1.0], [4.0, 2.0, 2.0], [3.0, 2.0, 3.0]]])+(1.-msk_ref)*numarray.array([[[3.0, 4.0, 4.0], [8.0, 2.0, 2.0], [4.0, 4.0, 7.0], [7.0, 2.0, 8.0]], [[7.0, 2.0, 2.0], [6.0, 5.0, 2.0], [2.0, 4.0, 1.0], [2.0, 3.0, 2.0]], [[3.0, 2.0, 5.0], [4.0, 6.0, 1.0], [4.0, 2.0, 2.0], [3.0, 2.0, 3.0]]])
9740          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9741       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9742       def test_setslice_constData_rank3_array_RCL(self):
9743          arg=Data(numarray.array([[[2.0, 3.0, 1.0], [1.0, 4.0, 4.0], [4.0, 7.0, 1.0], [5.0, 2.0, 6.0]], [[5.0, 3.0, 3.0], [2.0, 7.0, 8.0], [8.0, 7.0, 8.0], [8.0, 8.0, 1.0]], [[4.0, 2.0, 6.0], [3.0, 8.0, 6.0], [4.0, 3.0, 3.0], [2.0, 8.0, 6.0]]]),self.functionspace)
9744          val=numarray.array([[[7.0], [5.0], [2.0], [2.0]]])
9745          arg[1:2,:,2:]=val
9746          ref=Data(numarray.array([[[2.0, 3.0, 1.0], [1.0, 4.0, 4.0], [4.0, 7.0, 1.0], [5.0, 2.0, 6.0]], [[5.0, 3.0, 7.0], [2.0, 7.0, 5.0], [8.0, 7.0, 2.0], [8.0, 8.0, 2.0]], [[4.0, 2.0, 6.0], [3.0, 8.0, 6.0], [4.0, 3.0, 3.0], [2.0, 8.0, 6.0]]]),self.functionspace)
9747          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9748       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9749       def test_setslice_constData_rank3_constData_RCL(self):
9750          arg=Data(numarray.array([[[1.0, 7.0, 3.0], [1.0, 2.0, 3.0], [8.0, 2.0, 4.0], [7.0, 5.0, 6.0]], [[2.0, 1.0, 4.0], [8.0, 6.0, 3.0], [3.0, 4.0, 1.0], [3.0, 3.0, 5.0]], [[7.0, 7.0, 7.0], [8.0, 1.0, 8.0], [2.0, 4.0, 7.0], [6.0, 4.0, 8.0]]]),self.functionspace)
9751          val=Data(numarray.array([[[4.0], [6.0], [5.0], [7.0]]]),self.functionspace)
9752          arg[1:2,:,2:]=val
9753          ref=Data(numarray.array([[[1.0, 7.0, 3.0], [1.0, 2.0, 3.0], [8.0, 2.0, 4.0], [7.0, 5.0, 6.0]], [[2.0, 1.0, 4.0], [8.0, 6.0, 6.0], [3.0, 4.0, 5.0], [3.0, 3.0, 7.0]], [[7.0, 7.0, 7.0], [8.0, 1.0, 8.0], [2.0, 4.0, 7.0], [6.0, 4.0, 8.0]]]),self.functionspace)
9754          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9755       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9756       def test_setslice_constData_rank3_expandedData_RCL(self):
9757          arg=Data(numarray.array([[[6.0, 4.0, 8.0], [6.0, 6.0, 7.0], [3.0, 4.0, 8.0], [8.0, 3.0, 7.0]], [[8.0, 7.0, 8.0], [3.0, 2.0, 1.0], [5.0, 8.0, 8.0], [8.0, 8.0, 6.0]], [[4.0, 6.0, 3.0], [2.0, 3.0, 1.0], [4.0, 3.0, 3.0], [8.0, 5.0, 2.0]]]),self.functionspace)
9758          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9759          val=msk_val*numarray.array([[[3.0], [5.0], [7.0], [2.0]]])+(1.-msk_val)*numarray.array([[[7.0], [2.0], [4.0], [5.0]]])
9760          arg[1:2,:,2:]=val
9761          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9762          ref=msk_ref*numarray.array([[[6.0, 4.0, 8.0], [6.0, 6.0, 7.0], [3.0, 4.0, 8.0], [8.0, 3.0, 7.0]], [[8.0, 7.0, 3.0], [3.0, 2.0, 5.0], [5.0, 8.0, 7.0], [8.0, 8.0, 2.0]], [[4.0, 6.0, 3.0], [2.0, 3.0, 1.0], [4.0, 3.0, 3.0], [8.0, 5.0, 2.0]]])+(1.-msk_ref)*numarray.array([[[6.0, 4.0, 8.0], [6.0, 6.0, 7.0], [3.0, 4.0, 8.0], [8.0, 3.0, 7.0]], [[8.0, 7.0, 7.0], [3.0, 2.0, 2.0], [5.0, 8.0, 4.0], [8.0, 8.0, 5.0]], [[4.0, 6.0, 3.0], [2.0, 3.0, 1.0], [4.0, 3.0, 3.0], [8.0, 5.0, 2.0]]])
9763          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9764       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9765       def test_setslice_constData_rank3_array_CCC(self):
9766          arg=Data(numarray.array([[[2.0, 4.0, 8.0], [4.0, 7.0, 8.0], [5.0, 1.0, 4.0], [5.0, 6.0, 3.0]], [[2.0, 4.0, 2.0], [5.0, 6.0, 2.0], [3.0, 5.0, 6.0], [7.0, 5.0, 2.0]], [[8.0, 1.0, 5.0], [6.0, 8.0, 2.0], [3.0, 5.0, 8.0], [7.0, 2.0, 7.0]]]),self.functionspace)
9767          val=numarray.array([[[3.0, 5.0, 3.0], [8.0, 8.0, 5.0], [8.0, 6.0, 8.0], [1.0, 4.0, 2.0]], [[7.0, 2.0, 4.0], [1.0, 2.0, 1.0], [2.0, 6.0, 8.0], [8.0, 8.0, 6.0]], [[5.0, 3.0, 6.0], [6.0, 7.0, 8.0], [7.0, 1.0, 6.0], [6.0, 2.0, 6.0]]])
9768          arg[:,:,:]=val
9769          ref=Data(numarray.array([[[3.0, 5.0, 3.0], [8.0, 8.0, 5.0], [8.0, 6.0, 8.0], [1.0, 4.0, 2.0]], [[7.0, 2.0, 4.0], [1.0, 2.0, 1.0], [2.0, 6.0, 8.0], [8.0, 8.0, 6.0]], [[5.0, 3.0, 6.0], [6.0, 7.0, 8.0], [7.0, 1.0, 6.0], [6.0, 2.0, 6.0]]]),self.functionspace)
9770          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9771       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9772       def test_setslice_constData_rank3_constData_CCC(self):
9773          arg=Data(numarray.array([[[3.0, 5.0, 4.0], [7.0, 2.0, 7.0], [6.0, 6.0, 8.0], [8.0, 1.0, 2.0]], [[8.0, 6.0, 7.0], [7.0, 2.0, 6.0], [4.0, 3.0, 5.0], [4.0, 6.0, 4.0]], [[4.0, 5.0, 6.0], [5.0, 4.0, 3.0], [6.0, 2.0, 5.0], [2.0, 3.0, 5.0]]]),self.functionspace)
9774          val=Data(numarray.array([[[4.0, 1.0, 4.0], [4.0, 8.0, 2.0], [8.0, 3.0, 4.0], [5.0, 4.0, 5.0]], [[6.0, 7.0, 7.0], [4.0, 6.0, 6.0], [3.0, 8.0, 3.0], [4.0, 3.0, 5.0]], [[2.0, 5.0, 6.0], [7.0, 3.0, 3.0], [5.0, 8.0, 1.0], [3.0, 3.0, 4.0]]]),self.functionspace)
9775          arg[:,:,:]=val
9776          ref=Data(numarray.array([[[4.0, 1.0, 4.0], [4.0, 8.0, 2.0], [8.0, 3.0, 4.0], [5.0, 4.0, 5.0]], [[6.0, 7.0, 7.0], [4.0, 6.0, 6.0], [3.0, 8.0, 3.0], [4.0, 3.0, 5.0]], [[2.0, 5.0, 6.0], [7.0, 3.0, 3.0], [5.0, 8.0, 1.0], [3.0, 3.0, 4.0]]]),self.functionspace)
9777          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9778       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9779       def test_setslice_constData_rank3_expandedData_CCC(self):
9780          arg=Data(numarray.array([[[3.0, 5.0, 4.0], [5.0, 7.0, 5.0], [3.0, 1.0, 1.0], [8.0, 4.0, 1.0]], [[7.0, 2.0, 8.0], [2.0, 7.0, 4.0], [2.0, 2.0, 3.0], [8.0, 2.0, 4.0]], [[5.0, 1.0, 8.0], [4.0, 4.0, 3.0], [7.0, 5.0, 1.0], [4.0, 3.0, 1.0]]]),self.functionspace)
9781          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9782          val=msk_val*numarray.array([[[4.0, 3.0, 1.0], [6.0, 2.0, 5.0], [6.0, 7.0, 6.0], [8.0, 1.0, 2.0]], [[4.0, 7.0, 1.0], [8.0, 4.0, 3.0], [1.0, 5.0, 8.0], [6.0, 7.0, 6.0]], [[2.0, 2.0, 3.0], [2.0, 8.0, 2.0], [4.0, 1.0, 6.0], [7.0, 8.0, 4.0]]])+(1.-msk_val)*numarray.array([[[4.0, 6.0, 1.0], [8.0, 7.0, 4.0], [4.0, 4.0, 4.0], [5.0, 5.0, 5.0]], [[2.0, 2.0, 1.0], [7.0, 8.0, 3.0], [4.0, 3.0, 5.0], [5.0, 1.0, 6.0]], [[2.0, 2.0, 4.0], [2.0, 3.0, 2.0], [3.0, 3.0, 4.0], [4.0, 4.0, 6.0]]])
9783          arg[:,:,:]=val
9784          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9785          ref=msk_ref*numarray.array([[[4.0, 3.0, 1.0], [6.0, 2.0, 5.0], [6.0, 7.0, 6.0], [8.0, 1.0, 2.0]], [[4.0, 7.0, 1.0], [8.0, 4.0, 3.0], [1.0, 5.0, 8.0], [6.0, 7.0, 6.0]], [[2.0, 2.0, 3.0], [2.0, 8.0, 2.0], [4.0, 1.0, 6.0], [7.0, 8.0, 4.0]]])+(1.-msk_ref)*numarray.array([[[4.0, 6.0, 1.0], [8.0, 7.0, 4.0], [4.0, 4.0, 4.0], [5.0, 5.0, 5.0]], [[2.0, 2.0, 1.0], [7.0, 8.0, 3.0], [4.0, 3.0, 5.0], [5.0, 1.0, 6.0]], [[2.0, 2.0, 4.0], [2.0, 3.0, 2.0], [3.0, 3.0, 4.0], [4.0, 4.0, 6.0]]])
9786          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9787       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9788       def test_setslice_constData_rank3_array_PLU(self):
9789          arg=Data(numarray.array([[[2.0, 4.0, 8.0], [4.0, 7.0, 4.0], [2.0, 3.0, 8.0], [1.0, 8.0, 7.0]], [[3.0, 8.0, 4.0], [5.0, 3.0, 4.0], [6.0, 8.0, 1.0], [1.0, 2.0, 2.0]], [[5.0, 5.0, 2.0], [4.0, 6.0, 1.0], [4.0, 7.0, 4.0], [6.0, 3.0, 7.0]]]),self.functionspace)
9790          val=numarray.array([[6.0, 7.0], [8.0, 5.0]])
9791          arg[1,2:,:2]=val
9792          ref=Data(numarray.array([[[2.0, 4.0, 8.0], [4.0, 7.0, 4.0], [2.0, 3.0, 8.0], [1.0, 8.0, 7.0]], [[3.0, 8.0, 4.0], [5.0, 3.0, 4.0], [6.0, 7.0, 1.0], [8.0, 5.0, 2.0]], [[5.0, 5.0, 2.0], [4.0, 6.0, 1.0], [4.0, 7.0, 4.0], [6.0, 3.0, 7.0]]]),self.functionspace)
9793          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9794       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9795       def test_setslice_constData_rank3_constData_PLU(self):
9796          arg=Data(numarray.array([[[5.0, 8.0, 8.0], [5.0, 5.0, 8.0], [6.0, 3.0, 1.0], [1.0, 7.0, 2.0]], [[4.0, 6.0, 6.0], [4.0, 5.0, 1.0], [4.0, 7.0, 7.0], [5.0, 5.0, 6.0]], [[7.0, 7.0, 3.0], [7.0, 4.0, 6.0], [4.0, 4.0, 8.0], [1.0, 7.0, 3.0]]]),self.functionspace)
9797          val=Data(numarray.array([[6.0, 1.0], [7.0, 6.0]]),self.functionspace)
9798          arg[1,2:,:2]=val
9799          ref=Data(numarray.array([[[5.0, 8.0, 8.0], [5.0, 5.0, 8.0], [6.0, 3.0, 1.0], [1.0, 7.0, 2.0]], [[4.0, 6.0, 6.0], [4.0, 5.0, 1.0], [6.0, 1.0, 7.0], [7.0, 6.0, 6.0]], [[7.0, 7.0, 3.0], [7.0, 4.0, 6.0], [4.0, 4.0, 8.0], [1.0, 7.0, 3.0]]]),self.functionspace)
9800          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9801       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9802       def test_setslice_constData_rank3_expandedData_PLU(self):
9803          arg=Data(numarray.array([[[3.0, 6.0, 8.0], [7.0, 5.0, 4.0], [7.0, 7.0, 5.0], [5.0, 7.0, 2.0]], [[5.0, 7.0, 6.0], [6.0, 1.0, 5.0], [3.0, 8.0, 4.0], [3.0, 4.0, 1.0]], [[6.0, 3.0, 5.0], [1.0, 4.0, 3.0], [7.0, 8.0, 7.0], [6.0, 5.0, 8.0]]]),self.functionspace)
9804          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9805          val=msk_val*numarray.array([[4.0, 6.0], [1.0, 5.0]])+(1.-msk_val)*numarray.array([[3.0, 6.0], [2.0, 1.0]])
9806          arg[1,2:,:2]=val
9807          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9808          ref=msk_ref*numarray.array([[[3.0, 6.0, 8.0], [7.0, 5.0, 4.0], [7.0, 7.0, 5.0], [5.0, 7.0, 2.0]], [[5.0, 7.0, 6.0], [6.0, 1.0, 5.0], [4.0, 6.0, 4.0], [1.0, 5.0, 1.0]], [[6.0, 3.0, 5.0], [1.0, 4.0, 3.0], [7.0, 8.0, 7.0], [6.0, 5.0, 8.0]]])+(1.-msk_ref)*numarray.array([[[3.0, 6.0, 8.0], [7.0, 5.0, 4.0], [7.0, 7.0, 5.0], [5.0, 7.0, 2.0]], [[5.0, 7.0, 6.0], [6.0, 1.0, 5.0], [3.0, 6.0, 4.0], [2.0, 1.0, 1.0]], [[6.0, 3.0, 5.0], [1.0, 4.0, 3.0], [7.0, 8.0, 7.0], [6.0, 5.0, 8.0]]])
9809          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9810       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9811       def test_setslice_constData_rank3_array_RRN(self):
9812          arg=Data(numarray.array([[[2.0, 4.0, 3.0], [5.0, 6.0, 7.0], [3.0, 1.0, 6.0], [1.0, 8.0, 7.0]], [[2.0, 2.0, 7.0], [3.0, 5.0, 2.0], [2.0, 8.0, 4.0], [2.0, 3.0, 2.0]], [[2.0, 4.0, 2.0], [4.0, 8.0, 5.0], [5.0, 4.0, 4.0], [3.0, 4.0, 1.0]]]),self.functionspace)
9813          val=numarray.array([[[2.0, 2.0, 5.0], [8.0, 6.0, 8.0]]])
9814          arg[1:2,1:3]=val
9815          ref=Data(numarray.array([[[2.0, 4.0, 3.0], [5.0, 6.0, 7.0], [3.0, 1.0, 6.0], [1.0, 8.0, 7.0]], [[2.0, 2.0, 7.0], [2.0, 2.0, 5.0], [8.0, 6.0, 8.0], [2.0, 3.0, 2.0]], [[2.0, 4.0, 2.0], [4.0, 8.0, 5.0], [5.0, 4.0, 4.0], [3.0, 4.0, 1.0]]]),self.functionspace)
9816          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9817       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9818       def test_setslice_constData_rank3_constData_RRN(self):
9819          arg=Data(numarray.array([[[8.0, 3.0, 8.0], [8.0, 2.0, 4.0], [8.0, 2.0, 5.0], [2.0, 3.0, 4.0]], [[5.0, 4.0, 7.0], [3.0, 5.0, 5.0], [6.0, 7.0, 3.0], [4.0, 3.0, 6.0]], [[4.0, 6.0, 7.0], [5.0, 3.0, 4.0], [7.0, 1.0, 4.0], [6.0, 1.0, 1.0]]]),self.functionspace)
9820          val=Data(numarray.array([[[2.0, 4.0, 7.0], [7.0, 7.0, 8.0]]]),self.functionspace)
9821          arg[1:2,1:3]=val
9822          ref=Data(numarray.array([[[8.0, 3.0, 8.0], [8.0, 2.0, 4.0], [8.0, 2.0, 5.0], [2.0, 3.0, 4.0]], [[5.0, 4.0, 7.0], [2.0, 4.0, 7.0], [7.0, 7.0, 8.0], [4.0, 3.0, 6.0]], [[4.0, 6.0, 7.0], [5.0, 3.0, 4.0], [7.0, 1.0, 4.0], [6.0, 1.0, 1.0]]]),self.functionspace)
9823          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9824       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9825       def test_setslice_constData_rank3_expandedData_RRN(self):
9826          arg=Data(numarray.array([[[4.0, 1.0, 8.0], [8.0, 7.0, 6.0], [1.0, 6.0, 5.0], [7.0, 2.0, 3.0]], [[1.0, 2.0, 7.0], [5.0, 2.0, 4.0], [8.0, 3.0, 3.0], [4.0, 4.0, 7.0]], [[1.0, 4.0, 5.0], [3.0, 2.0, 3.0], [3.0, 1.0, 3.0], [7.0, 2.0, 7.0]]]),self.functionspace)
9827          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9828          val=msk_val*numarray.array([[[7.0, 6.0, 3.0], [7.0, 5.0, 3.0]]])+(1.-msk_val)*numarray.array([[[1.0, 8.0, 4.0], [4.0, 3.0, 6.0]]])
9829          arg[1:2,1:3]=val
9830          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9831          ref=msk_ref*numarray.array([[[4.0, 1.0, 8.0], [8.0, 7.0, 6.0], [1.0, 6.0, 5.0], [7.0, 2.0, 3.0]], [[1.0, 2.0, 7.0], [7.0, 6.0, 3.0], [7.0, 5.0, 3.0], [4.0, 4.0, 7.0]], [[1.0, 4.0, 5.0], [3.0, 2.0, 3.0], [3.0, 1.0, 3.0], [7.0, 2.0, 7.0]]])+(1.-msk_ref)*numarray.array([[[4.0, 1.0, 8.0], [8.0, 7.0, 6.0], [1.0, 6.0, 5.0], [7.0, 2.0, 3.0]], [[1.0, 2.0, 7.0], [1.0, 8.0, 4.0], [4.0, 3.0, 6.0], [4.0, 4.0, 7.0]], [[1.0, 4.0, 5.0], [3.0, 2.0, 3.0], [3.0, 1.0, 3.0], [7.0, 2.0, 7.0]]])
9832          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9833       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9834       def test_setslice_constData_rank3_array_CPR(self):
9835          arg=Data(numarray.array([[[5.0, 4.0, 2.0], [7.0, 3.0, 3.0], [4.0, 6.0, 5.0], [8.0, 4.0, 6.0]], [[7.0, 8.0, 7.0], [5.0, 5.0, 2.0], [2.0, 7.0, 5.0], [5.0, 2.0, 4.0]], [[7.0, 4.0, 5.0], [1.0, 1.0, 2.0], [1.0, 3.0, 7.0], [4.0, 1.0, 2.0]]]),self.functionspace)
9836          val=numarray.array([[2.0], [4.0], [7.0]])
9837          arg[:,2,1:2]=val
9838          ref=Data(numarray.array([[[5.0, 4.0, 2.0], [7.0, 3.0, 3.0], [4.0, 2.0, 5.0], [8.0, 4.0, 6.0]], [[7.0, 8.0, 7.0], [5.0, 5.0, 2.0], [2.0, 4.0, 5.0], [5.0, 2.0, 4.0]], [[7.0, 4.0, 5.0], [1.0, 1.0, 2.0], [1.0, 7.0, 7.0], [4.0, 1.0, 2.0]]]),self.functionspace)
9839          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9840       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9841       def test_setslice_constData_rank3_constData_CPR(self):
9842          arg=Data(numarray.array([[[1.0, 8.0, 5.0], [1.0, 5.0, 3.0], [5.0, 7.0, 1.0], [5.0, 5.0, 1.0]], [[4.0, 8.0, 2.0], [2.0, 7.0, 1.0], [3.0, 8.0, 3.0], [2.0, 6.0, 8.0]], [[6.0, 6.0, 6.0], [1.0, 3.0, 4.0], [3.0, 2.0, 7.0], [5.0, 4.0, 6.0]]]),self.functionspace)
9843          val=Data(numarray.array([[6.0], [7.0], [2.0]]),self.functionspace)
9844          arg[:,2,1:2]=val
9845          ref=Data(numarray.array([[[1.0, 8.0, 5.0], [1.0, 5.0, 3.0], [5.0, 6.0, 1.0], [5.0, 5.0, 1.0]], [[4.0, 8.0, 2.0], [2.0, 7.0, 1.0], [3.0, 7.0, 3.0], [2.0, 6.0, 8.0]], [[6.0, 6.0, 6.0], [1.0, 3.0, 4.0], [3.0, 2.0, 7.0], [5.0, 4.0, 6.0]]]),self.functionspace)
9846          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9847       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9848       def test_setslice_constData_rank3_expandedData_CPR(self):
9849          arg=Data(numarray.array([[[1.0, 5.0, 2.0], [2.0, 3.0, 3.0], [3.0, 6.0, 4.0], [8.0, 4.0, 4.0]], [[6.0, 4.0, 7.0], [1.0, 2.0, 8.0], [7.0, 5.0, 3.0], [6.0, 8.0, 7.0]], [[1.0, 8.0, 4.0], [6.0, 7.0, 6.0], [1.0, 6.0, 1.0], [8.0, 4.0, 2.0]]]),self.functionspace)
9850          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9851          val=msk_val*numarray.array([[7.0], [3.0], [8.0]])+(1.-msk_val)*numarray.array([[4.0], [4.0], [2.0]])
9852          arg[:,2,1:2]=val
9853          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9854          ref=msk_ref*numarray.array([[[1.0, 5.0, 2.0], [2.0, 3.0, 3.0], [3.0, 7.0, 4.0], [8.0, 4.0, 4.0]], [[6.0, 4.0, 7.0], [1.0, 2.0, 8.0], [7.0, 3.0, 3.0], [6.0, 8.0, 7.0]], [[1.0, 8.0, 4.0], [6.0, 7.0, 6.0], [1.0, 8.0, 1.0], [8.0, 4.0, 2.0]]])+(1.-msk_ref)*numarray.array([[[1.0, 5.0, 2.0], [2.0, 3.0, 3.0], [3.0, 4.0, 4.0], [8.0, 4.0, 4.0]], [[6.0, 4.0, 7.0], [1.0, 2.0, 8.0], [7.0, 4.0, 3.0], [6.0, 8.0, 7.0]], [[1.0, 8.0, 4.0], [6.0, 7.0, 6.0], [1.0, 2.0, 1.0], [8.0, 4.0, 2.0]]])
9855          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9856       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9857       def test_setslice_constData_rank3_array_CPN(self):
9858          arg=Data(numarray.array([[[5.0, 4.0, 8.0], [8.0, 5.0, 3.0], [4.0, 6.0, 5.0], [6.0, 8.0, 7.0]], [[3.0, 6.0, 2.0], [3.0, 2.0, 4.0], [8.0, 8.0, 7.0], [4.0, 3.0, 3.0]], [[7.0, 5.0, 1.0], [7.0, 3.0, 7.0], [5.0, 6.0, 7.0], [1.0, 8.0, 2.0]]]),self.functionspace)
9859          val=numarray.array([[2.0, 3.0, 1.0], [2.0, 5.0, 4.0], [3.0, 3.0, 5.0]])
9860          arg[:,2]=val
9861          ref=Data(numarray.array([[[5.0, 4.0, 8.0], [8.0, 5.0, 3.0], [2.0, 3.0, 1.0], [6.0, 8.0, 7.0]], [[3.0, 6.0, 2.0], [3.0, 2.0, 4.0], [2.0, 5.0, 4.0], [4.0, 3.0, 3.0]], [[7.0, 5.0, 1.0], [7.0, 3.0, 7.0], [3.0, 3.0, 5.0], [1.0, 8.0, 2.0]]]),self.functionspace)
9862          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9863       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9864       def test_setslice_constData_rank3_constData_CPN(self):
9865          arg=Data(numarray.array([[[7.0, 2.0, 7.0], [1.0, 3.0, 3.0], [2.0, 1.0, 4.0], [1.0, 8.0, 3.0]], [[7.0, 8.0, 7.0], [4.0, 7.0, 5.0], [4.0, 7.0, 2.0], [1.0, 4.0, 6.0]], [[2.0, 2.0, 4.0], [5.0, 6.0, 5.0], [4.0, 7.0, 7.0], [8.0, 4.0, 7.0]]]),self.functionspace)
9866          val=Data(numarray.array([[1.0, 7.0, 7.0], [8.0, 8.0, 1.0], [8.0, 8.0, 6.0]]),self.functionspace)
9867          arg[:,2]=val
9868          ref=Data(numarray.array([[[7.0, 2.0, 7.0], [1.0, 3.0, 3.0], [1.0, 7.0, 7.0], [1.0, 8.0, 3.0]], [[7.0, 8.0, 7.0], [4.0, 7.0, 5.0], [8.0, 8.0, 1.0], [1.0, 4.0, 6.0]], [[2.0, 2.0, 4.0], [5.0, 6.0, 5.0], [8.0, 8.0, 6.0], [8.0, 4.0, 7.0]]]),self.functionspace)
9869          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9870       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9871       def test_setslice_constData_rank3_expandedData_CPN(self):
9872          arg=Data(numarray.array([[[6.0, 1.0, 1.0], [6.0, 4.0, 4.0], [1.0, 2.0, 8.0], [2.0, 7.0, 1.0]], [[1.0, 6.0, 5.0], [5.0, 3.0, 1.0], [7.0, 5.0, 5.0], [5.0, 6.0, 7.0]], [[5.0, 7.0, 4.0], [5.0, 5.0, 6.0], [4.0, 1.0, 2.0], [2.0, 1.0, 7.0]]]),self.functionspace)
9873          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9874          val=msk_val*numarray.array([[6.0, 8.0, 3.0], [7.0, 1.0, 6.0], [5.0, 1.0, 8.0]])+(1.-msk_val)*numarray.array([[6.0, 7.0, 5.0], [6.0, 8.0, 7.0], [3.0, 6.0, 2.0]])
9875          arg[:,2]=val
9876          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9877          ref=msk_ref*numarray.array([[[6.0, 1.0, 1.0], [6.0, 4.0, 4.0], [6.0, 8.0, 3.0], [2.0, 7.0, 1.0]], [[1.0, 6.0, 5.0], [5.0, 3.0, 1.0], [7.0, 1.0, 6.0], [5.0, 6.0, 7.0]], [[5.0, 7.0, 4.0], [5.0, 5.0, 6.0], [5.0, 1.0, 8.0], [2.0, 1.0, 7.0]]])+(1.-msk_ref)*numarray.array([[[6.0, 1.0, 1.0], [6.0, 4.0, 4.0], [6.0, 7.0, 5.0], [2.0, 7.0, 1.0]], [[1.0, 6.0, 5.0], [5.0, 3.0, 1.0], [6.0, 8.0, 7.0], [5.0, 6.0, 7.0]], [[5.0, 7.0, 4.0], [5.0, 5.0, 6.0], [3.0, 6.0, 2.0], [2.0, 1.0, 7.0]]])
9878          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9879       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9880       def test_setslice_constData_rank3_array_CRN(self):
9881          arg=Data(numarray.array([[[4.0, 4.0, 1.0], [2.0, 7.0, 8.0], [7.0, 6.0, 5.0], [3.0, 2.0, 6.0]], [[7.0, 7.0, 3.0], [2.0, 7.0, 5.0], [6.0, 8.0, 5.0], [2.0, 3.0, 1.0]], [[4.0, 8.0, 7.0], [1.0, 1.0, 2.0], [7.0, 2.0, 3.0], [4.0, 3.0, 3.0]]]),self.functionspace)
9882          val=numarray.array([[[6.0, 2.0, 5.0], [8.0, 8.0, 7.0]], [[5.0, 8.0, 3.0], [5.0, 8.0, 1.0]], [[2.0, 8.0, 4.0], [3.0, 4.0, 3.0]]])
9883          arg[:,1:3]=val
9884          ref=Data(numarray.array([[[4.0, 4.0, 1.0], [6.0, 2.0, 5.0], [8.0, 8.0, 7.0], [3.0, 2.0, 6.0]], [[7.0, 7.0, 3.0], [5.0, 8.0, 3.0], [5.0, 8.0, 1.0], [2.0, 3.0, 1.0]], [[4.0, 8.0, 7.0], [2.0, 8.0, 4.0], [3.0, 4.0, 3.0], [4.0, 3.0, 3.0]]]),self.functionspace)
9885          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9886       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9887       def test_setslice_constData_rank3_constData_CRN(self):
9888          arg=Data(numarray.array([[[3.0, 8.0, 7.0], [2.0, 6.0, 6.0], [5.0, 1.0, 5.0], [2.0, 7.0, 5.0]], [[1.0, 6.0, 4.0], [5.0, 8.0, 7.0], [5.0, 8.0, 6.0], [7.0, 6.0, 5.0]], [[5.0, 5.0, 4.0], [4.0, 7.0, 2.0], [8.0, 8.0, 1.0], [1.0, 7.0, 3.0]]]),self.functionspace)
9889          val=Data(numarray.array([[[2.0, 3.0, 2.0], [5.0, 5.0, 6.0]], [[6.0, 2.0, 6.0], [3.0, 1.0, 2.0]], [[3.0, 4.0, 6.0], [7.0, 5.0, 3.0]]]),self.functionspace)
9890          arg[:,1:3]=val
9891          ref=Data(numarray.array([[[3.0, 8.0, 7.0], [2.0, 3.0, 2.0], [5.0, 5.0, 6.0], [2.0, 7.0, 5.0]], [[1.0, 6.0, 4.0], [6.0, 2.0, 6.0], [3.0, 1.0, 2.0], [7.0, 6.0, 5.0]], [[5.0, 5.0, 4.0], [3.0, 4.0, 6.0], [7.0, 5.0, 3.0], [1.0, 7.0, 3.0]]]),self.functionspace)
9892          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9893       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9894       def test_setslice_constData_rank3_expandedData_CRN(self):
9895          arg=Data(numarray.array([[[2.0, 3.0, 1.0], [4.0, 4.0, 1.0], [4.0, 3.0, 4.0], [3.0, 4.0, 8.0]], [[8.0, 1.0, 5.0], [8.0, 5.0, 6.0], [7.0, 8.0, 1.0], [4.0, 7.0, 3.0]], [[5.0, 4.0, 8.0], [5.0, 2.0, 1.0], [5.0, 1.0, 5.0], [4.0, 7.0, 6.0]]]),self.functionspace)
9896          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9897          val=msk_val*numarray.array([[[4.0, 1.0, 8.0], [2.0, 8.0, 1.0]], [[2.0, 3.0, 3.0], [2.0, 8.0, 3.0]], [[8.0, 8.0, 1.0], [8.0, 2.0, 7.0]]])+(1.-msk_val)*numarray.array([[[3.0, 6.0, 2.0], [4.0, 4.0, 4.0]], [[7.0, 2.0, 7.0], [7.0, 4.0, 8.0]], [[1.0, 5.0, 1.0], [1.0, 3.0, 4.0]]])
9898          arg[:,1:3]=val
9899          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9900          ref=msk_ref*numarray.array([[[2.0, 3.0, 1.0], [4.0, 1.0, 8.0], [2.0, 8.0, 1.0], [3.0, 4.0, 8.0]], [[8.0, 1.0, 5.0], [2.0, 3.0, 3.0], [2.0, 8.0, 3.0], [4.0, 7.0, 3.0]], [[5.0, 4.0, 8.0], [8.0, 8.0, 1.0], [8.0, 2.0, 7.0], [4.0, 7.0, 6.0]]])+(1.-msk_ref)*numarray.array([[[2.0, 3.0, 1.0], [3.0, 6.0, 2.0], [4.0, 4.0, 4.0], [3.0, 4.0, 8.0]], [[8.0, 1.0, 5.0], [7.0, 2.0, 7.0], [7.0, 4.0, 8.0], [4.0, 7.0, 3.0]], [[5.0, 4.0, 8.0], [1.0, 5.0, 1.0], [1.0, 3.0, 4.0], [4.0, 7.0, 6.0]]])
9901          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9902       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9903       def test_setslice_constData_rank3_array_CRC(self):
9904          arg=Data(numarray.array([[[1.0, 2.0, 3.0], [3.0, 7.0, 7.0], [7.0, 5.0, 4.0], [2.0, 5.0, 1.0]], [[2.0, 1.0, 1.0], [5.0, 8.0, 8.0], [7.0, 3.0, 2.0], [6.0, 3.0, 6.0]], [[7.0, 8.0, 6.0], [4.0, 5.0, 2.0], [5.0, 4.0, 8.0], [7.0, 1.0, 4.0]]]),self.functionspace)
9905          val=numarray.array([[[1.0, 1.0, 2.0], [1.0, 7.0, 7.0]], [[3.0, 1.0, 4.0], [2.0, 1.0, 7.0]], [[6.0, 6.0, 7.0], [5.0, 1.0, 8.0]]])
9906          arg[:,1:3,:]=val
9907          ref=Data(numarray.array([[[1.0, 2.0, 3.0], [1.0, 1.0, 2.0], [1.0, 7.0, 7.0], [2.0, 5.0, 1.0]], [[2.0, 1.0, 1.0], [3.0, 1.0, 4.0], [2.0, 1.0, 7.0], [6.0, 3.0, 6.0]], [[7.0, 8.0, 6.0], [6.0, 6.0, 7.0], [5.0, 1.0, 8.0], [7.0, 1.0, 4.0]]]),self.functionspace)
9908          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9909       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9910       def test_setslice_constData_rank3_constData_CRC(self):
9911          arg=Data(numarray.array([[[7.0, 1.0, 8.0], [2.0, 4.0, 8.0], [8.0, 2.0, 7.0], [6.0, 4.0, 5.0]], [[5.0, 8.0, 4.0], [7.0, 2.0, 5.0], [5.0, 6.0, 5.0], [2.0, 3.0, 2.0]], [[2.0, 6.0, 8.0], [3.0, 6.0, 3.0], [7.0, 7.0, 3.0], [3.0, 4.0, 5.0]]]),self.functionspace)
9912          val=Data(numarray.array([[[7.0, 4.0, 8.0], [3.0, 2.0, 8.0]], [[6.0, 8.0, 4.0], [5.0, 2.0, 8.0]], [[1.0, 2.0, 8.0], [1.0, 8.0, 7.0]]]),self.functionspace)
9913          arg[:,1:3,:]=val
9914          ref=Data(numarray.array([[[7.0, 1.0, 8.0], [7.0, 4.0, 8.0], [3.0, 2.0, 8.0], [6.0, 4.0, 5.0]], [[5.0, 8.0, 4.0], [6.0, 8.0, 4.0], [5.0, 2.0, 8.0], [2.0, 3.0, 2.0]], [[2.0, 6.0, 8.0], [1.0, 2.0, 8.0], [1.0, 8.0, 7.0], [3.0, 4.0, 5.0]]]),self.functionspace)
9915          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9916       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9917       def test_setslice_constData_rank3_expandedData_CRC(self):
9918          arg=Data(numarray.array([[[7.0, 3.0, 6.0], [1.0, 1.0, 6.0], [8.0, 2.0, 4.0], [5.0, 5.0, 6.0]], [[3.0, 4.0, 4.0], [4.0, 1.0, 6.0], [6.0, 7.0, 1.0], [1.0, 6.0, 5.0]], [[7.0, 2.0, 5.0], [7.0, 8.0, 2.0], [1.0, 7.0, 2.0], [3.0, 3.0, 5.0]]]),self.functionspace)
9919          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9920          val=msk_val*numarray.array([[[3.0, 6.0, 3.0], [8.0, 6.0, 4.0]], [[7.0, 3.0, 8.0], [1.0, 3.0, 6.0]], [[1.0, 6.0, 3.0], [6.0, 5.0, 6.0]]])+(1.-msk_val)*numarray.array([[[7.0, 3.0, 4.0], [5.0, 4.0, 3.0]], [[5.0, 6.0, 8.0], [4.0, 2.0, 3.0]], [[7.0, 5.0, 7.0], [5.0, 8.0, 1.0]]])
9921          arg[:,1:3,:]=val
9922          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9923          ref=msk_ref*numarray.array([[[7.0, 3.0, 6.0], [3.0, 6.0, 3.0], [8.0, 6.0, 4.0], [5.0, 5.0, 6.0]], [[3.0, 4.0, 4.0], [7.0, 3.0, 8.0], [1.0, 3.0, 6.0], [1.0, 6.0, 5.0]], [[7.0, 2.0, 5.0], [1.0, 6.0, 3.0], [6.0, 5.0, 6.0], [3.0, 3.0, 5.0]]])+(1.-msk_ref)*numarray.array([[[7.0, 3.0, 6.0], [7.0, 3.0, 4.0], [5.0, 4.0, 3.0], [5.0, 5.0, 6.0]], [[3.0, 4.0, 4.0], [5.0, 6.0, 8.0], [4.0, 2.0, 3.0], [1.0, 6.0, 5.0]], [[7.0, 2.0, 5.0], [7.0, 5.0, 7.0], [5.0, 8.0, 1.0], [3.0, 3.0, 5.0]]])
9924          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9925       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9926       def test_setslice_constData_rank3_array_PPR(self):
9927          arg=Data(numarray.array([[[6.0, 7.0, 3.0], [1.0, 2.0, 7.0], [8.0, 2.0, 6.0], [2.0, 5.0, 8.0]], [[2.0, 6.0, 3.0], [6.0, 8.0, 2.0], [1.0, 8.0, 5.0], [5.0, 7.0, 3.0]], [[1.0, 4.0, 3.0], [1.0, 2.0, 6.0], [4.0, 2.0, 3.0], [3.0, 5.0, 1.0]]]),self.functionspace)
9928          val=numarray.array([6.0])
9929          arg[1,2,1:2]=val
9930          ref=Data(numarray.array([[[6.0, 7.0, 3.0], [1.0, 2.0, 7.0], [8.0, 2.0, 6.0], [2.0, 5.0, 8.0]], [[2.0, 6.0, 3.0], [6.0, 8.0, 2.0], [1.0, 6.0, 5.0], [5.0, 7.0, 3.0]], [[1.0, 4.0, 3.0], [1.0, 2.0, 6.0], [4.0, 2.0, 3.0], [3.0, 5.0, 1.0]]]),self.functionspace)
9931          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9932       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9933       def test_setslice_constData_rank3_constData_PPR(self):
9934          arg=Data(numarray.array([[[1.0, 3.0, 2.0], [3.0, 2.0, 5.0], [6.0, 3.0, 8.0], [3.0, 7.0, 6.0]], [[7.0, 1.0, 2.0], [3.0, 3.0, 2.0], [7.0, 8.0, 5.0], [1.0, 8.0, 3.0]], [[1.0, 4.0, 6.0], [6.0, 5.0, 2.0], [4.0, 1.0, 4.0], [7.0, 4.0, 5.0]]]),self.functionspace)
9935          val=Data(numarray.array([4.0]),self.functionspace)
9936          arg[1,2,1:2]=val
9937          ref=Data(numarray.array([[[1.0, 3.0, 2.0], [3.0, 2.0, 5.0], [6.0, 3.0, 8.0], [3.0, 7.0, 6.0]], [[7.0, 1.0, 2.0], [3.0, 3.0, 2.0], [7.0, 4.0, 5.0], [1.0, 8.0, 3.0]], [[1.0, 4.0, 6.0], [6.0, 5.0, 2.0], [4.0, 1.0, 4.0], [7.0, 4.0, 5.0]]]),self.functionspace)
9938          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9939       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9940       def test_setslice_constData_rank3_expandedData_PPR(self):
9941          arg=Data(numarray.array([[[8.0, 2.0, 2.0], [6.0, 8.0, 1.0], [4.0, 2.0, 1.0], [5.0, 3.0, 7.0]], [[7.0, 2.0, 2.0], [1.0, 1.0, 4.0], [3.0, 2.0, 6.0], [1.0, 2.0, 1.0]], [[7.0, 8.0, 7.0], [6.0, 2.0, 3.0], [1.0, 6.0, 6.0], [1.0, 5.0, 5.0]]]),self.functionspace)
9942          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9943          val=msk_val*numarray.array([4.0])+(1.-msk_val)*numarray.array([5.0])
9944          arg[1,2,1:2]=val
9945          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9946          ref=msk_ref*numarray.array([[[8.0, 2.0, 2.0], [6.0, 8.0, 1.0], [4.0, 2.0, 1.0], [5.0, 3.0, 7.0]], [[7.0, 2.0, 2.0], [1.0, 1.0, 4.0], [3.0, 4.0, 6.0], [1.0, 2.0, 1.0]], [[7.0, 8.0, 7.0], [6.0, 2.0, 3.0], [1.0, 6.0, 6.0], [1.0, 5.0, 5.0]]])+(1.-msk_ref)*numarray.array([[[8.0, 2.0, 2.0], [6.0, 8.0, 1.0], [4.0, 2.0, 1.0], [5.0, 3.0, 7.0]], [[7.0, 2.0, 2.0], [1.0, 1.0, 4.0], [3.0, 5.0, 6.0], [1.0, 2.0, 1.0]], [[7.0, 8.0, 7.0], [6.0, 2.0, 3.0], [1.0, 6.0, 6.0], [1.0, 5.0, 5.0]]])
9947          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9948       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9949       def test_setslice_constData_rank3_array_PUU(self):
9950          arg=Data(numarray.array([[[2.0, 2.0, 8.0], [2.0, 1.0, 5.0], [5.0, 5.0, 2.0], [1.0, 4.0, 6.0]], [[2.0, 3.0, 7.0], [5.0, 5.0, 6.0], [8.0, 5.0, 8.0], [5.0, 7.0, 7.0]], [[3.0, 2.0, 5.0], [8.0, 6.0, 5.0], [8.0, 6.0, 8.0], [1.0, 6.0, 1.0]]]),self.functionspace)
9951          val=numarray.array([[2.0, 2.0], [6.0, 7.0], [1.0, 4.0]])
9952          arg[1,:3,:2]=val
9953          ref=Data(numarray.array([[[2.0, 2.0, 8.0], [2.0, 1.0, 5.0], [5.0, 5.0, 2.0], [1.0, 4.0, 6.0]], [[2.0, 2.0, 7.0], [6.0, 7.0, 6.0], [1.0, 4.0, 8.0], [5.0, 7.0, 7.0]], [[3.0, 2.0, 5.0], [8.0, 6.0, 5.0], [8.0, 6.0, 8.0], [1.0, 6.0, 1.0]]]),self.functionspace)
9954          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9955       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9956       def test_setslice_constData_rank3_constData_PUU(self):
9957          arg=Data(numarray.array([[[8.0, 2.0, 6.0], [6.0, 6.0, 7.0], [4.0, 7.0, 7.0], [3.0, 2.0, 2.0]], [[4.0, 1.0, 7.0], [6.0, 5.0, 8.0], [5.0, 1.0, 3.0], [4.0, 7.0, 6.0]], [[2.0, 3.0, 3.0], [4.0, 8.0, 8.0], [4.0, 8.0, 4.0], [1.0, 6.0, 3.0]]]),self.functionspace)
9958          val=Data(numarray.array([[4.0, 4.0], [6.0, 1.0], [5.0, 1.0]]),self.functionspace)
9959          arg[1,:3,:2]=val
9960          ref=Data(numarray.array([[[8.0, 2.0, 6.0], [6.0, 6.0, 7.0], [4.0, 7.0, 7.0], [3.0, 2.0, 2.0]], [[4.0, 4.0, 7.0], [6.0, 1.0, 8.0], [5.0, 1.0, 3.0], [4.0, 7.0, 6.0]], [[2.0, 3.0, 3.0], [4.0, 8.0, 8.0], [4.0, 8.0, 4.0], [1.0, 6.0, 3.0]]]),self.functionspace)
9961          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9962       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9963       def test_setslice_constData_rank3_expandedData_PUU(self):
9964          arg=Data(numarray.array([[[5.0, 6.0, 5.0], [1.0, 7.0, 8.0], [4.0, 7.0, 8.0], [6.0, 6.0, 5.0]], [[6.0, 1.0, 3.0], [6.0, 3.0, 6.0], [8.0, 6.0, 2.0], [8.0, 5.0, 5.0]], [[8.0, 6.0, 2.0], [2.0, 8.0, 2.0], [1.0, 7.0, 6.0], [6.0, 4.0, 7.0]]]),self.functionspace)
9965          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9966          val=msk_val*numarray.array([[7.0, 5.0], [8.0, 5.0], [3.0, 7.0]])+(1.-msk_val)*numarray.array([[8.0, 8.0], [4.0, 7.0], [7.0, 5.0]])
9967          arg[1,:3,:2]=val
9968          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9969          ref=msk_ref*numarray.array([[[5.0, 6.0, 5.0], [1.0, 7.0, 8.0], [4.0, 7.0, 8.0], [6.0, 6.0, 5.0]], [[7.0, 5.0, 3.0], [8.0, 5.0, 6.0], [3.0, 7.0, 2.0], [8.0, 5.0, 5.0]], [[8.0, 6.0, 2.0], [2.0, 8.0, 2.0], [1.0, 7.0, 6.0], [6.0, 4.0, 7.0]]])+(1.-msk_ref)*numarray.array([[[5.0, 6.0, 5.0], [1.0, 7.0, 8.0], [4.0, 7.0, 8.0], [6.0, 6.0, 5.0]], [[8.0, 8.0, 3.0], [4.0, 7.0, 6.0], [7.0, 5.0, 2.0], [8.0, 5.0, 5.0]], [[8.0, 6.0, 2.0], [2.0, 8.0, 2.0], [1.0, 7.0, 6.0], [6.0, 4.0, 7.0]]])
9970          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9971       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9972       def test_setslice_constData_rank3_array_UCN(self):
9973          arg=Data(numarray.array([[[4.0, 1.0, 8.0], [3.0, 7.0, 5.0], [8.0, 5.0, 1.0], [4.0, 1.0, 4.0]], [[6.0, 8.0, 1.0], [4.0, 5.0, 7.0], [3.0, 4.0, 4.0], [2.0, 7.0, 5.0]], [[5.0, 6.0, 3.0], [7.0, 5.0, 2.0], [2.0, 7.0, 1.0], [5.0, 7.0, 5.0]]]),self.functionspace)
9974          val=numarray.array([[[8.0, 8.0, 6.0], [4.0, 8.0, 8.0], [3.0, 2.0, 2.0], [1.0, 4.0, 3.0]], [[6.0, 3.0, 8.0], [8.0, 6.0, 2.0], [6.0, 7.0, 1.0], [4.0, 1.0, 2.0]]])
9975          arg[:2,:]=val
9976          ref=Data(numarray.array([[[8.0, 8.0, 6.0], [4.0, 8.0, 8.0], [3.0, 2.0, 2.0], [1.0, 4.0, 3.0]], [[6.0, 3.0, 8.0], [8.0, 6.0, 2.0], [6.0, 7.0, 1.0], [4.0, 1.0, 2.0]], [[5.0, 6.0, 3.0], [7.0, 5.0, 2.0], [2.0, 7.0, 1.0], [5.0, 7.0, 5.0]]]),self.functionspace)
9977          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9978       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9979       def test_setslice_constData_rank3_constData_UCN(self):
9980          arg=Data(numarray.array([[[3.0, 3.0, 3.0], [2.0, 6.0, 6.0], [6.0, 4.0, 3.0], [6.0, 2.0, 3.0]], [[8.0, 3.0, 2.0], [3.0, 2.0, 5.0], [8.0, 2.0, 5.0], [5.0, 6.0, 5.0]], [[1.0, 8.0, 1.0], [6.0, 1.0, 8.0], [1.0, 7.0, 3.0], [2.0, 4.0, 8.0]]]),self.functionspace)
9981          val=Data(numarray.array([[[8.0, 2.0, 2.0], [7.0, 4.0, 2.0], [6.0, 4.0, 3.0], [2.0, 7.0, 5.0]], [[1.0, 1.0, 7.0], [6.0, 7.0, 1.0], [3.0, 1.0, 2.0], [2.0, 1.0, 5.0]]]),self.functionspace)
9982          arg[:2,:]=val
9983          ref=Data(numarray.array([[[8.0, 2.0, 2.0], [7.0, 4.0, 2.0], [6.0, 4.0, 3.0], [2.0, 7.0, 5.0]], [[1.0, 1.0, 7.0], [6.0, 7.0, 1.0], [3.0, 1.0, 2.0], [2.0, 1.0, 5.0]], [[1.0, 8.0, 1.0], [6.0, 1.0, 8.0], [1.0, 7.0, 3.0], [2.0, 4.0, 8.0]]]),self.functionspace)
9984          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9985       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9986       def test_setslice_constData_rank3_expandedData_UCN(self):
9987          arg=Data(numarray.array([[[4.0, 4.0, 5.0], [8.0, 2.0, 2.0], [4.0, 2.0, 5.0], [4.0, 3.0, 4.0]], [[2.0, 8.0, 6.0], [7.0, 6.0, 7.0], [7.0, 1.0, 6.0], [4.0, 4.0, 1.0]], [[7.0, 5.0, 3.0], [8.0, 6.0, 1.0], [8.0, 4.0, 1.0], [5.0, 5.0, 2.0]]]),self.functionspace)
9988          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
9989          val=msk_val*numarray.array([[[5.0, 4.0, 2.0], [8.0, 4.0, 8.0], [2.0, 5.0, 8.0], [8.0, 6.0, 5.0]], [[2.0, 7.0, 8.0], [8.0, 8.0, 3.0], [6.0, 2.0, 4.0], [3.0, 5.0, 2.0]]])+(1.-msk_val)*numarray.array([[[7.0, 5.0, 2.0], [7.0, 4.0, 5.0], [1.0, 3.0, 6.0], [8.0, 1.0, 4.0]], [[3.0, 5.0, 6.0], [1.0, 2.0, 5.0], [7.0, 6.0, 2.0], [3.0, 4.0, 4.0]]])
9990          arg[:2,:]=val
9991          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
9992          ref=msk_ref*numarray.array([[[5.0, 4.0, 2.0], [8.0, 4.0, 8.0], [2.0, 5.0, 8.0], [8.0, 6.0, 5.0]], [[2.0, 7.0, 8.0], [8.0, 8.0, 3.0], [6.0, 2.0, 4.0], [3.0, 5.0, 2.0]], [[7.0, 5.0, 3.0], [8.0, 6.0, 1.0], [8.0, 4.0, 1.0], [5.0, 5.0, 2.0]]])+(1.-msk_ref)*numarray.array([[[7.0, 5.0, 2.0], [7.0, 4.0, 5.0], [1.0, 3.0, 6.0], [8.0, 1.0, 4.0]], [[3.0, 5.0, 6.0], [1.0, 2.0, 5.0], [7.0, 6.0, 2.0], [3.0, 4.0, 4.0]], [[7.0, 5.0, 3.0], [8.0, 6.0, 1.0], [8.0, 4.0, 1.0], [5.0, 5.0, 2.0]]])
9993          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
9994       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9995       def test_setslice_constData_rank3_array_RUN(self):
9996          arg=Data(numarray.array([[[8.0, 1.0, 4.0], [1.0, 6.0, 7.0], [7.0, 6.0, 7.0], [6.0, 3.0, 8.0]], [[4.0, 1.0, 7.0], [3.0, 1.0, 7.0], [2.0, 2.0, 7.0], [5.0, 1.0, 1.0]], [[2.0, 4.0, 5.0], [1.0, 1.0, 2.0], [7.0, 8.0, 5.0], [2.0, 5.0, 7.0]]]),self.functionspace)
9997          val=numarray.array([[[5.0, 3.0, 2.0], [2.0, 3.0, 3.0], [6.0, 4.0, 3.0]]])
9998          arg[1:2,:3]=val
9999          ref=Data(numarray.array([[[8.0, 1.0, 4.0], [1.0, 6.0, 7.0], [7.0, 6.0, 7.0], [6.0, 3.0, 8.0]], [[5.0, 3.0, 2.0], [2.0, 3.0, 3.0], [6.0, 4.0, 3.0], [5.0, 1.0, 1.0]], [[2.0, 4.0, 5.0], [1.0, 1.0, 2.0], [7.0, 8.0, 5.0], [2.0, 5.0, 7.0]]]),self.functionspace)
10000          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10001       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10002       def test_setslice_constData_rank3_constData_RUN(self):
10003          arg=Data(numarray.array([[[6.0, 3.0, 1.0], [2.0, 7.0, 3.0], [7.0, 5.0, 5.0], [3.0, 5.0, 7.0]], [[1.0, 1.0, 1.0], [6.0, 6.0, 8.0], [6.0, 5.0, 6.0], [5.0, 3.0, 5.0]], [[1.0, 5.0, 8.0], [6.0, 7.0, 2.0], [4.0, 4.0, 6.0], [6.0, 5.0, 8.0]]]),self.functionspace)
10004          val=Data(numarray.array([[[7.0, 2.0, 6.0], [5.0, 2.0, 8.0], [6.0, 7.0, 3.0]]]),self.functionspace)
10005          arg[1:2,:3]=val
10006          ref=Data(numarray.array([[[6.0, 3.0, 1.0], [2.0, 7.0, 3.0], [7.0, 5.0, 5.0], [3.0, 5.0, 7.0]], [[7.0, 2.0, 6.0], [5.0, 2.0, 8.0], [6.0, 7.0, 3.0], [5.0, 3.0, 5.0]], [[1.0, 5.0, 8.0], [6.0, 7.0, 2.0], [4.0, 4.0, 6.0], [6.0, 5.0, 8.0]]]),self.functionspace)
10007          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10008       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10009       def test_setslice_constData_rank3_expandedData_RUN(self):
10010          arg=Data(numarray.array([[[5.0, 4.0, 7.0], [4.0, 7.0, 7.0], [2.0, 4.0, 7.0], [5.0, 4.0, 5.0]], [[8.0, 6.0, 8.0], [1.0, 6.0, 2.0], [5.0, 7.0, 1.0], [7.0, 7.0, 1.0]], [[4.0, 8.0, 4.0], [6.0, 8.0, 3.0], [5.0, 4.0, 8.0], [1.0, 5.0, 7.0]]]),self.functionspace)
10011          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10012          val=msk_val*numarray.array([[[3.0, 8.0, 5.0], [1.0, 7.0, 1.0], [2.0, 3.0, 2.0]]])+(1.-msk_val)*numarray.array([[[2.0, 3.0, 7.0], [4.0, 3.0, 1.0], [8.0, 8.0, 3.0]]])
10013          arg[1:2,:3]=val
10014          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10015          ref=msk_ref*numarray.array([[[5.0, 4.0, 7.0], [4.0, 7.0, 7.0], [2.0, 4.0, 7.0], [5.0, 4.0, 5.0]], [[3.0, 8.0, 5.0], [1.0, 7.0, 1.0], [2.0, 3.0, 2.0], [7.0, 7.0, 1.0]], [[4.0, 8.0, 4.0], [6.0, 8.0, 3.0], [5.0, 4.0, 8.0], [1.0, 5.0, 7.0]]])+(1.-msk_ref)*numarray.array([[[5.0, 4.0, 7.0], [4.0, 7.0, 7.0], [2.0, 4.0, 7.0], [5.0, 4.0, 5.0]], [[2.0, 3.0, 7.0], [4.0, 3.0, 1.0], [8.0, 8.0, 3.0], [7.0, 7.0, 1.0]], [[4.0, 8.0, 4.0], [6.0, 8.0, 3.0], [5.0, 4.0, 8.0], [1.0, 5.0, 7.0]]])
10016          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10017       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10018       def test_setslice_constData_rank3_array_LUC(self):
10019          arg=Data(numarray.array([[[8.0, 1.0, 3.0], [4.0, 5.0, 5.0], [5.0, 3.0, 1.0], [2.0, 3.0, 5.0]], [[8.0, 3.0, 3.0], [5.0, 4.0, 2.0], [1.0, 6.0, 8.0], [2.0, 2.0, 2.0]], [[6.0, 3.0, 4.0], [8.0, 4.0, 3.0], [6.0, 6.0, 5.0], [8.0, 6.0, 7.0]]]),self.functionspace)
10020          val=numarray.array([[[7.0, 4.0, 8.0], [4.0, 5.0, 8.0], [4.0, 6.0, 7.0]]])
10021          arg[2:,:3,:]=val
10022          ref=Data(numarray.array([[[8.0, 1.0, 3.0], [4.0, 5.0, 5.0], [5.0, 3.0, 1.0], [2.0, 3.0, 5.0]], [[8.0, 3.0, 3.0], [5.0, 4.0, 2.0], [1.0, 6.0, 8.0], [2.0, 2.0, 2.0]], [[7.0, 4.0, 8.0], [4.0, 5.0, 8.0], [4.0, 6.0, 7.0], [8.0, 6.0, 7.0]]]),self.functionspace)
10023          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10024       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10025       def test_setslice_constData_rank3_constData_LUC(self):
10026          arg=Data(numarray.array([[[6.0, 5.0, 6.0], [2.0, 6.0, 3.0], [3.0, 4.0, 6.0], [6.0, 7.0, 8.0]], [[8.0, 8.0, 4.0], [4.0, 1.0, 4.0], [7.0, 6.0, 7.0], [7.0, 4.0, 8.0]], [[6.0, 8.0, 7.0], [7.0, 6.0, 4.0], [4.0, 8.0, 6.0], [7.0, 4.0, 4.0]]]),self.functionspace)
10027          val=Data(numarray.array([[[1.0, 2.0, 4.0], [6.0, 6.0, 5.0], [4.0, 1.0, 8.0]]]),self.functionspace)
10028          arg[2:,:3,:]=val
10029          ref=Data(numarray.array([[[6.0, 5.0, 6.0], [2.0, 6.0, 3.0], [3.0, 4.0, 6.0], [6.0, 7.0, 8.0]], [[8.0, 8.0, 4.0], [4.0, 1.0, 4.0], [7.0, 6.0, 7.0], [7.0, 4.0, 8.0]], [[1.0, 2.0, 4.0], [6.0, 6.0, 5.0], [4.0, 1.0, 8.0], [7.0, 4.0, 4.0]]]),self.functionspace)
10030          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10031       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10032       def test_setslice_constData_rank3_expandedData_LUC(self):
10033          arg=Data(numarray.array([[[4.0, 2.0, 3.0], [7.0, 3.0, 7.0], [1.0, 1.0, 3.0], [7.0, 4.0, 1.0]], [[7.0, 1.0, 4.0], [1.0, 8.0, 1.0], [2.0, 8.0, 2.0], [2.0, 6.0, 5.0]], [[5.0, 5.0, 1.0], [4.0, 8.0, 8.0], [2.0, 1.0, 6.0], [2.0, 2.0, 2.0]]]),self.functionspace)
10034          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10035          val=msk_val*numarray.array([[[2.0, 5.0, 4.0], [1.0, 1.0, 7.0], [7.0, 6.0, 6.0]]])+(1.-msk_val)*numarray.array([[[7.0, 6.0, 1.0], [4.0, 2.0, 8.0], [4.0, 1.0, 4.0]]])
10036          arg[2:,:3,:]=val
10037          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10038          ref=msk_ref*numarray.array([[[4.0, 2.0, 3.0], [7.0, 3.0, 7.0], [1.0, 1.0, 3.0], [7.0, 4.0, 1.0]], [[7.0, 1.0, 4.0], [1.0, 8.0, 1.0], [2.0, 8.0, 2.0], [2.0, 6.0, 5.0]], [[2.0, 5.0, 4.0], [1.0, 1.0, 7.0], [7.0, 6.0, 6.0], [2.0, 2.0, 2.0]]])+(1.-msk_ref)*numarray.array([[[4.0, 2.0, 3.0], [7.0, 3.0, 7.0], [1.0, 1.0, 3.0], [7.0, 4.0, 1.0]], [[7.0, 1.0, 4.0], [1.0, 8.0, 1.0], [2.0, 8.0, 2.0], [2.0, 6.0, 5.0]], [[7.0, 6.0, 1.0], [4.0, 2.0, 8.0], [4.0, 1.0, 4.0], [2.0, 2.0, 2.0]]])
10039          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10040       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10041       def test_setslice_constData_rank3_array_UUC(self):
10042          arg=Data(numarray.array([[[1.0, 8.0, 5.0], [8.0, 5.0, 3.0], [2.0, 5.0, 2.0], [3.0, 8.0, 6.0]], [[4.0, 1.0, 1.0], [1.0, 1.0, 4.0], [4.0, 7.0, 5.0], [6.0, 2.0, 1.0]], [[4.0, 7.0, 2.0], [8.0, 2.0, 7.0], [4.0, 1.0, 2.0], [8.0, 6.0, 2.0]]]),self.functionspace)
10043          val=numarray.array([[[2.0, 2.0, 8.0], [3.0, 6.0, 7.0], [1.0, 2.0, 5.0]], [[6.0, 2.0, 7.0], [7.0, 3.0, 8.0], [7.0, 8.0, 4.0]]])
10044          arg[:2,:3,:]=val
10045          ref=Data(numarray.array([[[2.0, 2.0, 8.0], [3.0, 6.0, 7.0], [1.0, 2.0, 5.0], [3.0, 8.0, 6.0]], [[6.0, 2.0, 7.0], [7.0, 3.0, 8.0], [7.0, 8.0, 4.0], [6.0, 2.0, 1.0]], [[4.0, 7.0, 2.0], [8.0, 2.0, 7.0], [4.0, 1.0, 2.0], [8.0, 6.0, 2.0]]]),self.functionspace)
10046          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10047       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10048       def test_setslice_constData_rank3_constData_UUC(self):
10049          arg=Data(numarray.array([[[7.0, 6.0, 2.0], [3.0, 3.0, 7.0], [1.0, 8.0, 3.0], [8.0, 2.0, 4.0]], [[8.0, 1.0, 2.0], [2.0, 7.0, 4.0], [2.0, 8.0, 8.0], [3.0, 3.0, 8.0]], [[7.0, 3.0, 5.0], [3.0, 4.0, 2.0], [4.0, 6.0, 6.0], [2.0, 7.0, 4.0]]]),self.functionspace)
10050          val=Data(numarray.array([[[8.0, 3.0, 5.0], [1.0, 7.0, 8.0], [6.0, 5.0, 5.0]], [[3.0, 5.0, 1.0], [2.0, 1.0, 6.0], [5.0, 5.0, 6.0]]]),self.functionspace)
10051          arg[:2,:3,:]=val
10052          ref=Data(numarray.array([[[8.0, 3.0, 5.0], [1.0, 7.0, 8.0], [6.0, 5.0, 5.0], [8.0, 2.0, 4.0]], [[3.0, 5.0, 1.0], [2.0, 1.0, 6.0], [5.0, 5.0, 6.0], [3.0, 3.0, 8.0]], [[7.0, 3.0, 5.0], [3.0, 4.0, 2.0], [4.0, 6.0, 6.0], [2.0, 7.0, 4.0]]]),self.functionspace)
10053          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10054       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10055       def test_setslice_constData_rank3_expandedData_UUC(self):
10056          arg=Data(numarray.array([[[2.0, 6.0, 3.0], [2.0, 4.0, 4.0], [5.0, 3.0, 2.0], [3.0, 4.0, 1.0]], [[6.0, 6.0, 5.0], [7.0, 8.0, 6.0], [8.0, 7.0, 3.0], [2.0, 4.0, 1.0]], [[3.0, 5.0, 6.0], [6.0, 1.0, 6.0], [8.0, 5.0, 7.0], [7.0, 8.0, 1.0]]]),self.functionspace)
10057          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10058          val=msk_val*numarray.array([[[7.0, 4.0, 3.0], [3.0, 5.0, 1.0], [7.0, 1.0, 1.0]], [[7.0, 2.0, 6.0], [8.0, 5.0, 4.0], [2.0, 8.0, 5.0]]])+(1.-msk_val)*numarray.array([[[6.0, 5.0, 4.0], [8.0, 5.0, 8.0], [3.0, 3.0, 1.0]], [[1.0, 2.0, 1.0], [1.0, 4.0, 8.0], [2.0, 4.0, 5.0]]])
10059          arg[:2,:3,:]=val
10060          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10061          ref=msk_ref*numarray.array([[[7.0, 4.0, 3.0], [3.0, 5.0, 1.0], [7.0, 1.0, 1.0], [3.0, 4.0, 1.0]], [[7.0, 2.0, 6.0], [8.0, 5.0, 4.0], [2.0, 8.0, 5.0], [2.0, 4.0, 1.0]], [[3.0, 5.0, 6.0], [6.0, 1.0, 6.0], [8.0, 5.0, 7.0], [7.0, 8.0, 1.0]]])+(1.-msk_ref)*numarray.array([[[6.0, 5.0, 4.0], [8.0, 5.0, 8.0], [3.0, 3.0, 1.0], [3.0, 4.0, 1.0]], [[1.0, 2.0, 1.0], [1.0, 4.0, 8.0], [2.0, 4.0, 5.0], [2.0, 4.0, 1.0]], [[3.0, 5.0, 6.0], [6.0, 1.0, 6.0], [8.0, 5.0, 7.0], [7.0, 8.0, 1.0]]])
10062          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10063       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10064       def test_setslice_constData_rank3_array_RLU(self):
10065          arg=Data(numarray.array([[[5.0, 5.0, 3.0], [7.0, 2.0, 2.0], [4.0, 8.0, 8.0], [7.0, 1.0, 6.0]], [[8.0, 4.0, 1.0], [3.0, 8.0, 3.0], [6.0, 8.0, 7.0], [6.0, 4.0, 2.0]], [[7.0, 6.0, 4.0], [1.0, 7.0, 5.0], [2.0, 8.0, 1.0], [6.0, 8.0, 4.0]]]),self.functionspace)
10066          val=numarray.array([[[7.0, 1.0], [8.0, 7.0]]])
10067          arg[1:2,2:,:2]=val
10068          ref=Data(numarray.array([[[5.0, 5.0, 3.0], [7.0, 2.0, 2.0], [4.0, 8.0, 8.0], [7.0, 1.0, 6.0]], [[8.0, 4.0, 1.0], [3.0, 8.0, 3.0], [7.0, 1.0, 7.0], [8.0, 7.0, 2.0]], [[7.0, 6.0, 4.0], [1.0, 7.0, 5.0], [2.0, 8.0, 1.0], [6.0, 8.0, 4.0]]]),self.functionspace)
10069          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10070       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10071       def test_setslice_constData_rank3_constData_RLU(self):
10072          arg=Data(numarray.array([[[3.0, 6.0, 6.0], [7.0, 5.0, 6.0], [4.0, 1.0, 7.0], [7.0, 2.0, 6.0]], [[3.0, 3.0, 4.0], [5.0, 3.0, 4.0], [5.0, 7.0, 5.0], [3.0, 7.0, 2.0]], [[3.0, 1.0, 2.0], [8.0, 4.0, 4.0], [1.0, 1.0, 3.0], [5.0, 5.0, 1.0]]]),self.functionspace)
10073          val=Data(numarray.array([[[7.0, 4.0], [6.0, 4.0]]]),self.functionspace)
10074          arg[1:2,2:,:2]=val
10075          ref=Data(numarray.array([[[3.0, 6.0, 6.0], [7.0, 5.0, 6.0], [4.0, 1.0, 7.0], [7.0, 2.0, 6.0]], [[3.0, 3.0, 4.0], [5.0, 3.0, 4.0], [7.0, 4.0, 5.0], [6.0, 4.0, 2.0]], [[3.0, 1.0, 2.0], [8.0, 4.0, 4.0], [1.0, 1.0, 3.0], [5.0, 5.0, 1.0]]]),self.functionspace)
10076          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10077       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10078       def test_setslice_constData_rank3_expandedData_RLU(self):
10079          arg=Data(numarray.array([[[5.0, 7.0, 4.0], [4.0, 6.0, 7.0], [2.0, 7.0, 3.0], [1.0, 8.0, 5.0]], [[3.0, 1.0, 8.0], [4.0, 8.0, 6.0], [2.0, 7.0, 5.0], [2.0, 6.0, 7.0]], [[3.0, 1.0, 5.0], [5.0, 8.0, 8.0], [6.0, 4.0, 2.0], [7.0, 8.0, 6.0]]]),self.functionspace)
10080          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10081          val=msk_val*numarray.array([[[4.0, 2.0], [3.0, 1.0]]])+(1.-msk_val)*numarray.array([[[5.0, 7.0], [7.0, 1.0]]])
10082          arg[1:2,2:,:2]=val
10083          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10084          ref=msk_ref*numarray.array([[[5.0, 7.0, 4.0], [4.0, 6.0, 7.0], [2.0, 7.0, 3.0], [1.0, 8.0, 5.0]], [[3.0, 1.0, 8.0], [4.0, 8.0, 6.0], [4.0, 2.0, 5.0], [3.0, 1.0, 7.0]], [[3.0, 1.0, 5.0], [5.0, 8.0, 8.0], [6.0, 4.0, 2.0], [7.0, 8.0, 6.0]]])+(1.-msk_ref)*numarray.array([[[5.0, 7.0, 4.0], [4.0, 6.0, 7.0], [2.0, 7.0, 3.0], [1.0, 8.0, 5.0]], [[3.0, 1.0, 8.0], [4.0, 8.0, 6.0], [5.0, 7.0, 5.0], [7.0, 1.0, 7.0]], [[3.0, 1.0, 5.0], [5.0, 8.0, 8.0], [6.0, 4.0, 2.0], [7.0, 8.0, 6.0]]])
10085          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10086       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10087       def test_setslice_constData_rank3_array_ULN(self):
10088          arg=Data(numarray.array([[[3.0, 1.0, 3.0], [6.0, 3.0, 8.0], [8.0, 6.0, 8.0], [6.0, 6.0, 8.0]], [[4.0, 5.0, 8.0], [5.0, 8.0, 7.0], [2.0, 6.0, 4.0], [3.0, 7.0, 5.0]], [[5.0, 1.0, 2.0], [7.0, 4.0, 7.0], [4.0, 5.0, 4.0], [4.0, 5.0, 1.0]]]),self.functionspace)
10089          val=numarray.array([[[6.0, 8.0, 4.0], [4.0, 6.0, 8.0]], [[2.0, 2.0, 7.0], [2.0, 3.0, 8.0]]])
10090          arg[:2,2:]=val
10091          ref=Data(numarray.array([[[3.0, 1.0, 3.0], [6.0, 3.0, 8.0], [6.0, 8.0, 4.0], [4.0, 6.0, 8.0]], [[4.0, 5.0, 8.0], [5.0, 8.0, 7.0], [2.0, 2.0, 7.0], [2.0, 3.0, 8.0]], [[5.0, 1.0, 2.0], [7.0, 4.0, 7.0], [4.0, 5.0, 4.0], [4.0, 5.0, 1.0]]]),self.functionspace)
10092          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10093       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10094       def test_setslice_constData_rank3_constData_ULN(self):
10095          arg=Data(numarray.array([[[4.0, 8.0, 2.0], [6.0, 7.0, 8.0], [7.0, 8.0, 6.0], [8.0, 6.0, 5.0]], [[7.0, 5.0, 5.0], [5.0, 7.0, 5.0], [2.0, 6.0, 4.0], [8.0, 6.0, 2.0]], [[6.0, 7.0, 3.0], [8.0, 5.0, 6.0], [6.0, 4.0, 3.0], [8.0, 4.0, 5.0]]]),self.functionspace)
10096          val=Data(numarray.array([[[7.0, 7.0, 8.0], [7.0, 4.0, 8.0]], [[7.0, 5.0, 4.0], [2.0, 8.0, 7.0]]]),self.functionspace)
10097          arg[:2,2:]=val
10098          ref=Data(numarray.array([[[4.0, 8.0, 2.0], [6.0, 7.0, 8.0], [7.0, 7.0, 8.0], [7.0, 4.0, 8.0]], [[7.0, 5.0, 5.0], [5.0, 7.0, 5.0], [7.0, 5.0, 4.0], [2.0, 8.0, 7.0]], [[6.0, 7.0, 3.0], [8.0, 5.0, 6.0], [6.0, 4.0, 3.0], [8.0, 4.0, 5.0]]]),self.functionspace)
10099          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10100       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10101       def test_setslice_constData_rank3_expandedData_ULN(self):
10102          arg=Data(numarray.array([[[7.0, 3.0, 3.0], [8.0, 2.0, 2.0], [1.0, 3.0, 7.0], [1.0, 7.0, 3.0]], [[4.0, 2.0, 8.0], [4.0, 6.0, 5.0], [7.0, 8.0, 7.0], [2.0, 8.0, 4.0]], [[3.0, 7.0, 2.0], [2.0, 2.0, 4.0], [8.0, 1.0, 6.0], [8.0, 3.0, 2.0]]]),self.functionspace)
10103          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10104          val=msk_val*numarray.array([[[2.0, 1.0, 8.0], [2.0, 7.0, 7.0]], [[3.0, 8.0, 8.0], [1.0, 3.0, 8.0]]])+(1.-msk_val)*numarray.array([[[6.0, 8.0, 7.0], [7.0, 5.0, 8.0]], [[2.0, 4.0, 7.0], [6.0, 8.0, 5.0]]])
10105          arg[:2,2:]=val
10106          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10107          ref=msk_ref*numarray.array([[[7.0, 3.0, 3.0], [8.0, 2.0, 2.0], [2.0, 1.0, 8.0], [2.0, 7.0, 7.0]], [[4.0, 2.0, 8.0], [4.0, 6.0, 5.0], [3.0, 8.0, 8.0], [1.0, 3.0, 8.0]], [[3.0, 7.0, 2.0], [2.0, 2.0, 4.0], [8.0, 1.0, 6.0], [8.0, 3.0, 2.0]]])+(1.-msk_ref)*numarray.array([[[7.0, 3.0, 3.0], [8.0, 2.0, 2.0], [6.0, 8.0, 7.0], [7.0, 5.0, 8.0]], [[4.0, 2.0, 8.0], [4.0, 6.0, 5.0], [2.0, 4.0, 7.0], [6.0, 8.0, 5.0]], [[3.0, 7.0, 2.0], [2.0, 2.0, 4.0], [8.0, 1.0, 6.0], [8.0, 3.0, 2.0]]])
10108          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10109       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10110       def test_setslice_constData_rank3_array_RUP(self):
10111          arg=Data(numarray.array([[[4.0, 4.0, 7.0], [6.0, 4.0, 6.0], [4.0, 6.0, 6.0], [3.0, 5.0, 6.0]], [[1.0, 3.0, 4.0], [5.0, 7.0, 4.0], [7.0, 5.0, 7.0], [6.0, 6.0, 4.0]], [[2.0, 4.0, 7.0], [8.0, 8.0, 2.0], [3.0, 4.0, 3.0], [7.0, 3.0, 6.0]]]),self.functionspace)
10112          val=numarray.array([[3.0, 6.0, 2.0]])
10113          arg[1:2,:3,1]=val
10114          ref=Data(numarray.array([[[4.0, 4.0, 7.0], [6.0, 4.0, 6.0], [4.0, 6.0, 6.0], [3.0, 5.0, 6.0]], [[1.0, 3.0, 4.0], [5.0, 6.0, 4.0], [7.0, 2.0, 7.0], [6.0, 6.0, 4.0]], [[2.0, 4.0, 7.0], [8.0, 8.0, 2.0], [3.0, 4.0, 3.0], [7.0, 3.0, 6.0]]]),self.functionspace)
10115          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10116       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10117       def test_setslice_constData_rank3_constData_RUP(self):
10118          arg=Data(numarray.array([[[4.0, 6.0, 4.0], [1.0, 6.0, 7.0], [6.0, 5.0, 5.0], [3.0, 7.0, 7.0]], [[8.0, 6.0, 3.0], [5.0, 4.0, 1.0], [2.0, 5.0, 7.0], [6.0, 8.0, 6.0]], [[4.0, 1.0, 8.0], [6.0, 2.0, 8.0], [7.0, 5.0, 2.0], [3.0, 7.0, 3.0]]]),self.functionspace)
10119          val=Data(numarray.array([[5.0, 2.0, 3.0]]),self.functionspace)
10120          arg[1:2,:3,1]=val
10121          ref=Data(numarray.array([[[4.0, 6.0, 4.0], [1.0, 6.0, 7.0], [6.0, 5.0, 5.0], [3.0, 7.0, 7.0]], [[8.0, 5.0, 3.0], [5.0, 2.0, 1.0], [2.0, 3.0, 7.0], [6.0, 8.0, 6.0]], [[4.0, 1.0, 8.0], [6.0, 2.0, 8.0], [7.0, 5.0, 2.0], [3.0, 7.0, 3.0]]]),self.functionspace)
10122          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10123       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10124       def test_setslice_constData_rank3_expandedData_RUP(self):
10125          arg=Data(numarray.array([[[1.0, 1.0, 3.0], [8.0, 4.0, 3.0], [7.0, 5.0, 6.0], [2.0, 7.0, 4.0]], [[1.0, 7.0, 1.0], [3.0, 8.0, 3.0], [6.0, 5.0, 8.0], [7.0, 6.0, 6.0]], [[1.0, 1.0, 6.0], [2.0, 5.0, 6.0], [2.0, 6.0, 8.0], [7.0, 1.0, 7.0]]]),self.functionspace)
10126          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10127          val=msk_val*numarray.array([[4.0, 1.0, 2.0]])+(1.-msk_val)*numarray.array([[2.0, 4.0, 5.0]])
10128          arg[1:2,:3,1]=val
10129          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10130          ref=msk_ref*numarray.array([[[1.0, 1.0, 3.0], [8.0, 4.0, 3.0], [7.0, 5.0, 6.0], [2.0, 7.0, 4.0]], [[1.0, 4.0, 1.0], [3.0, 1.0, 3.0], [6.0, 2.0, 8.0], [7.0, 6.0, 6.0]], [[1.0, 1.0, 6.0], [2.0, 5.0, 6.0], [2.0, 6.0, 8.0], [7.0, 1.0, 7.0]]])+(1.-msk_ref)*numarray.array([[[1.0, 1.0, 3.0], [8.0, 4.0, 3.0], [7.0, 5.0, 6.0], [2.0, 7.0, 4.0]], [[1.0, 2.0, 1.0], [3.0, 4.0, 3.0], [6.0, 5.0, 8.0], [7.0, 6.0, 6.0]], [[1.0, 1.0, 6.0], [2.0, 5.0, 6.0], [2.0, 6.0, 8.0], [7.0, 1.0, 7.0]]])
10131          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10132       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10133       def test_setslice_constData_rank3_array_LUN(self):
10134          arg=Data(numarray.array([[[2.0, 6.0, 8.0], [3.0, 4.0, 1.0], [1.0, 3.0, 3.0], [6.0, 4.0, 2.0]], [[8.0, 8.0, 1.0], [1.0, 4.0, 7.0], [8.0, 5.0, 5.0], [3.0, 6.0, 5.0]], [[7.0, 2.0, 6.0], [5.0, 1.0, 4.0], [2.0, 5.0, 6.0], [7.0, 6.0, 2.0]]]),self.functionspace)
10135          val=numarray.array([[[8.0, 5.0, 1.0], [8.0, 5.0, 4.0], [1.0, 3.0, 5.0]]])
10136          arg[2:,:3]=val
10137          ref=Data(numarray.array([[[2.0, 6.0, 8.0], [3.0, 4.0, 1.0], [1.0, 3.0, 3.0], [6.0, 4.0, 2.0]], [[8.0, 8.0, 1.0], [1.0, 4.0, 7.0], [8.0, 5.0, 5.0], [3.0, 6.0, 5.0]], [[8.0, 5.0, 1.0], [8.0, 5.0, 4.0], [1.0, 3.0, 5.0], [7.0, 6.0, 2.0]]]),self.functionspace)
10138          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10139       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10140       def test_setslice_constData_rank3_constData_LUN(self):
10141          arg=Data(numarray.array([[[8.0, 4.0, 2.0], [2.0, 5.0, 6.0], [6.0, 4.0, 1.0], [8.0, 1.0, 1.0]], [[6.0, 7.0, 2.0], [6.0, 5.0, 1.0], [6.0, 8.0, 6.0], [7.0, 5.0, 6.0]], [[5.0, 8.0, 7.0], [5.0, 1.0, 6.0], [3.0, 6.0, 2.0], [1.0, 8.0, 2.0]]]),self.functionspace)
10142          val=Data(numarray.array([[[5.0, 3.0, 1.0], [8.0, 7.0, 8.0], [7.0, 2.0, 8.0]]]),self.functionspace)
10143          arg[2:,:3]=val
10144          ref=Data(numarray.array([[[8.0, 4.0, 2.0], [2.0, 5.0, 6.0], [6.0, 4.0, 1.0], [8.0, 1.0, 1.0]], [[6.0, 7.0, 2.0], [6.0, 5.0, 1.0], [6.0, 8.0, 6.0], [7.0, 5.0, 6.0]], [[5.0, 3.0, 1.0], [8.0, 7.0, 8.0], [7.0, 2.0, 8.0], [1.0, 8.0, 2.0]]]),self.functionspace)
10145          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10146       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10147       def test_setslice_constData_rank3_expandedData_LUN(self):
10148          arg=Data(numarray.array([[[2.0, 1.0, 5.0], [4.0, 1.0, 1.0], [4.0, 7.0, 6.0], [4.0, 3.0, 4.0]], [[3.0, 6.0, 1.0], [3.0, 3.0, 1.0], [8.0, 1.0, 5.0], [4.0, 4.0, 5.0]], [[6.0, 8.0, 4.0], [5.0, 4.0, 6.0], [5.0, 4.0, 8.0], [5.0, 4.0, 4.0]]]),self.functionspace)
10149          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10150          val=msk_val*numarray.array([[[6.0, 5.0, 4.0], [3.0, 7.0, 5.0], [7.0, 7.0, 5.0]]])+(1.-msk_val)*numarray.array([[[1.0, 8.0, 1.0], [8.0, 3.0, 5.0], [2.0, 8.0, 4.0]]])
10151          arg[2:,:3]=val
10152          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10153          ref=msk_ref*numarray.array([[[2.0, 1.0, 5.0], [4.0, 1.0, 1.0], [4.0, 7.0, 6.0], [4.0, 3.0, 4.0]], [[3.0, 6.0, 1.0], [3.0, 3.0, 1.0], [8.0, 1.0, 5.0], [4.0, 4.0, 5.0]], [[6.0, 5.0, 4.0], [3.0, 7.0, 5.0], [7.0, 7.0, 5.0], [5.0, 4.0, 4.0]]])+(1.-msk_ref)*numarray.array([[[2.0, 1.0, 5.0], [4.0, 1.0, 1.0], [4.0, 7.0, 6.0], [4.0, 3.0, 4.0]], [[3.0, 6.0, 1.0], [3.0, 3.0, 1.0], [8.0, 1.0, 5.0], [4.0, 4.0, 5.0]], [[1.0, 8.0, 1.0], [8.0, 3.0, 5.0], [2.0, 8.0, 4.0], [5.0, 4.0, 4.0]]])
10154          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10155       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10156       def test_setslice_constData_rank3_array_CLN(self):
10157          arg=Data(numarray.array([[[2.0, 3.0, 8.0], [8.0, 7.0, 7.0], [1.0, 8.0, 2.0], [6.0, 2.0, 6.0]], [[4.0, 6.0, 3.0], [3.0, 1.0, 5.0], [2.0, 4.0, 7.0], [5.0, 3.0, 7.0]], [[2.0, 4.0, 2.0], [6.0, 2.0, 7.0], [7.0, 4.0, 4.0], [6.0, 3.0, 2.0]]]),self.functionspace)
10158          val=numarray.array([[[2.0, 3.0, 5.0], [1.0, 7.0, 5.0]], [[7.0, 7.0, 1.0], [1.0, 8.0, 8.0]], [[6.0, 4.0, 2.0], [6.0, 7.0, 4.0]]])
10159          arg[:,2:]=val
10160          ref=Data(numarray.array([[[2.0, 3.0, 8.0], [8.0, 7.0, 7.0], [2.0, 3.0, 5.0], [1.0, 7.0, 5.0]], [[4.0, 6.0, 3.0], [3.0, 1.0, 5.0], [7.0, 7.0, 1.0], [1.0, 8.0, 8.0]], [[2.0, 4.0, 2.0], [6.0, 2.0, 7.0], [6.0, 4.0, 2.0], [6.0, 7.0, 4.0]]]),self.functionspace)
10161          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10162       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10163       def test_setslice_constData_rank3_constData_CLN(self):
10164          arg=Data(numarray.array([[[3.0, 7.0, 2.0], [4.0, 1.0, 8.0], [5.0, 1.0, 1.0], [5.0, 8.0, 5.0]], [[3.0, 8.0, 4.0], [1.0, 6.0, 1.0], [7.0, 5.0, 7.0], [2.0, 8.0, 1.0]], [[7.0, 3.0, 1.0], [6.0, 4.0, 6.0], [8.0, 7.0, 1.0], [5.0, 8.0, 6.0]]]),self.functionspace)
10165          val=Data(numarray.array([[[6.0, 1.0, 6.0], [8.0, 5.0, 6.0]], [[2.0, 7.0, 1.0], [3.0, 7.0, 7.0]], [[3.0, 1.0, 7.0], [5.0, 4.0, 2.0]]]),self.functionspace)
10166          arg[:,2:]=val
10167          ref=Data(numarray.array([[[3.0, 7.0, 2.0], [4.0, 1.0, 8.0], [6.0, 1.0, 6.0], [8.0, 5.0, 6.0]], [[3.0, 8.0, 4.0], [1.0, 6.0, 1.0], [2.0, 7.0, 1.0], [3.0, 7.0, 7.0]], [[7.0, 3.0, 1.0], [6.0, 4.0, 6.0], [3.0, 1.0, 7.0], [5.0, 4.0, 2.0]]]),self.functionspace)
10168          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10169       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10170       def test_setslice_constData_rank3_expandedData_CLN(self):
10171          arg=Data(numarray.array([[[6.0, 3.0, 6.0], [6.0, 3.0, 6.0], [6.0, 6.0, 4.0], [6.0, 7.0, 3.0]], [[8.0, 2.0, 6.0], [8.0, 4.0, 4.0], [4.0, 5.0, 8.0], [4.0, 3.0, 2.0]], [[7.0, 1.0, 8.0], [5.0, 8.0, 7.0], [2.0, 1.0, 7.0], [6.0, 4.0, 4.0]]]),self.functionspace)
10172          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10173          val=msk_val*numarray.array([[[4.0, 2.0, 2.0], [2.0, 3.0, 5.0]], [[4.0, 5.0, 5.0], [1.0, 5.0, 1.0]], [[5.0, 1.0, 8.0], [6.0, 1.0, 7.0]]])+(1.-msk_val)*numarray.array([[[4.0, 6.0, 8.0], [5.0, 2.0, 5.0]], [[5.0, 2.0, 2.0], [2.0, 2.0, 5.0]], [[4.0, 7.0, 1.0], [2.0, 7.0, 8.0]]])
10174          arg[:,2:]=val
10175          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10176          ref=msk_ref*numarray.array([[[6.0, 3.0, 6.0], [6.0, 3.0, 6.0], [4.0, 2.0, 2.0], [2.0, 3.0, 5.0]], [[8.0, 2.0, 6.0], [8.0, 4.0, 4.0], [4.0, 5.0, 5.0], [1.0, 5.0, 1.0]], [[7.0, 1.0, 8.0], [5.0, 8.0, 7.0], [5.0, 1.0, 8.0], [6.0, 1.0, 7.0]]])+(1.-msk_ref)*numarray.array([[[6.0, 3.0, 6.0], [6.0, 3.0, 6.0], [4.0, 6.0, 8.0], [5.0, 2.0, 5.0]], [[8.0, 2.0, 6.0], [8.0, 4.0, 4.0], [5.0, 2.0, 2.0], [2.0, 2.0, 5.0]], [[7.0, 1.0, 8.0], [5.0, 8.0, 7.0], [4.0, 7.0, 1.0], [2.0, 7.0, 8.0]]])
10177          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10178       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10179       def test_setslice_constData_rank3_array_LCN(self):
10180          arg=Data(numarray.array([[[8.0, 3.0, 3.0], [3.0, 5.0, 7.0], [8.0, 3.0, 6.0], [6.0, 8.0, 7.0]], [[3.0, 3.0, 7.0], [7.0, 5.0, 3.0], [7.0, 3.0, 8.0], [8.0, 1.0, 8.0]], [[8.0, 6.0, 7.0], [2.0, 8.0, 7.0], [4.0, 3.0, 8.0], [1.0, 2.0, 5.0]]]),self.functionspace)
10181          val=numarray.array([[[2.0, 8.0, 3.0], [3.0, 2.0, 5.0], [6.0, 8.0, 4.0], [7.0, 5.0, 2.0]]])
10182          arg[2:,:]=val
10183          ref=Data(numarray.array([[[8.0, 3.0, 3.0], [3.0, 5.0, 7.0], [8.0, 3.0, 6.0], [6.0, 8.0, 7.0]], [[3.0, 3.0, 7.0], [7.0, 5.0, 3.0], [7.0, 3.0, 8.0], [8.0, 1.0, 8.0]], [[2.0, 8.0, 3.0], [3.0, 2.0, 5.0], [6.0, 8.0, 4.0], [7.0, 5.0, 2.0]]]),self.functionspace)
10184          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10185       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10186       def test_setslice_constData_rank3_constData_LCN(self):
10187          arg=Data(numarray.array([[[5.0, 2.0, 7.0], [2.0, 7.0, 3.0], [5.0, 4.0, 5.0], [2.0, 1.0, 4.0]], [[7.0, 1.0, 6.0], [8.0, 7.0, 2.0], [6.0, 5.0, 6.0], [2.0, 1.0, 6.0]], [[3.0, 2.0, 2.0], [1.0, 4.0, 4.0], [2.0, 3.0, 4.0], [8.0, 8.0, 7.0]]]),self.functionspace)
10188          val=Data(numarray.array([[[6.0, 3.0, 7.0], [4.0, 8.0, 7.0], [4.0, 4.0, 1.0], [8.0, 2.0, 7.0]]]),self.functionspace)
10189          arg[2:,:]=val
10190          ref=Data(numarray.array([[[5.0, 2.0, 7.0], [2.0, 7.0, 3.0], [5.0, 4.0, 5.0], [2.0, 1.0, 4.0]], [[7.0, 1.0, 6.0], [8.0, 7.0, 2.0], [6.0, 5.0, 6.0], [2.0, 1.0, 6.0]], [[6.0, 3.0, 7.0], [4.0, 8.0, 7.0], [4.0, 4.0, 1.0], [8.0, 2.0, 7.0]]]),self.functionspace)
10191          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10192       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10193       def test_setslice_constData_rank3_expandedData_LCN(self):
10194          arg=Data(numarray.array([[[2.0, 1.0, 3.0], [6.0, 1.0, 5.0], [4.0, 2.0, 6.0], [5.0, 6.0, 2.0]], [[2.0, 4.0, 4.0], [3.0, 1.0, 7.0], [5.0, 4.0, 5.0], [6.0, 2.0, 4.0]], [[2.0, 8.0, 1.0], [7.0, 8.0, 4.0], [8.0, 6.0, 4.0], [6.0, 6.0, 3.0]]]),self.functionspace)
10195          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10196          val=msk_val*numarray.array([[[7.0, 7.0, 2.0], [4.0, 3.0, 8.0], [7.0, 2.0, 8.0], [6.0, 2.0, 8.0]]])+(1.-msk_val)*numarray.array([[[3.0, 7.0, 5.0], [2.0, 7.0, 7.0], [1.0, 4.0, 8.0], [4.0, 2.0, 4.0]]])
10197          arg[2:,:]=val
10198          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10199          ref=msk_ref*numarray.array([[[2.0, 1.0, 3.0], [6.0, 1.0, 5.0], [4.0, 2.0, 6.0], [5.0, 6.0, 2.0]], [[2.0, 4.0, 4.0], [3.0, 1.0, 7.0], [5.0, 4.0, 5.0], [6.0, 2.0, 4.0]], [[7.0, 7.0, 2.0], [4.0, 3.0, 8.0], [7.0, 2.0, 8.0], [6.0, 2.0, 8.0]]])+(1.-msk_ref)*numarray.array([[[2.0, 1.0, 3.0], [6.0, 1.0, 5.0], [4.0, 2.0, 6.0], [5.0, 6.0, 2.0]], [[2.0, 4.0, 4.0], [3.0, 1.0, 7.0], [5.0, 4.0, 5.0], [6.0, 2.0, 4.0]], [[3.0, 7.0, 5.0], [2.0, 7.0, 7.0], [1.0, 4.0, 8.0], [4.0, 2.0, 4.0]]])
10200          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10201       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10202       def test_setslice_constData_rank3_array_PUN(self):
10203          arg=Data(numarray.array([[[3.0, 5.0, 1.0], [6.0, 6.0, 3.0], [1.0, 3.0, 8.0], [1.0, 5.0, 5.0]], [[5.0, 6.0, 6.0], [8.0, 8.0, 6.0], [2.0, 4.0, 8.0], [1.0, 1.0, 5.0]], [[5.0, 5.0, 7.0], [1.0, 2.0, 8.0], [5.0, 5.0, 5.0], [1.0, 7.0, 3.0]]]),self.functionspace)
10204          val=numarray.array([[6.0, 8.0, 7.0], [8.0, 1.0, 2.0], [6.0, 6.0, 6.0]])
10205          arg[1,:3]=val
10206          ref=Data(numarray.array([[[3.0, 5.0, 1.0], [6.0, 6.0, 3.0], [1.0, 3.0, 8.0], [1.0, 5.0, 5.0]], [[6.0, 8.0, 7.0], [8.0, 1.0, 2.0], [6.0, 6.0, 6.0], [1.0, 1.0, 5.0]], [[5.0, 5.0, 7.0], [1.0, 2.0, 8.0], [5.0, 5.0, 5.0], [1.0, 7.0, 3.0]]]),self.functionspace)
10207          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10208       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10209       def test_setslice_constData_rank3_constData_PUN(self):
10210          arg=Data(numarray.array([[[2.0, 8.0, 5.0], [1.0, 5.0, 2.0], [5.0, 7.0, 2.0], [4.0, 3.0, 4.0]], [[1.0, 7.0, 3.0], [5.0, 5.0, 1.0], [1.0, 2.0, 7.0], [8.0, 1.0, 3.0]], [[4.0, 5.0, 6.0], [4.0, 1.0, 3.0], [7.0, 6.0, 5.0], [3.0, 7.0, 4.0]]]),self.functionspace)
10211          val=Data(numarray.array([[5.0, 1.0, 7.0], [2.0, 4.0, 1.0], [7.0, 2.0, 8.0]]),self.functionspace)
10212          arg[1,:3]=val
10213          ref=Data(numarray.array([[[2.0, 8.0, 5.0], [1.0, 5.0, 2.0], [5.0, 7.0, 2.0], [4.0, 3.0, 4.0]], [[5.0, 1.0, 7.0], [2.0, 4.0, 1.0], [7.0, 2.0, 8.0], [8.0, 1.0, 3.0]], [[4.0, 5.0, 6.0], [4.0, 1.0, 3.0], [7.0, 6.0, 5.0], [3.0, 7.0, 4.0]]]),self.functionspace)
10214          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10215       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10216       def test_setslice_constData_rank3_expandedData_PUN(self):
10217          arg=Data(numarray.array([[[8.0, 2.0, 3.0], [3.0, 5.0, 1.0], [1.0, 4.0, 6.0], [7.0, 3.0, 7.0]], [[7.0, 3.0, 3.0], [1.0, 5.0, 4.0], [1.0, 6.0, 3.0], [8.0, 7.0, 6.0]], [[6.0, 8.0, 8.0], [7.0, 8.0, 5.0], [4.0, 1.0, 1.0], [1.0, 2.0, 4.0]]]),self.functionspace)
10218          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10219          val=msk_val*numarray.array([[8.0, 1.0, 2.0], [6.0, 5.0, 2.0], [8.0, 2.0, 4.0]])+(1.-msk_val)*numarray.array([[2.0, 5.0, 3.0], [6.0, 2.0, 3.0], [2.0, 3.0, 3.0]])
10220          arg[1,:3]=val
10221          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10222          ref=msk_ref*numarray.array([[[8.0, 2.0, 3.0], [3.0, 5.0, 1.0], [1.0, 4.0, 6.0], [7.0, 3.0, 7.0]], [[8.0, 1.0, 2.0], [6.0, 5.0, 2.0], [8.0, 2.0, 4.0], [8.0, 7.0, 6.0]], [[6.0, 8.0, 8.0], [7.0, 8.0, 5.0], [4.0, 1.0, 1.0], [1.0, 2.0, 4.0]]])+(1.-msk_ref)*numarray.array([[[8.0, 2.0, 3.0], [3.0, 5.0, 1.0], [1.0, 4.0, 6.0], [7.0, 3.0, 7.0]], [[2.0, 5.0, 3.0], [6.0, 2.0, 3.0], [2.0, 3.0, 3.0], [8.0, 7.0, 6.0]], [[6.0, 8.0, 8.0], [7.0, 8.0, 5.0], [4.0, 1.0, 1.0], [1.0, 2.0, 4.0]]])
10223          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10224       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10225       def test_setslice_constData_rank4_array_RURL(self):
10226          arg=Data(numarray.array([[[[8.0, 1.0, 2.0], [8.0, 8.0, 2.0], [2.0, 8.0, 2.0]], [[4.0, 1.0, 4.0], [6.0, 3.0, 5.0], [8.0, 2.0, 4.0]], [[7.0, 1.0, 6.0], [5.0, 1.0, 5.0], [7.0, 6.0, 5.0]]], [[[4.0, 3.0, 5.0], [5.0, 4.0, 3.0], [2.0, 8.0, 3.0]], [[4.0, 2.0, 5.0], [5.0, 8.0, 2.0], [2.0, 1.0, 1.0]], [[6.0, 3.0, 2.0], [1.0, 5.0, 6.0], [2.0, 6.0, 7.0]]], [[[3.0, 3.0, 2.0], [5.0, 8.0, 4.0], [6.0, 2.0, 2.0]], [[8.0, 1.0, 8.0], [4.0, 4.0, 2.0], [7.0, 8.0, 5.0]], [[5.0, 2.0, 8.0], [6.0, 5.0, 6.0], [7.0, 8.0, 7.0]]], [[[1.0, 6.0, 3.0], [4.0, 3.0, 3.0], [4.0, 7.0, 6.0]], [[7.0, 1.0, 6.0], [7.0, 1.0, 2.0], [6.0, 4.0, 8.0]], [[6.0, 3.0, 1.0], [3.0, 8.0, 2.0], [1.0, 6.0, 2.0]]]]),self.functionspace)
10227          val=numarray.array([[[[3.0]], [[2.0]]], [[[4.0]], [[2.0]]]])
10228          arg[1:3,:2,1:2,2:]=val
10229          ref=Data(numarray.array([[[[8.0, 1.0, 2.0], [8.0, 8.0, 2.0], [2.0, 8.0, 2.0]], [[4.0, 1.0, 4.0], [6.0, 3.0, 5.0], [8.0, 2.0, 4.0]], [[7.0, 1.0, 6.0], [5.0, 1.0, 5.0], [7.0, 6.0, 5.0]]], [[[4.0, 3.0, 5.0], [5.0, 4.0, 3.0], [2.0, 8.0, 3.0]], [[4.0, 2.0, 5.0], [5.0, 8.0, 2.0], [2.0, 1.0, 1.0]], [[6.0, 3.0, 2.0], [1.0, 5.0, 6.0], [2.0, 6.0, 7.0]]], [[[3.0, 3.0, 2.0], [5.0, 8.0, 4.0], [6.0, 2.0, 2.0]], [[8.0, 1.0, 8.0], [4.0, 4.0, 2.0], [7.0, 8.0, 5.0]], [[5.0, 2.0, 8.0], [6.0, 5.0, 6.0], [7.0, 8.0, 7.0]]], [[[1.0, 6.0, 3.0], [4.0, 3.0, 3.0], [4.0, 7.0, 6.0]], [[7.0, 1.0, 6.0], [7.0, 1.0, 2.0], [6.0, 4.0, 8.0]], [[6.0, 3.0, 1.0], [3.0, 8.0, 2.0], [1.0, 6.0, 2.0]]]]),self.functionspace)
10230          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10231       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10232       def test_setslice_constData_rank4_constData_RURL(self):
10233          arg=Data(numarray.array([[[[3.0, 4.0, 3.0], [2.0, 6.0, 5.0], [6.0, 6.0, 8.0]], [[8.0, 2.0, 1.0], [3.0, 1.0, 7.0], [6.0, 6.0, 2.0]], [[6.0, 7.0, 7.0], [5.0, 6.0, 2.0], [8.0, 2.0, 4.0]]], [[[3.0, 7.0, 7.0], [3.0, 2.0, 7.0], [1.0, 5.0, 1.0]], [[6.0, 1.0, 1.0], [5.0, 2.0, 4.0], [4.0, 6.0, 6.0]], [[2.0, 5.0, 7.0], [8.0, 2.0, 8.0], [8.0, 6.0, 2.0]]], [[[8.0, 5.0, 7.0], [7.0, 2.0, 6.0], [8.0, 1.0, 3.0]], [[5.0, 5.0, 2.0], [7.0, 2.0, 6.0], [1.0, 3.0, 4.0]], [[5.0, 2.0, 2.0], [7.0, 3.0, 4.0], [6.0, 1.0, 7.0]]], [[[8.0, 5.0, 3.0], [2.0, 2.0, 4.0], [6.0, 1.0, 2.0]], [[6.0, 3.0, 3.0], [5.0, 1.0, 4.0], [1.0, 1.0, 6.0]], [[5.0, 3.0, 2.0], [6.0, 5.0, 7.0], [7.0, 6.0, 2.0]]]]),self.functionspace)
10234          val=Data(numarray.array([[[[2.0]], [[3.0]]], [[[8.0]], [[2.0]]]]),self.functionspace)
10235          arg[1:3,:2,1:2,2:]=val
10236          ref=Data(numarray.array([[[[3.0, 4.0, 3.0], [2.0, 6.0, 5.0], [6.0, 6.0, 8.0]], [[8.0, 2.0, 1.0], [3.0, 1.0, 7.0], [6.0, 6.0, 2.0]], [[6.0, 7.0, 7.0], [5.0, 6.0, 2.0], [8.0, 2.0, 4.0]]], [[[3.0, 7.0, 7.0], [3.0, 2.0, 2.0], [1.0, 5.0, 1.0]], [[6.0, 1.0, 1.0], [5.0, 2.0, 3.0], [4.0, 6.0, 6.0]], [[2.0, 5.0, 7.0], [8.0, 2.0, 8.0], [8.0, 6.0, 2.0]]], [[[8.0, 5.0, 7.0], [7.0, 2.0, 8.0], [8.0, 1.0, 3.0]], [[5.0, 5.0, 2.0], [7.0, 2.0, 2.0], [1.0, 3.0, 4.0]], [[5.0, 2.0, 2.0], [7.0, 3.0, 4.0], [6.0, 1.0, 7.0]]], [[[8.0, 5.0, 3.0], [2.0, 2.0, 4.0], [6.0, 1.0, 2.0]], [[6.0, 3.0, 3.0], [5.0, 1.0, 4.0], [1.0, 1.0, 6.0]], [[5.0, 3.0, 2.0], [6.0, 5.0, 7.0], [7.0, 6.0, 2.0]]]]),self.functionspace)
10237          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10238       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10239       def test_setslice_constData_rank4_expandedData_RURL(self):
10240          arg=Data(numarray.array([[[[8.0, 7.0, 7.0], [7.0, 3.0, 7.0], [2.0, 5.0, 7.0]], [[1.0, 3.0, 3.0], [7.0, 1.0, 5.0], [7.0, 5.0, 3.0]], [[4.0, 3.0, 7.0], [2.0, 5.0, 1.0], [7.0, 4.0, 6.0]]], [[[2.0, 2.0, 5.0], [4.0, 2.0, 2.0], [8.0, 8.0, 7.0]], [[4.0, 6.0, 3.0], [7.0, 3.0, 8.0], [6.0, 6.0, 5.0]], [[6.0, 8.0, 8.0], [1.0, 6.0, 4.0], [7.0, 7.0, 6.0]]], [[[6.0, 5.0, 5.0], [7.0, 5.0, 4.0], [3.0, 6.0, 8.0]], [[6.0, 7.0, 3.0], [7.0, 4.0, 3.0], [2.0, 8.0, 2.0]], [[5.0, 5.0, 6.0], [7.0, 2.0, 8.0], [4.0, 2.0, 3.0]]], [[[3.0, 6.0, 6.0], [4.0, 5.0, 8.0], [4.0, 5.0, 8.0]], [[5.0, 1.0, 4.0], [4.0, 1.0, 4.0], [3.0, 5.0, 1.0]], [[1.0, 2.0, 5.0], [8.0, 8.0, 4.0], [6.0, 5.0, 8.0]]]]),self.functionspace)
10241          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10242          val=msk_val*numarray.array([[[[5.0]], [[4.0]]], [[[5.0]], [[5.0]]]])+(1.-msk_val)*numarray.array([[[[6.0]], [[1.0]]], [[[7.0]], [[8.0]]]])
10243          arg[1:3,:2,1:2,2:]=val
10244          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10245          ref=msk_ref*numarray.array([[[[8.0, 7.0, 7.0], [7.0, 3.0, 7.0], [2.0, 5.0, 7.0]], [[1.0, 3.0, 3.0], [7.0, 1.0, 5.0], [7.0, 5.0, 3.0]], [[4.0, 3.0, 7.0], [2.0, 5.0, 1.0], [7.0, 4.0, 6.0]]], [[[2.0, 2.0, 5.0], [4.0, 2.0, 5.0], [8.0, 8.0, 7.0]], [[4.0, 6.0, 3.0], [7.0, 3.0, 4.0], [6.0, 6.0, 5.0]], [[6.0, 8.0, 8.0], [1.0, 6.0, 4.0], [7.0, 7.0, 6.0]]], [[[6.0, 5.0, 5.0], [7.0, 5.0, 5.0], [3.0, 6.0, 8.0]], [[6.0, 7.0, 3.0], [7.0, 4.0, 5.0], [2.0, 8.0, 2.0]], [[5.0, 5.0, 6.0], [7.0, 2.0, 8.0], [4.0, 2.0, 3.0]]], [[[3.0, 6.0, 6.0], [4.0, 5.0, 8.0], [4.0, 5.0, 8.0]], [[5.0, 1.0, 4.0], [4.0, 1.0, 4.0], [3.0, 5.0, 1.0]], [[1.0, 2.0, 5.0], [8.0, 8.0, 4.0], [6.0, 5.0, 8.0]]]])+(1.-msk_ref)*numarray.array([[[[8.0, 7.0, 7.0], [7.0, 3.0, 7.0], [2.0, 5.0, 7.0]], [[1.0, 3.0, 3.0], [7.0, 1.0, 5.0], [7.0, 5.0, 3.0]], [[4.0, 3.0, 7.0], [2.0, 5.0, 1.0], [7.0, 4.0, 6.0]]], [[[2.0, 2.0, 5.0], [4.0, 2.0, 6.0], [8.0, 8.0, 7.0]], [[4.0, 6.0, 3.0], [7.0, 3.0, 1.0], [6.0, 6.0, 5.0]], [[6.0, 8.0, 8.0], [1.0, 6.0, 4.0], [7.0, 7.0, 6.0]]], [[[6.0, 5.0, 5.0], [7.0, 5.0, 7.0], [3.0, 6.0, 8.0]], [[6.0, 7.0, 3.0], [7.0, 4.0, 8.0], [2.0, 8.0, 2.0]], [[5.0, 5.0, 6.0], [7.0, 2.0, 8.0], [4.0, 2.0, 3.0]]], [[[3.0, 6.0, 6.0], [4.0, 5.0, 8.0], [4.0, 5.0, 8.0]], [[5.0, 1.0, 4.0], [4.0, 1.0, 4.0], [3.0, 5.0, 1.0]], [[1.0, 2.0, 5.0], [8.0, 8.0, 4.0], [6.0, 5.0, 8.0]]]])
10246          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10247       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10248       def test_setslice_constData_rank4_array_RPUP(self):
10249          arg=Data(numarray.array([[[[1.0, 2.0, 6.0], [7.0, 6.0, 7.0], [7.0, 8.0, 8.0]], [[4.0, 3.0, 7.0], [2.0, 4.0, 2.0], [8.0, 4.0, 4.0]], [[1.0, 7.0, 5.0], [2.0, 5.0, 2.0], [5.0, 7.0, 2.0]]], [[[1.0, 2.0, 7.0], [8.0, 7.0, 4.0], [4.0, 8.0, 5.0]], [[2.0, 2.0, 4.0], [6.0, 6.0, 2.0], [5.0, 8.0, 5.0]], [[7.0, 6.0, 7.0], [6.0, 3.0, 5.0], [4.0, 5.0, 2.0]]], [[[6.0, 8.0, 5.0], [8.0, 7.0, 8.0], [1.0, 7.0, 7.0]], [[4.0, 4.0, 4.0], [4.0, 4.0, 3.0], [2.0, 8.0, 4.0]], [[8.0, 8.0, 1.0], [1.0, 2.0, 6.0], [5.0, 6.0, 6.0]]], [[[6.0, 1.0, 5.0], [4.0, 5.0, 8.0], [2.0, 8.0, 6.0]], [[7.0, 2.0, 4.0], [5.0, 2.0, 2.0], [5.0, 1.0, 5.0]], [[6.0, 4.0, 6.0], [1.0, 1.0, 7.0], [6.0, 8.0, 7.0]]]]),self.functionspace)
10250          val=numarray.array([[3.0, 6.0], [8.0, 7.0]])
10251          arg[1:3,1,:2,1]=val
10252          ref=Data(numarray.array([[[[1.0, 2.0, 6.0], [7.0, 6.0, 7.0], [7.0, 8.0, 8.0]], [[4.0, 3.0, 7.0], [2.0, 4.0, 2.0], [8.0, 4.0, 4.0]], [[1.0, 7.0, 5.0], [2.0, 5.0, 2.0], [5.0, 7.0, 2.0]]], [[[1.0, 2.0, 7.0], [8.0, 7.0, 4.0], [4.0, 8.0, 5.0]], [[2.0, 3.0, 4.0], [6.0, 6.0, 2.0], [5.0, 8.0, 5.0]], [[7.0, 6.0, 7.0], [6.0, 3.0, 5.0], [4.0, 5.0, 2.0]]], [[[6.0, 8.0, 5.0], [8.0, 7.0, 8.0], [1.0, 7.0, 7.0]], [[4.0, 8.0, 4.0], [4.0, 7.0, 3.0], [2.0, 8.0, 4.0]], [[8.0, 8.0, 1.0], [1.0, 2.0, 6.0], [5.0, 6.0, 6.0]]], [[[6.0, 1.0, 5.0], [4.0, 5.0, 8.0], [2.0, 8.0, 6.0]], [[7.0, 2.0, 4.0], [5.0, 2.0, 2.0], [5.0, 1.0, 5.0]], [[6.0, 4.0, 6.0], [1.0, 1.0, 7.0], [6.0, 8.0, 7.0]]]]),self.functionspace)
10253          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10254       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10255       def test_setslice_constData_rank4_constData_RPUP(self):
10256          arg=Data(numarray.array([[[[6.0, 2.0, 1.0], [1.0, 4.0, 7.0], [2.0, 8.0, 4.0]], [[2.0, 1.0, 4.0], [1.0, 7.0, 5.0], [1.0, 2.0, 2.0]], [[5.0, 1.0, 7.0], [6.0, 4.0, 4.0], [1.0, 8.0, 1.0]]], [[[3.0, 2.0, 1.0], [2.0, 4.0, 8.0], [8.0, 6.0, 2.0]], [[1.0, 7.0, 4.0], [7.0, 3.0, 2.0], [1.0, 6.0, 8.0]], [[6.0, 6.0, 1.0], [5.0, 2.0, 8.0], [4.0, 3.0, 3.0]]], [[[4.0, 2.0, 1.0], [8.0, 2.0, 1.0], [3.0, 2.0, 4.0]], [[1.0, 3.0, 4.0], [2.0, 7.0, 3.0], [6.0, 7.0, 5.0]], [[3.0, 6.0, 2.0], [7.0, 4.0, 3.0], [3.0, 3.0, 2.0]]], [[[8.0, 6.0, 1.0], [4.0, 6.0, 5.0], [7.0, 7.0, 5.0]], [[3.0, 2.0, 5.0], [5.0, 5.0, 6.0], [7.0, 2.0, 1.0]], [[3.0, 7.0, 4.0], [6.0, 4.0, 5.0], [4.0, 4.0, 3.0]]]]),self.functionspace)
10257          val=Data(numarray.array([[1.0, 6.0], [2.0, 3.0]]),self.functionspace)
10258          arg[1:3,1,:2,1]=val
10259          ref=Data(numarray.array([[[[6.0, 2.0, 1.0], [1.0, 4.0, 7.0], [2.0, 8.0, 4.0]], [[2.0, 1.0, 4.0], [1.0, 7.0, 5.0], [1.0, 2.0, 2.0]], [[5.0, 1.0, 7.0], [6.0, 4.0, 4.0], [1.0, 8.0, 1.0]]], [[[3.0, 2.0, 1.0], [2.0, 4.0, 8.0], [8.0, 6.0, 2.0]], [[1.0, 1.0, 4.0], [7.0, 6.0, 2.0], [1.0, 6.0, 8.0]], [[6.0, 6.0, 1.0], [5.0, 2.0, 8.0], [4.0, 3.0, 3.0]]], [[[4.0, 2.0, 1.0], [8.0, 2.0, 1.0], [3.0, 2.0, 4.0]], [[1.0, 2.0, 4.0], [2.0, 3.0, 3.0], [6.0, 7.0, 5.0]], [[3.0, 6.0, 2.0], [7.0, 4.0, 3.0], [3.0, 3.0, 2.0]]], [[[8.0, 6.0, 1.0], [4.0, 6.0, 5.0], [7.0, 7.0, 5.0]], [[3.0, 2.0, 5.0], [5.0, 5.0, 6.0], [7.0, 2.0, 1.0]], [[3.0, 7.0, 4.0], [6.0, 4.0, 5.0], [4.0, 4.0, 3.0]]]]),self.functionspace)
10260          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10261       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10262       def test_setslice_constData_rank4_expandedData_RPUP(self):
10263          arg=Data(numarray.array([[[[4.0, 3.0, 1.0], [5.0, 6.0, 1.0], [7.0, 5.0, 5.0]], [[7.0, 1.0, 4.0], [5.0, 1.0, 2.0], [4.0, 8.0, 7.0]], [[7.0, 2.0, 8.0], [2.0, 6.0, 2.0], [5.0, 4.0, 1.0]]], [[[3.0, 1.0, 2.0], [6.0, 7.0, 3.0], [4.0, 6.0, 5.0]], [[3.0, 4.0, 4.0], [3.0, 7.0, 7.0], [2.0, 8.0, 1.0]], [[8.0, 7.0, 4.0], [2.0, 4.0, 2.0], [4.0, 5.0, 5.0]]], [[[2.0, 6.0, 8.0], [5.0, 6.0, 2.0], [4.0, 7.0, 6.0]], [[1.0, 3.0, 6.0], [2.0, 5.0, 6.0], [1.0, 8.0, 2.0]], [[7.0, 8.0, 3.0], [8.0, 6.0, 1.0], [2.0, 2.0, 7.0]]], [[[7.0, 8.0, 4.0], [8.0, 8.0, 1.0], [8.0, 7.0, 7.0]], [[6.0, 4.0, 3.0], [6.0, 5.0, 5.0], [2.0, 8.0, 4.0]], [[5.0, 2.0, 4.0], [6.0, 7.0, 5.0], [2.0, 7.0, 2.0]]]]),self.functionspace)
10264          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10265          val=msk_val*numarray.array([[4.0, 8.0], [3.0, 5.0]])+(1.-msk_val)*numarray.array([[8.0, 3.0], [4.0, 1.0]])
10266          arg[1:3,1,:2,1]=val
10267          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10268          ref=msk_ref*numarray.array([[[[4.0, 3.0, 1.0], [5.0, 6.0, 1.0], [7.0, 5.0, 5.0]], [[7.0, 1.0, 4.0], [5.0, 1.0, 2.0], [4.0, 8.0, 7.0]], [[7.0, 2.0, 8.0], [2.0, 6.0, 2.0], [5.0, 4.0, 1.0]]], [[[3.0, 1.0, 2.0], [6.0, 7.0, 3.0], [4.0, 6.0, 5.0]], [[3.0, 4.0, 4.0], [3.0, 8.0, 7.0], [2.0, 8.0, 1.0]], [[8.0, 7.0, 4.0], [2.0, 4.0, 2.0], [4.0, 5.0, 5.0]]], [[[2.0, 6.0, 8.0], [5.0, 6.0, 2.0], [4.0, 7.0, 6.0]], [[1.0, 3.0, 6.0], [2.0, 5.0, 6.0], [1.0, 8.0, 2.0]], [[7.0, 8.0, 3.0], [8.0, 6.0, 1.0], [2.0, 2.0, 7.0]]], [[[7.0, 8.0, 4.0], [8.0, 8.0, 1.0], [8.0, 7.0, 7.0]], [[6.0, 4.0, 3.0], [6.0, 5.0, 5.0], [2.0, 8.0, 4.0]], [[5.0, 2.0, 4.0], [6.0, 7.0, 5.0], [2.0, 7.0, 2.0]]]])+(1.-msk_ref)*numarray.array([[[[4.0, 3.0, 1.0], [5.0, 6.0, 1.0], [7.0, 5.0, 5.0]], [[7.0, 1.0, 4.0], [5.0, 1.0, 2.0], [4.0, 8.0, 7.0]], [[7.0, 2.0, 8.0], [2.0, 6.0, 2.0], [5.0, 4.0, 1.0]]], [[[3.0, 1.0, 2.0], [6.0, 7.0, 3.0], [4.0, 6.0, 5.0]], [[3.0, 8.0, 4.0], [3.0, 3.0, 7.0], [2.0, 8.0, 1.0]], [[8.0, 7.0, 4.0], [2.0, 4.0, 2.0], [4.0, 5.0, 5.0]]], [[[2.0, 6.0, 8.0], [5.0, 6.0, 2.0], [4.0, 7.0, 6.0]], [[1.0, 4.0, 6.0], [2.0, 1.0, 6.0], [1.0, 8.0, 2.0]], [[7.0, 8.0, 3.0], [8.0, 6.0, 1.0], [2.0, 2.0, 7.0]]], [[[7.0, 8.0, 4.0], [8.0, 8.0, 1.0], [8.0, 7.0, 7.0]], [[6.0, 4.0, 3.0], [6.0, 5.0, 5.0], [2.0, 8.0, 4.0]], [[5.0, 2.0, 4.0], [6.0, 7.0, 5.0], [2.0, 7.0, 2.0]]]])
10269          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10270       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10271       def test_setslice_constData_rank4_array_PRPP(self):
10272          arg=Data(numarray.array([[[[4.0, 8.0, 1.0], [1.0, 6.0, 5.0], [8.0, 1.0, 4.0]], [[1.0, 4.0, 3.0], [4.0, 5.0, 7.0], [4.0, 6.0, 2.0]], [[4.0, 2.0, 7.0], [5.0, 5.0, 6.0], [4.0, 3.0, 3.0]]], [[[5.0, 8.0, 3.0], [1.0, 8.0, 6.0], [3.0, 5.0, 8.0]], [[5.0, 5.0, 1.0], [6.0, 3.0, 8.0], [8.0, 3.0, 7.0]], [[5.0, 1.0, 4.0], [4.0, 1.0, 8.0], [8.0, 8.0, 6.0]]], [[[7.0, 6.0, 4.0], [3.0, 5.0, 3.0], [1.0, 5.0, 2.0]], [[1.0, 1.0, 1.0], [5.0, 8.0, 2.0], [1.0, 7.0, 3.0]], [[8.0, 4.0, 8.0], [5.0, 5.0, 8.0], [8.0, 5.0, 7.0]]], [[[1.0, 2.0, 4.0], [8.0, 3.0, 6.0], [1.0, 7.0, 3.0]], [[1.0, 6.0, 4.0], [4.0, 4.0, 6.0], [3.0, 5.0, 8.0]], [[5.0, 4.0, 7.0], [7.0, 7.0, 4.0], [2.0, 7.0, 5.0]]]]),self.functionspace)
10273          val=numarray.array([3.0])
10274          arg[2,1:2,1,1]=val
10275          ref=Data(numarray.array([[[[4.0, 8.0, 1.0], [1.0, 6.0, 5.0], [8.0, 1.0, 4.0]], [[1.0, 4.0, 3.0], [4.0, 5.0, 7.0], [4.0, 6.0, 2.0]], [[4.0, 2.0, 7.0], [5.0, 5.0, 6.0], [4.0, 3.0, 3.0]]], [[[5.0, 8.0, 3.0], [1.0, 8.0, 6.0], [3.0, 5.0, 8.0]], [[5.0, 5.0, 1.0], [6.0, 3.0, 8.0], [8.0, 3.0, 7.0]], [[5.0, 1.0, 4.0], [4.0, 1.0, 8.0], [8.0, 8.0, 6.0]]], [[[7.0, 6.0, 4.0], [3.0, 5.0, 3.0], [1.0, 5.0, 2.0]], [[1.0, 1.0, 1.0], [5.0, 3.0, 2.0], [1.0, 7.0, 3.0]], [[8.0, 4.0, 8.0], [5.0, 5.0, 8.0], [8.0, 5.0, 7.0]]], [[[1.0, 2.0, 4.0], [8.0, 3.0, 6.0], [1.0, 7.0, 3.0]], [[1.0, 6.0, 4.0], [4.0, 4.0, 6.0], [3.0, 5.0, 8.0]], [[5.0, 4.0, 7.0], [7.0, 7.0, 4.0], [2.0, 7.0, 5.0]]]]),self.functionspace)
10276          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10277       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10278       def test_setslice_constData_rank4_constData_PRPP(self):
10279          arg=Data(numarray.array([[[[6.0, 2.0, 5.0], [5.0, 2.0, 7.0], [2.0, 4.0, 1.0]], [[6.0, 5.0, 8.0], [8.0, 2.0, 6.0], [5.0, 2.0, 3.0]], [[1.0, 3.0, 1.0], [2.0, 5.0, 8.0], [7.0, 8.0, 1.0]]], [[[4.0, 6.0, 7.0], [2.0, 1.0, 4.0], [5.0, 2.0, 5.0]], [[1.0, 6.0, 6.0], [4.0, 6.0, 7.0], [5.0, 3.0, 3.0]], [[3.0, 2.0, 5.0], [7.0, 8.0, 6.0], [3.0, 2.0, 6.0]]], [[[3.0, 2.0, 2.0], [6.0, 1.0, 7.0], [4.0, 4.0, 8.0]], [[4.0, 8.0, 6.0], [4.0, 5.0, 4.0], [6.0, 4.0, 5.0]], [[4.0, 4.0, 1.0], [4.0, 8.0, 8.0], [4.0, 3.0, 8.0]]], [[[6.0, 5.0, 1.0], [7.0, 2.0, 6.0], [5.0, 2.0, 8.0]], [[5.0, 7.0, 1.0], [4.0, 8.0, 5.0], [7.0, 8.0, 4.0]], [[3.0, 2.0, 4.0], [7.0, 2.0, 5.0], [8.0, 5.0, 1.0]]]]),self.functionspace)
10280          val=Data(numarray.array([3.0]),self.functionspace)
10281          arg[2,1:2,1,1]=val
10282          ref=Data(numarray.array([[[[6.0, 2.0, 5.0], [5.0, 2.0, 7.0], [2.0, 4.0, 1.0]], [[6.0, 5.0, 8.0], [8.0, 2.0, 6.0], [5.0, 2.0, 3.0]], [[1.0, 3.0, 1.0], [2.0, 5.0, 8.0], [7.0, 8.0, 1.0]]], [[[4.0, 6.0, 7.0], [2.0, 1.0, 4.0], [5.0, 2.0, 5.0]], [[1.0, 6.0, 6.0], [4.0, 6.0, 7.0], [5.0, 3.0, 3.0]], [[3.0, 2.0, 5.0], [7.0, 8.0, 6.0], [3.0, 2.0, 6.0]]], [[[3.0, 2.0, 2.0], [6.0, 1.0, 7.0], [4.0, 4.0, 8.0]], [[4.0, 8.0, 6.0], [4.0, 3.0, 4.0], [6.0, 4.0, 5.0]], [[4.0, 4.0, 1.0], [4.0, 8.0, 8.0], [4.0, 3.0, 8.0]]], [[[6.0, 5.0, 1.0], [7.0, 2.0, 6.0], [5.0, 2.0, 8.0]], [[5.0, 7.0, 1.0], [4.0, 8.0, 5.0], [7.0, 8.0, 4.0]], [[3.0, 2.0, 4.0], [7.0, 2.0, 5.0], [8.0, 5.0, 1.0]]]]),self.functionspace)
10283          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10284       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10285       def test_setslice_constData_rank4_expandedData_PRPP(self):
10286          arg=Data(numarray.array([[[[6.0, 4.0, 2.0], [3.0, 8.0, 4.0], [2.0, 1.0, 6.0]], [[7.0, 7.0, 5.0], [8.0, 2.0, 6.0], [5.0, 6.0, 2.0]], [[5.0, 7.0, 7.0], [2.0, 4.0, 2.0], [5.0, 7.0, 5.0]]], [[[1.0, 8.0, 1.0], [5.0, 1.0, 4.0], [3.0, 8.0, 5.0]], [[8.0, 4.0, 3.0], [7.0, 5.0, 6.0], [5.0, 2.0, 8.0]], [[8.0, 3.0, 5.0], [8.0, 5.0, 7.0], [3.0, 1.0, 8.0]]], [[[4.0, 7.0, 8.0], [2.0, 1.0, 5.0], [5.0, 4.0, 4.0]], [[3.0, 7.0, 6.0], [8.0, 5.0, 3.0], [7.0, 3.0, 4.0]], [[3.0, 1.0, 3.0], [1.0, 8.0, 8.0], [1.0, 4.0, 7.0]]], [[[6.0, 1.0, 1.0], [2.0, 3.0, 6.0], [2.0, 5.0, 4.0]], [[3.0, 3.0, 6.0], [6.0, 7.0, 2.0], [8.0, 8.0, 7.0]], [[4.0, 7.0, 3.0], [7.0, 1.0, 1.0], [5.0, 1.0, 2.0]]]]),self.functionspace)
10287          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10288          val=msk_val*numarray.array([4.0])+(1.-msk_val)*numarray.array([7.0])
10289          arg[2,1:2,1,1]=val
10290          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10291          ref=msk_ref*numarray.array([[[[6.0, 4.0, 2.0], [3.0, 8.0, 4.0], [2.0, 1.0, 6.0]], [[7.0, 7.0, 5.0], [8.0, 2.0, 6.0], [5.0, 6.0, 2.0]], [[5.0, 7.0, 7.0], [2.0, 4.0, 2.0], [5.0, 7.0, 5.0]]], [[[1.0, 8.0, 1.0], [5.0, 1.0, 4.0], [3.0, 8.0, 5.0]], [[8.0, 4.0, 3.0], [7.0, 5.0, 6.0], [5.0, 2.0, 8.0]], [[8.0, 3.0, 5.0], [8.0, 5.0, 7.0], [3.0, 1.0, 8.0]]], [[[4.0, 7.0, 8.0], [2.0, 1.0, 5.0], [5.0, 4.0, 4.0]], [[3.0, 7.0, 6.0], [8.0, 4.0, 3.0], [7.0, 3.0, 4.0]], [[3.0, 1.0, 3.0], [1.0, 8.0, 8.0], [1.0, 4.0, 7.0]]], [[[6.0, 1.0, 1.0], [2.0, 3.0, 6.0], [2.0, 5.0, 4.0]], [[3.0, 3.0, 6.0], [6.0, 7.0, 2.0], [8.0, 8.0, 7.0]], [[4.0, 7.0, 3.0], [7.0, 1.0, 1.0], [5.0, 1.0, 2.0]]]])+(1.-msk_ref)*numarray.array([[[[6.0, 4.0, 2.0], [3.0, 8.0, 4.0], [2.0, 1.0, 6.0]], [[7.0, 7.0, 5.0], [8.0, 2.0, 6.0], [5.0, 6.0, 2.0]], [[5.0, 7.0, 7.0], [2.0, 4.0, 2.0], [5.0, 7.0, 5.0]]], [[[1.0, 8.0, 1.0], [5.0, 1.0, 4.0], [3.0, 8.0, 5.0]], [[8.0, 4.0, 3.0], [7.0, 5.0, 6.0], [5.0, 2.0, 8.0]], [[8.0, 3.0, 5.0], [8.0, 5.0, 7.0], [3.0, 1.0, 8.0]]], [[[4.0, 7.0, 8.0], [2.0, 1.0, 5.0], [5.0, 4.0, 4.0]], [[3.0, 7.0, 6.0], [8.0, 7.0, 3.0], [7.0, 3.0, 4.0]], [[3.0, 1.0, 3.0], [1.0, 8.0, 8.0], [1.0, 4.0, 7.0]]], [[[6.0, 1.0, 1.0], [2.0, 3.0, 6.0], [2.0, 5.0, 4.0]], [[3.0, 3.0, 6.0], [6.0, 7.0, 2.0], [8.0, 8.0, 7.0]], [[4.0, 7.0, 3.0], [7.0, 1.0, 1.0], [5.0, 1.0, 2.0]]]])
10292          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10293       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10294       def test_setslice_constData_rank4_array_LLPC(self):
10295          arg=Data(numarray.array([[[[8.0, 1.0, 1.0], [7.0, 6.0, 5.0], [2.0, 7.0, 3.0]], [[3.0, 8.0, 2.0], [2.0, 6.0, 5.0], [6.0, 5.0, 2.0]], [[7.0, 5.0, 4.0], [5.0, 5.0, 3.0], [2.0, 5.0, 6.0]]], [[[6.0, 6.0, 6.0], [7.0, 8.0, 6.0], [8.0, 3.0, 6.0]], [[3.0, 5.0, 6.0], [7.0, 8.0, 3.0], [3.0, 3.0, 1.0]], [[1.0, 2.0, 8.0], [8.0, 1.0, 5.0], [6.0, 5.0, 7.0]]], [[[3.0, 8.0, 4.0], [4.0, 8.0, 8.0], [6.0, 3.0, 5.0]], [[8.0, 8.0, 8.0], [4.0, 8.0, 1.0], [7.0, 3.0, 3.0]], [[6.0, 8.0, 1.0], [8.0, 1.0, 2.0], [5.0, 6.0, 2.0]]], [[[1.0, 5.0, 1.0], [8.0, 5.0, 7.0], [1.0, 4.0, 3.0]], [[7.0, 4.0, 2.0], [7.0, 6.0, 1.0], [5.0, 3.0, 8.0]], [[2.0, 8.0, 5.0], [6.0, 8.0, 7.0], [4.0, 3.0, 8.0]]]]),self.functionspace)
10296          val=numarray.array([[[1.0, 3.0, 8.0]], [[4.0, 2.0, 1.0]]])
10297          arg[2:,2:,1,:]=val
10298          ref=Data(numarray.array([[[[8.0, 1.0, 1.0], [7.0, 6.0, 5.0], [2.0, 7.0, 3.0]], [[3.0, 8.0, 2.0], [2.0, 6.0, 5.0], [6.0, 5.0, 2.0]], [[7.0, 5.0, 4.0], [5.0, 5.0, 3.0], [2.0, 5.0, 6.0]]], [[[6.0, 6.0, 6.0], [7.0, 8.0, 6.0], [8.0, 3.0, 6.0]], [[3.0, 5.0, 6.0], [7.0, 8.0, 3.0], [3.0, 3.0, 1.0]], [[1.0, 2.0, 8.0], [8.0, 1.0, 5.0], [6.0, 5.0, 7.0]]], [[[3.0, 8.0, 4.0], [4.0, 8.0, 8.0], [6.0, 3.0, 5.0]], [[8.0, 8.0, 8.0], [4.0, 8.0, 1.0], [7.0, 3.0, 3.0]], [[6.0, 8.0, 1.0], [1.0, 3.0, 8.0], [5.0, 6.0, 2.0]]], [[[1.0, 5.0, 1.0], [8.0, 5.0, 7.0], [1.0, 4.0, 3.0]], [[7.0, 4.0, 2.0], [7.0, 6.0, 1.0], [5.0, 3.0, 8.0]], [[2.0, 8.0, 5.0], [4.0, 2.0, 1.0], [4.0, 3.0, 8.0]]]]),self.functionspace)
10299          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10300       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10301       def test_setslice_constData_rank4_constData_LLPC(self):
10302          arg=Data(numarray.array([[[[4.0, 2.0, 6.0], [6.0, 4.0, 3.0], [1.0, 5.0, 8.0]], [[5.0, 4.0, 3.0], [3.0, 4.0, 2.0], [6.0, 4.0, 2.0]], [[2.0, 5.0, 3.0], [6.0, 8.0, 1.0], [3.0, 2.0, 7.0]]], [[[7.0, 8.0, 5.0], [7.0, 2.0, 8.0], [8.0, 8.0, 7.0]], [[1.0, 3.0, 6.0], [8.0, 5.0, 7.0], [6.0, 6.0, 5.0]], [[6.0, 5.0, 5.0], [4.0, 8.0, 4.0], [8.0, 1.0, 5.0]]], [[[7.0, 8.0, 1.0], [2.0, 7.0, 7.0], [4.0, 6.0, 7.0]], [[2.0, 4.0, 3.0], [8.0, 5.0, 5.0], [3.0, 2.0, 6.0]], [[5.0, 7.0, 4.0], [6.0, 7.0, 2.0], [6.0, 5.0, 5.0]]], [[[5.0, 2.0, 5.0], [7.0, 7.0, 1.0], [5.0, 8.0, 7.0]], [[2.0, 3.0, 4.0], [7.0, 3.0, 4.0], [8.0, 6.0, 3.0]], [[1.0, 5.0, 5.0], [7.0, 4.0, 1.0], [1.0, 8.0, 8.0]]]]),self.functionspace)
10303          val=Data(numarray.array([[[2.0, 8.0, 1.0]], [[2.0, 4.0, 4.0]]]),self.functionspace)
10304          arg[2:,2:,1,:]=val
10305          ref=Data(numarray.array([[[[4.0, 2.0, 6.0], [6.0, 4.0, 3.0], [1.0, 5.0, 8.0]], [[5.0, 4.0, 3.0], [3.0, 4.0, 2.0], [6.0, 4.0, 2.0]], [[2.0, 5.0, 3.0], [6.0, 8.0, 1.0], [3.0, 2.0, 7.0]]], [[[7.0, 8.0, 5.0], [7.0, 2.0, 8.0], [8.0, 8.0, 7.0]], [[1.0, 3.0, 6.0], [8.0, 5.0, 7.0], [6.0, 6.0, 5.0]], [[6.0, 5.0, 5.0], [4.0, 8.0, 4.0], [8.0, 1.0, 5.0]]], [[[7.0, 8.0, 1.0], [2.0, 7.0, 7.0], [4.0, 6.0, 7.0]], [[2.0, 4.0, 3.0], [8.0, 5.0, 5.0], [3.0, 2.0, 6.0]], [[5.0, 7.0, 4.0], [2.0, 8.0, 1.0], [6.0, 5.0, 5.0]]], [[[5.0, 2.0, 5.0], [7.0, 7.0, 1.0], [5.0, 8.0, 7.0]], [[2.0, 3.0, 4.0], [7.0, 3.0, 4.0], [8.0, 6.0, 3.0]], [[1.0, 5.0, 5.0], [2.0, 4.0, 4.0], [1.0, 8.0, 8.0]]]]),self.functionspace)
10306          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10307       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10308       def test_setslice_constData_rank4_expandedData_LLPC(self):
10309          arg=Data(numarray.array([[[[1.0, 7.0, 3.0], [2.0, 5.0, 2.0], [8.0, 7.0, 5.0]], [[7.0, 8.0, 2.0], [1.0, 3.0, 4.0], [7.0, 4.0, 3.0]], [[5.0, 4.0, 3.0], [8.0, 3.0, 2.0], [5.0, 5.0, 4.0]]], [[[8.0, 2.0, 8.0], [7.0, 2.0, 4.0], [5.0, 7.0, 7.0]], [[1.0, 6.0, 5.0], [1.0, 8.0, 6.0], [8.0, 5.0, 5.0]], [[7.0, 4.0, 3.0], [8.0, 1.0, 5.0], [6.0, 5.0, 4.0]]], [[[3.0, 1.0, 5.0], [8.0, 5.0, 4.0], [3.0, 2.0, 5.0]], [[3.0, 5.0, 7.0], [6.0, 4.0, 8.0], [8.0, 4.0, 4.0]], [[5.0, 4.0, 8.0], [4.0, 5.0, 5.0], [6.0, 7.0, 1.0]]], [[[6.0, 1.0, 8.0], [6.0, 1.0, 6.0], [2.0, 2.0, 4.0]], [[6.0, 7.0, 6.0], [4.0, 1.0, 7.0], [8.0, 8.0, 7.0]], [[1.0, 8.0, 5.0], [2.0, 5.0, 2.0], [6.0, 2.0, 8.0]]]]),self.functionspace)
10310          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10311          val=msk_val*numarray.array([[[6.0, 8.0, 5.0]], [[5.0, 2.0, 3.0]]])+(1.-msk_val)*numarray.array([[[5.0, 7.0, 1.0]], [[4.0, 3.0, 8.0]]])
10312          arg[2:,2:,1,:]=val
10313          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10314          ref=msk_ref*numarray.array([[[[1.0, 7.0, 3.0], [2.0, 5.0, 2.0], [8.0, 7.0, 5.0]], [[7.0, 8.0, 2.0], [1.0, 3.0, 4.0], [7.0, 4.0, 3.0]], [[5.0, 4.0, 3.0], [8.0, 3.0, 2.0], [5.0, 5.0, 4.0]]], [[[8.0, 2.0, 8.0], [7.0, 2.0, 4.0], [5.0, 7.0, 7.0]], [[1.0, 6.0, 5.0], [1.0, 8.0, 6.0], [8.0, 5.0, 5.0]], [[7.0, 4.0, 3.0], [8.0, 1.0, 5.0], [6.0, 5.0, 4.0]]], [[[3.0, 1.0, 5.0], [8.0, 5.0, 4.0], [3.0, 2.0, 5.0]], [[3.0, 5.0, 7.0], [6.0, 4.0, 8.0], [8.0, 4.0, 4.0]], [[5.0, 4.0, 8.0], [6.0, 8.0, 5.0], [6.0, 7.0, 1.0]]], [[[6.0, 1.0, 8.0], [6.0, 1.0, 6.0], [2.0, 2.0, 4.0]], [[6.0, 7.0, 6.0], [4.0, 1.0, 7.0], [8.0, 8.0, 7.0]], [[1.0, 8.0, 5.0], [5.0, 2.0, 3.0], [6.0, 2.0, 8.0]]]])+(1.-msk_ref)*numarray.array([[[[1.0, 7.0, 3.0], [2.0, 5.0, 2.0], [8.0, 7.0, 5.0]], [[7.0, 8.0, 2.0], [1.0, 3.0, 4.0], [7.0, 4.0, 3.0]], [[5.0, 4.0, 3.0], [8.0, 3.0, 2.0], [5.0, 5.0, 4.0]]], [[[8.0, 2.0, 8.0], [7.0, 2.0, 4.0], [5.0, 7.0, 7.0]], [[1.0, 6.0, 5.0], [1.0, 8.0, 6.0], [8.0, 5.0, 5.0]], [[7.0, 4.0, 3.0], [8.0, 1.0, 5.0], [6.0, 5.0, 4.0]]], [[[3.0, 1.0, 5.0], [8.0, 5.0, 4.0], [3.0, 2.0, 5.0]], [[3.0, 5.0, 7.0], [6.0, 4.0, 8.0], [8.0, 4.0, 4.0]], [[5.0, 4.0, 8.0], [5.0, 7.0, 1.0], [6.0, 7.0, 1.0]]], [[[6.0, 1.0, 8.0], [6.0, 1.0, 6.0], [2.0, 2.0, 4.0]], [[6.0, 7.0, 6.0], [4.0, 1.0, 7.0], [8.0, 8.0, 7.0]], [[1.0, 8.0, 5.0], [4.0, 3.0, 8.0], [6.0, 2.0, 8.0]]]])
10315          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10316       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10317       def test_setslice_constData_rank4_array_LUPU(self):
10318          arg=Data(numarray.array([[[[3.0, 3.0, 3.0], [5.0, 5.0, 4.0], [3.0, 8.0, 1.0]], [[8.0, 5.0, 5.0], [4.0, 7.0, 6.0], [5.0, 8.0, 6.0]], [[3.0, 2.0, 5.0], [2.0, 1.0, 3.0], [6.0, 4.0, 8.0]]], [[[1.0, 8.0, 8.0], [5.0, 8.0, 6.0], [7.0, 4.0, 1.0]], [[6.0, 2.0, 5.0], [5.0, 2.0, 1.0], [6.0, 8.0, 7.0]], [[2.0, 8.0, 1.0], [5.0, 6.0, 6.0], [3.0, 8.0, 8.0]]], [[[2.0, 3.0, 5.0], [5.0, 5.0, 5.0], [3.0, 3.0, 1.0]], [[4.0, 7.0, 4.0], [3.0, 2.0, 8.0], [8.0, 8.0, 8.0]], [[2.0, 2.0, 3.0], [5.0, 7.0, 3.0], [1.0, 2.0, 4.0]]], [[[4.0, 4.0, 2.0], [8.0, 3.0, 8.0], [6.0, 7.0, 4.0]], [[7.0, 3.0, 6.0], [5.0, 2.0, 5.0], [7.0, 4.0, 6.0]], [[3.0, 7.0, 7.0], [8.0, 1.0, 1.0], [4.0, 1.0, 8.0]]]]),self.functionspace)
10319          val=numarray.array([[[4.0, 2.0], [2.0, 4.0]], [[6.0, 5.0], [6.0, 5.0]]])
10320          arg[2:,:2,1,:2]=val
10321          ref=Data(numarray.array([[[[3.0, 3.0, 3.0], [5.0, 5.0, 4.0], [3.0, 8.0, 1.0]], [[8.0, 5.0, 5.0], [4.0, 7.0, 6.0], [5.0, 8.0, 6.0]], [[3.0, 2.0, 5.0], [2.0, 1.0, 3.0], [6.0, 4.0, 8.0]]], [[[1.0, 8.0, 8.0], [5.0, 8.0, 6.0], [7.0, 4.0, 1.0]], [[6.0, 2.0, 5.0], [5.0, 2.0, 1.0], [6.0, 8.0, 7.0]], [[2.0, 8.0, 1.0], [5.0, 6.0, 6.0], [3.0, 8.0, 8.0]]], [[[2.0, 3.0, 5.0], [4.0, 2.0, 5.0], [3.0, 3.0, 1.0]], [[4.0, 7.0, 4.0], [2.0, 4.0, 8.0], [8.0, 8.0, 8.0]], [[2.0, 2.0, 3.0], [5.0, 7.0, 3.0], [1.0, 2.0, 4.0]]], [[[4.0, 4.0, 2.0], [6.0, 5.0, 8.0], [6.0, 7.0, 4.0]], [[7.0, 3.0, 6.0], [6.0, 5.0, 5.0], [7.0, 4.0, 6.0]], [[3.0, 7.0, 7.0], [8.0, 1.0, 1.0], [4.0, 1.0, 8.0]]]]),self.functionspace)
10322          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10323       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10324       def test_setslice_constData_rank4_constData_LUPU(self):
10325          arg=Data(numarray.array([[[[4.0, 2.0, 7.0], [8.0, 3.0, 4.0], [5.0, 4.0, 8.0]], [[4.0, 6.0, 8.0], [2.0, 7.0, 2.0], [3.0, 4.0, 8.0]], [[4.0, 7.0, 5.0], [1.0, 7.0, 3.0], [8.0, 8.0, 8.0]]], [[[4.0, 7.0, 8.0], [8.0, 8.0, 2.0], [8.0, 5.0, 2.0]], [[8.0, 3.0, 8.0], [5.0, 3.0, 6.0], [7.0, 1.0, 2.0]], [[4.0, 1.0, 5.0], [3.0, 7.0, 2.0], [2.0, 3.0, 1.0]]], [[[4.0, 4.0, 6.0], [6.0, 6.0, 5.0], [2.0, 6.0, 7.0]], [[7.0, 5.0, 2.0], [1.0, 2.0, 6.0], [6.0, 6.0, 2.0]], [[5.0, 4.0, 6.0], [7.0, 8.0, 7.0], [4.0, 1.0, 2.0]]], [[[1.0, 3.0, 4.0], [4.0, 6.0, 6.0], [4.0, 7.0, 4.0]], [[5.0, 4.0, 7.0], [1.0, 4.0, 5.0], [6.0, 3.0, 7.0]], [[3.0, 5.0, 4.0], [4.0, 2.0, 5.0], [2.0, 3.0, 8.0]]]]),self.functionspace)
10326          val=Data(numarray.array([[[3.0, 3.0], [1.0, 3.0]], [[3.0, 1.0], [7.0, 1.0]]]),self.functionspace)
10327          arg[2:,:2,1,:2]=val
10328          ref=Data(numarray.array([[[[4.0, 2.0, 7.0], [8.0, 3.0, 4.0], [5.0, 4.0, 8.0]], [[4.0, 6.0, 8.0], [2.0, 7.0, 2.0], [3.0, 4.0, 8.0]], [[4.0, 7.0, 5.0], [1.0, 7.0, 3.0], [8.0, 8.0, 8.0]]], [[[4.0, 7.0, 8.0], [8.0, 8.0, 2.0], [8.0, 5.0, 2.0]], [[8.0, 3.0, 8.0], [5.0, 3.0, 6.0], [7.0, 1.0, 2.0]], [[4.0, 1.0, 5.0], [3.0, 7.0, 2.0], [2.0, 3.0, 1.0]]], [[[4.0, 4.0, 6.0], [3.0, 3.0, 5.0], [2.0, 6.0, 7.0]], [[7.0, 5.0, 2.0], [1.0, 3.0, 6.0], [6.0, 6.0, 2.0]], [[5.0, 4.0, 6.0], [7.0, 8.0, 7.0], [4.0, 1.0, 2.0]]], [[[1.0, 3.0, 4.0], [3.0, 1.0, 6.0], [4.0, 7.0, 4.0]], [[5.0, 4.0, 7.0], [7.0, 1.0, 5.0], [6.0, 3.0, 7.0]], [[3.0, 5.0, 4.0], [4.0, 2.0, 5.0], [2.0, 3.0, 8.0]]]]),self.functionspace)
10329          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10330       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10331       def test_setslice_constData_rank4_expandedData_LUPU(self):
10332          arg=Data(numarray.array([[[[1.0, 8.0, 3.0], [1.0, 6.0, 2.0], [7.0, 8.0, 2.0]], [[7.0, 2.0, 5.0], [3.0, 3.0, 2.0], [6.0, 1.0, 3.0]], [[3.0, 2.0, 8.0], [7.0, 3.0, 5.0], [1.0, 3.0, 6.0]]], [[[6.0, 3.0, 2.0], [6.0, 1.0, 6.0], [7.0, 8.0, 2.0]], [[4.0, 1.0, 3.0], [2.0, 6.0, 2.0], [2.0, 5.0, 3.0]], [[7.0, 3.0, 2.0], [5.0, 3.0, 2.0], [8.0, 3.0, 6.0]]], [[[6.0, 3.0, 8.0], [3.0, 5.0, 6.0], [2.0, 6.0, 5.0]], [[4.0, 5.0, 4.0], [1.0, 6.0, 5.0], [2.0, 3.0, 3.0]], [[7.0, 7.0, 6.0], [3.0, 6.0, 7.0], [1.0, 8.0, 3.0]]], [[[1.0, 5.0, 6.0], [5.0, 3.0, 6.0], [4.0, 3.0, 4.0]], [[4.0, 2.0, 8.0], [2.0, 6.0, 3.0], [1.0, 2.0, 6.0]], [[3.0, 3.0, 4.0], [2.0, 6.0, 4.0], [5.0, 7.0, 5.0]]]]),self.functionspace)
10333          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10334          val=msk_val*numarray.array([[[7.0, 5.0], [7.0, 6.0]], [[2.0, 1.0], [6.0, 5.0]]])+(1.-msk_val)*numarray.array([[[6.0, 5.0], [8.0, 3.0]], [[5.0, 6.0], [5.0, 6.0]]])
10335          arg[2:,:2,1,:2]=val
10336          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10337          ref=msk_ref*numarray.array([[[[1.0, 8.0, 3.0], [1.0, 6.0, 2.0], [7.0, 8.0, 2.0]], [[7.0, 2.0, 5.0], [3.0, 3.0, 2.0], [6.0, 1.0, 3.0]], [[3.0, 2.0, 8.0], [7.0, 3.0, 5.0], [1.0, 3.0, 6.0]]], [[[6.0, 3.0, 2.0], [6.0, 1.0, 6.0], [7.0, 8.0, 2.0]], [[4.0, 1.0, 3.0], [2.0, 6.0, 2.0], [2.0, 5.0, 3.0]], [[7.0, 3.0, 2.0], [5.0, 3.0, 2.0], [8.0, 3.0, 6.0]]], [[[6.0, 3.0, 8.0], [7.0, 5.0, 6.0], [2.0, 6.0, 5.0]], [[4.0, 5.0, 4.0], [7.0, 6.0, 5.0], [2.0, 3.0, 3.0]], [[7.0, 7.0, 6.0], [3.0, 6.0, 7.0], [1.0, 8.0, 3.0]]], [[[1.0, 5.0, 6.0], [2.0, 1.0, 6.0], [4.0, 3.0, 4.0]], [[4.0, 2.0, 8.0], [6.0, 5.0, 3.0], [1.0, 2.0, 6.0]], [[3.0, 3.0, 4.0], [2.0, 6.0, 4.0], [5.0, 7.0, 5.0]]]])+(1.-msk_ref)*numarray.array([[[[1.0, 8.0, 3.0], [1.0, 6.0, 2.0], [7.0, 8.0, 2.0]], [[7.0, 2.0, 5.0], [3.0, 3.0, 2.0], [6.0, 1.0, 3.0]], [[3.0, 2.0, 8.0], [7.0, 3.0, 5.0], [1.0, 3.0, 6.0]]], [[[6.0, 3.0, 2.0], [6.0, 1.0, 6.0], [7.0, 8.0, 2.0]], [[4.0, 1.0, 3.0], [2.0, 6.0, 2.0], [2.0, 5.0, 3.0]], [[7.0, 3.0, 2.0], [5.0, 3.0, 2.0], [8.0, 3.0, 6.0]]], [[[6.0, 3.0, 8.0], [6.0, 5.0, 6.0], [2.0, 6.0, 5.0]], [[4.0, 5.0, 4.0], [8.0, 3.0, 5.0], [2.0, 3.0, 3.0]], [[7.0, 7.0, 6.0], [3.0, 6.0, 7.0], [1.0, 8.0, 3.0]]], [[[1.0, 5.0, 6.0], [5.0, 6.0, 6.0], [4.0, 3.0, 4.0]], [[4.0, 2.0, 8.0], [5.0, 6.0, 3.0], [1.0, 2.0, 6.0]], [[3.0, 3.0, 4.0], [2.0, 6.0, 4.0], [5.0, 7.0, 5.0]]]])
10338          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10339       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10340       def test_setslice_constData_rank4_array_RRRP(self):
10341          arg=Data(numarray.array([[[[3.0, 2.0, 1.0], [2.0, 3.0, 8.0], [7.0, 2.0, 3.0]], [[6.0, 7.0, 7.0], [6.0, 6.0, 6.0], [6.0, 2.0, 4.0]], [[2.0, 2.0, 3.0], [8.0, 2.0, 7.0], [3.0, 2.0, 7.0]]], [[[1.0, 5.0, 7.0], [1.0, 4.0, 2.0], [1.0, 6.0, 3.0]], [[6.0, 8.0, 1.0], [4.0, 6.0, 7.0], [5.0, 7.0, 7.0]], [[4.0, 8.0, 1.0], [6.0, 2.0, 2.0], [1.0, 6.0, 4.0]]], [[[2.0, 3.0, 2.0], [3.0, 4.0, 5.0], [6.0, 4.0, 8.0]], [[7.0, 3.0, 7.0], [7.0, 8.0, 4.0], [5.0, 1.0, 1.0]], [[5.0, 8.0, 1.0], [3.0, 2.0, 8.0], [5.0, 3.0, 6.0]]], [[[6.0, 7.0, 8.0], [4.0, 2.0, 3.0], [1.0, 7.0, 1.0]], [[8.0, 7.0, 1.0], [6.0, 4.0, 6.0], [3.0, 2.0, 3.0]], [[1.0, 6.0, 3.0], [1.0, 5.0, 8.0], [5.0, 1.0, 6.0]]]]),self.functionspace)
10342          val=numarray.array([[[3.0]], [[3.0]]])
10343          arg[1:3,1:2,1:2,1]=val
10344          ref=Data(numarray.array([[[[3.0, 2.0, 1.0], [2.0, 3.0, 8.0], [7.0, 2.0, 3.0]], [[6.0, 7.0, 7.0], [6.0, 6.0, 6.0], [6.0, 2.0, 4.0]], [[2.0, 2.0, 3.0], [8.0, 2.0, 7.0], [3.0, 2.0, 7.0]]], [[[1.0, 5.0, 7.0], [1.0, 4.0, 2.0], [1.0, 6.0, 3.0]], [[6.0, 8.0, 1.0], [4.0, 3.0, 7.0], [5.0, 7.0, 7.0]], [[4.0, 8.0, 1.0], [6.0, 2.0, 2.0], [1.0, 6.0, 4.0]]], [[[2.0, 3.0, 2.0], [3.0, 4.0, 5.0], [6.0, 4.0, 8.0]], [[7.0, 3.0, 7.0], [7.0, 3.0, 4.0], [5.0, 1.0, 1.0]], [[5.0, 8.0, 1.0], [3.0, 2.0, 8.0], [5.0, 3.0, 6.0]]], [[[6.0, 7.0, 8.0], [4.0, 2.0, 3.0], [1.0, 7.0, 1.0]], [[8.0, 7.0, 1.0], [6.0, 4.0, 6.0], [3.0, 2.0, 3.0]], [[1.0, 6.0, 3.0], [1.0, 5.0, 8.0], [5.0, 1.0, 6.0]]]]),self.functionspace)
10345          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10346       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10347       def test_setslice_constData_rank4_constData_RRRP(self):
10348          arg=Data(numarray.array([[[[5.0, 8.0, 3.0], [1.0, 3.0, 7.0], [2.0, 7.0, 4.0]], [[5.0, 2.0, 7.0], [1.0, 7.0, 8.0], [1.0, 8.0, 4.0]], [[4.0, 8.0, 8.0], [3.0, 5.0, 4.0], [1.0, 7.0, 6.0]]], [[[7.0, 7.0, 8.0], [6.0, 7.0, 8.0], [8.0, 1.0, 8.0]], [[1.0, 5.0, 6.0], [2.0, 7.0, 6.0], [6.0, 2.0, 7.0]], [[6.0, 4.0, 5.0], [3.0, 5.0, 1.0], [3.0, 5.0, 2.0]]], [[[1.0, 8.0, 4.0], [1.0, 2.0, 7.0], [7.0, 8.0, 5.0]], [[5.0, 4.0, 5.0], [6.0, 6.0, 8.0], [2.0, 5.0, 1.0]], [[5.0, 4.0, 7.0], [8.0, 6.0, 2.0], [1.0, 5.0, 6.0]]], [[[3.0, 4.0, 5.0], [1.0, 1.0, 5.0], [6.0, 4.0, 3.0]], [[7.0, 6.0, 5.0], [5.0, 5.0, 6.0], [1.0, 8.0, 1.0]], [[4.0, 5.0, 2.0], [5.0, 3.0, 4.0], [8.0, 1.0, 4.0]]]]),self.functionspace)
10349          val=Data(numarray.array([[[8.0]], [[8.0]]]),self.functionspace)
10350          arg[1:3,1:2,1:2,1]=val
10351          ref=Data(numarray.array([[[[5.0, 8.0, 3.0], [1.0, 3.0, 7.0], [2.0, 7.0, 4.0]], [[5.0, 2.0, 7.0], [1.0, 7.0, 8.0], [1.0, 8.0, 4.0]], [[4.0, 8.0, 8.0], [3.0, 5.0, 4.0], [1.0, 7.0, 6.0]]], [[[7.0, 7.0, 8.0], [6.0, 7.0, 8.0], [8.0, 1.0, 8.0]], [[1.0, 5.0, 6.0], [2.0, 8.0, 6.0], [6.0, 2.0, 7.0]], [[6.0, 4.0, 5.0], [3.0, 5.0, 1.0], [3.0, 5.0, 2.0]]], [[[1.0, 8.0, 4.0], [1.0, 2.0, 7.0], [7.0, 8.0, 5.0]], [[5.0, 4.0, 5.0], [6.0, 8.0, 8.0], [2.0, 5.0, 1.0]], [[5.0, 4.0, 7.0], [8.0, 6.0, 2.0], [1.0, 5.0, 6.0]]], [[[3.0, 4.0, 5.0], [1.0, 1.0, 5.0], [6.0, 4.0, 3.0]], [[7.0, 6.0, 5.0], [5.0, 5.0, 6.0], [1.0, 8.0, 1.0]], [[4.0, 5.0, 2.0], [5.0, 3.0, 4.0], [8.0, 1.0, 4.0]]]]),self.functionspace)
10352          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10353       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10354       def test_setslice_constData_rank4_expandedData_RRRP(self):
10355          arg=Data(numarray.array([[[[4.0, 3.0, 7.0], [7.0, 6.0, 3.0], [3.0, 1.0, 5.0]], [[1.0, 2.0, 6.0], [6.0, 3.0, 6.0], [4.0, 8.0, 7.0]], [[2.0, 4.0, 4.0], [3.0, 2.0, 1.0], [3.0, 6.0, 7.0]]], [[[3.0, 7.0, 7.0], [7.0, 2.0, 3.0], [8.0, 2.0, 7.0]], [[5.0, 5.0, 2.0], [2.0, 6.0, 1.0], [3.0, 2.0, 3.0]], [[6.0, 5.0, 5.0], [1.0, 8.0, 7.0], [5.0, 2.0, 5.0]]], [[[7.0, 5.0, 3.0], [5.0, 5.0, 2.0], [1.0, 3.0, 7.0]], [[5.0, 4.0, 5.0], [2.0, 7.0, 4.0], [4.0, 1.0, 1.0]], [[5.0, 4.0, 7.0], [5.0, 8.0, 5.0], [8.0, 5.0, 3.0]]], [[[3.0, 5.0, 7.0], [8.0, 1.0, 7.0], [1.0, 4.0, 8.0]], [[6.0, 1.0, 6.0], [8.0, 5.0, 1.0], [8.0, 6.0, 7.0]], [[8.0, 3.0, 5.0], [3.0, 7.0, 5.0], [1.0, 7.0, 3.0]]]]),self.functionspace)
10356          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10357          val=msk_val*numarray.array([[[3.0]], [[2.0]]])+(1.-msk_val)*numarray.array([[[5.0]], [[1.0]]])
10358          arg[1:3,1:2,1:2,1]=val
10359          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10360          ref=msk_ref*numarray.array([[[[4.0, 3.0, 7.0], [7.0, 6.0, 3.0], [3.0, 1.0, 5.0]], [[1.0, 2.0, 6.0], [6.0, 3.0, 6.0], [4.0, 8.0, 7.0]], [[2.0, 4.0, 4.0], [3.0, 2.0, 1.0], [3.0, 6.0, 7.0]]], [[[3.0, 7.0, 7.0], [7.0, 2.0, 3.0], [8.0, 2.0, 7.0]], [[5.0, 5.0, 2.0], [2.0, 3.0, 1.0], [3.0, 2.0, 3.0]], [[6.0, 5.0, 5.0], [1.0, 8.0, 7.0], [5.0, 2.0, 5.0]]], [[[7.0, 5.0, 3.0], [5.0, 5.0, 2.0], [1.0, 3.0, 7.0]], [[5.0, 4.0, 5.0], [2.0, 2.0, 4.0], [4.0, 1.0, 1.0]], [[5.0, 4.0, 7.0], [5.0, 8.0, 5.0], [8.0, 5.0, 3.0]]], [[[3.0, 5.0, 7.0], [8.0, 1.0, 7.0], [1.0, 4.0, 8.0]], [[6.0, 1.0, 6.0], [8.0, 5.0, 1.0], [8.0, 6.0, 7.0]], [[8.0, 3.0, 5.0], [3.0, 7.0, 5.0], [1.0, 7.0, 3.0]]]])+(1.-msk_ref)*numarray.array([[[[4.0, 3.0, 7.0], [7.0, 6.0, 3.0], [3.0, 1.0, 5.0]], [[1.0, 2.0, 6.0], [6.0, 3.0, 6.0], [4.0, 8.0, 7.0]], [[2.0, 4.0, 4.0], [3.0, 2.0, 1.0], [3.0, 6.0, 7.0]]], [[[3.0, 7.0, 7.0], [7.0, 2.0, 3.0], [8.0, 2.0, 7.0]], [[5.0, 5.0, 2.0], [2.0, 5.0, 1.0], [3.0, 2.0, 3.0]], [[6.0, 5.0, 5.0], [1.0, 8.0, 7.0], [5.0, 2.0, 5.0]]], [[[7.0, 5.0, 3.0], [5.0, 5.0, 2.0], [1.0, 3.0, 7.0]], [[5.0, 4.0, 5.0], [2.0, 1.0, 4.0], [4.0, 1.0, 1.0]], [[5.0, 4.0, 7.0], [5.0, 8.0, 5.0], [8.0, 5.0, 3.0]]], [[[3.0, 5.0, 7.0], [8.0, 1.0, 7.0], [1.0, 4.0, 8.0]], [[6.0, 1.0, 6.0], [8.0, 5.0, 1.0], [8.0, 6.0, 7.0]], [[8.0, 3.0, 5.0], [3.0, 7.0, 5.0], [1.0, 7.0, 3.0]]]])
10361          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10362       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10363       def test_setslice_constData_rank4_array_RCPP(self):
10364          arg=Data(numarray.array([[[[6.0, 2.0, 1.0], [4.0, 8.0, 2.0], [8.0, 8.0, 5.0]], [[4.0, 5.0, 7.0], [3.0, 8.0, 1.0], [7.0, 1.0, 4.0]], [[6.0, 8.0, 5.0], [3.0, 6.0, 8.0], [5.0, 3.0, 6.0]]], [[[3.0, 4.0, 7.0], [8.0, 5.0, 1.0], [5.0, 1.0, 7.0]], [[1.0, 8.0, 6.0], [4.0, 4.0, 7.0], [6.0, 2.0, 1.0]], [[2.0, 2.0, 7.0], [5.0, 8.0, 8.0], [3.0, 2.0, 4.0]]], [[[4.0, 2.0, 5.0], [3.0, 1.0, 8.0], [3.0, 3.0, 6.0]], [[8.0, 5.0, 2.0], [2.0, 2.0, 6.0], [5.0, 3.0, 6.0]], [[7.0, 1.0, 8.0], [5.0, 8.0, 3.0], [7.0, 5.0, 3.0]]], [[[5.0, 8.0, 4.0], [3.0, 3.0, 6.0], [2.0, 4.0, 5.0]], [[1.0, 1.0, 8.0], [6.0, 3.0, 5.0], [1.0, 4.0, 3.0]], [[2.0, 1.0, 8.0], [4.0, 1.0, 1.0], [1.0, 4.0, 3.0]]]]),self.functionspace)
10365          val=numarray.array([[3.0, 3.0, 5.0], [1.0, 5.0, 1.0]])
10366          arg[1:3,:,1,1]=val
10367          ref=Data(numarray.array([[[[6.0, 2.0, 1.0], [4.0, 8.0, 2.0], [8.0, 8.0, 5.0]], [[4.0, 5.0, 7.0], [3.0, 8.0, 1.0], [7.0, 1.0, 4.0]], [[6.0, 8.0, 5.0], [3.0, 6.0, 8.0], [5.0, 3.0, 6.0]]], [[[3.0, 4.0, 7.0], [8.0, 3.0, 1.0], [5.0, 1.0, 7.0]], [[1.0, 8.0, 6.0], [4.0, 3.0, 7.0], [6.0, 2.0, 1.0]], [[2.0, 2.0, 7.0], [5.0, 5.0, 8.0], [3.0, 2.0, 4.0]]], [[[4.0, 2.0, 5.0], [3.0, 1.0, 8.0], [3.0, 3.0, 6.0]], [[8.0, 5.0, 2.0], [2.0, 5.0, 6.0], [5.0, 3.0, 6.0]], [[7.0, 1.0, 8.0], [5.0, 1.0, 3.0], [7.0, 5.0, 3.0]]], [[[5.0, 8.0, 4.0], [3.0, 3.0, 6.0], [2.0, 4.0, 5.0]], [[1.0, 1.0, 8.0], [6.0, 3.0, 5.0], [1.0, 4.0, 3.0]], [[2.0, 1.0, 8.0], [4.0, 1.0, 1.0], [1.0, 4.0, 3.0]]]]),self.functionspace)
10368          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10369       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10370       def test_setslice_constData_rank4_constData_RCPP(self):
10371          arg=Data(numarray.array([[[[7.0, 8.0, 1.0], [7.0, 5.0, 8.0], [7.0, 2.0, 8.0]], [[2.0, 2.0, 4.0], [7.0, 6.0, 2.0], [1.0, 3.0, 7.0]], [[1.0, 7.0, 1.0], [6.0, 2.0, 7.0], [1.0, 4.0, 1.0]]], [[[5.0, 7.0, 2.0], [1.0, 3.0, 7.0], [6.0, 8.0, 5.0]], [[7.0, 3.0, 7.0], [6.0, 1.0, 8.0], [1.0, 1.0, 2.0]], [[4.0, 6.0, 1.0], [7.0, 2.0, 6.0], [8.0, 3.0, 6.0]]], [[[7.0, 1.0, 3.0], [6.0, 4.0, 5.0], [4.0, 7.0, 8.0]], [[7.0, 6.0, 2.0], [4.0, 6.0, 3.0], [6.0, 1.0, 7.0]], [[1.0, 7.0, 1.0], [6.0, 1.0, 6.0], [5.0, 6.0, 4.0]]], [[[5.0, 2.0, 8.0], [5.0, 4.0, 7.0], [7.0, 3.0, 6.0]], [[7.0, 2.0, 7.0], [5.0, 7.0, 4.0], [3.0, 6.0, 8.0]], [[4.0, 6.0, 8.0], [3.0, 6.0, 5.0], [6.0, 1.0, 8.0]]]]),self.functionspace)
10372          val=Data(numarray.array([[3.0, 4.0, 1.0], [8.0, 1.0, 1.0]]),self.functionspace)
10373          arg[1:3,:,1,1]=val
10374          ref=Data(numarray.array([[[[7.0, 8.0, 1.0], [7.0, 5.0, 8.0], [7.0, 2.0, 8.0]], [[2.0, 2.0, 4.0], [7.0, 6.0, 2.0], [1.0, 3.0, 7.0]], [[1.0, 7.0, 1.0], [6.0, 2.0, 7.0], [1.0, 4.0, 1.0]]], [[[5.0, 7.0, 2.0], [1.0, 3.0, 7.0], [6.0, 8.0, 5.0]], [[7.0, 3.0, 7.0], [6.0, 4.0, 8.0], [1.0, 1.0, 2.0]], [[4.0, 6.0, 1.0], [7.0, 1.0, 6.0], [8.0, 3.0, 6.0]]], [[[7.0, 1.0, 3.0], [6.0, 8.0, 5.0], [4.0, 7.0, 8.0]], [[7.0, 6.0, 2.0], [4.0, 1.0, 3.0], [6.0, 1.0, 7.0]], [[1.0, 7.0, 1.0], [6.0, 1.0, 6.0], [5.0, 6.0, 4.0]]], [[[5.0, 2.0, 8.0], [5.0, 4.0, 7.0], [7.0, 3.0, 6.0]], [[7.0, 2.0, 7.0], [5.0, 7.0, 4.0], [3.0, 6.0, 8.0]], [[4.0, 6.0, 8.0], [3.0, 6.0, 5.0], [6.0, 1.0, 8.0]]]]),self.functionspace)
10375          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10376       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10377       def test_setslice_constData_rank4_expandedData_RCPP(self):
10378          arg=Data(numarray.array([[[[7.0, 8.0, 2.0], [1.0, 3.0, 6.0], [2.0, 7.0, 8.0]], [[7.0, 6.0, 1.0], [2.0, 1.0, 4.0], [5.0, 7.0, 7.0]], [[6.0, 8.0, 4.0], [6.0, 8.0, 4.0], [6.0, 1.0, 1.0]]], [[[2.0, 6.0, 7.0], [3.0, 1.0, 4.0], [6.0, 6.0, 3.0]], [[6.0, 8.0, 6.0], [3.0, 7.0, 5.0], [1.0, 8.0, 8.0]], [[3.0, 7.0, 8.0], [3.0, 4.0, 5.0], [6.0, 8.0, 2.0]]], [[[4.0, 3.0, 6.0], [5.0, 6.0, 6.0], [5.0, 3.0, 4.0]], [[5.0, 6.0, 3.0], [3.0, 7.0, 6.0], [2.0, 2.0, 7.0]], [[3.0, 7.0, 7.0], [4.0, 3.0, 1.0], [8.0, 7.0, 7.0]]], [[[4.0, 6.0, 1.0], [3.0, 6.0, 3.0], [1.0, 7.0, 1.0]], [[1.0, 4.0, 4.0], [7.0, 8.0, 5.0], [8.0, 3.0, 3.0]], [[5.0, 3.0, 5.0], [4.0, 6.0, 3.0], [5.0, 2.0, 4.0]]]]),self.functionspace)
10379          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10380          val=msk_val*numarray.array([[2.0, 7.0, 8.0], [8.0, 6.0, 7.0]])+(1.-msk_val)*numarray.array([[6.0, 2.0, 5.0], [8.0, 8.0, 7.0]])
10381          arg[1:3,:,1,1]=val
10382          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10383          ref=msk_ref*numarray.array([[[[7.0, 8.0, 2.0], [1.0, 3.0, 6.0], [2.0, 7.0, 8.0]], [[7.0, 6.0, 1.0], [2.0, 1.0, 4.0], [5.0, 7.0, 7.0]], [[6.0, 8.0, 4.0], [6.0, 8.0, 4.0], [6.0, 1.0, 1.0]]], [[[2.0, 6.0, 7.0], [3.0, 2.0, 4.0], [6.0, 6.0, 3.0]], [[6.0, 8.0, 6.0], [3.0, 7.0, 5.0], [1.0, 8.0, 8.0]], [[3.0, 7.0, 8.0], [3.0, 8.0, 5.0], [6.0, 8.0, 2.0]]], [[[4.0, 3.0, 6.0], [5.0, 8.0, 6.0], [5.0, 3.0, 4.0]], [[5.0, 6.0, 3.0], [3.0, 6.0, 6.0], [2.0, 2.0, 7.0]], [[3.0, 7.0, 7.0], [4.0, 7.0, 1.0], [8.0, 7.0, 7.0]]], [[[4.0, 6.0, 1.0], [3.0, 6.0, 3.0], [1.0, 7.0, 1.0]], [[1.0, 4.0, 4.0], [7.0, 8.0, 5.0], [8.0, 3.0, 3.0]], [[5.0, 3.0, 5.0], [4.0, 6.0, 3.0], [5.0, 2.0, 4.0]]]])+(1.-msk_ref)*numarray.array([[[[7.0, 8.0, 2.0], [1.0, 3.0, 6.0], [2.0, 7.0, 8.0]], [[7.0, 6.0, 1.0], [2.0, 1.0, 4.0], [5.0, 7.0, 7.0]], [[6.0, 8.0, 4.0], [6.0, 8.0, 4.0], [6.0, 1.0, 1.0]]], [[[2.0, 6.0, 7.0], [3.0, 6.0, 4.0], [6.0, 6.0, 3.0]], [[6.0, 8.0, 6.0], [3.0, 2.0, 5.0], [1.0, 8.0, 8.0]], [[3.0, 7.0, 8.0], [3.0, 5.0, 5.0], [6.0, 8.0, 2.0]]], [[[4.0, 3.0, 6.0], [5.0, 8.0, 6.0], [5.0, 3.0, 4.0]], [[5.0, 6.0, 3.0], [3.0, 8.0, 6.0], [2.0, 2.0, 7.0]], [[3.0, 7.0, 7.0], [4.0, 7.0, 1.0], [8.0, 7.0, 7.0]]], [[[4.0, 6.0, 1.0], [3.0, 6.0, 3.0], [1.0, 7.0, 1.0]], [[1.0, 4.0, 4.0], [7.0, 8.0, 5.0], [8.0, 3.0, 3.0]], [[5.0, 3.0, 5.0], [4.0, 6.0, 3.0], [5.0, 2.0, 4.0]]]])
10384          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10385       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10386       def test_setslice_constData_rank4_array_RUCC(self):
10387          arg=Data(numarray.array([[[[2.0, 5.0, 1.0], [6.0, 8.0, 3.0], [1.0, 6.0, 1.0]], [[4.0, 4.0, 6.0], [8.0, 5.0, 7.0], [8.0, 2.0, 7.0]], [[7.0, 3.0, 5.0], [3.0, 8.0, 6.0], [1.0, 2.0, 4.0]]], [[[6.0, 3.0, 5.0], [7.0, 1.0, 1.0], [3.0, 1.0, 3.0]], [[6.0, 3.0, 6.0], [4.0, 6.0, 1.0], [5.0, 1.0, 8.0]], [[8.0, 8.0, 2.0], [5.0, 7.0, 4.0], [2.0, 7.0, 7.0]]], [[[2.0, 1.0, 7.0], [3.0, 6.0, 5.0], [2.0, 8.0, 8.0]], [[5.0, 3.0, 8.0], [6.0, 4.0, 1.0], [4.0, 3.0, 7.0]], [[2.0, 2.0, 3.0], [5.0, 7.0, 6.0], [4.0, 4.0, 2.0]]], [[[1.0, 8.0, 3.0], [3.0, 1.0, 5.0], [5.0, 6.0, 3.0]], [[2.0, 1.0, 1.0], [3.0, 1.0, 8.0], [6.0, 7.0, 6.0]], [[2.0, 7.0, 6.0], [2.0, 1.0, 4.0], [1.0, 4.0, 3.0]]]]),self.functionspace)
10388          val=numarray.array([[[[2.0, 8.0, 3.0], [4.0, 5.0, 3.0], [3.0, 2.0, 5.0]], [[2.0, 6.0, 8.0], [2.0, 6.0, 8.0], [7.0, 8.0, 7.0]]], [[[3.0, 8.0, 4.0], [8.0, 3.0, 2.0], [7.0, 2.0, 4.0]], [[4.0, 2.0, 2.0], [6.0, 7.0, 2.0], [2.0, 4.0, 2.0]]]])
10389          arg[1:3,:2,:,:]=val
10390          ref=Data(numarray.array([[[[2.0, 5.0, 1.0], [6.0, 8.0, 3.0], [1.0, 6.0, 1.0]], [[4.0, 4.0, 6.0], [8.0, 5.0, 7.0], [8.0, 2.0, 7.0]], [[7.0, 3.0, 5.0], [3.0, 8.0, 6.0], [1.0, 2.0, 4.0]]], [[[2.0, 8.0, 3.0], [4.0, 5.0, 3.0], [3.0, 2.0, 5.0]], [[2.0, 6.0, 8.0], [2.0, 6.0, 8.0], [7.0, 8.0, 7.0]], [[8.0, 8.0, 2.0], [5.0, 7.0, 4.0], [2.0, 7.0, 7.0]]], [[[3.0, 8.0, 4.0], [8.0, 3.0, 2.0], [7.0, 2.0, 4.0]], [[4.0, 2.0, 2.0], [6.0, 7.0, 2.0], [2.0, 4.0, 2.0]], [[2.0, 2.0, 3.0], [5.0, 7.0, 6.0], [4.0, 4.0, 2.0]]], [[[1.0, 8.0, 3.0], [3.0, 1.0, 5.0], [5.0, 6.0, 3.0]], [[2.0, 1.0, 1.0], [3.0, 1.0, 8.0], [6.0, 7.0, 6.0]], [[2.0, 7.0, 6.0], [2.0, 1.0, 4.0], [1.0, 4.0, 3.0]]]]),self.functionspace)
10391          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10392       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10393       def test_setslice_constData_rank4_constData_RUCC(self):
10394          arg=Data(numarray.array([[[[6.0, 3.0, 7.0], [5.0, 8.0, 5.0], [5.0, 5.0, 3.0]], [[8.0, 5.0, 7.0], [4.0, 1.0, 5.0], [5.0, 2.0, 1.0]], [[7.0, 8.0, 3.0], [3.0, 8.0, 3.0], [8.0, 8.0, 8.0]]], [[[3.0, 7.0, 5.0], [2.0, 2.0, 2.0], [7.0, 4.0, 8.0]], [[8.0, 1.0, 5.0], [2.0, 3.0, 4.0], [2.0, 3.0, 4.0]], [[3.0, 3.0, 2.0], [7.0, 8.0, 3.0], [2.0, 3.0, 6.0]]], [[[3.0, 1.0, 5.0], [1.0, 8.0, 2.0], [8.0, 8.0, 8.0]], [[3.0, 5.0, 1.0], [2.0, 7.0, 8.0], [6.0, 5.0, 7.0]], [[2.0, 6.0, 3.0], [3.0, 6.0, 5.0], [7.0, 5.0, 2.0]]], [[[3.0, 1.0, 2.0], [6.0, 8.0, 3.0], [8.0, 1.0, 7.0]], [[8.0, 3.0, 3.0], [2.0, 3.0, 8.0], [2.0, 1.0, 7.0]], [[8.0, 2.0, 8.0], [7.0, 8.0, 5.0], [2.0, 1.0, 3.0]]]]),self.functionspace)
10395          val=Data(numarray.array([[[[3.0, 2.0, 3.0], [6.0, 5.0, 2.0], [2.0, 5.0, 7.0]], [[4.0, 6.0, 2.0], [4.0, 7.0, 3.0], [4.0, 5.0, 4.0]]], [[[7.0, 3.0, 5.0], [4.0, 3.0, 7.0], [2.0, 5.0, 8.0]], [[2.0, 5.0, 7.0], [2.0, 2.0, 2.0], [4.0, 2.0, 7.0]]]]),self.functionspace)
10396          arg[1:3,:2,:,:]=val
10397          ref=Data(numarray.array([[[[6.0, 3.0, 7.0], [5.0, 8.0, 5.0], [5.0, 5.0, 3.0]], [[8.0, 5.0, 7.0], [4.0, 1.0, 5.0], [5.0, 2.0, 1.0]], [[7.0, 8.0, 3.0], [3.0, 8.0, 3.0], [8.0, 8.0, 8.0]]], [[[3.0, 2.0, 3.0], [6.0, 5.0, 2.0], [2.0, 5.0, 7.0]], [[4.0, 6.0, 2.0], [4.0, 7.0, 3.0], [4.0, 5.0, 4.0]], [[3.0, 3.0, 2.0], [7.0, 8.0, 3.0], [2.0, 3.0, 6.0]]], [[[7.0, 3.0, 5.0], [4.0, 3.0, 7.0], [2.0, 5.0, 8.0]], [[2.0, 5.0, 7.0], [2.0, 2.0, 2.0], [4.0, 2.0, 7.0]], [[2.0, 6.0, 3.0], [3.0, 6.0, 5.0], [7.0, 5.0, 2.0]]], [[[3.0, 1.0, 2.0], [6.0, 8.0, 3.0], [8.0, 1.0, 7.0]], [[8.0, 3.0, 3.0], [2.0, 3.0, 8.0], [2.0, 1.0, 7.0]], [[8.0, 2.0, 8.0], [7.0, 8.0, 5.0], [2.0, 1.0, 3.0]]]]),self.functionspace)
10398          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10399       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10400       def test_setslice_constData_rank4_expandedData_RUCC(self):
10401          arg=Data(numarray.array([[[[2.0, 7.0, 1.0], [3.0, 6.0, 5.0], [5.0, 4.0, 2.0]], [[2.0, 5.0, 7.0], [5.0, 6.0, 3.0], [3.0, 5.0, 2.0]], [[6.0, 6.0, 3.0], [8.0, 6.0, 7.0], [7.0, 3.0, 3.0]]], [[[6.0, 5.0, 8.0], [7.0, 8.0, 8.0], [5.0, 1.0, 3.0]], [[4.0, 6.0, 5.0], [6.0, 2.0, 3.0], [6.0, 8.0, 8.0]], [[5.0, 8.0, 6.0], [3.0, 6.0, 3.0], [1.0, 8.0, 2.0]]], [[[6.0, 6.0, 2.0], [1.0, 2.0, 5.0], [4.0, 8.0, 4.0]], [[6.0, 2.0, 2.0], [2.0, 1.0, 2.0], [4.0, 7.0, 1.0]], [[5.0, 7.0, 6.0], [7.0, 1.0, 7.0], [7.0, 7.0, 5.0]]], [[[7.0, 1.0, 5.0], [6.0, 6.0, 5.0], [5.0, 5.0, 7.0]], [[2.0, 8.0, 1.0], [5.0, 6.0, 1.0], [5.0, 3.0, 5.0]], [[6.0, 8.0, 3.0], [2.0, 1.0, 2.0], [7.0, 4.0, 4.0]]]]),self.functionspace)
10402          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10403          val=msk_val*numarray.array([[[[7.0, 4.0, 1.0], [3.0, 7.0, 3.0], [8.0, 3.0, 7.0]], [[2.0, 8.0, 4.0], [8.0, 7.0, 6.0], [1.0, 4.0, 2.0]]], [[[6.0, 7.0, 8.0], [6.0, 3.0, 5.0], [7.0, 2.0, 4.0]], [[7.0, 8.0, 5.0], [6.0, 6.0, 8.0], [8.0, 4.0, 4.0]]]])+(1.-msk_val)*numarray.array([[[[2.0, 6.0, 1.0], [3.0, 5.0, 8.0], [1.0, 6.0, 4.0]], [[4.0, 2.0, 3.0], [6.0, 3.0, 7.0], [4.0, 1.0, 4.0]]], [[[2.0, 6.0, 7.0], [3.0, 3.0, 2.0], [8.0, 8.0, 5.0]], [[6.0, 5.0, 1.0], [3.0, 7.0, 1.0], [5.0, 7.0, 6.0]]]])
10404          arg[1:3,:2,:,:]=val
10405          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10406          ref=msk_ref*numarray.array([[[[2.0, 7.0, 1.0], [3.0, 6.0, 5.0], [5.0, 4.0, 2.0]], [[2.0, 5.0, 7.0], [5.0, 6.0, 3.0], [3.0, 5.0, 2.0]], [[6.0, 6.0, 3.0], [8.0, 6.0, 7.0], [7.0, 3.0, 3.0]]], [[[7.0, 4.0, 1.0], [3.0, 7.0, 3.0], [8.0, 3.0, 7.0]], [[2.0, 8.0, 4.0], [8.0, 7.0, 6.0], [1.0, 4.0, 2.0]], [[5.0, 8.0, 6.0], [3.0, 6.0, 3.0], [1.0, 8.0, 2.0]]], [[[6.0, 7.0, 8.0], [6.0, 3.0, 5.0], [7.0, 2.0, 4.0]], [[7.0, 8.0, 5.0], [6.0, 6.0, 8.0], [8.0, 4.0, 4.0]], [[5.0, 7.0, 6.0], [7.0, 1.0, 7.0], [7.0, 7.0, 5.0]]], [[[7.0, 1.0, 5.0], [6.0, 6.0, 5.0], [5.0, 5.0, 7.0]], [[2.0, 8.0, 1.0], [5.0, 6.0, 1.0], [5.0, 3.0, 5.0]], [[6.0, 8.0, 3.0], [2.0, 1.0, 2.0], [7.0, 4.0, 4.0]]]])+(1.-msk_ref)*numarray.array([[[[2.0, 7.0, 1.0], [3.0, 6.0, 5.0], [5.0, 4.0, 2.0]], [[2.0, 5.0, 7.0], [5.0, 6.0, 3.0], [3.0, 5.0, 2.0]], [[6.0, 6.0, 3.0], [8.0, 6.0, 7.0], [7.0, 3.0, 3.0]]], [[[2.0, 6.0, 1.0], [3.0, 5.0, 8.0], [1.0, 6.0, 4.0]], [[4.0, 2.0, 3.0], [6.0, 3.0, 7.0], [4.0, 1.0, 4.0]], [[5.0, 8.0, 6.0], [3.0, 6.0, 3.0], [1.0, 8.0, 2.0]]], [[[2.0, 6.0, 7.0], [3.0, 3.0, 2.0], [8.0, 8.0, 5.0]], [[6.0, 5.0, 1.0], [3.0, 7.0, 1.0], [5.0, 7.0, 6.0]], [[5.0, 7.0, 6.0], [7.0, 1.0, 7.0], [7.0, 7.0, 5.0]]], [[[7.0, 1.0, 5.0], [6.0, 6.0, 5.0], [5.0, 5.0, 7.0]], [[2.0, 8.0, 1.0], [5.0, 6.0, 1.0], [5.0, 3.0, 5.0]], [[6.0, 8.0, 3.0], [2.0, 1.0, 2.0], [7.0, 4.0, 4.0]]]])
10407          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10408       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10409       def test_setslice_constData_rank4_array_RRCL(self):
10410          arg=Data(numarray.array([[[[4.0, 7.0, 4.0], [3.0, 1.0, 3.0], [1.0, 1.0, 3.0]], [[8.0, 7.0, 2.0], [1.0, 3.0, 8.0], [5.0, 5.0, 5.0]], [[7.0, 7.0, 5.0], [5.0, 3.0, 4.0], [1.0, 5.0, 3.0]]], [[[4.0, 2.0, 1.0], [1.0, 8.0, 2.0], [1.0, 5.0, 7.0]], [[6.0, 5.0, 5.0], [3.0, 3.0, 3.0], [3.0, 6.0, 8.0]], [[3.0, 2.0, 6.0], [2.0, 7.0, 6.0], [4.0, 4.0, 2.0]]], [[[4.0, 3.0, 8.0], [8.0, 4.0, 2.0], [1.0, 5.0, 3.0]], [[6.0, 7.0, 3.0], [1.0, 1.0, 4.0], [6.0, 2.0, 5.0]], [[2.0, 8.0, 5.0], [3.0, 2.0, 5.0], [7.0, 6.0, 7.0]]], [[[7.0, 1.0, 8.0], [6.0, 1.0, 4.0], [6.0, 2.0, 8.0]], [[1.0, 2.0, 8.0], [2.0, 8.0, 1.0], [6.0, 6.0, 8.0]], [[2.0, 1.0, 8.0], [7.0, 7.0, 1.0], [6.0, 2.0, 6.0]]]]),self.functionspace)
10411          val=numarray.array([[[[6.0], [7.0], [4.0]]], [[[4.0], [5.0], [7.0]]]])
10412          arg[1:3,1:2,:,2:]=val
10413          ref=Data(numarray.array([[[[4.0, 7.0, 4.0], [3.0, 1.0, 3.0], [1.0, 1.0, 3.0]], [[8.0, 7.0, 2.0], [1.0, 3.0, 8.0], [5.0, 5.0, 5.0]], [[7.0, 7.0, 5.0], [5.0, 3.0, 4.0], [1.0, 5.0, 3.0]]], [[[4.0, 2.0, 1.0], [1.0, 8.0, 2.0], [1.0, 5.0, 7.0]], [[6.0, 5.0, 6.0], [3.0, 3.0, 7.0], [3.0, 6.0, 4.0]], [[3.0, 2.0, 6.0], [2.0, 7.0, 6.0], [4.0, 4.0, 2.0]]], [[[4.0, 3.0, 8.0], [8.0, 4.0, 2.0], [1.0, 5.0, 3.0]], [[6.0, 7.0, 4.0], [1.0, 1.0, 5.0], [6.0, 2.0, 7.0]], [[2.0, 8.0, 5.0], [3.0, 2.0, 5.0], [7.0, 6.0, 7.0]]], [[[7.0, 1.0, 8.0], [6.0, 1.0, 4.0], [6.0, 2.0, 8.0]], [[1.0, 2.0, 8.0], [2.0, 8.0, 1.0], [6.0, 6.0, 8.0]], [[2.0, 1.0, 8.0], [7.0, 7.0, 1.0], [6.0, 2.0, 6.0]]]]),self.functionspace)
10414          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10415       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10416       def test_setslice_constData_rank4_constData_RRCL(self):
10417          arg=Data(numarray.array([[[[1.0, 4.0, 6.0], [7.0, 6.0, 2.0], [2.0, 7.0, 4.0]], [[2.0, 8.0, 2.0], [8.0, 4.0, 7.0], [5.0, 1.0, 2.0]], [[5.0, 5.0, 4.0], [4.0, 1.0, 6.0], [1.0, 4.0, 3.0]]], [[[4.0, 7.0, 7.0], [7.0, 8.0, 8.0], [5.0, 3.0, 5.0]], [[4.0, 6.0, 4.0], [4.0, 5.0, 8.0], [1.0, 1.0, 5.0]], [[6.0, 3.0, 2.0], [4.0, 7.0, 8.0], [4.0, 3.0, 2.0]]], [[[7.0, 8.0, 1.0], [1.0, 1.0, 5.0], [8.0, 6.0, 7.0]], [[2.0, 4.0, 2.0], [1.0, 8.0, 3.0], [3.0, 4.0, 4.0]], [[4.0, 2.0, 1.0], [8.0, 1.0, 6.0], [4.0, 3.0, 2.0]]], [[[6.0, 3.0, 8.0], [6.0, 2.0, 4.0], [2.0, 4.0, 6.0]], [[5.0, 7.0, 1.0], [3.0, 3.0, 1.0], [5.0, 6.0, 4.0]], [[6.0, 3.0, 8.0], [2.0, 5.0, 4.0], [6.0, 8.0, 6.0]]]]),self.functionspace)
10418          val=Data(numarray.array([[[[5.0], [4.0], [8.0]]], [[[5.0], [2.0], [4.0]]]]),self.functionspace)
10419          arg[1:3,1:2,:,2:]=val
10420          ref=Data(numarray.array([[[[1.0, 4.0, 6.0], [7.0, 6.0, 2.0], [2.0, 7.0, 4.0]], [[2.0, 8.0, 2.0], [8.0, 4.0, 7.0], [5.0, 1.0, 2.0]], [[5.0, 5.0, 4.0], [4.0, 1.0, 6.0], [1.0, 4.0, 3.0]]], [[[4.0, 7.0, 7.0], [7.0, 8.0, 8.0], [5.0, 3.0, 5.0]], [[4.0, 6.0, 5.0], [4.0, 5.0, 4.0], [1.0, 1.0, 8.0]], [[6.0, 3.0, 2.0], [4.0, 7.0, 8.0], [4.0, 3.0, 2.0]]], [[[7.0, 8.0, 1.0], [1.0, 1.0, 5.0], [8.0, 6.0, 7.0]], [[2.0, 4.0, 5.0], [1.0, 8.0, 2.0], [3.0, 4.0, 4.0]], [[4.0, 2.0, 1.0], [8.0, 1.0, 6.0], [4.0, 3.0, 2.0]]], [[[6.0, 3.0, 8.0], [6.0, 2.0, 4.0], [2.0, 4.0, 6.0]], [[5.0, 7.0, 1.0], [3.0, 3.0, 1.0], [5.0, 6.0, 4.0]], [[6.0, 3.0, 8.0], [2.0, 5.0, 4.0], [6.0, 8.0, 6.0]]]]),self.functionspace)
10421          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10422       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10423       def test_setslice_constData_rank4_expandedData_RRCL(self):
10424          arg=Data(numarray.array([[[[3.0, 3.0, 8.0], [3.0, 3.0, 7.0], [8.0, 1.0, 1.0]], [[1.0, 5.0, 6.0], [1.0, 2.0, 6.0], [6.0, 2.0, 4.0]], [[2.0, 8.0, 1.0], [3.0, 8.0, 7.0], [1.0, 6.0, 3.0]]], [[[1.0, 1.0, 1.0], [7.0, 8.0, 6.0], [5.0, 2.0, 4.0]], [[8.0, 3.0, 1.0], [6.0, 7.0, 1.0], [2.0, 3.0, 5.0]], [[3.0, 1.0, 5.0], [1.0, 5.0, 6.0], [7.0, 2.0, 1.0]]], [[[1.0, 2.0, 2.0], [3.0, 3.0, 2.0], [8.0, 1.0, 5.0]], [[6.0, 3.0, 3.0], [8.0, 4.0, 6.0], [4.0, 4.0, 4.0]], [[8.0, 7.0, 8.0], [3.0, 7.0, 6.0], [2.0, 6.0, 2.0]]], [[[6.0, 1.0, 4.0], [2.0, 8.0, 7.0], [2.0, 5.0, 7.0]], [[6.0, 6.0, 1.0], [2.0, 3.0, 4.0], [3.0, 1.0, 7.0]], [[1.0, 3.0, 5.0], [2.0, 2.0, 4.0], [5.0, 2.0, 6.0]]]]),self.functionspace)
10425          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10426          val=msk_val*numarray.array([[[[3.0], [7.0], [4.0]]], [[[2.0], [6.0], [4.0]]]])+(1.-msk_val)*numarray.array([[[[7.0], [6.0], [5.0]]], [[[5.0], [2.0], [2.0]]]])
10427          arg[1:3,1:2,:,2:]=val
10428          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10429          ref=msk_ref*numarray.array([[[[3.0, 3.0, 8.0], [3.0, 3.0, 7.0], [8.0, 1.0, 1.0]], [[1.0, 5.0, 6.0], [1.0, 2.0, 6.0], [6.0, 2.0, 4.0]], [[2.0, 8.0, 1.0], [3.0, 8.0, 7.0], [1.0, 6.0, 3.0]]], [[[1.0, 1.0, 1.0], [7.0, 8.0, 6.0], [5.0, 2.0, 4.0]], [[8.0, 3.0, 3.0], [6.0, 7.0, 7.0], [2.0, 3.0, 4.0]], [[3.0, 1.0, 5.0], [1.0, 5.0, 6.0], [7.0, 2.0, 1.0]]], [[[1.0, 2.0, 2.0], [3.0, 3.0, 2.0], [8.0, 1.0, 5.0]], [[6.0, 3.0, 2.0], [8.0, 4.0, 6.0], [4.0, 4.0, 4.0]], [[8.0, 7.0, 8.0], [3.0, 7.0, 6.0], [2.0, 6.0, 2.0]]], [[[6.0, 1.0, 4.0], [2.0, 8.0, 7.0], [2.0, 5.0, 7.0]], [[6.0, 6.0, 1.0], [2.0, 3.0, 4.0], [3.0, 1.0, 7.0]], [[1.0, 3.0, 5.0], [2.0, 2.0, 4.0], [5.0, 2.0, 6.0]]]])+(1.-msk_ref)*numarray.array([[[[3.0, 3.0, 8.0], [3.0, 3.0, 7.0], [8.0, 1.0, 1.0]], [[1.0, 5.0, 6.0], [1.0, 2.0, 6.0], [6.0, 2.0, 4.0]], [[2.0, 8.0, 1.0], [3.0, 8.0, 7.0], [1.0, 6.0, 3.0]]], [[[1.0, 1.0, 1.0], [7.0, 8.0, 6.0], [5.0, 2.0, 4.0]], [[8.0, 3.0, 7.0], [6.0, 7.0, 6.0], [2.0, 3.0, 5.0]], [[3.0, 1.0, 5.0], [1.0, 5.0, 6.0], [7.0, 2.0, 1.0]]], [[[1.0, 2.0, 2.0], [3.0, 3.0, 2.0], [8.0, 1.0, 5.0]], [[6.0, 3.0, 5.0], [8.0, 4.0, 2.0], [4.0, 4.0, 2.0]], [[8.0, 7.0, 8.0], [3.0, 7.0, 6.0], [2.0, 6.0, 2.0]]], [[[6.0, 1.0, 4.0], [2.0, 8.0, 7.0], [2.0, 5.0, 7.0]], [[6.0, 6.0, 1.0], [2.0, 3.0, 4.0], [3.0, 1.0, 7.0]], [[1.0, 3.0, 5.0], [2.0, 2.0, 4.0], [5.0, 2.0, 6.0]]]])
10430          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10431       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10432       def test_setslice_constData_rank4_array_URUL(self):
10433          arg=Data(numarray.array([[[[1.0, 2.0, 1.0], [1.0, 5.0, 1.0], [3.0, 4.0, 3.0]], [[1.0, 6.0, 1.0], [1.0, 8.0, 6.0], [6.0, 3.0, 5.0]], [[5.0, 8.0, 7.0], [1.0, 4.0, 8.0], [3.0, 7.0, 5.0]]], [[[1.0, 8.0, 6.0], [3.0, 1.0, 7.0], [1.0, 5.0, 1.0]], [[1.0, 1.0, 7.0], [2.0, 5.0, 2.0], [5.0, 8.0, 2.0]], [[1.0, 2.0, 5.0], [5.0, 4.0, 4.0], [2.0, 2.0, 7.0]]], [[[3.0, 5.0, 4.0], [8.0, 3.0, 4.0], [8.0, 6.0, 1.0]], [[5.0, 3.0, 5.0], [1.0, 4.0, 2.0], [8.0, 2.0, 4.0]], [[2.0, 8.0, 5.0], [6.0, 7.0, 3.0], [2.0, 8.0, 5.0]]], [[[6.0, 7.0, 8.0], [8.0, 2.0, 8.0], [2.0, 3.0, 2.0]], [[3.0, 2.0, 1.0], [8.0, 5.0, 4.0], [2.0, 7.0, 5.0]], [[3.0, 3.0, 6.0], [5.0, 6.0, 5.0], [5.0, 7.0, 5.0]]]]),self.functionspace)
10434          val=numarray.array([[[[6.0], [1.0]]], [[[3.0], [5.0]]], [[[5.0], [6.0]]]])
10435          arg[:3,1:2,:2,2:]=val
10436          ref=Data(numarray.array([[[[1.0, 2.0, 1.0], [1.0, 5.0, 1.0], [3.0, 4.0, 3.0]], [[1.0, 6.0, 6.0], [1.0, 8.0, 1.0], [6.0, 3.0, 5.0]], [[5.0, 8.0, 7.0], [1.0, 4.0, 8.0], [3.0, 7.0, 5.0]]], [[[1.0, 8.0, 6.0], [3.0, 1.0, 7.0], [1.0, 5.0, 1.0]], [[1.0, 1.0, 3.0], [2.0, 5.0, 5.0], [5.0, 8.0, 2.0]], [[1.0, 2.0, 5.0], [5.0, 4.0, 4.0], [2.0, 2.0, 7.0]]], [[[3.0, 5.0, 4.0], [8.0, 3.0, 4.0], [8.0, 6.0, 1.0]], [[5.0, 3.0, 5.0], [1.0, 4.0, 6.0], [8.0, 2.0, 4.0]], [[2.0, 8.0, 5.0], [6.0, 7.0, 3.0], [2.0, 8.0, 5.0]]], [[[6.0, 7.0, 8.0], [8.0, 2.0, 8.0], [2.0, 3.0, 2.0]], [[3.0, 2.0, 1.0], [8.0, 5.0, 4.0], [2.0, 7.0, 5.0]], [[3.0, 3.0, 6.0], [5.0, 6.0, 5.0], [5.0, 7.0, 5.0]]]]),self.functionspace)
10437          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10438       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10439       def test_setslice_constData_rank4_constData_URUL(self):
10440          arg=Data(numarray.array([[[[5.0, 2.0, 8.0], [3.0, 3.0, 2.0], [8.0, 1.0, 8.0]], [[6.0, 5.0, 7.0], [4.0, 8.0, 2.0], [7.0, 7.0, 3.0]], [[1.0, 7.0, 6.0], [2.0, 2.0, 4.0], [5.0, 7.0, 6.0]]], [[[3.0, 7.0, 7.0], [4.0, 1.0, 8.0], [5.0, 6.0, 1.0]], [[6.0, 5.0, 3.0], [7.0, 7.0, 7.0], [6.0, 5.0, 5.0]], [[2.0, 5.0, 7.0], [1.0, 2.0, 1.0], [3.0, 3.0, 7.0]]], [[[1.0, 4.0, 3.0], [6.0, 5.0, 7.0], [8.0, 1.0, 5.0]], [[6.0, 5.0, 1.0], [2.0, 7.0, 3.0], [5.0, 2.0, 4.0]], [[5.0, 3.0, 8.0], [5.0, 4.0, 7.0], [1.0, 6.0, 7.0]]], [[[3.0, 4.0, 4.0], [8.0, 5.0, 8.0], [1.0, 3.0, 6.0]], [[4.0, 6.0, 4.0], [8.0, 5.0, 8.0], [6.0, 7.0, 1.0]], [[7.0, 2.0, 2.0], [6.0, 8.0, 3.0], [3.0, 7.0, 8.0]]]]),self.functionspace)
10441          val=Data(numarray.array([[[[7.0], [3.0]]], [[[3.0], [5.0]]], [[[2.0], [6.0]]]]),self.functionspace)
10442          arg[:3,1:2,:2,2:]=val
10443          ref=Data(numarray.array([[[[5.0, 2.0, 8.0], [3.0, 3.0, 2.0], [8.0, 1.0, 8.0]], [[6.0, 5.0, 7.0], [4.0, 8.0, 3.0], [7.0, 7.0, 3.0]], [[1.0, 7.0, 6.0], [2.0, 2.0, 4.0], [5.0, 7.0, 6.0]]], [[[3.0, 7.0, 7.0], [4.0, 1.0, 8.0], [5.0, 6.0, 1.0]], [[6.0, 5.0, 3.0], [7.0, 7.0, 5.0], [6.0, 5.0, 5.0]], [[2.0, 5.0, 7.0], [1.0, 2.0, 1.0], [3.0, 3.0, 7.0]]], [[[1.0, 4.0, 3.0], [6.0, 5.0, 7.0], [8.0, 1.0, 5.0]], [[6.0, 5.0, 2.0], [2.0, 7.0, 6.0], [5.0, 2.0, 4.0]], [[5.0, 3.0, 8.0], [5.0, 4.0, 7.0], [1.0, 6.0, 7.0]]], [[[3.0, 4.0, 4.0], [8.0, 5.0, 8.0], [1.0, 3.0, 6.0]], [[4.0, 6.0, 4.0], [8.0, 5.0, 8.0], [6.0, 7.0, 1.0]], [[7.0, 2.0, 2.0], [6.0, 8.0, 3.0], [3.0, 7.0, 8.0]]]]),self.functionspace)
10444          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10445       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10446       def test_setslice_constData_rank4_expandedData_URUL(self):
10447          arg=Data(numarray.array([[[[1.0, 5.0, 4.0], [1.0, 4.0, 5.0], [1.0, 3.0, 1.0]], [[1.0, 6.0, 8.0], [8.0, 4.0, 1.0], [7.0, 3.0, 4.0]], [[7.0, 6.0, 3.0], [2.0, 2.0, 1.0], [1.0, 7.0, 4.0]]], [[[1.0, 5.0, 5.0], [6.0, 4.0, 3.0], [7.0, 6.0, 5.0]], [[5.0, 6.0, 2.0], [3.0, 3.0, 3.0], [2.0, 3.0, 2.0]], [[3.0, 7.0, 6.0], [7.0, 5.0, 1.0], [1.0, 3.0, 6.0]]], [[[6.0, 8.0, 2.0], [5.0, 8.0, 5.0], [2.0, 4.0, 2.0]], [[7.0, 2.0, 5.0], [1.0, 5.0, 8.0], [6.0, 7.0, 4.0]], [[8.0, 4.0, 1.0], [6.0, 1.0, 7.0], [4.0, 1.0, 1.0]]], [[[7.0, 4.0, 1.0], [3.0, 8.0, 8.0], [3.0, 3.0, 2.0]], [[3.0, 5.0, 1.0], [4.0, 3.0, 6.0], [4.0, 7.0, 4.0]], [[6.0, 7.0, 7.0], [5.0, 7.0, 6.0], [3.0, 5.0, 7.0]]]]),self.functionspace)
10448          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10449          val=msk_val*numarray.array([[[[7.0], [6.0]]], [[[1.0], [8.0]]], [[[8.0], [1.0]]]])+(1.-msk_val)*numarray.array([[[[6.0], [3.0]]], [[[4.0], [6.0]]], [[[4.0], [7.0]]]])
10450          arg[:3,1:2,:2,2:]=val
10451          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10452          ref=msk_ref*numarray.array([[[[1.0, 5.0, 4.0], [1.0, 4.0, 5.0], [1.0, 3.0, 1.0]], [[1.0, 6.0, 7.0], [8.0, 4.0, 6.0], [7.0, 3.0, 4.0]], [[7.0, 6.0, 3.0], [2.0, 2.0, 1.0], [1.0, 7.0, 4.0]]], [[[1.0, 5.0, 5.0], [6.0, 4.0, 3.0], [7.0, 6.0, 5.0]], [[5.0, 6.0, 1.0], [3.0, 3.0, 8.0], [2.0, 3.0, 2.0]], [[3.0, 7.0, 6.0], [7.0, 5.0, 1.0], [1.0, 3.0, 6.0]]], [[[6.0, 8.0, 2.0], [5.0, 8.0, 5.0], [2.0, 4.0, 2.0]], [[7.0, 2.0, 8.0], [1.0, 5.0, 1.0], [6.0, 7.0, 4.0]], [[8.0, 4.0, 1.0], [6.0, 1.0, 7.0], [4.0, 1.0, 1.0]]], [[[7.0, 4.0, 1.0], [3.0, 8.0, 8.0], [3.0, 3.0, 2.0]], [[3.0, 5.0, 1.0], [4.0, 3.0, 6.0], [4.0, 7.0, 4.0]], [[6.0, 7.0, 7.0], [5.0, 7.0, 6.0], [3.0, 5.0, 7.0]]]])+(1.-msk_ref)*numarray.array([[[[1.0, 5.0, 4.0], [1.0, 4.0, 5.0], [1.0, 3.0, 1.0]], [[1.0, 6.0, 6.0], [8.0, 4.0, 3.0], [7.0, 3.0, 4.0]], [[7.0, 6.0, 3.0], [2.0, 2.0, 1.0], [1.0, 7.0, 4.0]]], [[[1.0, 5.0, 5.0], [6.0, 4.0, 3.0], [7.0, 6.0, 5.0]], [[5.0, 6.0, 4.0], [3.0, 3.0, 6.0], [2.0, 3.0, 2.0]], [[3.0, 7.0, 6.0], [7.0, 5.0, 1.0], [1.0, 3.0, 6.0]]], [[[6.0, 8.0, 2.0], [5.0, 8.0, 5.0], [2.0, 4.0, 2.0]], [[7.0, 2.0, 4.0], [1.0, 5.0, 7.0], [6.0, 7.0, 4.0]], [[8.0, 4.0, 1.0], [6.0, 1.0, 7.0], [4.0, 1.0, 1.0]]], [[[7.0, 4.0, 1.0], [3.0, 8.0, 8.0], [3.0, 3.0, 2.0]], [[3.0, 5.0, 1.0], [4.0, 3.0, 6.0], [4.0, 7.0, 4.0]], [[6.0, 7.0, 7.0], [5.0, 7.0, 6.0], [3.0, 5.0, 7.0]]]])
10453          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10454       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10455       def test_setslice_constData_rank4_array_RPRP(self):
10456          arg=Data(numarray.array([[[[5.0, 4.0, 8.0], [2.0, 8.0, 4.0], [3.0, 4.0, 7.0]], [[3.0, 4.0, 5.0], [8.0, 7.0, 8.0], [3.0, 7.0, 3.0]], [[2.0, 2.0, 2.0], [4.0, 4.0, 4.0], [3.0, 7.0, 8.0]]], [[[6.0, 8.0, 3.0], [8.0, 1.0, 6.0], [1.0, 2.0, 4.0]], [[7.0, 8.0, 7.0], [7.0, 7.0, 5.0], [7.0, 7.0, 2.0]], [[3.0, 3.0, 2.0], [5.0, 6.0, 1.0], [4.0, 5.0, 4.0]]], [[[3.0, 1.0, 1.0], [2.0, 6.0, 8.0], [2.0, 4.0, 5.0]], [[7.0, 5.0, 2.0], [5.0, 6.0, 8.0], [2.0, 6.0, 7.0]], [[1.0, 8.0, 7.0], [6.0, 3.0, 3.0], [2.0, 2.0, 3.0]]], [[[5.0, 4.0, 2.0], [3.0, 8.0, 3.0], [1.0, 1.0, 3.0]], [[1.0, 8.0, 3.0], [4.0, 7.0, 2.0], [6.0, 4.0, 4.0]], [[3.0, 4.0, 6.0], [8.0, 4.0, 5.0], [6.0, 6.0, 7.0]]]]),self.functionspace)
10457          val=numarray.array([[6.0], [1.0]])
10458          arg[1:3,1,1:2,1]=val
10459          ref=Data(numarray.array([[[[5.0, 4.0, 8.0], [2.0, 8.0, 4.0], [3.0, 4.0, 7.0]], [[3.0, 4.0, 5.0], [8.0, 7.0, 8.0], [3.0, 7.0, 3.0]], [[2.0, 2.0, 2.0], [4.0, 4.0, 4.0], [3.0, 7.0, 8.0]]], [[[6.0, 8.0, 3.0], [8.0, 1.0, 6.0], [1.0, 2.0, 4.0]], [[7.0, 8.0, 7.0], [7.0, 6.0, 5.0], [7.0, 7.0, 2.0]], [[3.0, 3.0, 2.0], [5.0, 6.0, 1.0], [4.0, 5.0, 4.0]]], [[[3.0, 1.0, 1.0], [2.0, 6.0, 8.0], [2.0, 4.0, 5.0]], [[7.0, 5.0, 2.0], [5.0, 1.0, 8.0], [2.0, 6.0, 7.0]], [[1.0, 8.0, 7.0], [6.0, 3.0, 3.0], [2.0, 2.0, 3.0]]], [[[5.0, 4.0, 2.0], [3.0, 8.0, 3.0], [1.0, 1.0, 3.0]], [[1.0, 8.0, 3.0], [4.0, 7.0, 2.0], [6.0, 4.0, 4.0]], [[3.0, 4.0, 6.0], [8.0, 4.0, 5.0], [6.0, 6.0, 7.0]]]]),self.functionspace)
10460          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10461       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10462       def test_setslice_constData_rank4_constData_RPRP(self):
10463          arg=Data(numarray.array([[[[6.0, 4.0, 3.0], [3.0, 6.0, 4.0], [4.0, 5.0, 5.0]], [[7.0, 8.0, 5.0], [3.0, 5.0, 2.0], [2.0, 4.0, 6.0]], [[2.0, 3.0, 7.0], [6.0, 4.0, 7.0], [5.0, 3.0, 1.0]]], [[[6.0, 7.0, 6.0], [4.0, 4.0, 4.0], [2.0, 6.0, 5.0]], [[1.0, 7.0, 3.0], [5.0, 4.0, 1.0], [4.0, 4.0, 7.0]], [[3.0, 7.0, 5.0], [6.0, 2.0, 7.0], [7.0, 6.0, 6.0]]], [[[5.0, 8.0, 2.0], [2.0, 7.0, 8.0], [1.0, 8.0, 5.0]], [[7.0, 6.0, 8.0], [3.0, 6.0, 6.0], [8.0, 3.0, 5.0]], [[3.0, 1.0, 8.0], [1.0, 2.0, 2.0], [2.0, 4.0, 3.0]]], [[[3.0, 3.0, 2.0], [2.0, 1.0, 7.0], [7.0, 3.0, 7.0]], [[4.0, 1.0, 5.0], [5.0, 7.0, 3.0], [4.0, 5.0, 4.0]], [[6.0, 4.0, 6.0], [5.0, 2.0, 4.0], [4.0, 6.0, 1.0]]]]),self.functionspace)
10464          val=Data(numarray.array([[2.0], [1.0]]),self.functionspace)
10465          arg[1:3,1,1:2,1]=val
10466          ref=Data(numarray.array([[[[6.0, 4.0, 3.0], [3.0, 6.0, 4.0], [4.0, 5.0, 5.0]], [[7.0, 8.0, 5.0], [3.0, 5.0, 2.0], [2.0, 4.0, 6.0]], [[2.0, 3.0, 7.0], [6.0, 4.0, 7.0], [5.0, 3.0, 1.0]]], [[[6.0, 7.0, 6.0], [4.0, 4.0, 4.0], [2.0, 6.0, 5.0]], [[1.0, 7.0, 3.0], [5.0, 2.0, 1.0], [4.0, 4.0, 7.0]], [[3.0, 7.0, 5.0], [6.0, 2.0, 7.0], [7.0, 6.0, 6.0]]], [[[5.0, 8.0, 2.0], [2.0, 7.0, 8.0], [1.0, 8.0, 5.0]], [[7.0, 6.0, 8.0], [3.0, 1.0, 6.0], [8.0, 3.0, 5.0]], [[3.0, 1.0, 8.0], [1.0, 2.0, 2.0], [2.0, 4.0, 3.0]]], [[[3.0, 3.0, 2.0], [2.0, 1.0, 7.0], [7.0, 3.0, 7.0]], [[4.0, 1.0, 5.0], [5.0, 7.0, 3.0], [4.0, 5.0, 4.0]], [[6.0, 4.0, 6.0], [5.0, 2.0, 4.0], [4.0, 6.0, 1.0]]]]),self.functionspace)
10467          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10468       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10469       def test_setslice_constData_rank4_expandedData_RPRP(self):
10470          arg=Data(numarray.array([[[[8.0, 4.0, 2.0], [6.0, 2.0, 5.0], [7.0, 2.0, 7.0]], [[5.0, 1.0, 6.0], [5.0, 2.0, 7.0], [4.0, 3.0, 5.0]], [[1.0, 7.0, 4.0], [5.0, 8.0, 3.0], [5.0, 6.0, 3.0]]], [[[5.0, 1.0, 3.0], [6.0, 4.0, 3.0], [1.0, 3.0, 3.0]], [[7.0, 6.0, 1.0], [2.0, 2.0, 1.0], [1.0, 3.0, 7.0]], [[6.0, 6.0, 6.0], [6.0, 2.0, 8.0], [2.0, 8.0, 1.0]]], [[[2.0, 7.0, 8.0], [5.0, 4.0, 3.0], [4.0, 5.0, 7.0]], [[2.0, 4.0, 2.0], [7.0, 7.0, 3.0], [2.0, 8.0, 3.0]], [[4.0, 1.0, 5.0], [5.0, 1.0, 8.0], [8.0, 7.0, 7.0]]], [[[3.0, 7.0, 6.0], [6.0, 1.0, 2.0], [2.0, 2.0, 5.0]], [[5.0, 3.0, 6.0], [1.0, 4.0, 8.0], [6.0, 3.0, 4.0]], [[8.0, 8.0, 5.0], [1.0, 8.0, 8.0], [1.0, 6.0, 5.0]]]]),self.functionspace)
10471          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10472          val=msk_val*numarray.array([[2.0], [6.0]])+(1.-msk_val)*numarray.array([[2.0], [1.0]])
10473          arg[1:3,1,1:2,1]=val
10474          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10475          ref=msk_ref*numarray.array([[[[8.0, 4.0, 2.0], [6.0, 2.0, 5.0], [7.0, 2.0, 7.0]], [[5.0, 1.0, 6.0], [5.0, 2.0, 7.0], [4.0, 3.0, 5.0]], [[1.0, 7.0, 4.0], [5.0, 8.0, 3.0], [5.0, 6.0, 3.0]]], [[[5.0, 1.0, 3.0], [6.0, 4.0, 3.0], [1.0, 3.0, 3.0]], [[7.0, 6.0, 1.0], [2.0, 2.0, 1.0], [1.0, 3.0, 7.0]], [[6.0, 6.0, 6.0], [6.0, 2.0, 8.0], [2.0, 8.0, 1.0]]], [[[2.0, 7.0, 8.0], [5.0, 4.0, 3.0], [4.0, 5.0, 7.0]], [[2.0, 4.0, 2.0], [7.0, 6.0, 3.0], [2.0, 8.0, 3.0]], [[4.0, 1.0, 5.0], [5.0, 1.0, 8.0], [8.0, 7.0, 7.0]]], [[[3.0, 7.0, 6.0], [6.0, 1.0, 2.0], [2.0, 2.0, 5.0]], [[5.0, 3.0, 6.0], [1.0, 4.0, 8.0], [6.0, 3.0, 4.0]], [[8.0, 8.0, 5.0], [1.0, 8.0, 8.0], [1.0, 6.0, 5.0]]]])+(1.-msk_ref)*numarray.array([[[[8.0, 4.0, 2.0], [6.0, 2.0, 5.0], [7.0, 2.0, 7.0]], [[5.0, 1.0, 6.0], [5.0, 2.0, 7.0], [4.0, 3.0, 5.0]], [[1.0, 7.0, 4.0], [5.0, 8.0, 3.0], [5.0, 6.0, 3.0]]], [[[5.0, 1.0, 3.0], [6.0, 4.0, 3.0], [1.0, 3.0, 3.0]], [[7.0, 6.0, 1.0], [2.0, 2.0, 1.0], [1.0, 3.0, 7.0]], [[6.0, 6.0, 6.0], [6.0, 2.0, 8.0], [2.0, 8.0, 1.0]]], [[[2.0, 7.0, 8.0], [5.0, 4.0, 3.0], [4.0, 5.0, 7.0]], [[2.0, 4.0, 2.0], [7.0, 1.0, 3.0], [2.0, 8.0, 3.0]], [[4.0, 1.0, 5.0], [5.0, 1.0, 8.0], [8.0, 7.0, 7.0]]], [[[3.0, 7.0, 6.0], [6.0, 1.0, 2.0], [2.0, 2.0, 5.0]], [[5.0, 3.0, 6.0], [1.0, 4.0, 8.0], [6.0, 3.0, 4.0]], [[8.0, 8.0, 5.0], [1.0, 8.0, 8.0], [1.0, 6.0, 5.0]]]])
10476          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10477       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10478       def test_setslice_constData_rank4_array_UULN(self):
10479          arg=Data(numarray.array([[[[5.0, 5.0, 3.0], [6.0, 4.0, 3.0], [5.0, 6.0, 7.0]], [[1.0, 8.0, 4.0], [8.0, 6.0, 3.0], [7.0, 6.0, 5.0]], [[2.0, 1.0, 5.0], [2.0, 4.0, 4.0], [5.0, 8.0, 8.0]]], [[[3.0, 6.0, 2.0], [4.0, 7.0, 3.0], [6.0, 7.0, 5.0]], [[5.0, 5.0, 6.0], [4.0, 7.0, 7.0], [3.0, 6.0, 1.0]], [[8.0, 6.0, 5.0], [6.0, 4.0, 5.0], [5.0, 5.0, 5.0]]], [[[1.0, 3.0, 3.0], [6.0, 6.0, 3.0], [1.0, 3.0, 5.0]], [[6.0, 1.0, 3.0], [7.0, 3.0, 7.0], [8.0, 4.0, 1.0]], [[3.0, 3.0, 3.0], [3.0, 3.0, 7.0], [3.0, 4.0, 7.0]]], [[[3.0, 6.0, 8.0], [8.0, 1.0, 8.0], [6.0, 8.0, 4.0]], [[1.0, 6.0, 7.0], [5.0, 3.0, 6.0], [2.0, 2.0, 1.0]], [[3.0, 8.0, 4.0], [4.0, 5.0, 6.0], [7.0, 2.0, 1.0]]]]),self.functionspace)
10480          val=numarray.array([[[[3.0, 2.0, 4.0]], [[1.0, 5.0, 4.0]]], [[[6.0, 7.0, 6.0]], [[2.0, 5.0, 8.0]]], [[[2.0, 6.0, 5.0]], [[6.0, 4.0, 4.0]]]])
10481          arg[:3,:2,2:]=val
10482          ref=Data(numarray.array([[[[5.0, 5.0, 3.0], [6.0, 4.0, 3.0], [3.0, 2.0, 4.0]], [[1.0, 8.0, 4.0], [8.0, 6.0, 3.0], [1.0, 5.0, 4.0]], [[2.0, 1.0, 5.0], [2.0, 4.0, 4.0], [5.0, 8.0, 8.0]]], [[[3.0, 6.0, 2.0], [4.0, 7.0, 3.0], [6.0, 7.0, 6.0]], [[5.0, 5.0, 6.0], [4.0, 7.0, 7.0], [2.0, 5.0, 8.0]], [[8.0, 6.0, 5.0], [6.0, 4.0, 5.0], [5.0, 5.0, 5.0]]], [[[1.0, 3.0, 3.0], [6.0, 6.0, 3.0], [2.0, 6.0, 5.0]], [[6.0, 1.0, 3.0], [7.0, 3.0, 7.0], [6.0, 4.0, 4.0]], [[3.0, 3.0, 3.0], [3.0, 3.0, 7.0], [3.0, 4.0, 7.0]]], [[[3.0, 6.0, 8.0], [8.0, 1.0, 8.0], [6.0, 8.0, 4.0]], [[1.0, 6.0, 7.0], [5.0, 3.0, 6.0], [2.0, 2.0, 1.0]], [[3.0, 8.0, 4.0], [4.0, 5.0, 6.0], [7.0, 2.0, 1.0]]]]),self.functionspace)
10483          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10484       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10485       def test_setslice_constData_rank4_constData_UULN(self):
10486          arg=Data(numarray.array([[[[7.0, 6.0, 7.0], [7.0, 8.0, 3.0], [2.0, 6.0, 2.0]], [[1.0, 8.0, 2.0], [8.0, 3.0, 6.0], [1.0, 2.0, 1.0]], [[6.0, 8.0, 8.0], [5.0, 8.0, 8.0], [3.0, 8.0, 3.0]]], [[[4.0, 7.0, 2.0], [3.0, 2.0, 1.0], [4.0, 5.0, 8.0]], [[3.0, 1.0, 3.0], [3.0, 5.0, 5.0], [5.0, 6.0, 5.0]], [[6.0, 1.0, 7.0], [7.0, 1.0, 5.0], [3.0, 4.0, 3.0]]], [[[3.0, 1.0, 8.0], [2.0, 5.0, 8.0], [7.0, 5.0, 3.0]], [[8.0, 2.0, 3.0], [5.0, 6.0, 6.0], [5.0, 5.0, 7.0]], [[3.0, 1.0, 2.0], [1.0, 5.0, 5.0], [7.0, 2.0, 3.0]]], [[[2.0, 5.0, 5.0], [5.0, 2.0, 4.0], [8.0, 7.0, 6.0]], [[7.0, 8.0, 8.0], [3.0, 4.0, 6.0], [5.0, 6.0, 6.0]], [[3.0, 5.0, 5.0], [6.0, 6.0, 5.0], [2.0, 3.0, 7.0]]]]),self.functionspace)
10487          val=Data(numarray.array([[[[6.0, 2.0, 5.0]], [[1.0, 3.0, 2.0]]], [[[1.0, 4.0, 4.0]], [[4.0, 3.0, 2.0]]], [[[4.0, 4.0, 8.0]], [[5.0, 6.0, 1.0]]]]),self.functionspace)
10488          arg[:3,:2,2:]=val
10489          ref=Data(numarray.array([[[[7.0, 6.0, 7.0], [7.0, 8.0, 3.0], [6.0, 2.0, 5.0]], [[1.0, 8.0, 2.0], [8.0, 3.0, 6.0], [1.0, 3.0, 2.0]], [[6.0, 8.0, 8.0], [5.0, 8.0, 8.0], [3.0, 8.0, 3.0]]], [[[4.0, 7.0, 2.0], [3.0, 2.0, 1.0], [1.0, 4.0, 4.0]], [[3.0, 1.0, 3.0], [3.0, 5.0, 5.0], [4.0, 3.0, 2.0]], [[6.0, 1.0, 7.0], [7.0, 1.0, 5.0], [3.0, 4.0, 3.0]]], [[[3.0, 1.0, 8.0], [2.0, 5.0, 8.0], [4.0, 4.0, 8.0]], [[8.0, 2.0, 3.0], [5.0, 6.0, 6.0], [5.0, 6.0, 1.0]], [[3.0, 1.0, 2.0], [1.0, 5.0, 5.0], [7.0, 2.0, 3.0]]], [[[2.0, 5.0, 5.0], [5.0, 2.0, 4.0], [8.0, 7.0, 6.0]], [[7.0, 8.0, 8.0], [3.0, 4.0, 6.0], [5.0, 6.0, 6.0]], [[3.0, 5.0, 5.0], [6.0, 6.0, 5.0], [2.0, 3.0, 7.0]]]]),self.functionspace)
10490          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10491       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10492       def test_setslice_constData_rank4_expandedData_UULN(self):
10493          arg=Data(numarray.array([[[[7.0, 7.0, 4.0], [2.0, 2.0, 7.0], [7.0, 4.0, 8.0]], [[2.0, 8.0, 7.0], [3.0, 7.0, 8.0], [6.0, 5.0, 6.0]], [[4.0, 3.0, 3.0], [7.0, 2.0, 8.0], [8.0, 8.0, 2.0]]], [[[1.0, 5.0, 8.0], [2.0, 6.0, 8.0], [2.0, 1.0, 1.0]], [[8.0, 8.0, 8.0], [4.0, 8.0, 5.0], [1.0, 4.0, 3.0]], [[4.0, 7.0, 4.0], [7.0, 7.0, 6.0], [1.0, 7.0, 1.0]]], [[[7.0, 8.0, 1.0], [1.0, 6.0, 6.0], [1.0, 6.0, 1.0]], [[3.0, 3.0, 8.0], [3.0, 2.0, 7.0], [6.0, 2.0, 6.0]], [[3.0, 8.0, 3.0], [6.0, 4.0, 1.0], [7.0, 3.0, 1.0]]], [[[3.0, 2.0, 7.0], [1.0, 1.0, 8.0], [1.0, 2.0, 7.0]], [[8.0, 7.0, 6.0], [5.0, 4.0, 4.0], [8.0, 4.0, 2.0]], [[4.0, 3.0, 1.0], [2.0, 7.0, 1.0], [2.0, 1.0, 4.0]]]]),self.functionspace)
10494          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10495          val=msk_val*numarray.array([[[[2.0, 8.0, 5.0]], [[5.0, 3.0, 3.0]]], [[[3.0, 6.0, 5.0]], [[6.0, 7.0, 2.0]]], [[[4.0, 7.0, 1.0]], [[7.0, 1.0, 2.0]]]])+(1.-msk_val)*numarray.array([[[[5.0, 6.0, 2.0]], [[4.0, 8.0, 2.0]]], [[[3.0, 1.0, 2.0]], [[8.0, 7.0, 4.0]]], [[[2.0, 8.0, 2.0]], [[8.0, 5.0, 4.0]]]])
10496          arg[:3,:2,2:]=val
10497          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10498          ref=msk_ref*numarray.array([[[[7.0, 7.0, 4.0], [2.0, 2.0, 7.0], [2.0, 8.0, 5.0]], [[2.0, 8.0, 7.0], [3.0, 7.0, 8.0], [5.0, 3.0, 3.0]], [[4.0, 3.0, 3.0], [7.0, 2.0, 8.0], [8.0, 8.0, 2.0]]], [[[1.0, 5.0, 8.0], [2.0, 6.0, 8.0], [3.0, 6.0, 5.0]], [[8.0, 8.0, 8.0], [4.0, 8.0, 5.0], [6.0, 7.0, 2.0]], [[4.0, 7.0, 4.0], [7.0, 7.0, 6.0], [1.0, 7.0, 1.0]]], [[[7.0, 8.0, 1.0], [1.0, 6.0, 6.0], [4.0, 7.0, 1.0]], [[3.0, 3.0, 8.0], [3.0, 2.0, 7.0], [7.0, 1.0, 2.0]], [[3.0, 8.0, 3.0], [6.0, 4.0, 1.0], [7.0, 3.0, 1.0]]], [[[3.0, 2.0, 7.0], [1.0, 1.0, 8.0], [1.0, 2.0, 7.0]], [[8.0, 7.0, 6.0], [5.0, 4.0, 4.0], [8.0, 4.0, 2.0]], [[4.0, 3.0, 1.0], [2.0, 7.0, 1.0], [2.0, 1.0, 4.0]]]])+(1.-msk_ref)*numarray.array([[[[7.0, 7.0, 4.0], [2.0, 2.0, 7.0], [5.0, 6.0, 2.0]], [[2.0, 8.0, 7.0], [3.0, 7.0, 8.0], [4.0, 8.0, 2.0]], [[4.0, 3.0, 3.0], [7.0, 2.0, 8.0], [8.0, 8.0, 2.0]]], [[[1.0, 5.0, 8.0], [2.0, 6.0, 8.0], [3.0, 1.0, 2.0]], [[8.0, 8.0, 8.0], [4.0, 8.0, 5.0], [8.0, 7.0, 4.0]], [[4.0, 7.0, 4.0], [7.0, 7.0, 6.0], [1.0, 7.0, 1.0]]], [[[7.0, 8.0, 1.0], [1.0, 6.0, 6.0], [2.0, 8.0, 2.0]], [[3.0, 3.0, 8.0], [3.0, 2.0, 7.0], [8.0, 5.0, 4.0]], [[3.0, 8.0, 3.0], [6.0, 4.0, 1.0], [7.0, 3.0, 1.0]]], [[[3.0, 2.0, 7.0], [1.0, 1.0, 8.0], [1.0, 2.0, 7.0]], [[8.0, 7.0, 6.0], [5.0, 4.0, 4.0], [8.0, 4.0, 2.0]], [[4.0, 3.0, 1.0], [2.0, 7.0, 1.0], [2.0, 1.0, 4.0]]]])
10499          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10500       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10501       def test_setslice_constData_rank4_array_UCRN(self):
10502          arg=Data(numarray.array([[[[5.0, 5.0, 3.0], [6.0, 8.0, 5.0], [3.0, 8.0, 5.0]], [[1.0, 1.0, 5.0], [8.0, 4.0, 5.0], [2.0, 2.0, 4.0]], [[2.0, 3.0, 5.0], [5.0, 4.0, 6.0], [7.0, 1.0, 7.0]]], [[[5.0, 8.0, 7.0], [5.0, 1.0, 2.0], [7.0, 7.0, 4.0]], [[6.0, 2.0, 1.0], [3.0, 2.0, 1.0], [7.0, 5.0, 3.0]], [[8.0, 8.0, 3.0], [8.0, 5.0, 5.0], [8.0, 8.0, 1.0]]], [[[6.0, 7.0, 4.0], [5.0, 4.0, 5.0], [1.0, 5.0, 4.0]], [[4.0, 7.0, 6.0], [6.0, 3.0, 7.0], [6.0, 7.0, 4.0]], [[1.0, 8.0, 2.0], [7.0, 8.0, 4.0], [6.0, 7.0, 7.0]]], [[[2.0, 5.0, 8.0], [7.0, 6.0, 6.0], [5.0, 1.0, 8.0]], [[7.0, 5.0, 8.0], [8.0, 6.0, 7.0], [5.0, 3.0, 7.0]], [[7.0, 6.0, 6.0], [2.0, 5.0, 3.0], [7.0, 7.0, 5.0]]]]),self.functionspace)
10503          val=numarray.array([[[[8.0, 7.0, 5.0]], [[2.0, 4.0, 5.0]], [[4.0, 5.0, 6.0]]], [[[3.0, 3.0, 7.0]], [[8.0, 4.0, 6.0]], [[7.0, 4.0, 2.0]]], [[[5.0, 1.0, 3.0]], [[2.0, 3.0, 7.0]], [[7.0, 1.0, 5.0]]]])
10504          arg[:3,:,1:2]=val
10505          ref=Data(numarray.array([[[[5.0, 5.0, 3.0], [8.0, 7.0, 5.0], [3.0, 8.0, 5.0]], [[1.0, 1.0, 5.0], [2.0, 4.0, 5.0], [2.0, 2.0, 4.0]], [[2.0, 3.0, 5.0], [4.0, 5.0, 6.0], [7.0, 1.0, 7.0]]], [[[5.0, 8.0, 7.0], [3.0, 3.0, 7.0], [7.0, 7.0, 4.0]], [[6.0, 2.0, 1.0], [8.0, 4.0, 6.0], [7.0, 5.0, 3.0]], [[8.0, 8.0, 3.0], [7.0, 4.0, 2.0], [8.0, 8.0, 1.0]]], [[[6.0, 7.0, 4.0], [5.0, 1.0, 3.0], [1.0, 5.0, 4.0]], [[4.0, 7.0, 6.0], [2.0, 3.0, 7.0], [6.0, 7.0, 4.0]], [[1.0, 8.0, 2.0], [7.0, 1.0, 5.0], [6.0, 7.0, 7.0]]], [[[2.0, 5.0, 8.0], [7.0, 6.0, 6.0], [5.0, 1.0, 8.0]], [[7.0, 5.0, 8.0], [8.0, 6.0, 7.0], [5.0, 3.0, 7.0]], [[7.0, 6.0, 6.0], [2.0, 5.0, 3.0], [7.0, 7.0, 5.0]]]]),self.functionspace)
10506          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10507       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10508       def test_setslice_constData_rank4_constData_UCRN(self):
10509          arg=Data(numarray.array([[[[6.0, 2.0, 5.0], [1.0, 6.0, 1.0], [6.0, 5.0, 1.0]], [[8.0, 8.0, 6.0], [7.0, 7.0, 3.0], [7.0, 8.0, 1.0]], [[7.0, 1.0, 8.0], [5.0, 1.0, 2.0], [6.0, 5.0, 1.0]]], [[[6.0, 7.0, 2.0], [4.0, 7.0, 8.0], [1.0, 3.0, 5.0]], [[2.0, 4.0, 3.0], [5.0, 5.0, 7.0], [7.0, 3.0, 7.0]], [[8.0, 3.0, 1.0], [3.0, 2.0, 1.0], [8.0, 3.0, 5.0]]], [[[1.0, 1.0, 1.0], [7.0, 8.0, 2.0], [3.0, 7.0, 3.0]], [[8.0, 6.0, 7.0], [1.0, 3.0, 2.0], [4.0, 6.0, 4.0]], [[1.0, 7.0, 1.0], [1.0, 8.0, 4.0], [2.0, 7.0, 2.0]]], [[[8.0, 3.0, 6.0], [3.0, 8.0, 3.0], [7.0, 8.0, 4.0]], [[2.0, 5.0, 8.0], [2.0, 2.0, 7.0], [5.0, 8.0, 1.0]], [[6.0, 5.0, 7.0], [5.0, 3.0, 6.0], [4.0, 5.0, 5.0]]]]),self.functionspace)
10510          val=Data(numarray.array([[[[3.0, 1.0, 7.0]], [[8.0, 3.0, 8.0]], [[1.0, 1.0, 7.0]]], [[[6.0, 7.0, 4.0]], [[7.0, 8.0, 4.0]], [[5.0, 1.0, 3.0]]], [[[7.0, 7.0, 8.0]], [[8.0, 8.0, 2.0]], [[4.0, 2.0, 8.0]]]]),self.functionspace)
10511          arg[:3,:,1:2]=val
10512          ref=Data(numarray.array([[[[6.0, 2.0, 5.0], [3.0, 1.0, 7.0], [6.0, 5.0, 1.0]], [[8.0, 8.0, 6.0], [8.0, 3.0, 8.0], [7.0, 8.0, 1.0]], [[7.0, 1.0, 8.0], [1.0, 1.0, 7.0], [6.0, 5.0, 1.0]]], [[[6.0, 7.0, 2.0], [6.0, 7.0, 4.0], [1.0, 3.0, 5.0]], [[2.0, 4.0, 3.0], [7.0, 8.0, 4.0], [7.0, 3.0, 7.0]], [[8.0, 3.0, 1.0], [5.0, 1.0, 3.0], [8.0, 3.0, 5.0]]], [[[1.0, 1.0, 1.0], [7.0, 7.0, 8.0], [3.0, 7.0, 3.0]], [[8.0, 6.0, 7.0], [8.0, 8.0, 2.0], [4.0, 6.0, 4.0]], [[1.0, 7.0, 1.0], [4.0, 2.0, 8.0], [2.0, 7.0, 2.0]]], [[[8.0, 3.0, 6.0], [3.0, 8.0, 3.0], [7.0, 8.0, 4.0]], [[2.0, 5.0, 8.0], [2.0, 2.0, 7.0], [5.0, 8.0, 1.0]], [[6.0, 5.0, 7.0], [5.0, 3.0, 6.0], [4.0, 5.0, 5.0]]]]),self.functionspace)
10513          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10514       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10515       def test_setslice_constData_rank4_expandedData_UCRN(self):
10516          arg=Data(numarray.array([[[[4.0, 7.0, 8.0], [6.0, 6.0, 7.0], [6.0, 7.0, 6.0]], [[4.0, 7.0, 6.0], [7.0, 7.0, 7.0], [1.0, 2.0, 3.0]], [[4.0, 6.0, 7.0], [6.0, 1.0, 7.0], [5.0, 8.0, 7.0]]], [[[6.0, 3.0, 1.0], [5.0, 2.0, 2.0], [5.0, 4.0, 4.0]], [[1.0, 1.0, 5.0], [2.0, 6.0, 1.0], [8.0, 4.0, 8.0]], [[3.0, 2.0, 4.0], [5.0, 1.0, 1.0], [1.0, 5.0, 1.0]]], [[[1.0, 3.0, 7.0], [8.0, 6.0, 4.0], [7.0, 8.0, 2.0]], [[8.0, 1.0, 2.0], [5.0, 3.0, 4.0], [3.0, 3.0, 3.0]], [[2.0, 2.0, 8.0], [4.0, 8.0, 4.0], [1.0, 7.0, 2.0]]], [[[2.0, 4.0, 8.0], [1.0, 2.0, 2.0], [4.0, 8.0, 8.0]], [[5.0, 4.0, 5.0], [2.0, 6.0, 1.0], [7.0, 4.0, 8.0]], [[5.0, 8.0, 5.0], [4.0, 3.0, 2.0], [5.0, 6.0, 4.0]]]]),self.functionspace)
10517          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10518          val=msk_val*numarray.array([[[[7.0, 4.0, 6.0]], [[2.0, 5.0, 5.0]], [[7.0, 5.0, 3.0]]], [[[2.0, 1.0, 3.0]], [[2.0, 3.0, 2.0]], [[5.0, 8.0, 8.0]]], [[[5.0, 4.0, 4.0]], [[2.0, 2.0, 2.0]], [[8.0, 7.0, 5.0]]]])+(1.-msk_val)*numarray.array([[[[4.0, 4.0, 2.0]], [[2.0, 5.0, 5.0]], [[5.0, 6.0, 2.0]]], [[[6.0, 7.0, 2.0]], [[8.0, 7.0, 1.0]], [[2.0, 1.0, 1.0]]], [[[8.0, 2.0, 2.0]], [[1.0, 7.0, 2.0]], [[1.0, 4.0, 7.0]]]])
10519          arg[:3,:,1:2]=val
10520          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10521          ref=msk_ref*numarray.array([[[[4.0, 7.0, 8.0], [7.0, 4.0, 6.0], [6.0, 7.0, 6.0]], [[4.0, 7.0, 6.0], [2.0, 5.0, 5.0], [1.0, 2.0, 3.0]], [[4.0, 6.0, 7.0], [7.0, 5.0, 3.0], [5.0, 8.0, 7.0]]], [[[6.0, 3.0, 1.0], [2.0, 1.0, 3.0], [5.0, 4.0, 4.0]], [[1.0, 1.0, 5.0], [2.0, 3.0, 2.0], [8.0, 4.0, 8.0]], [[3.0, 2.0, 4.0], [5.0, 8.0, 8.0], [1.0, 5.0, 1.0]]], [[[1.0, 3.0, 7.0], [5.0, 4.0, 4.0], [7.0, 8.0, 2.0]], [[8.0, 1.0, 2.0], [2.0, 2.0, 2.0], [3.0, 3.0, 3.0]], [[2.0, 2.0, 8.0], [8.0, 7.0, 5.0], [1.0, 7.0, 2.0]]], [[[2.0, 4.0, 8.0], [1.0, 2.0, 2.0], [4.0, 8.0, 8.0]], [[5.0, 4.0, 5.0], [2.0, 6.0, 1.0], [7.0, 4.0, 8.0]], [[5.0, 8.0, 5.0], [4.0, 3.0, 2.0], [5.0, 6.0, 4.0]]]])+(1.-msk_ref)*numarray.array([[[[4.0, 7.0, 8.0], [4.0, 4.0, 2.0], [6.0, 7.0, 6.0]], [[4.0, 7.0, 6.0], [2.0, 5.0, 5.0], [1.0, 2.0, 3.0]], [[4.0, 6.0, 7.0], [5.0, 6.0, 2.0], [5.0, 8.0, 7.0]]], [[[6.0, 3.0, 1.0], [6.0, 7.0, 2.0], [5.0, 4.0, 4.0]], [[1.0, 1.0, 5.0], [8.0, 7.0, 1.0], [8.0, 4.0, 8.0]], [[3.0, 2.0, 4.0], [2.0, 1.0, 1.0], [1.0, 5.0, 1.0]]], [[[1.0, 3.0, 7.0], [8.0, 2.0, 2.0], [7.0, 8.0, 2.0]], [[8.0, 1.0, 2.0], [1.0, 7.0, 2.0], [3.0, 3.0, 3.0]], [[2.0, 2.0, 8.0], [1.0, 4.0, 7.0], [1.0, 7.0, 2.0]]], [[[2.0, 4.0, 8.0], [1.0, 2.0, 2.0], [4.0, 8.0, 8.0]], [[5.0, 4.0, 5.0], [2.0, 6.0, 1.0], [7.0, 4.0, 8.0]], [[5.0, 8.0, 5.0], [4.0, 3.0, 2.0], [5.0, 6.0, 4.0]]]])
10522          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10523       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10524       def test_setslice_constData_rank4_array_RUCU(self):
10525          arg=Data(numarray.array([[[[5.0, 8.0, 2.0], [1.0, 6.0, 5.0], [1.0, 5.0, 1.0]], [[1.0, 8.0, 8.0], [3.0, 1.0, 8.0], [6.0, 2.0, 3.0]], [[8.0, 1.0, 1.0], [4.0, 8.0, 4.0], [2.0, 4.0, 4.0]]], [[[8.0, 7.0, 6.0], [8.0, 7.0, 3.0], [6.0, 8.0, 6.0]], [[2.0, 8.0, 3.0], [3.0, 1.0, 1.0], [3.0, 2.0, 8.0]], [[1.0, 8.0, 5.0], [2.0, 6.0, 1.0], [4.0, 8.0, 3.0]]], [[[5.0, 6.0, 5.0], [7.0, 1.0, 1.0], [7.0, 8.0, 5.0]], [[8.0, 1.0, 5.0], [3.0, 4.0, 2.0], [8.0, 8.0, 3.0]], [[3.0, 6.0, 4.0], [7.0, 7.0, 7.0], [5.0, 5.0, 8.0]]], [[[2.0, 5.0, 4.0], [7.0, 4.0, 3.0], [2.0, 6.0, 6.0]], [[5.0, 2.0, 4.0], [1.0, 4.0, 8.0], [8.0, 8.0, 2.0]], [[5.0, 6.0, 8.0], [7.0, 7.0, 1.0], [7.0, 5.0, 7.0]]]]),self.functionspace)
10526          val=numarray.array([[[[5.0, 4.0], [6.0, 4.0], [4.0, 3.0]], [[2.0, 3.0], [1.0, 5.0], [3.0, 8.0]]], [[[7.0, 5.0], [1.0, 7.0], [6.0, 3.0]], [[6.0, 6.0], [1.0, 2.0], [2.0, 8.0]]]])
10527          arg[1:3,:2,:,:2]=val
10528          ref=Data(numarray.array([[[[5.0, 8.0, 2.0], [1.0, 6.0, 5.0], [1.0, 5.0, 1.0]], [[1.0, 8.0, 8.0], [3.0, 1.0, 8.0], [6.0, 2.0, 3.0]], [[8.0, 1.0, 1.0], [4.0, 8.0, 4.0], [2.0, 4.0, 4.0]]], [[[5.0, 4.0, 6.0], [6.0, 4.0, 3.0], [4.0, 3.0, 6.0]], [[2.0, 3.0, 3.0], [1.0, 5.0, 1.0], [3.0, 8.0, 8.0]], [[1.0, 8.0, 5.0], [2.0, 6.0, 1.0], [4.0, 8.0, 3.0]]], [[[7.0, 5.0, 5.0], [1.0, 7.0, 1.0], [6.0, 3.0, 5.0]], [[6.0, 6.0, 5.0], [1.0, 2.0, 2.0], [2.0, 8.0, 3.0]], [[3.0, 6.0, 4.0], [7.0, 7.0, 7.0], [5.0, 5.0, 8.0]]], [[[2.0, 5.0, 4.0], [7.0, 4.0, 3.0], [2.0, 6.0, 6.0]], [[5.0, 2.0, 4.0], [1.0, 4.0, 8.0], [8.0, 8.0, 2.0]], [[5.0, 6.0, 8.0], [7.0, 7.0, 1.0], [7.0, 5.0, 7.0]]]]),self.functionspace)
10529          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10530       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10531       def test_setslice_constData_rank4_constData_RUCU(self):
10532          arg=Data(numarray.array([[[[2.0, 5.0, 4.0], [7.0, 7.0, 4.0], [7.0, 2.0, 5.0]], [[8.0, 1.0, 5.0], [1.0, 7.0, 1.0], [1.0, 6.0, 7.0]], [[5.0, 4.0, 2.0], [7.0, 7.0, 3.0], [4.0, 8.0, 3.0]]], [[[1.0, 3.0, 1.0], [5.0, 4.0, 7.0], [2.0, 2.0, 7.0]], [[2.0, 4.0, 4.0], [5.0, 1.0, 8.0], [2.0, 4.0, 5.0]], [[6.0, 5.0, 8.0], [8.0, 8.0, 4.0], [2.0, 2.0, 6.0]]], [[[4.0, 1.0, 2.0], [5.0, 3.0, 2.0], [4.0, 6.0, 1.0]], [[3.0, 1.0, 4.0], [6.0, 4.0, 8.0], [8.0, 6.0, 6.0]], [[2.0, 4.0, 5.0], [6.0, 1.0, 7.0], [4.0, 8.0, 1.0]]], [[[6.0, 4.0, 6.0], [3.0, 1.0, 4.0], [2.0, 1.0, 3.0]], [[1.0, 1.0, 3.0], [1.0, 4.0, 1.0], [8.0, 2.0, 3.0]], [[2.0, 2.0, 5.0], [5.0, 4.0, 3.0], [1.0, 1.0, 6.0]]]]),self.functionspace)
10533          val=Data(numarray.array([[[[1.0, 7.0], [3.0, 3.0], [3.0, 6.0]], [[8.0, 4.0], [3.0, 8.0], [4.0, 5.0]]], [[[3.0, 5.0], [1.0, 1.0], [6.0, 4.0]], [[5.0, 8.0], [3.0, 8.0], [7.0, 7.0]]]]),self.functionspace)
10534          arg[1:3,:2,:,:2]=val
10535          ref=Data(numarray.array([[[[2.0, 5.0, 4.0], [7.0, 7.0, 4.0], [7.0, 2.0, 5.0]], [[8.0, 1.0, 5.0], [1.0, 7.0, 1.0], [1.0, 6.0, 7.0]], [[5.0, 4.0, 2.0], [7.0, 7.0, 3.0], [4.0, 8.0, 3.0]]], [[[1.0, 7.0, 1.0], [3.0, 3.0, 7.0], [3.0, 6.0, 7.0]], [[8.0, 4.0, 4.0], [3.0, 8.0, 8.0], [4.0, 5.0, 5.0]], [[6.0, 5.0, 8.0], [8.0, 8.0, 4.0], [2.0, 2.0, 6.0]]], [[[3.0, 5.0, 2.0], [1.0, 1.0, 2.0], [6.0, 4.0, 1.0]], [[5.0, 8.0, 4.0], [3.0, 8.0, 8.0], [7.0, 7.0, 6.0]], [[2.0, 4.0, 5.0], [6.0, 1.0, 7.0], [4.0, 8.0, 1.0]]], [[[6.0, 4.0, 6.0], [3.0, 1.0, 4.0], [2.0, 1.0, 3.0]], [[1.0, 1.0, 3.0], [1.0, 4.0, 1.0], [8.0, 2.0, 3.0]], [[2.0, 2.0, 5.0], [5.0, 4.0, 3.0], [1.0, 1.0, 6.0]]]]),self.functionspace)
10536          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10537       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10538       def test_setslice_constData_rank4_expandedData_RUCU(self):
10539          arg=Data(numarray.array([[[[3.0, 1.0, 7.0], [3.0, 1.0, 5.0], [3.0, 3.0, 2.0]], [[7.0, 3.0, 3.0], [3.0, 1.0, 4.0], [8.0, 6.0, 1.0]], [[4.0, 6.0, 1.0], [3.0, 3.0, 8.0], [7.0, 3.0, 1.0]]], [[[4.0, 4.0, 8.0], [5.0, 1.0, 4.0], [1.0, 6.0, 3.0]], [[2.0, 5.0, 1.0], [6.0, 2.0, 5.0], [2.0, 2.0, 4.0]], [[7.0, 2.0, 5.0], [6.0, 6.0, 6.0], [5.0, 3.0, 8.0]]], [[[2.0, 3.0, 4.0], [1.0, 3.0, 2.0], [2.0, 7.0, 8.0]], [[8.0, 5.0, 2.0], [2.0, 6.0, 1.0], [1.0, 3.0, 7.0]], [[8.0, 6.0, 7.0], [2.0, 4.0, 5.0], [2.0, 2.0, 5.0]]], [[[4.0, 5.0, 6.0], [3.0, 3.0, 5.0], [3.0, 3.0, 5.0]], [[5.0, 3.0, 4.0], [6.0, 6.0, 2.0], [2.0, 1.0, 8.0]], [[5.0, 5.0, 3.0], [8.0, 4.0, 5.0], [4.0, 7.0, 2.0]]]]),self.functionspace)
10540          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10541          val=msk_val*numarray.array([[[[8.0, 5.0], [3.0, 3.0], [6.0, 6.0]], [[3.0, 8.0], [7.0, 2.0], [5.0, 3.0]]], [[[8.0, 3.0], [5.0, 8.0], [5.0, 1.0]], [[8.0, 8.0], [4.0, 4.0], [1.0, 4.0]]]])+(1.-msk_val)*numarray.array([[[[7.0, 7.0], [4.0, 1.0], [8.0, 1.0]], [[4.0, 3.0], [6.0, 7.0], [7.0, 5.0]]], [[[2.0, 7.0], [2.0, 2.0], [6.0, 7.0]], [[6.0, 6.0], [7.0, 2.0], [2.0, 4.0]]]])
10542          arg[1:3,:2,:,:2]=val
10543          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10544          ref=msk_ref*numarray.array([[[[3.0, 1.0, 7.0], [3.0, 1.0, 5.0], [3.0, 3.0, 2.0]], [[7.0, 3.0, 3.0], [3.0, 1.0, 4.0], [8.0, 6.0, 1.0]], [[4.0, 6.0, 1.0], [3.0, 3.0, 8.0], [7.0, 3.0, 1.0]]], [[[8.0, 5.0, 8.0], [3.0, 3.0, 4.0], [6.0, 6.0, 3.0]], [[3.0, 8.0, 1.0], [7.0, 2.0, 5.0], [5.0, 3.0, 4.0]], [[7.0, 2.0, 5.0], [6.0, 6.0, 6.0], [5.0, 3.0, 8.0]]], [[[8.0, 3.0, 4.0], [5.0, 8.0, 2.0], [5.0, 1.0, 8.0]], [[8.0, 8.0, 2.0], [4.0, 4.0, 1.0], [1.0, 4.0, 7.0]], [[8.0, 6.0, 7.0], [2.0, 4.0, 5.0], [2.0, 2.0, 5.0]]], [[[4.0, 5.0, 6.0], [3.0, 3.0, 5.0], [3.0, 3.0, 5.0]], [[5.0, 3.0, 4.0], [6.0, 6.0, 2.0], [2.0, 1.0, 8.0]], [[5.0, 5.0, 3.0], [8.0, 4.0, 5.0], [4.0, 7.0, 2.0]]]])+(1.-msk_ref)*numarray.array([[[[3.0, 1.0, 7.0], [3.0, 1.0, 5.0], [3.0, 3.0, 2.0]], [[7.0, 3.0, 3.0], [3.0, 1.0, 4.0], [8.0, 6.0, 1.0]], [[4.0, 6.0, 1.0], [3.0, 3.0, 8.0], [7.0, 3.0, 1.0]]], [[[7.0, 7.0, 8.0], [4.0, 1.0, 4.0], [8.0, 1.0, 3.0]], [[4.0, 3.0, 1.0], [6.0, 7.0, 5.0], [7.0, 5.0, 4.0]], [[7.0, 2.0, 5.0], [6.0, 6.0, 6.0], [5.0, 3.0, 8.0]]], [[[2.0, 7.0, 4.0], [2.0, 2.0, 2.0], [6.0, 7.0, 8.0]], [[6.0, 6.0, 2.0], [7.0, 2.0, 1.0], [2.0, 4.0, 7.0]], [[8.0, 6.0, 7.0], [2.0, 4.0, 5.0], [2.0, 2.0, 5.0]]], [[[4.0, 5.0, 6.0], [3.0, 3.0, 5.0], [3.0, 3.0, 5.0]], [[5.0, 3.0, 4.0], [6.0, 6.0, 2.0], [2.0, 1.0, 8.0]], [[5.0, 5.0, 3.0], [8.0, 4.0, 5.0], [4.0, 7.0, 2.0]]]])
10545          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10546       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10547       def test_setslice_constData_rank4_array_PLUR(self):
10548          arg=Data(numarray.array([[[[7.0, 6.0, 3.0], [7.0, 4.0, 4.0], [5.0, 5.0, 6.0]], [[2.0, 7.0, 8.0], [4.0, 1.0, 2.0], [1.0, 4.0, 5.0]], [[8.0, 4.0, 1.0], [6.0, 5.0, 1.0], [4.0, 4.0, 5.0]]], [[[4.0, 7.0, 7.0], [5.0, 1.0, 8.0], [8.0, 5.0, 3.0]], [[4.0, 8.0, 4.0], [7.0, 4.0, 6.0], [4.0, 1.0, 4.0]], [[2.0, 8.0, 2.0], [6.0, 1.0, 2.0], [5.0, 7.0, 3.0]]], [[[5.0, 8.0, 4.0], [6.0, 8.0, 4.0], [6.0, 6.0, 5.0]], [[6.0, 7.0, 2.0], [8.0, 1.0, 1.0], [4.0, 5.0, 8.0]], [[4.0, 8.0, 6.0], [8.0, 4.0, 7.0], [4.0, 3.0, 6.0]]], [[[2.0, 5.0, 6.0], [1.0, 6.0, 2.0], [7.0, 3.0, 3.0]], [[1.0, 7.0, 7.0], [8.0, 1.0, 3.0], [1.0, 8.0, 8.0]], [[4.0, 7.0, 7.0], [8.0, 7.0, 1.0], [4.0, 2.0, 5.0]]]]),self.functionspace)
10549          val=numarray.array([[[8.0], [3.0]]])
10550          arg[2,2:,:2,1:2]=val
10551          ref=Data(numarray.array([[[[7.0, 6.0, 3.0], [7.0, 4.0, 4.0], [5.0, 5.0, 6.0]], [[2.0, 7.0, 8.0], [4.0, 1.0, 2.0], [1.0, 4.0, 5.0]], [[8.0, 4.0, 1.0], [6.0, 5.0, 1.0], [4.0, 4.0, 5.0]]], [[[4.0, 7.0, 7.0], [5.0, 1.0, 8.0], [8.0, 5.0, 3.0]], [[4.0, 8.0, 4.0], [7.0, 4.0, 6.0], [4.0, 1.0, 4.0]], [[2.0, 8.0, 2.0], [6.0, 1.0, 2.0], [5.0, 7.0, 3.0]]], [[[5.0, 8.0, 4.0], [6.0, 8.0, 4.0], [6.0, 6.0, 5.0]], [[6.0, 7.0, 2.0], [8.0, 1.0, 1.0], [4.0, 5.0, 8.0]], [[4.0, 8.0, 6.0], [8.0, 3.0, 7.0], [4.0, 3.0, 6.0]]], [[[2.0, 5.0, 6.0], [1.0, 6.0, 2.0], [7.0, 3.0, 3.0]], [[1.0, 7.0, 7.0], [8.0, 1.0, 3.0], [1.0, 8.0, 8.0]], [[4.0, 7.0, 7.0], [8.0, 7.0, 1.0], [4.0, 2.0, 5.0]]]]),self.functionspace)
10552          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10553       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10554       def test_setslice_constData_rank4_constData_PLUR(self):
10555          arg=Data(numarray.array([[[[8.0, 8.0, 4.0], [7.0, 3.0, 8.0], [2.0, 5.0, 4.0]], [[3.0, 7.0, 6.0], [4.0, 5.0, 1.0], [2.0, 2.0, 4.0]], [[2.0, 3.0, 7.0], [1.0, 6.0, 4.0], [1.0, 5.0, 8.0]]], [[[8.0, 4.0, 5.0], [6.0, 5.0, 1.0], [8.0, 8.0, 2.0]], [[5.0, 2.0, 1.0], [2.0, 7.0, 8.0], [1.0, 2.0, 5.0]], [[4.0, 3.0, 2.0], [8.0, 6.0, 5.0], [4.0, 7.0, 2.0]]], [[[7.0, 7.0, 1.0], [7.0, 2.0, 8.0], [2.0, 5.0, 6.0]], [[1.0, 1.0, 1.0], [1.0, 4.0, 6.0], [3.0, 6.0, 7.0]], [[8.0, 1.0, 3.0], [8.0, 1.0, 4.0], [1.0, 3.0, 1.0]]], [[[8.0, 3.0, 6.0], [5.0, 1.0, 4.0], [4.0, 3.0, 3.0]], [[4.0, 2.0, 2.0], [3.0, 8.0, 7.0], [1.0, 4.0, 8.0]], [[4.0, 2.0, 8.0], [6.0, 2.0, 7.0], [7.0, 2.0, 6.0]]]]),self.functionspace)
10556          val=Data(numarray.array([[[4.0], [1.0]]]),self.functionspace)
10557          arg[2,2:,:2,1:2]=val
10558          ref=Data(numarray.array([[[[8.0, 8.0, 4.0], [7.0, 3.0, 8.0], [2.0, 5.0, 4.0]], [[3.0, 7.0, 6.0], [4.0, 5.0, 1.0], [2.0, 2.0, 4.0]], [[2.0, 3.0, 7.0], [1.0, 6.0, 4.0], [1.0, 5.0, 8.0]]], [[[8.0, 4.0, 5.0], [6.0, 5.0, 1.0], [8.0, 8.0, 2.0]], [[5.0, 2.0, 1.0], [2.0, 7.0, 8.0], [1.0, 2.0, 5.0]], [[4.0, 3.0, 2.0], [8.0, 6.0, 5.0], [4.0, 7.0, 2.0]]], [[[7.0, 7.0, 1.0], [7.0, 2.0, 8.0], [2.0, 5.0, 6.0]], [[1.0, 1.0, 1.0], [1.0, 4.0, 6.0], [3.0, 6.0, 7.0]], [[8.0, 4.0, 3.0], [8.0, 1.0, 4.0], [1.0, 3.0, 1.0]]], [[[8.0, 3.0, 6.0], [5.0, 1.0, 4.0], [4.0, 3.0, 3.0]], [[4.0, 2.0, 2.0], [3.0, 8.0, 7.0], [1.0, 4.0, 8.0]], [[4.0, 2.0, 8.0], [6.0, 2.0, 7.0], [7.0, 2.0, 6.0]]]]),self.functionspace)
10559          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10560       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10561       def test_setslice_constData_rank4_expandedData_PLUR(self):
10562          arg=Data(numarray.array([[[[5.0, 1.0, 6.0], [8.0, 6.0, 1.0], [4.0, 3.0, 2.0]], [[5.0, 4.0, 8.0], [5.0, 4.0, 4.0], [6.0, 6.0, 7.0]], [[5.0, 8.0, 4.0], [8.0, 1.0, 6.0], [6.0, 4.0, 5.0]]], [[[7.0, 2.0, 4.0], [4.0, 2.0, 1.0], [7.0, 1.0, 4.0]], [[4.0, 8.0, 8.0], [2.0, 5.0, 6.0], [6.0, 5.0, 6.0]], [[7.0, 3.0, 2.0], [6.0, 3.0, 2.0], [1.0, 6.0, 3.0]]], [[[5.0, 7.0, 8.0], [4.0, 1.0, 7.0], [7.0, 1.0, 4.0]], [[2.0, 3.0, 8.0], [5.0, 4.0, 5.0], [7.0, 2.0, 8.0]], [[6.0, 2.0, 7.0], [4.0, 4.0, 7.0], [3.0, 6.0, 8.0]]], [[[7.0, 5.0, 5.0], [6.0, 5.0, 1.0], [7.0, 5.0, 5.0]], [[1.0, 4.0, 1.0], [5.0, 8.0, 6.0], [3.0, 4.0, 6.0]], [[6.0, 4.0, 4.0], [8.0, 3.0, 2.0], [7.0, 4.0, 7.0]]]]),self.functionspace)
10563          msk_val=whereNegative(self.functionspace.getX()[0]-0.5)
10564          val=msk_val*numarray.array([[[1.0], [5.0]]])+(1.-msk_val)*numarray.array([[[3.0], [3.0]]])
10565          arg[2,2:,:2,1:2]=val
10566          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
10567          ref=msk_ref*numarray.array([[[[5.0, 1.0, 6.0], [8.0, 6.0, 1.0], [4.0, 3.0, 2.0]], [[5.0, 4.0, 8.0], [5.0, 4.0, 4.0], [6.0, 6.0, 7.0]], [[5.0, 8.0, 4.0], [8.0, 1.0, 6.0], [6.0, 4.0, 5.0]]], [[[7.0, 2.0, 4.0], [4.0, 2.0, 1.0], [7.0, 1.0, 4.0]], [[4.0, 8.0, 8.0], [2.0, 5.0, 6.0], [6.0, 5.0, 6.0]], [[7.0, 3.0, 2.0], [6.0, 3.0, 2.0], [1.0, 6.0, 3.0]]], [[[5.0, 7.0, 8.0], [4.0, 1.0, 7.0], [7.0, 1.0, 4.0]], [[2.0, 3.0, 8.0], [5.0, 4.0, 5.0], [7.0, 2.0, 8.0]], [[6.0, 1.0, 7.0], [4.0, 5.0, 7.0], [3.0, 6.0, 8.0]]], [[[7.0, 5.0, 5.0], [6.0, 5.0, 1.0], [7.0, 5.0, 5.0]], [[1.0, 4.0, 1.0], [5.0, 8.0, 6.0], [3.0, 4.0, 6.0]], [[6.0, 4.0, 4.0], [8.0, 3.0, 2.0], [7.0, 4.0, 7.0]]]])+(1.-msk_ref)*numarray.array([[[[5.0, 1.0, 6.0], [8.0, 6.0, 1.0], [4.0, 3.0, 2.0]], [[5.0, 4.0, 8.0], [5.0, 4.0, 4.0], [6.0, 6.0, 7.0]], [[5.0, 8.0, 4.0], [8.0, 1.0, 6.0], [6.0, 4.0, 5.0]]], [[[7.0, 2.0, 4.0], [4.0, 2.0, 1.0], [7.0, 1.0, 4.0]], [[4.0, 8.0, 8.0], [2.0, 5.0, 6.0], [6.0, 5.0, 6.0]], [[7.0, 3.0, 2.0], [6.0, 3.0, 2.0], [1.0, 6.0, 3.0]]], [[[5.0, 7.0, 8.0], [4.0, 1.0, 7.0], [7.0, 1.0, 4.0]], [[2.0, 3.0, 8.0], [5.0, 4.0, 5.0], [7.0, 2.0, 8.0]], [[6.0, 3.0, 7.0], [4.0, 3.0, 7.0], [3.0, 6.0, 8.0]]], [[[7.0, 5.0, 5.0], [6.0, 5.0, 1.0], [7.0, 5.0, 5.0]], [[1.0, 4.0, 1.0], [5.0, 8.0, 6.0], [3.0, 4.0, 6.0]], [[6.0, 4.0, 4.0], [8.0, 3.0, 2.0], [7.0, 4.0, 7.0]]]])
10568          self.failUnless(Lsup(arg-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
10569       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10570       def test_setslice_constData_rank4_array_CULU(self):
10571          arg=Data(numarray.array([[[[5.0, 4.0, 1.0], [7.0, 6.0, 1.0], [2.0, 6.0, 3.0]], [[3.0, 4.0, 6.0], [7.0, 2.0, 4.0], [1.0, 4.0, 8.0]], [[5.0, 3.0, 1.0], [1.0, 2.0, 3.0], [4.0, 7.0, 8.0]]], [[[2.0, 2.0, 7.0], [5.0, 7.0, 7.0], [1.0, 5.0, 2.0]], [[4.0, 2.0, 1.0], [4.0, 1.0, 8.0], [1.0, 1.0, 7.0]], [[4.0, 8.0, 3.0], [5.0, 1.0, 5.0], [8.0, 2.0, 6.0]]], [[[2.0, 6.0, 2.0], [6.0, 6.0, 4.0], [5.0, 8.0, 1.0]], [[3.0, 5.0, 6.0], [3.0, 5.0, 7.0], [5.0, 1.0, 2.0]], [[8.0, 4.0, 8.0], [6.0, 7.0, 2.0], [2.0, 1.0, 4.0]]], [[[1.0, 1.0, 6.0], [8.0, 4.0, 2.0], [1.0, 5.0, 5.0]], [[5.0, 7.0, 8.0], [1.0, 6.0, 2.0], [6.0, 7.0, 2.0]], [[3.0, 4.0, 5.0], [1.0, 6.0, 4.0], [1.0, 7.0, 6.0]]]]),self.functionspace)
10572          val=numarray.array([[[[2.0, 6.0]], [[1.0, 6.0]]], [[[3.0, 2.0]], [[4.0, 5.0]]], [[[6.0, 4.0]], [[5.0, 3.0]]], [[[1.0, 2.0]], [[6.0, 2.0]]]])
10573          arg[:,:2,2:,:2]=val
10574          ref=Data(numarray.array([[[[5.0, 4.0, 1.0], [7.0, 6.0, 1.0], [2.0, 6.0, 3.0]], [[3.0, 4.0, 6.0], [7.0, 2.0, 4.0], [1.0, 6.0, 8.0]], [[5.0, 3.0, 1.0], [1.0, 2.0, 3.0], [4.0, 7.0, 8.0]]], [[[2.0, 2.0, 7.0], [5.0, 7.0, 7.0], [3.0, 2.0, 2.0]], [[4.0, 2.0, 1.0], [4.0, 1.0, 8.0], [4.0, 5.0, 7.0]], [[4.0, 8.0, 3.0], [5.0, 1.0, 5.0], [8.0, 2.0, 6.0]]], [[[2.0, 6.0, 2.0], [6.0, 6.0, 4.0], [6.0, 4.0, 1.0]], [[3.0, 5.0, 6.0], [3.0, 5.0, 7.0], [5.0, 3.0, 2.0]], [[8.0, 4.0, 8.0], [6.0, 7.0, 2.0], [2.0, 1.0, 4.0]]], [[[1.0, 1.0, 6.0], [8.0, 4.0, 2.0], [1.0, 2.0, 5.0]], [[5.0, 7.0, 8.0], [1.0, 6.0, 2.0], [6.0, 2.0, 2.0]], [[3.0, 4.0, 5.0], [1.0, 6.0, 4.0], [1.0, 7.0, 6.0]]]]),self.functionspace)