/[escript]/trunk/escript/test/python/test_util_slicing_no_tagged_data.py
ViewVC logotype

Diff of /trunk/escript/test/python/test_util_slicing_no_tagged_data.py

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

revision 4083 by jfenwick, Fri Sep 21 02:47:54 2012 UTC revision 4084 by jfenwick, Tue Nov 20 06:22:07 2012 UTC
# Line 245  class Test_util_slicing_no_tagged_data(T Line 245  class Test_util_slicing_no_tagged_data(T
245        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
246     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
247     def test_getslice_constData_rank3_UUL(self):     def test_getslice_constData_rank3_UUL(self):
248        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
249    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
250    35.0]]]),self.functionspace)
251        res=arg[:2,:3,2:]        res=arg[:2,:3,2:]
252        ref=Data(numpy.array([[[2.0], [5.0], [8.0]], [[14.0], [17.0], [20.0]]]),self.functionspace)        ref=Data(numpy.array([[[2.0], [5.0], [8.0]], [[14.0], [17.0], [20.0]]]),self.functionspace)
253        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 253  class Test_util_slicing_no_tagged_data(T Line 255  class Test_util_slicing_no_tagged_data(T
255        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
256     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
257     def test_getslice_constData_rank3_RLL(self):     def test_getslice_constData_rank3_RLL(self):
258        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
259    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
260    35.0]]]),self.functionspace)
261        res=arg[1:2,2:,2:]        res=arg[1:2,2:,2:]
262        ref=Data(numpy.array([[[20.0], [23.0]]]),self.functionspace)        ref=Data(numpy.array([[[20.0], [23.0]]]),self.functionspace)
263        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 261  class Test_util_slicing_no_tagged_data(T Line 265  class Test_util_slicing_no_tagged_data(T
265        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
266     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
267     def test_getslice_constData_rank3_UPR(self):     def test_getslice_constData_rank3_UPR(self):
268        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
269    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
270    35.0]]]),self.functionspace)
271        res=arg[:2,2,1:2]        res=arg[:2,2,1:2]
272        ref=Data(numpy.array([[7.0], [19.0]]),self.functionspace)        ref=Data(numpy.array([[7.0], [19.0]]),self.functionspace)
273        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 269  class Test_util_slicing_no_tagged_data(T Line 275  class Test_util_slicing_no_tagged_data(T
275        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
276     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
277     def test_getslice_constData_rank3_ULC(self):     def test_getslice_constData_rank3_ULC(self):
278        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
279    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
280    35.0]]]),self.functionspace)
281        res=arg[:2,2:,:]        res=arg[:2,2:,:]
282        ref=Data(numpy.array([[[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]]),self.functionspace)        ref=Data(numpy.array([[[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]]),self.functionspace)
283        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 277  class Test_util_slicing_no_tagged_data(T Line 285  class Test_util_slicing_no_tagged_data(T
285        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
286     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
287     def test_getslice_constData_rank3_CUU(self):     def test_getslice_constData_rank3_CUU(self):
288        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
289    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
290    35.0]]]),self.functionspace)
291        res=arg[:,:3,:2]        res=arg[:,:3,:2]
292        ref=Data(numpy.array([[[0.0, 1.0], [3.0, 4.0], [6.0, 7.0]], [[12.0, 13.0], [15.0, 16.0], [18.0, 19.0]], [[24.0, 25.0], [27.0, 28.0], [30.0, 31.0]]]),self.functionspace)        ref=Data(numpy.array([[[0.0, 1.0], [3.0, 4.0], [6.0, 7.0]], [[12.0, 13.0], [15.0, 16.0], [18.0, 19.0]], [[24.0, 25.0],
293    [27.0, 28.0], [30.0, 31.0]]]),self.functionspace)
294        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
295        self.assertEqual(res.getShape(),(3, 3, 2),"wrong shape of result.")        self.assertEqual(res.getShape(),(3, 3, 2),"wrong shape of result.")
296        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
297     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
298     def test_getslice_constData_rank3_LLU(self):     def test_getslice_constData_rank3_LLU(self):
299        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
300    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
301    35.0]]]),self.functionspace)
302        res=arg[2:,2:,:2]        res=arg[2:,2:,:2]
303        ref=Data(numpy.array([[[30.0, 31.0], [33.0, 34.0]]]),self.functionspace)        ref=Data(numpy.array([[[30.0, 31.0], [33.0, 34.0]]]),self.functionspace)
304        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 293  class Test_util_slicing_no_tagged_data(T Line 306  class Test_util_slicing_no_tagged_data(T
306        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
307     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
308     def test_getslice_constData_rank3_PPL(self):     def test_getslice_constData_rank3_PPL(self):
309        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
310    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
311    35.0]]]),self.functionspace)
312        res=arg[1,2,2:]        res=arg[1,2,2:]
313        ref=Data(numpy.array([20.0]),self.functionspace)        ref=Data(numpy.array([20.0]),self.functionspace)
314        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 301  class Test_util_slicing_no_tagged_data(T Line 316  class Test_util_slicing_no_tagged_data(T
316        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
317     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
318     def test_getslice_constData_rank3_PLR(self):     def test_getslice_constData_rank3_PLR(self):
319        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
320    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
321    35.0]]]),self.functionspace)
322        res=arg[1,2:,1:2]        res=arg[1,2:,1:2]
323        ref=Data(numpy.array([[19.0], [22.0]]),self.functionspace)        ref=Data(numpy.array([[19.0], [22.0]]),self.functionspace)
324        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 309  class Test_util_slicing_no_tagged_data(T Line 326  class Test_util_slicing_no_tagged_data(T
326        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
327     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
328     def test_getslice_constData_rank3_PPP(self):     def test_getslice_constData_rank3_PPP(self):
329        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
330    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
331    35.0]]]),self.functionspace)
332        res=arg[1,2,1]        res=arg[1,2,1]
333        ref=Data(19.0,self.functionspace)        ref=Data(19.0,self.functionspace)
334        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 317  class Test_util_slicing_no_tagged_data(T Line 336  class Test_util_slicing_no_tagged_data(T
336        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
337     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
338     def test_getslice_constData_rank3_CRN(self):     def test_getslice_constData_rank3_CRN(self):
339        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
340    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
341    35.0]]]),self.functionspace)
342        res=arg[:,1:3]        res=arg[:,1:3]
343        ref=Data(numpy.array([[[3.0, 4.0, 5.0], [6.0, 7.0, 8.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0]], [[27.0, 28.0, 29.0], [30.0, 31.0, 32.0]]]),self.functionspace)        ref=Data(numpy.array([[[3.0, 4.0, 5.0], [6.0, 7.0, 8.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0]], [[27.0, 28.0, 29.0],
344    [30.0, 31.0, 32.0]]]),self.functionspace)
345        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
346        self.assertEqual(res.getShape(),(3, 2, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(3, 2, 3),"wrong shape of result.")
347        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
348     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
349     def test_getslice_constData_rank3_RCN(self):     def test_getslice_constData_rank3_RCN(self):
350        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
351    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
352    35.0]]]),self.functionspace)
353        res=arg[1:2,:]        res=arg[1:2,:]
354        ref=Data(numpy.array([[[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]]),self.functionspace)        ref=Data(numpy.array([[[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0,
355    23.0]]]),self.functionspace)
356        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
357        self.assertEqual(res.getShape(),(1, 4, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(1, 4, 3),"wrong shape of result.")
358        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
359     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
360     def test_getslice_constData_rank3_UPN(self):     def test_getslice_constData_rank3_UPN(self):
361        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
362    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
363    35.0]]]),self.functionspace)
364        res=arg[:2,2]        res=arg[:2,2]
365        ref=Data(numpy.array([[6.0, 7.0, 8.0], [18.0, 19.0, 20.0]]),self.functionspace)        ref=Data(numpy.array([[6.0, 7.0, 8.0], [18.0, 19.0, 20.0]]),self.functionspace)
366        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 341  class Test_util_slicing_no_tagged_data(T Line 368  class Test_util_slicing_no_tagged_data(T
368        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
369     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
370     def test_getslice_constData_rank3_PLC(self):     def test_getslice_constData_rank3_PLC(self):
371        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
372    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
373    35.0]]]),self.functionspace)
374        res=arg[1,2:,:]        res=arg[1,2:,:]
375        ref=Data(numpy.array([[18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]),self.functionspace)        ref=Data(numpy.array([[18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]),self.functionspace)
376        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 349  class Test_util_slicing_no_tagged_data(T Line 378  class Test_util_slicing_no_tagged_data(T
378        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
379     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
380     def test_getslice_constData_rank3_RRR(self):     def test_getslice_constData_rank3_RRR(self):
381        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
382    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
383    35.0]]]),self.functionspace)
384        res=arg[1:2,1:3,1:2]        res=arg[1:2,1:3,1:2]
385        ref=Data(numpy.array([[[16.0], [19.0]]]),self.functionspace)        ref=Data(numpy.array([[[16.0], [19.0]]]),self.functionspace)
386        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 357  class Test_util_slicing_no_tagged_data(T Line 388  class Test_util_slicing_no_tagged_data(T
388        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
389     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
390     def test_getslice_constData_rank3_PPR(self):     def test_getslice_constData_rank3_PPR(self):
391        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
392    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
393    35.0]]]),self.functionspace)
394        res=arg[1,2,1:2]        res=arg[1,2,1:2]
395        ref=Data(numpy.array([19.0]),self.functionspace)        ref=Data(numpy.array([19.0]),self.functionspace)
396        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 365  class Test_util_slicing_no_tagged_data(T Line 398  class Test_util_slicing_no_tagged_data(T
398        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
399     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
400     def test_getslice_constData_rank3_RRU(self):     def test_getslice_constData_rank3_RRU(self):
401        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
402    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
403    35.0]]]),self.functionspace)
404        res=arg[1:2,1:3,:2]        res=arg[1:2,1:3,:2]
405        ref=Data(numpy.array([[[15.0, 16.0], [18.0, 19.0]]]),self.functionspace)        ref=Data(numpy.array([[[15.0, 16.0], [18.0, 19.0]]]),self.functionspace)
406        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 373  class Test_util_slicing_no_tagged_data(T Line 408  class Test_util_slicing_no_tagged_data(T
408        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
409     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
410     def test_getslice_constData_rank3_RRL(self):     def test_getslice_constData_rank3_RRL(self):
411        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
412    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
413    35.0]]]),self.functionspace)
414        res=arg[1:2,1:3,2:]        res=arg[1:2,1:3,2:]
415        ref=Data(numpy.array([[[17.0], [20.0]]]),self.functionspace)        ref=Data(numpy.array([[[17.0], [20.0]]]),self.functionspace)
416        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 381  class Test_util_slicing_no_tagged_data(T Line 418  class Test_util_slicing_no_tagged_data(T
418        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
419     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
420     def test_getslice_constData_rank3_CLC(self):     def test_getslice_constData_rank3_CLC(self):
421        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
422    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
423    35.0]]]),self.functionspace)
424        res=arg[:,2:,:]        res=arg[:,2:,:]
425        ref=Data(numpy.array([[[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        ref=Data(numpy.array([[[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[30.0, 31.0,
426    32.0], [33.0, 34.0, 35.0]]]),self.functionspace)
427        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
428        self.assertEqual(res.getShape(),(3, 2, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(3, 2, 3),"wrong shape of result.")
429        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
430     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
431     def test_getslice_constData_rank3_RCL(self):     def test_getslice_constData_rank3_RCL(self):
432        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
433    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
434    35.0]]]),self.functionspace)
435        res=arg[1:2,:,2:]        res=arg[1:2,:,2:]
436        ref=Data(numpy.array([[[14.0], [17.0], [20.0], [23.0]]]),self.functionspace)        ref=Data(numpy.array([[[14.0], [17.0], [20.0], [23.0]]]),self.functionspace)
437        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 397  class Test_util_slicing_no_tagged_data(T Line 439  class Test_util_slicing_no_tagged_data(T
439        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
440     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
441     def test_getslice_constData_rank3_UCC(self):     def test_getslice_constData_rank3_UCC(self):
442        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
443    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
444    35.0]]]),self.functionspace)
445        res=arg[:2,:,:]        res=arg[:2,:,:]
446        ref=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]]),self.functionspace)        ref=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
447    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]]),self.functionspace)
448        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
449        self.assertEqual(res.getShape(),(2, 4, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 4, 3),"wrong shape of result.")
450        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
451     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
452     def test_getslice_constData_rank3_UCN(self):     def test_getslice_constData_rank3_UCN(self):
453        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
454    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
455    35.0]]]),self.functionspace)
456        res=arg[:2,:]        res=arg[:2,:]
457        ref=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]]),self.functionspace)        ref=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
458    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]]),self.functionspace)
459        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
460        self.assertEqual(res.getShape(),(2, 4, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 4, 3),"wrong shape of result.")
461        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
462     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
463     def test_getslice_constData_rank3_RCU(self):     def test_getslice_constData_rank3_RCU(self):
464        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
465    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
466    35.0]]]),self.functionspace)
467        res=arg[1:2,:,:2]        res=arg[1:2,:,:2]
468        ref=Data(numpy.array([[[12.0, 13.0], [15.0, 16.0], [18.0, 19.0], [21.0, 22.0]]]),self.functionspace)        ref=Data(numpy.array([[[12.0, 13.0], [15.0, 16.0], [18.0, 19.0], [21.0, 22.0]]]),self.functionspace)
469        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 421  class Test_util_slicing_no_tagged_data(T Line 471  class Test_util_slicing_no_tagged_data(T
471        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
472     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
473     def test_getslice_constData_rank3_RRN(self):     def test_getslice_constData_rank3_RRN(self):
474        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
475    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
476    35.0]]]),self.functionspace)
477        res=arg[1:2,1:3]        res=arg[1:2,1:3]
478        ref=Data(numpy.array([[[15.0, 16.0, 17.0], [18.0, 19.0, 20.0]]]),self.functionspace)        ref=Data(numpy.array([[[15.0, 16.0, 17.0], [18.0, 19.0, 20.0]]]),self.functionspace)
479        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 429  class Test_util_slicing_no_tagged_data(T Line 481  class Test_util_slicing_no_tagged_data(T
481        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
482     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
483     def test_getslice_constData_rank3_RPC(self):     def test_getslice_constData_rank3_RPC(self):
484        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
485    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
486    35.0]]]),self.functionspace)
487        res=arg[1:2,2,:]        res=arg[1:2,2,:]
488        ref=Data(numpy.array([[18.0, 19.0, 20.0]]),self.functionspace)        ref=Data(numpy.array([[18.0, 19.0, 20.0]]),self.functionspace)
489        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 437  class Test_util_slicing_no_tagged_data(T Line 491  class Test_util_slicing_no_tagged_data(T
491        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
492     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
493     def test_getslice_constData_rank3_CRP(self):     def test_getslice_constData_rank3_CRP(self):
494        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
495    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
496    35.0]]]),self.functionspace)
497        res=arg[:,1:3,1]        res=arg[:,1:3,1]
498        ref=Data(numpy.array([[4.0, 7.0], [16.0, 19.0], [28.0, 31.0]]),self.functionspace)        ref=Data(numpy.array([[4.0, 7.0], [16.0, 19.0], [28.0, 31.0]]),self.functionspace)
499        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 445  class Test_util_slicing_no_tagged_data(T Line 501  class Test_util_slicing_no_tagged_data(T
501        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
502     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
503     def test_getslice_constData_rank3_RRP(self):     def test_getslice_constData_rank3_RRP(self):
504        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
505    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
506    35.0]]]),self.functionspace)
507        res=arg[1:2,1:3,1]        res=arg[1:2,1:3,1]
508        ref=Data(numpy.array([[16.0, 19.0]]),self.functionspace)        ref=Data(numpy.array([[16.0, 19.0]]),self.functionspace)
509        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 453  class Test_util_slicing_no_tagged_data(T Line 511  class Test_util_slicing_no_tagged_data(T
511        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
512     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
513     def test_getslice_constData_rank3_UUP(self):     def test_getslice_constData_rank3_UUP(self):
514        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
515    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
516    35.0]]]),self.functionspace)
517        res=arg[:2,:3,1]        res=arg[:2,:3,1]
518        ref=Data(numpy.array([[1.0, 4.0, 7.0], [13.0, 16.0, 19.0]]),self.functionspace)        ref=Data(numpy.array([[1.0, 4.0, 7.0], [13.0, 16.0, 19.0]]),self.functionspace)
519        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 461  class Test_util_slicing_no_tagged_data(T Line 521  class Test_util_slicing_no_tagged_data(T
521        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
522     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
523     def test_getslice_constData_rank3_URC(self):     def test_getslice_constData_rank3_URC(self):
524        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
525    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
526    35.0]]]),self.functionspace)
527        res=arg[:2,1:3,:]        res=arg[:2,1:3,:]
528        ref=Data(numpy.array([[[3.0, 4.0, 5.0], [6.0, 7.0, 8.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0]]]),self.functionspace)        ref=Data(numpy.array([[[3.0, 4.0, 5.0], [6.0, 7.0, 8.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0]]]),self.functionspace)
529        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 469  class Test_util_slicing_no_tagged_data(T Line 531  class Test_util_slicing_no_tagged_data(T
531        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
532     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
533     def test_getslice_constData_rank3_LCN(self):     def test_getslice_constData_rank3_LCN(self):
534        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
535    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
536    35.0]]]),self.functionspace)
537        res=arg[2:,:]        res=arg[2:,:]
538        ref=Data(numpy.array([[[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        ref=Data(numpy.array([[[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
539    35.0]]]),self.functionspace)
540        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
541        self.assertEqual(res.getShape(),(1, 4, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(1, 4, 3),"wrong shape of result.")
542        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
543     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
544     def test_getslice_constData_rank3_PLU(self):     def test_getslice_constData_rank3_PLU(self):
545        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
546    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
547    35.0]]]),self.functionspace)
548        res=arg[1,2:,:2]        res=arg[1,2:,:2]
549        ref=Data(numpy.array([[18.0, 19.0], [21.0, 22.0]]),self.functionspace)        ref=Data(numpy.array([[18.0, 19.0], [21.0, 22.0]]),self.functionspace)
550        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 485  class Test_util_slicing_no_tagged_data(T Line 552  class Test_util_slicing_no_tagged_data(T
552        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
553     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
554     def test_getslice_constData_rank3_UPL(self):     def test_getslice_constData_rank3_UPL(self):
555        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
556    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
557    35.0]]]),self.functionspace)
558        res=arg[:2,2,2:]        res=arg[:2,2,2:]
559        ref=Data(numpy.array([[8.0], [20.0]]),self.functionspace)        ref=Data(numpy.array([[8.0], [20.0]]),self.functionspace)
560        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 493  class Test_util_slicing_no_tagged_data(T Line 562  class Test_util_slicing_no_tagged_data(T
562        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
563     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
564     def test_getslice_constData_rank3_LLP(self):     def test_getslice_constData_rank3_LLP(self):
565        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
566    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
567    35.0]]]),self.functionspace)
568        res=arg[2:,2:,1]        res=arg[2:,2:,1]
569        ref=Data(numpy.array([[31.0, 34.0]]),self.functionspace)        ref=Data(numpy.array([[31.0, 34.0]]),self.functionspace)
570        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 501  class Test_util_slicing_no_tagged_data(T Line 572  class Test_util_slicing_no_tagged_data(T
572        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
573     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
574     def test_getslice_constData_rank3_LUR(self):     def test_getslice_constData_rank3_LUR(self):
575        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
576    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
577    35.0]]]),self.functionspace)
578        res=arg[2:,:3,1:2]        res=arg[2:,:3,1:2]
579        ref=Data(numpy.array([[[25.0], [28.0], [31.0]]]),self.functionspace)        ref=Data(numpy.array([[[25.0], [28.0], [31.0]]]),self.functionspace)
580        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 509  class Test_util_slicing_no_tagged_data(T Line 582  class Test_util_slicing_no_tagged_data(T
582        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
583     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
584     def test_getslice_constData_rank3_RLN(self):     def test_getslice_constData_rank3_RLN(self):
585        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
586    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
587    35.0]]]),self.functionspace)
588        res=arg[1:2,2:]        res=arg[1:2,2:]
589        ref=Data(numpy.array([[[18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]]),self.functionspace)        ref=Data(numpy.array([[[18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]]),self.functionspace)
590        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 517  class Test_util_slicing_no_tagged_data(T Line 592  class Test_util_slicing_no_tagged_data(T
592        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
593     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
594     def test_getslice_constData_rank3_PPU(self):     def test_getslice_constData_rank3_PPU(self):
595        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
596    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
597    35.0]]]),self.functionspace)
598        res=arg[1,2,:2]        res=arg[1,2,:2]
599        ref=Data(numpy.array([18.0, 19.0]),self.functionspace)        ref=Data(numpy.array([18.0, 19.0]),self.functionspace)
600        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 525  class Test_util_slicing_no_tagged_data(T Line 602  class Test_util_slicing_no_tagged_data(T
602        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
603     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
604     def test_getslice_constData_rank3_CCP(self):     def test_getslice_constData_rank3_CCP(self):
605        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
606    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
607    35.0]]]),self.functionspace)
608        res=arg[:,:,1]        res=arg[:,:,1]
609        ref=Data(numpy.array([[1.0, 4.0, 7.0, 10.0], [13.0, 16.0, 19.0, 22.0], [25.0, 28.0, 31.0, 34.0]]),self.functionspace)        ref=Data(numpy.array([[1.0, 4.0, 7.0, 10.0], [13.0, 16.0, 19.0, 22.0], [25.0, 28.0, 31.0, 34.0]]),self.functionspace)
610        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 533  class Test_util_slicing_no_tagged_data(T Line 612  class Test_util_slicing_no_tagged_data(T
612        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
613     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
614     def test_getslice_constData_rank3_RPL(self):     def test_getslice_constData_rank3_RPL(self):
615        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
616    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
617    35.0]]]),self.functionspace)
618        res=arg[1:2,2,2:]        res=arg[1:2,2,2:]
619        ref=Data(numpy.array([[20.0]]),self.functionspace)        ref=Data(numpy.array([[20.0]]),self.functionspace)
620        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 541  class Test_util_slicing_no_tagged_data(T Line 622  class Test_util_slicing_no_tagged_data(T
622        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
623     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
624     def test_getslice_constData_rank3_CPN(self):     def test_getslice_constData_rank3_CPN(self):
625        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
626    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
627    35.0]]]),self.functionspace)
628        res=arg[:,2]        res=arg[:,2]
629        ref=Data(numpy.array([[6.0, 7.0, 8.0], [18.0, 19.0, 20.0], [30.0, 31.0, 32.0]]),self.functionspace)        ref=Data(numpy.array([[6.0, 7.0, 8.0], [18.0, 19.0, 20.0], [30.0, 31.0, 32.0]]),self.functionspace)
630        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 549  class Test_util_slicing_no_tagged_data(T Line 632  class Test_util_slicing_no_tagged_data(T
632        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
633     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
634     def test_getslice_constData_rank3_PLN(self):     def test_getslice_constData_rank3_PLN(self):
635        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
636    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
637    35.0]]]),self.functionspace)
638        res=arg[1,2:]        res=arg[1,2:]
639        ref=Data(numpy.array([[18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]),self.functionspace)        ref=Data(numpy.array([[18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]),self.functionspace)
640        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 557  class Test_util_slicing_no_tagged_data(T Line 642  class Test_util_slicing_no_tagged_data(T
642        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
643     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
644     def test_getslice_constData_rank3_PCU(self):     def test_getslice_constData_rank3_PCU(self):
645        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
646    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
647    35.0]]]),self.functionspace)
648        res=arg[1,:,:2]        res=arg[1,:,:2]
649        ref=Data(numpy.array([[12.0, 13.0], [15.0, 16.0], [18.0, 19.0], [21.0, 22.0]]),self.functionspace)        ref=Data(numpy.array([[12.0, 13.0], [15.0, 16.0], [18.0, 19.0], [21.0, 22.0]]),self.functionspace)
650        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 565  class Test_util_slicing_no_tagged_data(T Line 652  class Test_util_slicing_no_tagged_data(T
652        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
653     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
654     def test_getslice_constData_rank3_CPP(self):     def test_getslice_constData_rank3_CPP(self):
655        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
656    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
657    35.0]]]),self.functionspace)
658        res=arg[:,2,1]        res=arg[:,2,1]
659        ref=Data(numpy.array([7.0, 19.0, 31.0]),self.functionspace)        ref=Data(numpy.array([7.0, 19.0, 31.0]),self.functionspace)
660        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 573  class Test_util_slicing_no_tagged_data(T Line 662  class Test_util_slicing_no_tagged_data(T
662        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
663     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
664     def test_getslice_constData_rank3_RUP(self):     def test_getslice_constData_rank3_RUP(self):
665        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
666    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
667    35.0]]]),self.functionspace)
668        res=arg[1:2,:3,1]        res=arg[1:2,:3,1]
669        ref=Data(numpy.array([[13.0, 16.0, 19.0]]),self.functionspace)        ref=Data(numpy.array([[13.0, 16.0, 19.0]]),self.functionspace)
670        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 581  class Test_util_slicing_no_tagged_data(T Line 672  class Test_util_slicing_no_tagged_data(T
672        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
673     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
674     def test_getslice_constData_rank3_CRR(self):     def test_getslice_constData_rank3_CRR(self):
675        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
676    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
677    35.0]]]),self.functionspace)
678        res=arg[:,1:3,1:2]        res=arg[:,1:3,1:2]
679        ref=Data(numpy.array([[[4.0], [7.0]], [[16.0], [19.0]], [[28.0], [31.0]]]),self.functionspace)        ref=Data(numpy.array([[[4.0], [7.0]], [[16.0], [19.0]], [[28.0], [31.0]]]),self.functionspace)
680        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 589  class Test_util_slicing_no_tagged_data(T Line 682  class Test_util_slicing_no_tagged_data(T
682        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
683     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
684     def test_getslice_constData_rank3_PCN(self):     def test_getslice_constData_rank3_PCN(self):
685        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
686    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
687    35.0]]]),self.functionspace)
688        res=arg[1,:]        res=arg[1,:]
689        ref=Data(numpy.array([[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]),self.functionspace)        ref=Data(numpy.array([[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]),self.functionspace)
690        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 597  class Test_util_slicing_no_tagged_data(T Line 692  class Test_util_slicing_no_tagged_data(T
692        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
693     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
694     def test_getslice_constData_rank3_URN(self):     def test_getslice_constData_rank3_URN(self):
695        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
696    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
697    35.0]]]),self.functionspace)
698        res=arg[:2,1:3]        res=arg[:2,1:3]
699        ref=Data(numpy.array([[[3.0, 4.0, 5.0], [6.0, 7.0, 8.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0]]]),self.functionspace)        ref=Data(numpy.array([[[3.0, 4.0, 5.0], [6.0, 7.0, 8.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0]]]),self.functionspace)
700        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 605  class Test_util_slicing_no_tagged_data(T Line 702  class Test_util_slicing_no_tagged_data(T
702        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
703     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
704     def test_getslice_constData_rank3_PPN(self):     def test_getslice_constData_rank3_PPN(self):
705        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
706    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
707    35.0]]]),self.functionspace)
708        res=arg[1,2]        res=arg[1,2]
709        ref=Data(numpy.array([18.0, 19.0, 20.0]),self.functionspace)        ref=Data(numpy.array([18.0, 19.0, 20.0]),self.functionspace)
710        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 613  class Test_util_slicing_no_tagged_data(T Line 712  class Test_util_slicing_no_tagged_data(T
712        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
713     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
714     def test_getslice_constData_rank3_UUN(self):     def test_getslice_constData_rank3_UUN(self):
715        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
716    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
717    35.0]]]),self.functionspace)
718        res=arg[:2,:3]        res=arg[:2,:3]
719        ref=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0]]]),self.functionspace)        ref=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0],
720    [18.0, 19.0, 20.0]]]),self.functionspace)
721        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
722        self.assertEqual(res.getShape(),(2, 3, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 3, 3),"wrong shape of result.")
723        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
724     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
725     def test_getslice_constData_rank3_LRC(self):     def test_getslice_constData_rank3_LRC(self):
726        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
727    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
728    35.0]]]),self.functionspace)
729        res=arg[2:,1:3,:]        res=arg[2:,1:3,:]
730        ref=Data(numpy.array([[[27.0, 28.0, 29.0], [30.0, 31.0, 32.0]]]),self.functionspace)        ref=Data(numpy.array([[[27.0, 28.0, 29.0], [30.0, 31.0, 32.0]]]),self.functionspace)
731        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 629  class Test_util_slicing_no_tagged_data(T Line 733  class Test_util_slicing_no_tagged_data(T
733        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
734     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
735     def test_getslice_constData_rank3_LLL(self):     def test_getslice_constData_rank3_LLL(self):
736        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
737    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
738    35.0]]]),self.functionspace)
739        res=arg[2:,2:,2:]        res=arg[2:,2:,2:]
740        ref=Data(numpy.array([[[32.0], [35.0]]]),self.functionspace)        ref=Data(numpy.array([[[32.0], [35.0]]]),self.functionspace)
741        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 637  class Test_util_slicing_no_tagged_data(T Line 743  class Test_util_slicing_no_tagged_data(T
743        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
744     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
745     def test_getslice_constData_rank3_UUU(self):     def test_getslice_constData_rank3_UUU(self):
746        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
747    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
748    35.0]]]),self.functionspace)
749        res=arg[:2,:3,:2]        res=arg[:2,:3,:2]
750        ref=Data(numpy.array([[[0.0, 1.0], [3.0, 4.0], [6.0, 7.0]], [[12.0, 13.0], [15.0, 16.0], [18.0, 19.0]]]),self.functionspace)        ref=Data(numpy.array([[[0.0, 1.0], [3.0, 4.0], [6.0, 7.0]], [[12.0, 13.0], [15.0, 16.0], [18.0,
751    19.0]]]),self.functionspace)
752        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
753        self.assertEqual(res.getShape(),(2, 3, 2),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 3, 2),"wrong shape of result.")
754        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
755     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
756     def test_getslice_constData_rank3_LCL(self):     def test_getslice_constData_rank3_LCL(self):
757        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
758    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
759    35.0]]]),self.functionspace)
760        res=arg[2:,:,2:]        res=arg[2:,:,2:]
761        ref=Data(numpy.array([[[26.0], [29.0], [32.0], [35.0]]]),self.functionspace)        ref=Data(numpy.array([[[26.0], [29.0], [32.0], [35.0]]]),self.functionspace)
762        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 653  class Test_util_slicing_no_tagged_data(T Line 764  class Test_util_slicing_no_tagged_data(T
764        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
765     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
766     def test_getslice_constData_rank3_LPN(self):     def test_getslice_constData_rank3_LPN(self):
767        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
768    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
769    35.0]]]),self.functionspace)
770        res=arg[2:,2]        res=arg[2:,2]
771        ref=Data(numpy.array([[30.0, 31.0, 32.0]]),self.functionspace)        ref=Data(numpy.array([[30.0, 31.0, 32.0]]),self.functionspace)
772        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 661  class Test_util_slicing_no_tagged_data(T Line 774  class Test_util_slicing_no_tagged_data(T
774        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
775     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
776     def test_getslice_constData_rank3_CUL(self):     def test_getslice_constData_rank3_CUL(self):
777        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
778    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
779    35.0]]]),self.functionspace)
780        res=arg[:,:3,2:]        res=arg[:,:3,2:]
781        ref=Data(numpy.array([[[2.0], [5.0], [8.0]], [[14.0], [17.0], [20.0]], [[26.0], [29.0], [32.0]]]),self.functionspace)        ref=Data(numpy.array([[[2.0], [5.0], [8.0]], [[14.0], [17.0], [20.0]], [[26.0], [29.0], [32.0]]]),self.functionspace)
782        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 669  class Test_util_slicing_no_tagged_data(T Line 784  class Test_util_slicing_no_tagged_data(T
784        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
785     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
786     def test_getslice_constData_rank3_RUN(self):     def test_getslice_constData_rank3_RUN(self):
787        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
788    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
789    35.0]]]),self.functionspace)
790        res=arg[1:2,:3]        res=arg[1:2,:3]
791        ref=Data(numpy.array([[[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0]]]),self.functionspace)        ref=Data(numpy.array([[[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0]]]),self.functionspace)
792        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 677  class Test_util_slicing_no_tagged_data(T Line 794  class Test_util_slicing_no_tagged_data(T
794        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
795     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
796     def test_getslice_constData_rank3_ULN(self):     def test_getslice_constData_rank3_ULN(self):
797        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
798    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
799    35.0]]]),self.functionspace)
800        res=arg[:2,2:]        res=arg[:2,2:]
801        ref=Data(numpy.array([[[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]]),self.functionspace)        ref=Data(numpy.array([[[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]]),self.functionspace)
802        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 685  class Test_util_slicing_no_tagged_data(T Line 804  class Test_util_slicing_no_tagged_data(T
804        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
805     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
806     def test_getslice_constData_rank3_RPN(self):     def test_getslice_constData_rank3_RPN(self):
807        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
808    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
809    35.0]]]),self.functionspace)
810        res=arg[1:2,2]        res=arg[1:2,2]
811        ref=Data(numpy.array([[18.0, 19.0, 20.0]]),self.functionspace)        ref=Data(numpy.array([[18.0, 19.0, 20.0]]),self.functionspace)
812        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 693  class Test_util_slicing_no_tagged_data(T Line 814  class Test_util_slicing_no_tagged_data(T
814        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
815     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
816     def test_getslice_constData_rank3_RUU(self):     def test_getslice_constData_rank3_RUU(self):
817        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
818    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
819    35.0]]]),self.functionspace)
820        res=arg[1:2,:3,:2]        res=arg[1:2,:3,:2]
821        ref=Data(numpy.array([[[12.0, 13.0], [15.0, 16.0], [18.0, 19.0]]]),self.functionspace)        ref=Data(numpy.array([[[12.0, 13.0], [15.0, 16.0], [18.0, 19.0]]]),self.functionspace)
822        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 701  class Test_util_slicing_no_tagged_data(T Line 824  class Test_util_slicing_no_tagged_data(T
824        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
825     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
826     def test_getslice_constData_rank3_UPC(self):     def test_getslice_constData_rank3_UPC(self):
827        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
828    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
829    35.0]]]),self.functionspace)
830        res=arg[:2,2,:]        res=arg[:2,2,:]
831        ref=Data(numpy.array([[6.0, 7.0, 8.0], [18.0, 19.0, 20.0]]),self.functionspace)        ref=Data(numpy.array([[6.0, 7.0, 8.0], [18.0, 19.0, 20.0]]),self.functionspace)
832        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 709  class Test_util_slicing_no_tagged_data(T Line 834  class Test_util_slicing_no_tagged_data(T
834        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
835     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
836     def test_getslice_constData_rank3_RLU(self):     def test_getslice_constData_rank3_RLU(self):
837        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
838    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
839    35.0]]]),self.functionspace)
840        res=arg[1:2,2:,:2]        res=arg[1:2,2:,:2]
841        ref=Data(numpy.array([[[18.0, 19.0], [21.0, 22.0]]]),self.functionspace)        ref=Data(numpy.array([[[18.0, 19.0], [21.0, 22.0]]]),self.functionspace)
842        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 717  class Test_util_slicing_no_tagged_data(T Line 844  class Test_util_slicing_no_tagged_data(T
844        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
845     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
846     def test_getslice_constData_rank3_RCC(self):     def test_getslice_constData_rank3_RCC(self):
847        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
848    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
849    35.0]]]),self.functionspace)
850        res=arg[1:2,:,:]        res=arg[1:2,:,:]
851        ref=Data(numpy.array([[[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]]]),self.functionspace)        ref=Data(numpy.array([[[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0,
852    23.0]]]),self.functionspace)
853        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
854        self.assertEqual(res.getShape(),(1, 4, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(1, 4, 3),"wrong shape of result.")
855        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
856     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
857     def test_getslice_constData_rank3_LRN(self):     def test_getslice_constData_rank3_LRN(self):
858        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
859    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
860    35.0]]]),self.functionspace)
861        res=arg[2:,1:3]        res=arg[2:,1:3]
862        ref=Data(numpy.array([[[27.0, 28.0, 29.0], [30.0, 31.0, 32.0]]]),self.functionspace)        ref=Data(numpy.array([[[27.0, 28.0, 29.0], [30.0, 31.0, 32.0]]]),self.functionspace)
863        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 733  class Test_util_slicing_no_tagged_data(T Line 865  class Test_util_slicing_no_tagged_data(T
865        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
866     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
867     def test_getslice_constData_rank3_LUN(self):     def test_getslice_constData_rank3_LUN(self):
868        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
869    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
870    35.0]]]),self.functionspace)
871        res=arg[2:,:3]        res=arg[2:,:3]
872        ref=Data(numpy.array([[[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0]]]),self.functionspace)        ref=Data(numpy.array([[[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0]]]),self.functionspace)
873        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 741  class Test_util_slicing_no_tagged_data(T Line 875  class Test_util_slicing_no_tagged_data(T
875        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
876     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
877     def test_getslice_constData_rank3_LLN(self):     def test_getslice_constData_rank3_LLN(self):
878        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
879    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
880    35.0]]]),self.functionspace)
881        res=arg[2:,2:]        res=arg[2:,2:]
882        ref=Data(numpy.array([[[30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        ref=Data(numpy.array([[[30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)
883        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 749  class Test_util_slicing_no_tagged_data(T Line 885  class Test_util_slicing_no_tagged_data(T
885        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
886     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
887     def test_getslice_constData_rank3_CUN(self):     def test_getslice_constData_rank3_CUN(self):
888        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
889    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
890    35.0]]]),self.functionspace)
891        res=arg[:,:3]        res=arg[:,:3]
892        ref=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0]]]),self.functionspace)        ref=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0],
893    [18.0, 19.0, 20.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0]]]),self.functionspace)
894        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
895        self.assertEqual(res.getShape(),(3, 3, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(3, 3, 3),"wrong shape of result.")
896        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
897     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
898     def test_getslice_constData_rank3_CPL(self):     def test_getslice_constData_rank3_CPL(self):
899        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
900    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
901    35.0]]]),self.functionspace)
902        res=arg[:,2,2:]        res=arg[:,2,2:]
903        ref=Data(numpy.array([[8.0], [20.0], [32.0]]),self.functionspace)        ref=Data(numpy.array([[8.0], [20.0], [32.0]]),self.functionspace)
904        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 765  class Test_util_slicing_no_tagged_data(T Line 906  class Test_util_slicing_no_tagged_data(T
906        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
907     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
908     def test_getslice_constData_rank3_CLN(self):     def test_getslice_constData_rank3_CLN(self):
909        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
910    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
911    35.0]]]),self.functionspace)
912        res=arg[:,2:]        res=arg[:,2:]
913        ref=Data(numpy.array([[[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        ref=Data(numpy.array([[[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[30.0, 31.0,
914    32.0], [33.0, 34.0, 35.0]]]),self.functionspace)
915        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
916        self.assertEqual(res.getShape(),(3, 2, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(3, 2, 3),"wrong shape of result.")
917        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
918     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
919     def test_getslice_constData_rank3_CCN(self):     def test_getslice_constData_rank3_CCN(self):
920        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
921    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
922    35.0]]]),self.functionspace)
923        res=arg[:,:]        res=arg[:,:]
924        ref=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        ref=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
925    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
926    35.0]]]),self.functionspace)
927        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
928        self.assertEqual(res.getShape(),(3, 4, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(3, 4, 3),"wrong shape of result.")
929        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
930     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
931     def test_getslice_constData_rank3_PUN(self):     def test_getslice_constData_rank3_PUN(self):
932        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
933    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
934    35.0]]]),self.functionspace)
935        res=arg[1,:3]        res=arg[1,:3]
936        ref=Data(numpy.array([[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0]]),self.functionspace)        ref=Data(numpy.array([[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0]]),self.functionspace)
937        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 789  class Test_util_slicing_no_tagged_data(T Line 939  class Test_util_slicing_no_tagged_data(T
939        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
940     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
941     def test_getslice_constData_rank3_PRN(self):     def test_getslice_constData_rank3_PRN(self):
942        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0, 35.0]]]),self.functionspace)        arg=Data(numpy.array([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[12.0, 13.0, 14.0], [15.0,
943    16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], [[24.0, 25.0, 26.0], [27.0, 28.0, 29.0], [30.0, 31.0, 32.0], [33.0, 34.0,
944    35.0]]]),self.functionspace)
945        res=arg[1,1:3]        res=arg[1,1:3]
946        ref=Data(numpy.array([[15.0, 16.0, 17.0], [18.0, 19.0, 20.0]]),self.functionspace)        ref=Data(numpy.array([[15.0, 16.0, 17.0], [18.0, 19.0, 20.0]]),self.functionspace)
947        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 797  class Test_util_slicing_no_tagged_data(T Line 949  class Test_util_slicing_no_tagged_data(T
949        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
950     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
951     def test_getslice_constData_rank4_CRPN(self):     def test_getslice_constData_rank4_CRPN(self):
952        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
953    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
954    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
955    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
956    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
957    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
958    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
959    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
960    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
961    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
962    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
963        res=arg[:,1:2,2]        res=arg[:,1:2,2]
964        ref=Data(numpy.array([[[21.0, 22.0, 23.0]], [[66.0, 67.0, 68.0]], [[111.0, 112.0, 113.0]], [[156.0, 157.0, 158.0]]]),self.functionspace)        ref=Data(numpy.array([[[21.0, 22.0, 23.0]], [[66.0, 67.0, 68.0]], [[111.0, 112.0, 113.0]], [[156.0, 157.0,
965    158.0]]]),self.functionspace)
966        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
967        self.assertEqual(res.getShape(),(4, 1, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(4, 1, 3),"wrong shape of result.")
968        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
969     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
970     def test_getslice_constData_rank4_RPLC(self):     def test_getslice_constData_rank4_RPLC(self):
971        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
972    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
973    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
974    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
975    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
976    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
977    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
978    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
979    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
980    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
981    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
982        res=arg[1:3,1,2:,:]        res=arg[1:3,1,2:,:]
983        ref=Data(numpy.array([[[66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]]]),self.functionspace)        ref=Data(numpy.array([[[66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[111.0, 112.0, 113.0], [114.0,
984    115.0, 116.0], [117.0, 118.0, 119.0]]]),self.functionspace)
985        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
986        self.assertEqual(res.getShape(),(2, 3, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 3, 3),"wrong shape of result.")
987        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
988     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
989     def test_getslice_constData_rank4_LLUL(self):     def test_getslice_constData_rank4_LLUL(self):
990        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
991    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
992    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
993    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
994    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
995    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
996    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
997    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
998    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
999    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1000    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1001        res=arg[2:,2:,:4,2:]        res=arg[2:,2:,:4,2:]
1002        ref=Data(numpy.array([[[[122.0], [125.0], [128.0], [131.0]]], [[[167.0], [170.0], [173.0], [176.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[122.0], [125.0], [128.0], [131.0]]], [[[167.0], [170.0], [173.0], [176.0]]]]),self.functionspace)
1003        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 821  class Test_util_slicing_no_tagged_data(T Line 1005  class Test_util_slicing_no_tagged_data(T
1005        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1006     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1007     def test_getslice_constData_rank4_UUPR(self):     def test_getslice_constData_rank4_UUPR(self):
1008        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1009    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1010    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1011    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1012    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1013    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1014    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1015    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1016    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1017    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1018    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1019        res=arg[:3,:2,2,1:2]        res=arg[:3,:2,2,1:2]
1020        ref=Data(numpy.array([[[7.0], [22.0]], [[52.0], [67.0]], [[97.0], [112.0]]]),self.functionspace)        ref=Data(numpy.array([[[7.0], [22.0]], [[52.0], [67.0]], [[97.0], [112.0]]]),self.functionspace)
1021        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 829  class Test_util_slicing_no_tagged_data(T Line 1023  class Test_util_slicing_no_tagged_data(T
1023        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1024     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1025     def test_getslice_constData_rank4_CPUU(self):     def test_getslice_constData_rank4_CPUU(self):
1026        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1027    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1028    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1029    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1030    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1031    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1032    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1033    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1034    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1035    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1036    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1037        res=arg[:,1,:4,:2]        res=arg[:,1,:4,:2]
1038        ref=Data(numpy.array([[[15.0, 16.0], [18.0, 19.0], [21.0, 22.0], [24.0, 25.0]], [[60.0, 61.0], [63.0, 64.0], [66.0, 67.0], [69.0, 70.0]], [[105.0, 106.0], [108.0, 109.0], [111.0, 112.0], [114.0, 115.0]], [[150.0, 151.0], [153.0, 154.0], [156.0, 157.0], [159.0, 160.0]]]),self.functionspace)        ref=Data(numpy.array([[[15.0, 16.0], [18.0, 19.0], [21.0, 22.0], [24.0, 25.0]], [[60.0, 61.0], [63.0, 64.0], [66.0,
1039    67.0], [69.0, 70.0]], [[105.0, 106.0], [108.0, 109.0], [111.0, 112.0], [114.0, 115.0]], [[150.0, 151.0], [153.0, 154.0],
1040    [156.0, 157.0], [159.0, 160.0]]]),self.functionspace)
1041        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1042        self.assertEqual(res.getShape(),(4, 4, 2),"wrong shape of result.")        self.assertEqual(res.getShape(),(4, 4, 2),"wrong shape of result.")
1043        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1044     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1045     def test_getslice_constData_rank4_PUCL(self):     def test_getslice_constData_rank4_PUCL(self):
1046        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1047    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1048    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1049    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1050    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1051    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1052    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1053    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1054    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1055    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1056    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1057        res=arg[2,:2,:,2:]        res=arg[2,:2,:,2:]
1058        ref=Data(numpy.array([[[92.0], [95.0], [98.0], [101.0], [104.0]], [[107.0], [110.0], [113.0], [116.0], [119.0]]]),self.functionspace)        ref=Data(numpy.array([[[92.0], [95.0], [98.0], [101.0], [104.0]], [[107.0], [110.0], [113.0], [116.0],
1059    [119.0]]]),self.functionspace)
1060        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1061        self.assertEqual(res.getShape(),(2, 5, 1),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 5, 1),"wrong shape of result.")
1062        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1063     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1064     def test_getslice_constData_rank4_CRUR(self):     def test_getslice_constData_rank4_CRUR(self):
1065        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1066    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1067    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1068    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1069    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1070    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1071    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1072    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1073    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1074    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1075    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1076        res=arg[:,1:2,:4,1:2]        res=arg[:,1:2,:4,1:2]
1077        ref=Data(numpy.array([[[[16.0], [19.0], [22.0], [25.0]]], [[[61.0], [64.0], [67.0], [70.0]]], [[[106.0], [109.0], [112.0], [115.0]]], [[[151.0], [154.0], [157.0], [160.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[16.0], [19.0], [22.0], [25.0]]], [[[61.0], [64.0], [67.0], [70.0]]], [[[106.0], [109.0],
1078    [112.0], [115.0]]], [[[151.0], [154.0], [157.0], [160.0]]]]),self.functionspace)
1079        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1080        self.assertEqual(res.getShape(),(4, 1, 4, 1),"wrong shape of result.")        self.assertEqual(res.getShape(),(4, 1, 4, 1),"wrong shape of result.")
1081        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1082     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1083     def test_getslice_constData_rank4_UCCC(self):     def test_getslice_constData_rank4_UCCC(self):
1084        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1085    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1086    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1087    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1088    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1089    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1090    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1091    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1092    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1093    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1094    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1095        res=arg[:3,:,:,:]        res=arg[:3,:,:,:]
1096        ref=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1097    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1098    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1099    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1100    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1101    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1102    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1103    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0,
1104    134.0]]]]),self.functionspace)
1105        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1106        self.assertEqual(res.getShape(),(3, 3, 5, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(3, 3, 5, 3),"wrong shape of result.")
1107        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1108     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1109     def test_getslice_constData_rank4_LCRL(self):     def test_getslice_constData_rank4_LCRL(self):
1110        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1111    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1112    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1113    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1114    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1115    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1116    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1117    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1118    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1119    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1120    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1121        res=arg[2:,:,1:4,2:]        res=arg[2:,:,1:4,2:]
1122        ref=Data(numpy.array([[[[95.0], [98.0], [101.0]], [[110.0], [113.0], [116.0]], [[125.0], [128.0], [131.0]]], [[[140.0], [143.0], [146.0]], [[155.0], [158.0], [161.0]], [[170.0], [173.0], [176.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[95.0], [98.0], [101.0]], [[110.0], [113.0], [116.0]], [[125.0], [128.0], [131.0]]], [[[140.0],
1123    [143.0], [146.0]], [[155.0], [158.0], [161.0]], [[170.0], [173.0], [176.0]]]]),self.functionspace)
1124        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1125        self.assertEqual(res.getShape(),(2, 3, 3, 1),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 3, 3, 1),"wrong shape of result.")
1126        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1127     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1128     def test_getslice_constData_rank4_RPLR(self):     def test_getslice_constData_rank4_RPLR(self):
1129        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1130    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1131    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1132    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1133    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1134    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1135    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1136    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1137    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1138    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1139    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1140        res=arg[1:3,1,2:,1:2]        res=arg[1:3,1,2:,1:2]
1141        ref=Data(numpy.array([[[67.0], [70.0], [73.0]], [[112.0], [115.0], [118.0]]]),self.functionspace)        ref=Data(numpy.array([[[67.0], [70.0], [73.0]], [[112.0], [115.0], [118.0]]]),self.functionspace)
1142        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 877  class Test_util_slicing_no_tagged_data(T Line 1144  class Test_util_slicing_no_tagged_data(T
1144        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1145     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1146     def test_getslice_constData_rank4_UPRP(self):     def test_getslice_constData_rank4_UPRP(self):
1147        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1148    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1149    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1150    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1151    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1152    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1153    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1154    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1155    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1156    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1157    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1158        res=arg[:3,1,1:4,1]        res=arg[:3,1,1:4,1]
1159        ref=Data(numpy.array([[19.0, 22.0, 25.0], [64.0, 67.0, 70.0], [109.0, 112.0, 115.0]]),self.functionspace)        ref=Data(numpy.array([[19.0, 22.0, 25.0], [64.0, 67.0, 70.0], [109.0, 112.0, 115.0]]),self.functionspace)
1160        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 885  class Test_util_slicing_no_tagged_data(T Line 1162  class Test_util_slicing_no_tagged_data(T
1162        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1163     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1164     def test_getslice_constData_rank4_UCRP(self):     def test_getslice_constData_rank4_UCRP(self):
1165        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1166    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1167    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1168    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1169    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1170    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1171    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1172    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1173    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1174    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1175    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1176        res=arg[:3,:,1:4,1]        res=arg[:3,:,1:4,1]
1177        ref=Data(numpy.array([[[4.0, 7.0, 10.0], [19.0, 22.0, 25.0], [34.0, 37.0, 40.0]], [[49.0, 52.0, 55.0], [64.0, 67.0, 70.0], [79.0, 82.0, 85.0]], [[94.0, 97.0, 100.0], [109.0, 112.0, 115.0], [124.0, 127.0, 130.0]]]),self.functionspace)        ref=Data(numpy.array([[[4.0, 7.0, 10.0], [19.0, 22.0, 25.0], [34.0, 37.0, 40.0]], [[49.0, 52.0, 55.0], [64.0, 67.0,
1178    70.0], [79.0, 82.0, 85.0]], [[94.0, 97.0, 100.0], [109.0, 112.0, 115.0], [124.0, 127.0, 130.0]]]),self.functionspace)
1179        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1180        self.assertEqual(res.getShape(),(3, 3, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(3, 3, 3),"wrong shape of result.")
1181        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1182     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1183     def test_getslice_constData_rank4_ULPP(self):     def test_getslice_constData_rank4_ULPP(self):
1184        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1185    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1186    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1187    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1188    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1189    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1190    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1191    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1192    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1193    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1194    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1195        res=arg[:3,2:,2,1]        res=arg[:3,2:,2,1]
1196        ref=Data(numpy.array([[37.0], [82.0], [127.0]]),self.functionspace)        ref=Data(numpy.array([[37.0], [82.0], [127.0]]),self.functionspace)
1197        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 901  class Test_util_slicing_no_tagged_data(T Line 1199  class Test_util_slicing_no_tagged_data(T
1199        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1200     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1201     def test_getslice_constData_rank4_LRUR(self):     def test_getslice_constData_rank4_LRUR(self):
1202        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1203    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1204    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1205    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1206    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1207    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1208    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1209    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1210    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1211    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1212    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1213        res=arg[2:,1:2,:4,1:2]        res=arg[2:,1:2,:4,1:2]
1214        ref=Data(numpy.array([[[[106.0], [109.0], [112.0], [115.0]]], [[[151.0], [154.0], [157.0], [160.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[106.0], [109.0], [112.0], [115.0]]], [[[151.0], [154.0], [157.0], [160.0]]]]),self.functionspace)
1215        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 909  class Test_util_slicing_no_tagged_data(T Line 1217  class Test_util_slicing_no_tagged_data(T
1217        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1218     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1219     def test_getslice_constData_rank4_LPLL(self):     def test_getslice_constData_rank4_LPLL(self):
1220        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1221    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1222    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1223    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1224    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1225    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1226    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1227    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1228    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1229    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1230    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1231        res=arg[2:,1,2:,2:]        res=arg[2:,1,2:,2:]
1232        ref=Data(numpy.array([[[113.0], [116.0], [119.0]], [[158.0], [161.0], [164.0]]]),self.functionspace)        ref=Data(numpy.array([[[113.0], [116.0], [119.0]], [[158.0], [161.0], [164.0]]]),self.functionspace)
1233        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 917  class Test_util_slicing_no_tagged_data(T Line 1235  class Test_util_slicing_no_tagged_data(T
1235        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1236     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1237     def test_getslice_constData_rank4_LLCU(self):     def test_getslice_constData_rank4_LLCU(self):
1238        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1239    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1240    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1241    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1242    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1243    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1244    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1245    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1246    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1247    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1248    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1249        res=arg[2:,2:,:,:2]        res=arg[2:,2:,:,:2]
1250        ref=Data(numpy.array([[[[120.0, 121.0], [123.0, 124.0], [126.0, 127.0], [129.0, 130.0], [132.0, 133.0]]], [[[165.0, 166.0], [168.0, 169.0], [171.0, 172.0], [174.0, 175.0], [177.0, 178.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[120.0, 121.0], [123.0, 124.0], [126.0, 127.0], [129.0, 130.0], [132.0, 133.0]]], [[[165.0,
1251    166.0], [168.0, 169.0], [171.0, 172.0], [174.0, 175.0], [177.0, 178.0]]]]),self.functionspace)
1252        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1253        self.assertEqual(res.getShape(),(2, 1, 5, 2),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 1, 5, 2),"wrong shape of result.")
1254        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1255     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1256     def test_getslice_constData_rank4_PULR(self):     def test_getslice_constData_rank4_PULR(self):
1257        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1258    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1259    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1260    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1261    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1262    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1263    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1264    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1265    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1266    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1267    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1268        res=arg[2,:2,2:,1:2]        res=arg[2,:2,2:,1:2]
1269        ref=Data(numpy.array([[[97.0], [100.0], [103.0]], [[112.0], [115.0], [118.0]]]),self.functionspace)        ref=Data(numpy.array([[[97.0], [100.0], [103.0]], [[112.0], [115.0], [118.0]]]),self.functionspace)
1270        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 933  class Test_util_slicing_no_tagged_data(T Line 1272  class Test_util_slicing_no_tagged_data(T
1272        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1273     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1274     def test_getslice_constData_rank4_RCCU(self):     def test_getslice_constData_rank4_RCCU(self):
1275        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1276    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1277    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1278    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1279    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1280    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1281    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1282    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1283    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1284    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1285    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1286        res=arg[1:3,:,:,:2]        res=arg[1:3,:,:,:2]
1287        ref=Data(numpy.array([[[[45.0, 46.0], [48.0, 49.0], [51.0, 52.0], [54.0, 55.0], [57.0, 58.0]], [[60.0, 61.0], [63.0, 64.0], [66.0, 67.0], [69.0, 70.0], [72.0, 73.0]], [[75.0, 76.0], [78.0, 79.0], [81.0, 82.0], [84.0, 85.0], [87.0, 88.0]]], [[[90.0, 91.0], [93.0, 94.0], [96.0, 97.0], [99.0, 100.0], [102.0, 103.0]], [[105.0, 106.0], [108.0, 109.0], [111.0, 112.0], [114.0, 115.0], [117.0, 118.0]], [[120.0, 121.0], [123.0, 124.0], [126.0, 127.0], [129.0, 130.0], [132.0, 133.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[45.0, 46.0], [48.0, 49.0], [51.0, 52.0], [54.0, 55.0], [57.0, 58.0]], [[60.0, 61.0], [63.0,
1288    64.0], [66.0, 67.0], [69.0, 70.0], [72.0, 73.0]], [[75.0, 76.0], [78.0, 79.0], [81.0, 82.0], [84.0, 85.0], [87.0, 88.0]]],
1289    [[[90.0, 91.0], [93.0, 94.0], [96.0, 97.0], [99.0, 100.0], [102.0, 103.0]], [[105.0, 106.0], [108.0, 109.0], [111.0, 112.0],
1290    [114.0, 115.0], [117.0, 118.0]], [[120.0, 121.0], [123.0, 124.0], [126.0, 127.0], [129.0, 130.0], [132.0,
1291    133.0]]]]),self.functionspace)
1292        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1293        self.assertEqual(res.getShape(),(2, 3, 5, 2),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 3, 5, 2),"wrong shape of result.")
1294        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1295     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1296     def test_getslice_constData_rank4_PPPC(self):     def test_getslice_constData_rank4_PPPC(self):
1297        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1298    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1299    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1300    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1301    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1302    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1303    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1304    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1305    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1306    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1307    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1308        res=arg[2,1,2,:]        res=arg[2,1,2,:]
1309        ref=Data(numpy.array([111.0, 112.0, 113.0]),self.functionspace)        ref=Data(numpy.array([111.0, 112.0, 113.0]),self.functionspace)
1310        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 949  class Test_util_slicing_no_tagged_data(T Line 1312  class Test_util_slicing_no_tagged_data(T
1312        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1313     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1314     def test_getslice_constData_rank4_PRCR(self):     def test_getslice_constData_rank4_PRCR(self):
1315        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1316    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1317    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1318    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1319    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1320    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1321    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1322    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1323    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1324    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1325    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1326        res=arg[2,1:2,:,1:2]        res=arg[2,1:2,:,1:2]
1327        ref=Data(numpy.array([[[106.0], [109.0], [112.0], [115.0], [118.0]]]),self.functionspace)        ref=Data(numpy.array([[[106.0], [109.0], [112.0], [115.0], [118.0]]]),self.functionspace)
1328        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 957  class Test_util_slicing_no_tagged_data(T Line 1330  class Test_util_slicing_no_tagged_data(T
1330        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1331     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1332     def test_getslice_constData_rank4_UUUL(self):     def test_getslice_constData_rank4_UUUL(self):
1333        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1334    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1335    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1336    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1337    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1338    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1339    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1340    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1341    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1342    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1343    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1344        res=arg[:3,:2,:4,2:]        res=arg[:3,:2,:4,2:]
1345        ref=Data(numpy.array([[[[2.0], [5.0], [8.0], [11.0]], [[17.0], [20.0], [23.0], [26.0]]], [[[47.0], [50.0], [53.0], [56.0]], [[62.0], [65.0], [68.0], [71.0]]], [[[92.0], [95.0], [98.0], [101.0]], [[107.0], [110.0], [113.0], [116.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[2.0], [5.0], [8.0], [11.0]], [[17.0], [20.0], [23.0], [26.0]]], [[[47.0], [50.0], [53.0],
1346    [56.0]], [[62.0], [65.0], [68.0], [71.0]]], [[[92.0], [95.0], [98.0], [101.0]], [[107.0], [110.0], [113.0],
1347    [116.0]]]]),self.functionspace)
1348        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1349        self.assertEqual(res.getShape(),(3, 2, 4, 1),"wrong shape of result.")        self.assertEqual(res.getShape(),(3, 2, 4, 1),"wrong shape of result.")
1350        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1351     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1352     def test_getslice_constData_rank4_CPCN(self):     def test_getslice_constData_rank4_CPCN(self):
1353        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1354    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1355    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1356    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1357    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1358    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1359    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1360    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1361    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1362    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1363    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1364        res=arg[:,1,:]        res=arg[:,1,:]
1365        ref=Data(numpy.array([[[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]]]),self.functionspace)        ref=Data(numpy.array([[[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0,
1366    29.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[105.0, 106.0,
1367    107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[150.0, 151.0, 152.0],
1368    [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]]]),self.functionspace)
1369        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1370        self.assertEqual(res.getShape(),(4, 5, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(4, 5, 3),"wrong shape of result.")
1371        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1372     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1373     def test_getslice_constData_rank4_RRRC(self):     def test_getslice_constData_rank4_RRRC(self):
1374        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1375    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1376    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1377    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1378    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1379    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1380    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1381    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1382    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1383    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1384    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1385        res=arg[1:3,1:2,1:4,:]        res=arg[1:3,1:2,1:4,:]
1386        ref=Data(numpy.array([[[[63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0]]], [[[108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0]]], [[[108.0, 109.0, 110.0], [111.0,
1387    112.0, 113.0], [114.0, 115.0, 116.0]]]]),self.functionspace)
1388        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1389        self.assertEqual(res.getShape(),(2, 1, 3, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 1, 3, 3),"wrong shape of result.")
1390        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1391     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1392     def test_getslice_constData_rank4_LULP(self):     def test_getslice_constData_rank4_LULP(self):
1393        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1394    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1395    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1396    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1397    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1398    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1399    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1400    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1401    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1402    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1403    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1404        res=arg[2:,:2,2:,1]        res=arg[2:,:2,2:,1]
1405        ref=Data(numpy.array([[[97.0, 100.0, 103.0], [112.0, 115.0, 118.0]], [[142.0, 145.0, 148.0], [157.0, 160.0, 163.0]]]),self.functionspace)        ref=Data(numpy.array([[[97.0, 100.0, 103.0], [112.0, 115.0, 118.0]], [[142.0, 145.0, 148.0], [157.0, 160.0,
1406    163.0]]]),self.functionspace)
1407        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1408        self.assertEqual(res.getShape(),(2, 2, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 2, 3),"wrong shape of result.")
1409        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1410     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1411     def test_getslice_constData_rank4_RRUP(self):     def test_getslice_constData_rank4_RRUP(self):
1412        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1413    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1414    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1415    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1416    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1417    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1418    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1419    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1420    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1421    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1422    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1423        res=arg[1:3,1:2,:4,1]        res=arg[1:3,1:2,:4,1]
1424        ref=Data(numpy.array([[[61.0, 64.0, 67.0, 70.0]], [[106.0, 109.0, 112.0, 115.0]]]),self.functionspace)        ref=Data(numpy.array([[[61.0, 64.0, 67.0, 70.0]], [[106.0, 109.0, 112.0, 115.0]]]),self.functionspace)
1425        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 997  class Test_util_slicing_no_tagged_data(T Line 1427  class Test_util_slicing_no_tagged_data(T
1427        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1428     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1429     def test_getslice_constData_rank4_PPCC(self):     def test_getslice_constData_rank4_PPCC(self):
1430        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1431    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1432    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1433    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1434    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1435    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1436    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1437    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1438    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1439    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1440    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1441        res=arg[2,1,:,:]        res=arg[2,1,:,:]
1442        ref=Data(numpy.array([[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]]),self.functionspace)        ref=Data(numpy.array([[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0,
1443    118.0, 119.0]]),self.functionspace)
1444        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1445        self.assertEqual(res.getShape(),(5, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(5, 3),"wrong shape of result.")
1446        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1447     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1448     def test_getslice_constData_rank4_CCUP(self):     def test_getslice_constData_rank4_CCUP(self):
1449        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1450    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1451    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1452    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1453    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1454    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1455    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1456    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1457    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1458    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1459    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1460        res=arg[:,:,:4,1]        res=arg[:,:,:4,1]
1461        ref=Data(numpy.array([[[1.0, 4.0, 7.0, 10.0], [16.0, 19.0, 22.0, 25.0], [31.0, 34.0, 37.0, 40.0]], [[46.0, 49.0, 52.0, 55.0], [61.0, 64.0, 67.0, 70.0], [76.0, 79.0, 82.0, 85.0]], [[91.0, 94.0, 97.0, 100.0], [106.0, 109.0, 112.0, 115.0], [121.0, 124.0, 127.0, 130.0]], [[136.0, 139.0, 142.0, 145.0], [151.0, 154.0, 157.0, 160.0], [166.0, 169.0, 172.0, 175.0]]]),self.functionspace)        ref=Data(numpy.array([[[1.0, 4.0, 7.0, 10.0], [16.0, 19.0, 22.0, 25.0], [31.0, 34.0, 37.0, 40.0]], [[46.0, 49.0, 52.0,
1462    55.0], [61.0, 64.0, 67.0, 70.0], [76.0, 79.0, 82.0, 85.0]], [[91.0, 94.0, 97.0, 100.0], [106.0, 109.0, 112.0, 115.0], [121.0,
1463    124.0, 127.0, 130.0]], [[136.0, 139.0, 142.0, 145.0], [151.0, 154.0, 157.0, 160.0], [166.0, 169.0, 172.0,
1464    175.0]]]),self.functionspace)
1465        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1466        self.assertEqual(res.getShape(),(4, 3, 4),"wrong shape of result.")        self.assertEqual(res.getShape(),(4, 3, 4),"wrong shape of result.")
1467        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1468     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1469     def test_getslice_constData_rank4_LULN(self):     def test_getslice_constData_rank4_LULN(self):
1470        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1471    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1472    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1473    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1474    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1475    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1476    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1477    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1478    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1479    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1480    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1481        res=arg[2:,:2,2:]        res=arg[2:,:2,2:]
1482        ref=Data(numpy.array([[[[96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]]], [[[141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[111.0, 112.0, 113.0], [114.0,
1483    115.0, 116.0], [117.0, 118.0, 119.0]]], [[[141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[156.0, 157.0,
1484    158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]]]]),self.functionspace)
1485        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1486        self.assertEqual(res.getShape(),(2, 2, 3, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 2, 3, 3),"wrong shape of result.")
1487        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1488     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1489     def test_getslice_constData_rank4_RLUU(self):     def test_getslice_constData_rank4_RLUU(self):
1490        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1491    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1492    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1493    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1494    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1495    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1496    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1497    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1498    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1499    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1500    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1501        res=arg[1:3,2:,:4,:2]        res=arg[1:3,2:,:4,:2]
1502        ref=Data(numpy.array([[[[75.0, 76.0], [78.0, 79.0], [81.0, 82.0], [84.0, 85.0]]], [[[120.0, 121.0], [123.0, 124.0], [126.0, 127.0], [129.0, 130.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[75.0, 76.0], [78.0, 79.0], [81.0, 82.0], [84.0, 85.0]]], [[[120.0, 121.0], [123.0, 124.0],
1503    [126.0, 127.0], [129.0, 130.0]]]]),self.functionspace)
1504        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1505        self.assertEqual(res.getShape(),(2, 1, 4, 2),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 1, 4, 2),"wrong shape of result.")
1506        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1507     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1508     def test_getslice_constData_rank4_PULN(self):     def test_getslice_constData_rank4_PULN(self):
1509        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1510    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1511    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1512    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1513    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1514    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1515    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1516    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1517    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1518    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1519    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1520        res=arg[2,:2,2:]        res=arg[2,:2,2:]
1521        ref=Data(numpy.array([[[96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]]]),self.functionspace)        ref=Data(numpy.array([[[96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[111.0, 112.0, 113.0], [114.0,
1522    115.0, 116.0], [117.0, 118.0, 119.0]]]),self.functionspace)
1523        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1524        self.assertEqual(res.getShape(),(2, 3, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 3, 3),"wrong shape of result.")
1525        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1526     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1527     def test_getslice_constData_rank4_LCUU(self):     def test_getslice_constData_rank4_LCUU(self):
1528        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1529    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1530    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1531    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1532    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1533    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1534    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1535    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1536    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1537    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1538    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1539        res=arg[2:,:,:4,:2]        res=arg[2:,:,:4,:2]
1540        ref=Data(numpy.array([[[[90.0, 91.0], [93.0, 94.0], [96.0, 97.0], [99.0, 100.0]], [[105.0, 106.0], [108.0, 109.0], [111.0, 112.0], [114.0, 115.0]], [[120.0, 121.0], [123.0, 124.0], [126.0, 127.0], [129.0, 130.0]]], [[[135.0, 136.0], [138.0, 139.0], [141.0, 142.0], [144.0, 145.0]], [[150.0, 151.0], [153.0, 154.0], [156.0, 157.0], [159.0, 160.0]], [[165.0, 166.0], [168.0, 169.0], [171.0, 172.0], [174.0, 175.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[90.0, 91.0], [93.0, 94.0], [96.0, 97.0], [99.0, 100.0]], [[105.0, 106.0], [108.0, 109.0],
1541    [111.0, 112.0], [114.0, 115.0]], [[120.0, 121.0], [123.0, 124.0], [126.0, 127.0], [129.0, 130.0]]], [[[135.0, 136.0], [138.0,
1542    139.0], [141.0, 142.0], [144.0, 145.0]], [[150.0, 151.0], [153.0, 154.0], [156.0, 157.0], [159.0, 160.0]], [[165.0, 166.0],
1543    [168.0, 169.0], [171.0, 172.0], [174.0, 175.0]]]]),self.functionspace)
1544        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1545        self.assertEqual(res.getShape(),(2, 3, 4, 2),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 3, 4, 2),"wrong shape of result.")
1546        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1547     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1548     def test_getslice_constData_rank4_PPRL(self):     def test_getslice_constData_rank4_PPRL(self):
1549        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1550    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1551    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1552    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1553    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1554    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1555    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1556    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1557    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1558    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1559    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1560        res=arg[2,1,1:4,2:]        res=arg[2,1,1:4,2:]
1561        ref=Data(numpy.array([[110.0], [113.0], [116.0]]),self.functionspace)        ref=Data(numpy.array([[110.0], [113.0], [116.0]]),self.functionspace)
1562        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1053  class Test_util_slicing_no_tagged_data(T Line 1564  class Test_util_slicing_no_tagged_data(T
1564        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1565     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1566     def test_getslice_constData_rank4_LRUC(self):     def test_getslice_constData_rank4_LRUC(self):
1567        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1568    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1569    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1570    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1571    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1572    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1573    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1574    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1575    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1576    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1577    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1578        res=arg[2:,1:2,:4,:]        res=arg[2:,1:2,:4,:]
1579        ref=Data(numpy.array([[[[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0]]], [[[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0]]],
1580    [[[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0]]]]),self.functionspace)
1581        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1582        self.assertEqual(res.getShape(),(2, 1, 4, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 1, 4, 3),"wrong shape of result.")
1583        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1584     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1585     def test_getslice_constData_rank4_CLLP(self):     def test_getslice_constData_rank4_CLLP(self):
1586        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1587    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1588    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1589    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1590    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1591    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1592    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1593    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1594    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1595    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1596    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1597        res=arg[:,2:,2:,1]        res=arg[:,2:,2:,1]
1598        ref=Data(numpy.array([[[37.0, 40.0, 43.0]], [[82.0, 85.0, 88.0]], [[127.0, 130.0, 133.0]], [[172.0, 175.0, 178.0]]]),self.functionspace)        ref=Data(numpy.array([[[37.0, 40.0, 43.0]], [[82.0, 85.0, 88.0]], [[127.0, 130.0, 133.0]], [[172.0, 175.0,
1599    178.0]]]),self.functionspace)
1600        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1601        self.assertEqual(res.getShape(),(4, 1, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(4, 1, 3),"wrong shape of result.")
1602        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1603     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1604     def test_getslice_constData_rank4_CLPC(self):     def test_getslice_constData_rank4_CLPC(self):
1605        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1606    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1607    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1608    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1609    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1610    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1611    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1612    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1613    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1614    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1615    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1616        res=arg[:,2:,2,:]        res=arg[:,2:,2,:]
1617        ref=Data(numpy.array([[[36.0, 37.0, 38.0]], [[81.0, 82.0, 83.0]], [[126.0, 127.0, 128.0]], [[171.0, 172.0, 173.0]]]),self.functionspace)        ref=Data(numpy.array([[[36.0, 37.0, 38.0]], [[81.0, 82.0, 83.0]], [[126.0, 127.0, 128.0]], [[171.0, 172.0,
1618    173.0]]]),self.functionspace)
1619        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1620        self.assertEqual(res.getShape(),(4, 1, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(4, 1, 3),"wrong shape of result.")
1621        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1622     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1623     def test_getslice_constData_rank4_RRRN(self):     def test_getslice_constData_rank4_RRRN(self):
1624        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1625    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1626    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1627    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1628    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1629    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1630    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1631    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1632    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1633    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1634    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1635        res=arg[1:3,1:2,1:4]        res=arg[1:3,1:2,1:4]
1636        ref=Data(numpy.array([[[[63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0]]], [[[108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0]]], [[[108.0, 109.0, 110.0], [111.0,
1637    112.0, 113.0], [114.0, 115.0, 116.0]]]]),self.functionspace)
1638        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1639        self.assertEqual(res.getShape(),(2, 1, 3, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 1, 3, 3),"wrong shape of result.")
1640        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1641     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1642     def test_getslice_constData_rank4_CPCC(self):     def test_getslice_constData_rank4_CPCC(self):
1643        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1644    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1645    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1646    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1647    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1648    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1649    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1650    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1651    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1652    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1653    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1654        res=arg[:,1,:,:]        res=arg[:,1,:,:]
1655        ref=Data(numpy.array([[[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]]]),self.functionspace)        ref=Data(numpy.array([[[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0,
1656    29.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[105.0, 106.0,
1657    107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[150.0, 151.0, 152.0],
1658    [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]]]),self.functionspace)
1659        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1660        self.assertEqual(res.getShape(),(4, 5, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(4, 5, 3),"wrong shape of result.")
1661        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1662     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1663     def test_getslice_constData_rank4_LUCC(self):     def test_getslice_constData_rank4_LUCC(self):
1664        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1665    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1666    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1667    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1668    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1669    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1670    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1671    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1672    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1673    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1674    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1675        res=arg[2:,:2,:,:]        res=arg[2:,:2,:,:]
1676        ref=Data(numpy.array([[[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1677    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]]],
1678    [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0,
1679    151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0,
1680    164.0]]]]),self.functionspace)
1681        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1682        self.assertEqual(res.getShape(),(2, 2, 5, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 2, 5, 3),"wrong shape of result.")
1683        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1684     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1685     def test_getslice_constData_rank4_PRPP(self):     def test_getslice_constData_rank4_PRPP(self):
1686        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1687    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1688    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1689    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1690    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1691    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1692    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1693    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1694    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1695    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1696    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1697        res=arg[2,1:2,2,1]        res=arg[2,1:2,2,1]
1698        ref=Data(numpy.array([112.0]),self.functionspace)        ref=Data(numpy.array([112.0]),self.functionspace)
1699        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1109  class Test_util_slicing_no_tagged_data(T Line 1701  class Test_util_slicing_no_tagged_data(T
1701        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1702     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1703     def test_getslice_constData_rank4_PRRP(self):     def test_getslice_constData_rank4_PRRP(self):
1704        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1705    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1706    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1707    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1708    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1709    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1710    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1711    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1712    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1713    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1714    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1715        res=arg[2,1:2,1:4,1]        res=arg[2,1:2,1:4,1]
1716        ref=Data(numpy.array([[109.0, 112.0, 115.0]]),self.functionspace)        ref=Data(numpy.array([[109.0, 112.0, 115.0]]),self.functionspace)
1717        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1117  class Test_util_slicing_no_tagged_data(T Line 1719  class Test_util_slicing_no_tagged_data(T
1719        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1720     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1721     def test_getslice_constData_rank4_RCPC(self):     def test_getslice_constData_rank4_RCPC(self):
1722        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1723    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1724    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1725    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1726    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1727    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1728    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1729    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1730    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1731    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1732    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1733        res=arg[1:3,:,2,:]        res=arg[1:3,:,2,:]
1734        ref=Data(numpy.array([[[51.0, 52.0, 53.0], [66.0, 67.0, 68.0], [81.0, 82.0, 83.0]], [[96.0, 97.0, 98.0], [111.0, 112.0, 113.0], [126.0, 127.0, 128.0]]]),self.functionspace)        ref=Data(numpy.array([[[51.0, 52.0, 53.0], [66.0, 67.0, 68.0], [81.0, 82.0, 83.0]], [[96.0, 97.0, 98.0], [111.0, 112.0,
1735    113.0], [126.0, 127.0, 128.0]]]),self.functionspace)
1736        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1737        self.assertEqual(res.getShape(),(2, 3, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 3, 3),"wrong shape of result.")
1738        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1739     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1740     def test_getslice_constData_rank4_LRPL(self):     def test_getslice_constData_rank4_LRPL(self):
1741        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1742    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1743    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1744    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1745    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1746    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1747    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1748    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1749    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1750    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1751    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1752        res=arg[2:,1:2,2,2:]        res=arg[2:,1:2,2,2:]
1753        ref=Data(numpy.array([[[113.0]], [[158.0]]]),self.functionspace)        ref=Data(numpy.array([[[113.0]], [[158.0]]]),self.functionspace)
1754        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1133  class Test_util_slicing_no_tagged_data(T Line 1756  class Test_util_slicing_no_tagged_data(T
1756        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1757     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1758     def test_getslice_constData_rank4_UUUN(self):     def test_getslice_constData_rank4_UUUN(self):
1759        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1760    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1761    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1762    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1763    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1764    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1765    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1766    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1767    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1768    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1769    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1770        res=arg[:3,:2,:4]        res=arg[:3,:2,:4]
1771        ref=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[15.0, 16.0, 17.0],
1772    [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0],
1773    [54.0, 55.0, 56.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0]]], [[[90.0, 91.0, 92.0],
1774    [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0,
1775    113.0], [114.0, 115.0, 116.0]]]]),self.functionspace)
1776        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1777        self.assertEqual(res.getShape(),(3, 2, 4, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(3, 2, 4, 3),"wrong shape of result.")
1778        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1779     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1780     def test_getslice_constData_rank4_URCU(self):     def test_getslice_constData_rank4_URCU(self):
1781        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1782    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1783    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1784    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1785    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1786    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1787    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1788    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1789    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1790    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1791    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1792        res=arg[:3,1:2,:,:2]        res=arg[:3,1:2,:,:2]
1793        ref=Data(numpy.array([[[[15.0, 16.0], [18.0, 19.0], [21.0, 22.0], [24.0, 25.0], [27.0, 28.0]]], [[[60.0, 61.0], [63.0, 64.0], [66.0, 67.0], [69.0, 70.0], [72.0, 73.0]]], [[[105.0, 106.0], [108.0, 109.0], [111.0, 112.0], [114.0, 115.0], [117.0, 118.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[15.0, 16.0], [18.0, 19.0], [21.0, 22.0], [24.0, 25.0], [27.0, 28.0]]], [[[60.0, 61.0], [63.0,
1794    64.0], [66.0, 67.0], [69.0, 70.0], [72.0, 73.0]]], [[[105.0, 106.0], [108.0, 109.0], [111.0, 112.0], [114.0, 115.0], [117.0,
1795    118.0]]]]),self.functionspace)
1796        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1797        self.assertEqual(res.getShape(),(3, 1, 5, 2),"wrong shape of result.")        self.assertEqual(res.getShape(),(3, 1, 5, 2),"wrong shape of result.")
1798        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1799     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1800     def test_getslice_constData_rank4_PPLN(self):     def test_getslice_constData_rank4_PPLN(self):
1801        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1802    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1803    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1804    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1805    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1806    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1807    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1808    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1809    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1810    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1811    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1812        res=arg[2,1,2:]        res=arg[2,1,2:]
1813        ref=Data(numpy.array([[111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]]),self.functionspace)        ref=Data(numpy.array([[111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]]),self.functionspace)
1814        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1157  class Test_util_slicing_no_tagged_data(T Line 1816  class Test_util_slicing_no_tagged_data(T
1816        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1817     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1818     def test_getslice_constData_rank4_LRRL(self):     def test_getslice_constData_rank4_LRRL(self):
1819        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1820    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1821    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1822    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1823    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1824    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1825    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1826    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1827    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1828    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1829    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1830        res=arg[2:,1:2,1:4,2:]        res=arg[2:,1:2,1:4,2:]
1831        ref=Data(numpy.array([[[[110.0], [113.0], [116.0]]], [[[155.0], [158.0], [161.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[110.0], [113.0], [116.0]]], [[[155.0], [158.0], [161.0]]]]),self.functionspace)
1832        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1165  class Test_util_slicing_no_tagged_data(T Line 1834  class Test_util_slicing_no_tagged_data(T
1834        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1835     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1836     def test_getslice_constData_rank4_RRUN(self):     def test_getslice_constData_rank4_RRUN(self):
1837        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1838    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1839    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1840    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1841    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1842    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1843    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1844    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1845    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1846    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1847    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1848        res=arg[1:3,1:2,:4]        res=arg[1:3,1:2,:4]
1849        ref=Data(numpy.array([[[[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0]]], [[[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0]]], [[[105.0,
1850    106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0]]]]),self.functionspace)
1851        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1852        self.assertEqual(res.getShape(),(2, 1, 4, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 1, 4, 3),"wrong shape of result.")
1853        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1854     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1855     def test_getslice_constData_rank4_PLPL(self):     def test_getslice_constData_rank4_PLPL(self):
1856        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1857    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1858    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1859    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1860    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1861    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1862    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1863    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1864    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1865    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1866    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1867        res=arg[2,2:,2,2:]        res=arg[2,2:,2,2:]
1868        ref=Data(numpy.array([[128.0]]),self.functionspace)        ref=Data(numpy.array([[128.0]]),self.functionspace)
1869        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1181  class Test_util_slicing_no_tagged_data(T Line 1871  class Test_util_slicing_no_tagged_data(T
1871        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1872     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1873     def test_getslice_constData_rank4_PCCN(self):     def test_getslice_constData_rank4_PCCN(self):
1874        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1875    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1876    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1877    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1878    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1879    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1880    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1881    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1882    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1883    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1884    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1885        res=arg[2,:,:]        res=arg[2,:,:]
1886        ref=Data(numpy.array([[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]]),self.functionspace)        ref=Data(numpy.array([[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1887    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1888    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0,
1889    134.0]]]),self.functionspace)
1890        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1891        self.assertEqual(res.getShape(),(3, 5, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(3, 5, 3),"wrong shape of result.")
1892        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1893     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1894     def test_getslice_constData_rank4_RRUU(self):     def test_getslice_constData_rank4_RRUU(self):
1895        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1896    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1897    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1898    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1899    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1900    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1901    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1902    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1903    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1904    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1905    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1906        res=arg[1:3,1:2,:4,:2]        res=arg[1:3,1:2,:4,:2]
1907        ref=Data(numpy.array([[[[60.0, 61.0], [63.0, 64.0], [66.0, 67.0], [69.0, 70.0]]], [[[105.0, 106.0], [108.0, 109.0], [111.0, 112.0], [114.0, 115.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[60.0, 61.0], [63.0, 64.0], [66.0, 67.0], [69.0, 70.0]]], [[[105.0, 106.0], [108.0, 109.0],
1908    [111.0, 112.0], [114.0, 115.0]]]]),self.functionspace)
1909        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1910        self.assertEqual(res.getShape(),(2, 1, 4, 2),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 1, 4, 2),"wrong shape of result.")
1911        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1912     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1913     def test_getslice_constData_rank4_RRPR(self):     def test_getslice_constData_rank4_RRPR(self):
1914        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1915    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1916    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1917    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1918    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1919    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1920    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1921    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1922    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1923    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1924    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1925        res=arg[1:3,1:2,2,1:2]        res=arg[1:3,1:2,2,1:2]
1926        ref=Data(numpy.array([[[67.0]], [[112.0]]]),self.functionspace)        ref=Data(numpy.array([[[67.0]], [[112.0]]]),self.functionspace)
1927        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1205  class Test_util_slicing_no_tagged_data(T Line 1929  class Test_util_slicing_no_tagged_data(T
1929        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1930     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1931     def test_getslice_constData_rank4_PUUL(self):     def test_getslice_constData_rank4_PUUL(self):
1932        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1933    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1934    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1935    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1936    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1937    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1938    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1939    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1940    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1941    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1942    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1943        res=arg[2,:2,:4,2:]        res=arg[2,:2,:4,2:]
1944        ref=Data(numpy.array([[[92.0], [95.0], [98.0], [101.0]], [[107.0], [110.0], [113.0], [116.0]]]),self.functionspace)        ref=Data(numpy.array([[[92.0], [95.0], [98.0], [101.0]], [[107.0], [110.0], [113.0], [116.0]]]),self.functionspace)
1945        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1213  class Test_util_slicing_no_tagged_data(T Line 1947  class Test_util_slicing_no_tagged_data(T
1947        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1948     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1949     def test_getslice_constData_rank4_CCUN(self):     def test_getslice_constData_rank4_CCUN(self):
1950        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1951    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1952    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1953    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1954    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1955    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1956    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1957    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1958    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1959    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1960    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1961        res=arg[:,:,:4]        res=arg[:,:,:4]
1962        ref=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[15.0, 16.0, 17.0],
1963    [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0],
1964    [39.0, 40.0, 41.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0]], [[60.0, 61.0, 62.0],
1965    [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0],
1966    [84.0, 85.0, 86.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0]], [[105.0, 106.0,
1967    107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0],
1968    [126.0, 127.0, 128.0], [129.0, 130.0, 131.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0,
1969    145.0, 146.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0]], [[165.0, 166.0,
1970    167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0]]]]),self.functionspace)
1971        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1972        self.assertEqual(res.getShape(),(4, 3, 4, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(4, 3, 4, 3),"wrong shape of result.")
1973        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1974     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1975     def test_getslice_constData_rank4_LRCR(self):     def test_getslice_constData_rank4_LRCR(self):
1976        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1977    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1978    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1979    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1980    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
1981    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
1982    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
1983    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
1984    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
1985    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
1986    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
1987        res=arg[2:,1:2,:,1:2]        res=arg[2:,1:2,:,1:2]
1988        ref=Data(numpy.array([[[[106.0], [109.0], [112.0], [115.0], [118.0]]], [[[151.0], [154.0], [157.0], [160.0], [163.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[106.0], [109.0], [112.0], [115.0], [118.0]]], [[[151.0], [154.0], [157.0], [160.0],
1989    [163.0]]]]),self.functionspace)
1990        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
1991        self.assertEqual(res.getShape(),(2, 1, 5, 1),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 1, 5, 1),"wrong shape of result.")
1992        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
1993     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1994     def test_getslice_constData_rank4_CPUP(self):     def test_getslice_constData_rank4_CPUP(self):
1995        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
1996    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
1997    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
1998    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
1999    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2000    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2001    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2002    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2003    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2004    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2005    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2006        res=arg[:,1,:4,1]        res=arg[:,1,:4,1]
2007        ref=Data(numpy.array([[16.0, 19.0, 22.0, 25.0], [61.0, 64.0, 67.0, 70.0], [106.0, 109.0, 112.0, 115.0], [151.0, 154.0, 157.0, 160.0]]),self.functionspace)        ref=Data(numpy.array([[16.0, 19.0, 22.0, 25.0], [61.0, 64.0, 67.0, 70.0], [106.0, 109.0, 112.0, 115.0], [151.0, 154.0,
2008    157.0, 160.0]]),self.functionspace)
2009        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
2010        self.assertEqual(res.getShape(),(4, 4),"wrong shape of result.")        self.assertEqual(res.getShape(),(4, 4),"wrong shape of result.")
2011        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2012     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2013     def test_getslice_constData_rank4_RPPN(self):     def test_getslice_constData_rank4_RPPN(self):
2014        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2015    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2016    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2017    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2018    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2019    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2020    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2021    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2022    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2023    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2024    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2025        res=arg[1:3,1,2]        res=arg[1:3,1,2]
2026        ref=Data(numpy.array([[66.0, 67.0, 68.0], [111.0, 112.0, 113.0]]),self.functionspace)        ref=Data(numpy.array([[66.0, 67.0, 68.0], [111.0, 112.0, 113.0]]),self.functionspace)
2027        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1245  class Test_util_slicing_no_tagged_data(T Line 2029  class Test_util_slicing_no_tagged_data(T
2029        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2030     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2031     def test_getslice_constData_rank4_CLLC(self):     def test_getslice_constData_rank4_CLLC(self):
2032        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2033    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2034    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2035    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2036    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2037    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2038    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2039    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2040    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2041    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2042    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2043        res=arg[:,2:,2:,:]        res=arg[:,2:,2:,:]
2044        ref=Data(numpy.array([[[[36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[81.0, 82.0, 83.0], [84.0, 85.0,
2045    86.0], [87.0, 88.0, 89.0]]], [[[126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[171.0, 172.0, 173.0],
2046    [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2047        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
2048        self.assertEqual(res.getShape(),(4, 1, 3, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(4, 1, 3, 3),"wrong shape of result.")
2049        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2050     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2051     def test_getslice_constData_rank4_PLPN(self):     def test_getslice_constData_rank4_PLPN(self):
2052        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2053    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2054    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2055    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2056    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2057    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2058    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2059    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2060    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2061    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2062    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2063        res=arg[2,2:,2]        res=arg[2,2:,2]
2064        ref=Data(numpy.array([[126.0, 127.0, 128.0]]),self.functionspace)        ref=Data(numpy.array([[126.0, 127.0, 128.0]]),self.functionspace)
2065        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1261  class Test_util_slicing_no_tagged_data(T Line 2067  class Test_util_slicing_no_tagged_data(T
2067        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2068     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2069     def test_getslice_constData_rank4_LUPN(self):     def test_getslice_constData_rank4_LUPN(self):
2070        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2071    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2072    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2073    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2074    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2075    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2076    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2077    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2078    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2079    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2080    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2081        res=arg[2:,:2,2]        res=arg[2:,:2,2]
2082        ref=Data(numpy.array([[[96.0, 97.0, 98.0], [111.0, 112.0, 113.0]], [[141.0, 142.0, 143.0], [156.0, 157.0, 158.0]]]),self.functionspace)        ref=Data(numpy.array([[[96.0, 97.0, 98.0], [111.0, 112.0, 113.0]], [[141.0, 142.0, 143.0], [156.0, 157.0,
2083    158.0]]]),self.functionspace)
2084        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
2085        self.assertEqual(res.getShape(),(2, 2, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 2, 3),"wrong shape of result.")
2086        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2087     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2088     def test_getslice_constData_rank4_RULL(self):     def test_getslice_constData_rank4_RULL(self):
2089        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2090    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2091    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2092    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2093    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2094    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2095    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2096    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2097    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2098    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2099    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2100        res=arg[1:3,:2,2:,2:]        res=arg[1:3,:2,2:,2:]
2101        ref=Data(numpy.array([[[[53.0], [56.0], [59.0]], [[68.0], [71.0], [74.0]]], [[[98.0], [101.0], [104.0]], [[113.0], [116.0], [119.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[53.0], [56.0], [59.0]], [[68.0], [71.0], [74.0]]], [[[98.0], [101.0], [104.0]], [[113.0],
2102    [116.0], [119.0]]]]),self.functionspace)
2103        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
2104        self.assertEqual(res.getShape(),(2, 2, 3, 1),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 2, 3, 1),"wrong shape of result.")
2105        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2106     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2107     def test_getslice_constData_rank4_CCLN(self):     def test_getslice_constData_rank4_CCLN(self):
2108        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2109    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2110    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2111    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2112    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2113    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2114    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2115    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2116    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2117    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2118    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2119        res=arg[:,:,2:]        res=arg[:,:,2:]
2120        ref=Data(numpy.array([[[[6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[21.0, 22.0, 23.0], [24.0, 25.0, 26.0],
2121    [27.0, 28.0, 29.0]], [[36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[51.0, 52.0, 53.0], [54.0, 55.0, 56.0],
2122    [57.0, 58.0, 59.0]], [[66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2123    [87.0, 88.0, 89.0]]], [[[96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[111.0, 112.0, 113.0], [114.0,
2124    115.0, 116.0], [117.0, 118.0, 119.0]], [[126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[141.0, 142.0,
2125    143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]],
2126    [[171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2127        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
2128        self.assertEqual(res.getShape(),(4, 3, 3, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(4, 3, 3, 3),"wrong shape of result.")
2129        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2130     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2131     def test_getslice_constData_rank4_RCPP(self):     def test_getslice_constData_rank4_RCPP(self):
2132        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2133    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2134    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2135    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2136    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2137    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2138    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2139    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2140    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2141    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2142    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2143        res=arg[1:3,:,2,1]        res=arg[1:3,:,2,1]
2144        ref=Data(numpy.array([[52.0, 67.0, 82.0], [97.0, 112.0, 127.0]]),self.functionspace)        ref=Data(numpy.array([[52.0, 67.0, 82.0], [97.0, 112.0, 127.0]]),self.functionspace)
2145        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1293  class Test_util_slicing_no_tagged_data(T Line 2147  class Test_util_slicing_no_tagged_data(T
2147        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2148     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2149     def test_getslice_constData_rank4_CCRN(self):     def test_getslice_constData_rank4_CCRN(self):
2150        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2151    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2152    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2153    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2154    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2155    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2156    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2157    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2158    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2159    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2160    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2161        res=arg[:,:,1:4]        res=arg[:,:,1:4]
2162        ref=Data(numpy.array([[[[3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0]], [[33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0]]], [[[48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0]], [[63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0]], [[78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0]]], [[[93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0]], [[108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0]], [[123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0]]], [[[138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0]], [[153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0]], [[168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], [[18.0, 19.0, 20.0], [21.0, 22.0, 23.0],
2163    [24.0, 25.0, 26.0]], [[33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0]]], [[[48.0, 49.0, 50.0], [51.0, 52.0, 53.0],
2164    [54.0, 55.0, 56.0]], [[63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0]], [[78.0, 79.0, 80.0], [81.0, 82.0, 83.0],
2165    [84.0, 85.0, 86.0]]], [[[93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0]], [[108.0, 109.0, 110.0], [111.0, 112.0,
2166    113.0], [114.0, 115.0, 116.0]], [[123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0]]], [[[138.0, 139.0,
2167    140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0]], [[153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0]],
2168    [[168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0]]]]),self.functionspace)
2169        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
2170        self.assertEqual(res.getShape(),(4, 3, 3, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(4, 3, 3, 3),"wrong shape of result.")
2171        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2172     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2173     def test_getslice_constData_rank4_PLPC(self):     def test_getslice_constData_rank4_PLPC(self):
2174        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2175    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2176    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2177    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2178    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2179    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2180    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2181    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2182    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2183    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2184    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2185        res=arg[2,2:,2,:]        res=arg[2,2:,2,:]
2186        ref=Data(numpy.array([[126.0, 127.0, 128.0]]),self.functionspace)        ref=Data(numpy.array([[126.0, 127.0, 128.0]]),self.functionspace)
2187        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1309  class Test_util_slicing_no_tagged_data(T Line 2189  class Test_util_slicing_no_tagged_data(T
2189        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2190     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2191     def test_getslice_constData_rank4_LRPN(self):     def test_getslice_constData_rank4_LRPN(self):
2192        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2193    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2194    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2195    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2196    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2197    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2198    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2199    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2200    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2201    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2202    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2203        res=arg[2:,1:2,2]        res=arg[2:,1:2,2]
2204        ref=Data(numpy.array([[[111.0, 112.0, 113.0]], [[156.0, 157.0, 158.0]]]),self.functionspace)        ref=Data(numpy.array([[[111.0, 112.0, 113.0]], [[156.0, 157.0, 158.0]]]),self.functionspace)
2205        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1317  class Test_util_slicing_no_tagged_data(T Line 2207  class Test_util_slicing_no_tagged_data(T
2207        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2208     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2209     def test_getslice_constData_rank4_PPUN(self):     def test_getslice_constData_rank4_PPUN(self):
2210        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2211    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2212    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2213    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2214    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2215    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2216    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2217    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2218    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2219    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2220    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2221        res=arg[2,1,:4]        res=arg[2,1,:4]
2222        ref=Data(numpy.array([[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0]]),self.functionspace)        ref=Data(numpy.array([[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0,
2223    116.0]]),self.functionspace)
2224        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
2225        self.assertEqual(res.getShape(),(4, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(4, 3),"wrong shape of result.")
2226        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2227     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2228     def test_getslice_constData_rank4_UPCN(self):     def test_getslice_constData_rank4_UPCN(self):
2229        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2230    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2231    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2232    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2233    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2234    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2235    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2236    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2237    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2238    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2239    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2240        res=arg[:3,1,:]        res=arg[:3,1,:]
2241        ref=Data(numpy.array([[[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]]]),self.functionspace)        ref=Data(numpy.array([[[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0,
2242    29.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[105.0, 106.0,
2243    107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]]]),self.functionspace)
2244        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
2245        self.assertEqual(res.getShape(),(3, 5, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(3, 5, 3),"wrong shape of result.")
2246        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2247     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2248     def test_getslice_constData_rank4_LRRR(self):     def test_getslice_constData_rank4_LRRR(self):
2249        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2250    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2251    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2252    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2253    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2254    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2255    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2256    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2257    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2258    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2259    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2260        res=arg[2:,1:2,1:4,1:2]        res=arg[2:,1:2,1:4,1:2]
2261        ref=Data(numpy.array([[[[109.0], [112.0], [115.0]]], [[[154.0], [157.0], [160.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[109.0], [112.0], [115.0]]], [[[154.0], [157.0], [160.0]]]]),self.functionspace)
2262        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1341  class Test_util_slicing_no_tagged_data(T Line 2264  class Test_util_slicing_no_tagged_data(T
2264        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2265     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2266     def test_getslice_constData_rank4_LULU(self):     def test_getslice_constData_rank4_LULU(self):
2267        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2268    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2269    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2270    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2271    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2272    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2273    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2274    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2275    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2276    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2277    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2278        res=arg[2:,:2,2:,:2]        res=arg[2:,:2,2:,:2]
2279        ref=Data(numpy.array([[[[96.0, 97.0], [99.0, 100.0], [102.0, 103.0]], [[111.0, 112.0], [114.0, 115.0], [117.0, 118.0]]], [[[141.0, 142.0], [144.0, 145.0], [147.0, 148.0]], [[156.0, 157.0], [159.0, 160.0], [162.0, 163.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[96.0, 97.0], [99.0, 100.0], [102.0, 103.0]], [[111.0, 112.0], [114.0, 115.0], [117.0, 118.0]]],
2280    [[[141.0, 142.0], [144.0, 145.0], [147.0, 148.0]], [[156.0, 157.0], [159.0, 160.0], [162.0, 163.0]]]]),self.functionspace)
2281        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
2282        self.assertEqual(res.getShape(),(2, 2, 3, 2),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 2, 3, 2),"wrong shape of result.")
2283        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2284     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2285     def test_getslice_constData_rank4_LLPN(self):     def test_getslice_constData_rank4_LLPN(self):
2286        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2287    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2288    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2289    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2290    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2291    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2292    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2293    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2294    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2295    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2296    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2297        res=arg[2:,2:,2]        res=arg[2:,2:,2]
2298        ref=Data(numpy.array([[[126.0, 127.0, 128.0]], [[171.0, 172.0, 173.0]]]),self.functionspace)        ref=Data(numpy.array([[[126.0, 127.0, 128.0]], [[171.0, 172.0, 173.0]]]),self.functionspace)
2299        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
# Line 1357  class Test_util_slicing_no_tagged_data(T Line 2301  class Test_util_slicing_no_tagged_data(T
2301        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2302     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2303     def test_getslice_constData_rank4_RCCR(self):     def test_getslice_constData_rank4_RCCR(self):
2304        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2305    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2306    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2307    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2308    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2309    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2310    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2311    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2312    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2313    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2314    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2315        res=arg[1:3,:,:,1:2]        res=arg[1:3,:,:,1:2]
2316        ref=Data(numpy.array([[[[46.0], [49.0], [52.0], [55.0], [58.0]], [[61.0], [64.0], [67.0], [70.0], [73.0]], [[76.0], [79.0], [82.0], [85.0], [88.0]]], [[[91.0], [94.0], [97.0], [100.0], [103.0]], [[106.0], [109.0], [112.0], [115.0], [118.0]], [[121.0], [124.0], [127.0], [130.0], [133.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[46.0], [49.0], [52.0], [55.0], [58.0]], [[61.0], [64.0], [67.0], [70.0], [73.0]], [[76.0],
2317    [79.0], [82.0], [85.0], [88.0]]], [[[91.0], [94.0], [97.0], [100.0], [103.0]], [[106.0], [109.0], [112.0], [115.0], [118.0]],
2318    [[121.0], [124.0], [127.0], [130.0], [133.0]]]]),self.functionspace)
2319        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
2320        self.assertEqual(res.getShape(),(2, 3, 5, 1),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 3, 5, 1),"wrong shape of result.")
2321        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2322     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2323     def test_getslice_constData_rank4_LCRN(self):     def test_getslice_constData_rank4_LCRN(self):
2324        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2325    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2326    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2327    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2328    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2329    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2330    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2331    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2332    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2333    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2334    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2335        res=arg[2:,:,1:4]        res=arg[2:,:,1:4]
2336        ref=Data(numpy.array([[[[93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0]], [[108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0]], [[123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0]]], [[[138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0]], [[153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0]], [[168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0]]]]),self.functionspace)        ref=Data(numpy.array([[[[93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0]], [[108.0, 109.0, 110.0], [111.0,
2337    112.0, 113.0], [114.0, 115.0, 116.0]], [[123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0]]], [[[138.0, 139.0,
2338    140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0]], [[153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0]],
2339    [[168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0]]]]),self.functionspace)
2340        self.assertTrue(isinstance(res,Data),"wrong type of result.")        self.assertTrue(isinstance(res,Data),"wrong type of result.")
2341        self.assertEqual(res.getShape(),(2, 3, 3, 3),"wrong shape of result.")        self.assertEqual(res.getShape(),(2, 3, 3, 3),"wrong shape of result.")
2342        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
2343     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2344     def test_getslice_constData_rank4_CCCC(self):     def test_getslice_constData_rank4_CCCC(self):
2345        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0], [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)        arg=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]],
2346    [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0],
2347    [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0],
2348    [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0],
2349    [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0],
2350    [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0,
2351    104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]],
2352    [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0,
2353    136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0,
2354    152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],
2355    [168.0, 169.0, 170.0], [171.0, 172.0, 173.0], [174.0, 175.0, 176.0], [177.0, 178.0, 179.0]]]]),self.functionspace)
2356        res=arg[:,:,:,:]        res=arg[:,:,:,:]
2357        ref=Data(numpy.array([[[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], [12.0, 13.0, 14.0]], [[15.0, 16.0, 17.0], [18.0, 19.0, 20.0], [21.0, 22.0, 23.0], [24.0, 25.0, 26.0], [27.0, 28.0, 29.0]], [[30.0, 31.0, 32.0], [33.0, 34.0, 35.0], [36.0, 37.0, 38.0], [39.0, 40.0, 41.0], [42.0, 43.0, 44.0]]], [[[45.0, 46.0, 47.0], [48.0, 49.0, 50.0], [51.0, 52.0, 53.0], [54.0, 55.0, 56.0], [57.0, 58.0, 59.0]], [[60.0, 61.0, 62.0], [63.0, 64.0, 65.0], [66.0, 67.0, 68.0], [69.0, 70.0, 71.0], [72.0, 73.0, 74.0]], [[75.0, 76.0, 77.0], [78.0, 79.0, 80.0], [81.0, 82.0, 83.0], [84.0, 85.0, 86.0], [87.0, 88.0, 89.0]]], [[[90.0, 91.0, 92.0], [93.0, 94.0, 95.0], [96.0, 97.0, 98.0], [99.0, 100.0, 101.0], [102.0, 103.0, 104.0]], [[105.0, 106.0, 107.0], [108.0, 109.0, 110.0], [111.0, 112.0, 113.0], [114.0, 115.0, 116.0], [117.0, 118.0, 119.0]], [[120.0, 121.0, 122.0], [123.0, 124.0, 125.0], [126.0, 127.0, 128.0], [129.0, 130.0, 131.0], [132.0, 133.0, 134.0]]], [[[135.0, 136.0, 137.0], [138.0, 139.0, 140.0], [141.0, 142.0, 143.0], [144.0, 145.0, 146.0], [147.0, 148.0, 149.0]], [[150.0, 151.0, 152.0], [153.0, 154.0, 155.0], [156.0, 157.0, 158.0], [159.0, 160.0, 161.0], [162.0, 163.0, 164.0]], [[165.0, 166.0, 167.0],