Salome HOME
Fix computation height of isocel triangle with base equal zero : NaN
[tools/medcoupling.git] / src / MEDCoupling_Swig / MEDCouplingBasicsTest4.py
index 5bb897cea8e94dd98c244a62f4e10488c445a75b..47b27dafb7bb0c2af538d8bd029644b03c1a5b0f 100644 (file)
@@ -1,5 +1,5 @@
 #  -*- coding: utf-8 -*-
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2023  CEA, EDF
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
-from MEDCoupling import *
+
+import sys
+from medcoupling import *
 import unittest
 from math import pi,e,sqrt,cos,sin
 from datetime import datetime
 from MEDCouplingDataForTest import MEDCouplingDataForTest
-import rlcompleter,readline # this line has to be here, to ensure a usability of MEDCoupling/MEDLoader. B4 removing it please notify to anthony.geay@cea.fr
+import rlcompleter,readline # this line has to be here, to ensure a usability of MEDCoupling/MEDLoader. B4 removing it please notify to anthony.geay@edf.fr
 from sys import platform
 
 def checkFreeMemory(size):
@@ -50,17 +52,17 @@ def checkFreeMemory(size):
 
 class MEDCouplingBasicsTest4(unittest.TestCase):
     def testSwigDADOp4(self):
-        da=DataArrayDouble.New(range(6,30),12,2)
+        da = DataArrayDouble.New(list(range(6, 30)), 12, 2)
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(da.getIJ(0,i),float(i+6),13)
             pass
         # operator transpose
         da.transpose()
         self.assertEqual(2,da.getNumberOfTuples());
         self.assertEqual(12,da.getNumberOfComponents());
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(da.getIJ(0,i),float(i+6),13)
             pass
         da.transpose()
@@ -68,13 +70,13 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         da2=DataArrayDouble.New(12,1)
         da2.iota(0.)
         dabis=-da
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(dabis.getIJ(0,i),-float(i+6),13)
             pass
         # operator+=
         da+=da2
         expected1=[6.,7.,9.,10.,12.,13.,15.,16.,18.,19.,21.,22.,24.,25.,27.,28.,30.,31.,33.,34.,36.,37.,39.,40.]
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(da.getIJ(0,i),expected1[i],13)
             pass
         da=-dabis
@@ -82,7 +84,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         expected2=[106.,108.,108.,110.,110.,112.,112.,114.,114.,116.,116.,118.,118.,120.,120.,122.,122.,124.,124.,126.,126.,128.,128.,130.]
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(da.getIJ(0,i),expected2[i],13)
             pass
         for pos,elt in enumerate(dabis):
@@ -95,12 +97,12 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
             self.assertAlmostEqual(li[0],100.,13) ; self.assertAlmostEqual(li[1],101.,13)
             pass
         # operator-=
-        da=DataArrayDouble.New(range(6,30),12,2)
-        da2=DataArrayDouble.New(range(12),12,1)
+        da = DataArrayDouble.New(list(range(6, 30)), 12, 2)
+        da2 = DataArrayDouble.New(list(range(12)), 12, 1)
         dabis=-da
         da-=da2
         expected1=[6.,7.,7.,8.,8.,9.,9.,10.,10.,11.,11.,12.,12.,13.,13.,14.,14.,15.,15.,16.,16.,17.,17.,18.]
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(da.getIJ(0,i),expected1[i],13)
             pass
         da=-dabis
@@ -108,7 +110,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         expected2=[-94.,-94.,-92.,-92.,-90.,-90.,-88.,-88.,-86.,-86.,-84.,-84.,-82.,-82.,-80.,-80.,-78.,-78.,-76.,-76.,-74.,-74.,-72.,-72.]
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(da.getIJ(0,i),expected2[i],13)
             pass
         for pos,elt in enumerate(dabis):
@@ -117,16 +119,16 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
         expected3=[-88.,-87.,-84.,-83.,-80.,-79.,-76.,-75.,-72.,-71.,-68.,-67.,-64.,-63.,-60.,-59.,-56.,-55.,-52.,-51.,-48.,-47.,-44.,-43.]
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(da.getIJ(0,i),expected3[i],13)
             pass
         # operator*=
-        da=DataArrayDouble.New(range(6,30),12,2)
-        da2=DataArrayDouble.New(range(12),12,1)
+        da = DataArrayDouble.New(list(range(6, 30)), 12, 2)
+        da2 = DataArrayDouble.New(list(range(12)), 12, 1)
         dabis=-da
         da*=da2
         expected1=[0.,0.,8.,9.,20.,22.,36.,39.,56.,60.,80.,85.,108.,114.,140.,147.,176.,184.,216.,225.,260.,270.,308.,319.]
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(da.getIJ(0,i),expected1[i],13)
             pass
         da=-dabis
@@ -134,7 +136,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         expected2=[600.,707.,800.,909.,1000.,1111.,1200.,1313.,1400.,1515.,1600.,1717.,1800.,1919.,2000.,2121.,2200.,2323.,2400.,2525.,2600.,2727.,2800.,2929.]
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(da.getIJ(0,i),expected2[i],13)
             pass
         for pos,elt in enumerate(dabis):
@@ -143,16 +145,16 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
         expected3=[-3600.,-4949.,-6400.,-8181.,-10000.,-12221.,-14400.,-17069.,-19600.,-22725.,-25600.,-29189.,-32400.,-36461.,-40000.,-44541.,-48400.,-53429.,-57600.,-63125.,-67600.,-73629.,-78400.,-84941.0]
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(da.getIJ(0,i),expected3[i],13)
             pass
         # operator/=
-        da=DataArrayDouble.New(range(6,30),12,2)
-        da2=DataArrayDouble.New(range(1,13),12,1)
+        da = DataArrayDouble.New(list(range(6, 30)), 12, 2)
+        da2 = DataArrayDouble.New(list(range(1, 13)), 12, 1)
         dabis=-da
         da/=da2
         expected1=[6.0,7.0,4.0,4.5,3.3333333333333335,3.6666666666666665,3.0,3.25,2.8,3.0,2.6666666666666665,2.8333333333333335,2.5714285714285716,2.7142857142857144,2.5,2.625,2.4444444444444446,2.5555555555555554,2.4,2.5,2.3636363636363638,2.4545454545454546,2.3333333333333335,2.4166666666666665]
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(da.getIJ(0,i),expected1[i],13)
             pass
         da=-dabis
@@ -160,7 +162,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         expected2=[0.06,0.06930693069306931,0.08,0.0891089108910891,0.1,0.10891089108910891,0.12,0.12871287128712872,0.14,0.1485148514851485,0.16,0.16831683168316833,0.18,0.18811881188118812,0.2,0.2079207920792079,0.22,0.22772277227722773,0.24,0.24752475247524752,0.26,0.26732673267326734,0.28,0.2871287128712871]
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(da.getIJ(0,i),expected2[i],13)
             pass
         for pos,elt in enumerate(dabis):
@@ -169,23 +171,23 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
         expected3=[-0.01, -0.009900990099009901, -0.01, -0.009900990099009901, -0.01, -0.009900990099009901, -0.01, -0.009900990099009901, -0.01, -0.009900990099009901, -0.01, -0.009900990099009901, -0.01, -0.009900990099009901, -0.01, -0.009900990099009901, -0.01, -0.009900990099009901, -0.01, -0.009900990099009901, -0.01, -0.009900990099009901, -0.01, -0.0099009900990099]
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(da.getIJ(0,i),expected3[i],13)
             pass
         pass
 
     def testSwigDAIOp4(self):
-        da=DataArrayInt.New(range(6,30),12,2)
+        da = DataArrayInt.New(list(range(6, 30)), 12, 2)
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
-        for i in xrange(24):
+        for i in range(24):
             self.assertEqual(da.getIJ(0,i),i+6)
             pass
         # operator transpose
         da.transpose()
         self.assertEqual(2,da.getNumberOfTuples());
         self.assertEqual(12,da.getNumberOfComponents());
-        for i in xrange(24):
+        for i in range(24):
             self.assertEqual(da.getIJ(0,i),i+6)
             pass
         da.transpose()
@@ -193,13 +195,13 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         da2=DataArrayInt.New(12,1)
         da2.iota(0)
         dabis=-da
-        for i in xrange(24):
+        for i in range(24):
             self.assertEqual(dabis.getIJ(0,i),-(i+6))
             pass
         # operator+=
         da+=da2
         expected1=[6,7,9,10,12,13,15,16,18,19,21,22,24,25,27,28,30,31,33,34,36,37,39,40]
-        for i in xrange(24):
+        for i in range(24):
             self.assertEqual(da.getIJ(0,i),expected1[i])
             pass
         da=-dabis
@@ -207,7 +209,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         expected2=[106,108,108,110,110,112,112,114,114,116,116,118,118,120,120,122,122,124,124,126,126,128,128,130]
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
-        for i in xrange(24):
+        for i in range(24):
             self.assertEqual(da.getIJ(0,i),expected2[i])
             pass
         for pos,elt in enumerate(dabis):
@@ -220,12 +222,12 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
             self.assertEqual(li[0],100) ; self.assertEqual(li[1],101)
             pass
         # operator-=
-        da=DataArrayInt.New(range(6,30),12,2)
-        da2=DataArrayInt.New(range(12),12,1)
+        da = DataArrayInt.New(list(range(6, 30)), 12, 2)
+        da2 = DataArrayInt.New(list(range(12)), 12, 1)
         dabis=-da
         da-=da2
         expected1=[6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18]
-        for i in xrange(24):
+        for i in range(24):
             self.assertEqual(da.getIJ(0,i),expected1[i])
             pass
         da=-dabis
@@ -233,7 +235,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         expected2=[-94,-94,-92,-92,-90,-90,-88,-88,-86,-86,-84,-84,-82,-82,-80,-80,-78,-78,-76,-76,-74,-74,-72,-72]
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
-        for i in xrange(24):
+        for i in range(24):
             self.assertEqual(da.getIJ(0,i),expected2[i])
             pass
         for pos,elt in enumerate(dabis):
@@ -242,16 +244,16 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
         expected3=[-88,-87,-84,-83,-80,-79,-76,-75,-72,-71,-68,-67,-64,-63,-60,-59,-56,-55,-52,-51,-48,-47,-44,-43]
-        for i in xrange(24):
+        for i in range(24):
             self.assertEqual(da.getIJ(0,i),expected3[i])
             pass
         # operator*=
-        da=DataArrayInt.New(range(6,30),12,2)
-        da2=DataArrayInt.New(range(12),12,1)
+        da = DataArrayInt.New(list(range(6, 30)), 12, 2)
+        da2 = DataArrayInt.New(list(range(12)), 12, 1)
         dabis=-da
         da*=da2
         expected1=[0,0,8,9,20,22,36,39,56,60,80,85,108,114,140,147,176,184,216,225,260,270,308,319]
-        for i in xrange(24):
+        for i in range(24):
             self.assertEqual(da.getIJ(0,i),expected1[i])
             pass
         da=-dabis
@@ -259,7 +261,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         expected2=[600,707,800,909,1000,1111,1200,1313,1400,1515,1600,1717,1800,1919,2000,2121,2200,2323,2400,2525,2600,2727,2800,2929]
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
-        for i in xrange(24):
+        for i in range(24):
             self.assertEqual(da.getIJ(0,i),expected2[i])
             pass
         for pos,elt in enumerate(dabis):
@@ -268,16 +270,16 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
         expected3=[-3600,-4949,-6400,-8181,-10000,-12221,-14400,-17069,-19600,-22725,-25600,-29189,-32400,-36461,-40000,-44541,-48400,-53429,-57600,-63125,-67600,-73629,-78400,-84941.0]
-        for i in xrange(24):
+        for i in range(24):
             self.assertEqual(da.getIJ(0,i),expected3[i])
             pass
         # operator/=
-        da=DataArrayInt.New(range(6,30),12,2)
-        da2=DataArrayInt.New(range(1,13),12,1)
+        da = DataArrayInt.New(list(range(6, 30)), 12, 2)
+        da2 = DataArrayInt.New(list(range(1, 13)), 12, 1)
         dabis=-da
         da/=da2
         expected1=[6,7,4,4,3,3,3,3,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2]
-        for i in xrange(24):
+        for i in range(24):
             self.assertEqual(da.getIJ(0,i),expected1[i])
             pass
         da=-dabis
@@ -285,7 +287,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
         expected2=[3,2,4,3,5,3,6,4,7,5,8,5,9,6,10,7,11,7,12,8,13,9,14,9]
-        for i in xrange(24):
+        for i in range(24):
             self.assertEqual(da.getIJ(0,i),expected2[i])
             pass
         pass
@@ -300,13 +302,13 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         self.assertEqual(4,da3.getNumberOfTuples());
         self.assertEqual(3,da3.getNumberOfComponents());
         expected1=[10.,11.,12.,16.,17.,14.,17.,8.,13.,21.,20.,22.]
-        for i in xrange(12):
+        for i in range(12):
             self.assertAlmostEqual(da3.getIJ(0,i),expected1[i],13)
             pass
         da3=da2+da
         self.assertEqual(4,da3.getNumberOfTuples());
         self.assertEqual(3,da3.getNumberOfComponents());
-        for i in xrange(12):
+        for i in range(12):
             self.assertAlmostEqual(da3.getIJ(0,i),expected1[i],13)
             pass
         # Test new API of classmethod DataArrayDouble.New
@@ -314,31 +316,31 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         da=DataArrayDouble.New(vals)
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(1,da.getNumberOfComponents());
-        for i in xrange(12):
+        for i in range(12):
             self.assertAlmostEqual(da.getIJ(0,i),vals[i],13)
             pass
         da=DataArrayDouble.New(vals,12)
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(1,da.getNumberOfComponents());
-        for i in xrange(12):
+        for i in range(12):
             self.assertAlmostEqual(da.getIJ(0,i),vals[i],13)
             pass
         da=DataArrayDouble.New(vals,1,12)
         self.assertEqual(1,da.getNumberOfTuples());
         self.assertEqual(12,da.getNumberOfComponents());
-        for i in xrange(12):
+        for i in range(12):
             self.assertAlmostEqual(da.getIJ(0,i),vals[i],13)
             pass
         da=DataArrayDouble.New(vals,6,2)
         self.assertEqual(6,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
-        for i in xrange(12):
+        for i in range(12):
             self.assertAlmostEqual(da.getIJ(0,i),vals[i],13)
             pass
         da=DataArrayDouble.New(vals,4,3)
         self.assertEqual(4,da.getNumberOfTuples());
         self.assertEqual(3,da.getNumberOfComponents());
-        for i in xrange(12):
+        for i in range(12):
             self.assertAlmostEqual(da.getIJ(0,i),vals[i],13)
             pass
         self.assertRaises(InterpKernelException,DataArrayDouble.New,vals,11);
@@ -357,13 +359,13 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         self.assertEqual(4,da3.getNumberOfTuples());
         self.assertEqual(3,da3.getNumberOfComponents());
         expected1=[10,11,12,16,17,14,17,8,13,21,20,22]
-        for i in xrange(12):
+        for i in range(12):
             self.assertEqual(da3.getIJ(0,i),expected1[i])
             pass
         da3=da2+da
         self.assertEqual(4,da3.getNumberOfTuples());
         self.assertEqual(3,da3.getNumberOfComponents());
-        for i in xrange(12):
+        for i in range(12):
             self.assertEqual(da3.getIJ(0,i),expected1[i])
             pass
         da3=da+DataArrayInt.New(da2.getValues())
@@ -372,31 +374,31 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         da=DataArrayDouble.New(vals)
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(1,da.getNumberOfComponents());
-        for i in xrange(12):
+        for i in range(12):
             self.assertEqual(da.getIJ(0,i),vals[i])
             pass
         da=DataArrayDouble.New(vals,12)
         self.assertEqual(12,da.getNumberOfTuples());
         self.assertEqual(1,da.getNumberOfComponents());
-        for i in xrange(12):
+        for i in range(12):
             self.assertEqual(da.getIJ(0,i),vals[i])
             pass
         da=DataArrayDouble.New(vals,1,12)
         self.assertEqual(1,da.getNumberOfTuples());
         self.assertEqual(12,da.getNumberOfComponents());
-        for i in xrange(12):
+        for i in range(12):
             self.assertEqual(da.getIJ(0,i),vals[i])
             pass
         da=DataArrayDouble.New(vals,6,2)
         self.assertEqual(6,da.getNumberOfTuples());
         self.assertEqual(2,da.getNumberOfComponents());
-        for i in xrange(12):
+        for i in range(12):
             self.assertEqual(da.getIJ(0,i),vals[i])
             pass
         da=DataArrayDouble.New(vals,4,3)
         self.assertEqual(4,da.getNumberOfTuples());
         self.assertEqual(3,da.getNumberOfComponents());
-        for i in xrange(12):
+        for i in range(12):
             self.assertEqual(da.getIJ(0,i),vals[i])
             pass
         self.assertRaises(InterpKernelException,DataArrayDouble.New,vals,11);
@@ -502,7 +504,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         self.assertEqual(8,da2.getNumberOfTuples());
         self.assertEqual(1,da2.getNumberOfComponents());
         expected1=[8,11,12,9,4,5,6,7]
-        for i in xrange(8):
+        for i in range(8):
             self.assertEqual(expected1[i],da2.getIJ(i,0));
             pass
         #
@@ -510,7 +512,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         self.assertTrue(da1==None);
         self.assertEqual(9,da2.getNumberOfTuples());
         self.assertEqual(1,da2.getNumberOfComponents());
-        for i in xrange(9):
+        for i in range(9):
             self.assertEqual(8+i,da2.getIJ(i,0));
             pass
         #
@@ -533,7 +535,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         self.assertEqual(expected2,mesh3D_4.getNodalConnectivity().getValues());
         self.assertEqual(expected3,mesh2D_4.getNodalConnectivity().getValues());
         self.assertEqual(expected4,mesh2D_5.getNodalConnectivity().getValues());
-        for i in xrange(78):
+        for i in range(78):
             self.assertAlmostEqual(expected5[i],mesh3D_4.getCoords().getIJ(0,i),12);
             pass
         #
@@ -555,7 +557,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         self.assertEqual(expected6,mesh3D_4.getNodalConnectivity().getValues());
         self.assertEqual(expected7,mesh2D_4.getNodalConnectivity().getValues());
         self.assertEqual(expected8,mesh2D_5.getNodalConnectivity().getValues());
-        for i in xrange(57):
+        for i in range(57):
             self.assertAlmostEqual(expected9[i],mesh3D_4.getCoords().getIJ(0,i),12);
             pass
         #
@@ -754,45 +756,45 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         res=d1.getMinMaxPerComponent();
         self.assertTrue(isinstance(res,list))
         self.assertEqual(3,len(res))
-        for i in xrange(3):
+        for i in range(3):
             self.assertTrue(isinstance(res[i],tuple))
             self.assertEqual(2,len(res[i]))
             pass
         expected1=[-0.9,1.3,1.7,2.1,3.,3.]
-        for i in xrange(6):
-            self.assertAlmostEqual(expected1[i],res[i/2][i%2],14)
+        for i in range(6):
+            self.assertAlmostEqual(expected1[i], res[i // 2][i % 2], 14)
             pass
         #
         d1.rearrange(2);
         res=d1.getMinMaxPerComponent();
         self.assertTrue(isinstance(res,list))
         self.assertEqual(2,len(res))
-        for i in xrange(2):
+        for i in range(2):
             self.assertTrue(isinstance(res[i],tuple))
             self.assertEqual(2,len(res[i]))
             pass
         expected2=[1.,3.,-0.9,3.]
-        for i in xrange(4):
-            self.assertAlmostEqual(expected2[i],res[i/2][i%2],14)
+        for i in range(4):
+            self.assertAlmostEqual(expected2[i], res[i // 2][i % 2], 14)
             pass
         #
         d1.rearrange(1);
         res=d1.getMinMaxPerComponent();
         self.assertTrue(isinstance(res,list))
         self.assertEqual(1,len(res))
-        for i in xrange(1):
+        for i in range(1):
             self.assertTrue(isinstance(res[i],tuple))
             self.assertEqual(2,len(res[i]))
             pass
         expected3=[-0.9,3.]
-        for i in xrange(2):
-            self.assertAlmostEqual(expected3[i],res[i/2][i%2],14)
+        for i in range(2):
+            self.assertAlmostEqual(expected3[i], res[i // 2][i % 2], 14)
             pass
         pass
 
     def testDataArrayIntGetHashCode1(self):
-        d1=DataArrayInt.New(range(3545))
-        d2=DataArrayInt.New(range(3545))
+        d1 = DataArrayInt.New(list(range(3545)))
+        d2 = DataArrayInt.New(list(range(3545)))
         self.assertEqual(d2.getHashCode(),d1.getHashCode())
         self.assertEqual(232341068,d1.getHashCode())
         d1[886]=6
@@ -950,7 +952,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         #
         m=MEDCouplingUMesh.New("convexhull",2);
         m.allocateCells(331);
-        for i in xrange(331):
+        for i in range(331):
             m.insertNextCell(NORM_POLYGON,conn[connI[i]:connI[i+1]]);
             pass
         m.finishInsertingCells();
@@ -1028,14 +1030,14 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         expected3=[1.,2.,4.,5.,6.,7.]
         self.assertEqual(6,ard1.getNumberOfTuples());
         self.assertEqual(1,ard1.getNumberOfComponents());
-        for i in xrange(6):
+        for i in range(6):
             self.assertAlmostEqual(expected3[i],ard1.getIJ(i,0),12)
             pass
         ard2.sort(False);
         expected4=[7.,6.,5.,4.,2.,1.]
         self.assertEqual(6,ard2.getNumberOfTuples());
         self.assertEqual(1,ard2.getNumberOfComponents());
-        for i in xrange(6):
+        for i in range(6):
             self.assertAlmostEqual(expected4[i],ard2.getIJ(i,0),12)
             pass
         pass
@@ -1165,7 +1167,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         pass
 
     def testSwigBugNonRegressionZipDA(self):
-        angles=map(lambda x:pi/3*x,xrange(6))
+        angles = [pi / 3 * x for x in range(6)]
         radius=3
         #
         dad=DataArrayDouble.New(6, 2)
@@ -1348,7 +1350,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         valuesToTest=f.getValueOnMulti(targetPointCoordsX);
         self.assertEqual(40,valuesToTest.getNumberOfTuples());
         self.assertEqual(1,valuesToTest.getNumberOfComponents());
-        for i in xrange(40):
+        for i in range(40):
             self.assertAlmostEqual(targetFieldValsExpected[i],valuesToTest.getIJ(i,0),10)
             pass
         fd=f.getDiscretization()
@@ -1458,15 +1460,15 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         coords=DataArrayDouble([0.,0.,0.,1.,1.,1.,1.,0.,0.,0.5,0.5,1.,1.,0.5,0.5,0.],8,2)
         mQ8=MEDCouplingUMesh("",2) ; mQ8.setCoords(coords)
         mQ8.allocateCells(1)
-        mQ8.insertNextCell(NORM_QUAD8,range(8))
+        mQ8.insertNextCell(NORM_QUAD8, list(range(8)))
         mQ8.finishInsertingCells()
         mQ4=MEDCouplingUMesh("",2) ; mQ4.setCoords(coords)
         mQ4.allocateCells(1)
-        mQ4.insertNextCell(NORM_QUAD4,range(4))
+        mQ4.insertNextCell(NORM_QUAD4, list(range(4)))
         mQ4.finishInsertingCells()
         mT3=MEDCouplingUMesh("",2) ; mT3.setCoords(coords)
         mT3.allocateCells(1)
-        mT3.insertNextCell(NORM_TRI3,range(3))
+        mT3.insertNextCell(NORM_TRI3, list(range(3)))
         mT3.finishInsertingCells()
 
         tr=[[0.,0.],[2.,0.], [0.,2.],[2.,2.],[4.,2.],[6.,2.],[8.,2.],[10.,2.],[12.,2.],[0.,4.],[2.,4.],[4.,4.],[6.,4.],[8.,4.],[10.,4.],[12.,4.],[14.,4.],[16.,4.],[18.,4.],[20.,4.],[22.,4.]]
@@ -1595,9 +1597,45 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         self.assertRaises(InterpKernelException,arr.transformWithIndArr,d)
         pass
 
+    def testIntersect2DMeshesTmp6(self):
+        # coordinates
+        coords=DataArrayDouble.New([2.7554552980815448e-15,45,-45,5.5109105961630896e-15,-31.819805153394636,31.81980515339464,2.8779199779962799e-15,47,2.8166876380389124e-15,46,-47,5.7558399559925599e-15,-33.234018715767732,33.234018715767739,-46,5.6333752760778247e-15],8,2);
+        # connectivity
+        conn=DataArrayInt.New([8,0,3,5,1,4,6,7,2])
+        connI=DataArrayInt.New([0,9]);
+        m1=MEDCouplingUMesh.New("Fixe",2);
+        m1.setCoords(coords);
+        m1.setConnectivity(conn,connI,True);
+        #
+        coords=DataArrayDouble.New([-7.3800475508445391,41.854329503018846,-3.7041190667754655,42.338274668899189,-3.7041190667754655,45.338274668899189,-7.3800475508445382,44.854329503018839,-5.5473631693521845,42.136406608386956,-3.7041190667754655,43.838274668899189,-5.5420833088100014,45.09630208595901,-7.3800475508445382,43.354329503018839,-3.7041190667754651,52.338274668899189,-7.3800475508445382,51.854329503018839,-3.7041190667754655,48.838274668899189,-5.5420833088100014,52.09630208595901,-7.3800475508445382,48.354329503018839],13,2);
+        # connectivity
+        conn=DataArrayInt.New([8,0,1,2,3,4,5,6,7,8,3,2,8,9,6,10,11,12]);
+        connI=DataArrayInt.New([0,9,18]);
+        #
+        m2=MEDCouplingUMesh.New("Mobile",2);
+        m2.setCoords(coords);
+        m2.setConnectivity(conn,connI,True);
+        #
+        m3,d1,d2=MEDCouplingUMesh.Intersect2DMeshes(m1,m2,1e-10);
+        self.assertTrue(d1.isEqual(DataArrayInt([0,0,0,0])));
+        self.assertTrue(d2.isEqual(DataArrayInt([0,1,-1,-1])));
+        self.assertEqual(4,m3.getNumberOfCells());
+        self.assertEqual(4,d1.getNumberOfTuples());
+        self.assertEqual(4,d2.getNumberOfTuples());
+        self.assertEqual(43,m3.getNumberOfNodes());
+        dI,areMerged,newNbOfNodes=m3.mergeNodes(1e-12)
+        self.assertEqual(35,m3.getNumberOfNodes());
+        m3.zipCoords();
+        self.assertEqual(23,m3.getNumberOfNodes());
+        #
+        f=m3.getMeasureField(True);
+        valuesExpected=DataArrayDouble([1.6603638692585716,5.747555728471923,129.68907101754394,7.4162714498559694])
+        self.assertTrue(f.getArray().isEqual(valuesExpected,1e-12))
+        pass
+
     def testDAPushBack(self):
         d=DataArrayDouble(0,1)
-        for i in xrange(8):
+        for i in range(8):
             d.pushBackSilent(i)
             pass
         self.assertEqual(d.getNumberOfTuples(),8)
@@ -1631,7 +1669,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         self.assertTrue(d.isEqual(DataArrayDouble([4.44,5.55,6.66]),1e-12))
         #
         d=DataArrayInt(0,1)
-        for i in xrange(8):
+        for i in range(8):
             d.pushBackSilent(i)
             pass
         self.assertEqual(d.getNumberOfTuples(),8)
@@ -1834,7 +1872,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         m=MEDCouplingMesh.MergeMeshes([m0,m1,m2,m3,m4])
         expected1=DataArrayDouble([0.16666666666666666,0.3333333333333333,0.5,1.,1.])
         for v in vects:
-            for i in xrange(nbOfDisc):
+            for i in range(nbOfDisc):
                 mm=m.deepCopy()
                 mm.rotate([0.,0.,0.],[0.3,0.7,0.2],float(i)/float(nbOfDisc)*2*pi)
                 mm2=mm.deepCopy()
@@ -1857,7 +1895,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         m=MEDCouplingMesh.MergeMeshes([m0,m1,m2,m3,m4])
         expected2=DataArrayDouble([-0.16666666666666666,0.3333333333333333,0.5,-1.,-1.])
         for v in vects:
-            for i in xrange(nbOfDisc):
+            for i in range(nbOfDisc):
                 mm=m.deepCopy()
                 mm.rotate([0.,0.,0.],[0.3,0.7,0.2],float(i)/float(nbOfDisc)*2*pi)
                 mm2=mm.deepCopy() ; mm3=mm.deepCopy() ; mm3.convertAllToPoly()
@@ -1878,12 +1916,12 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         m1=MEDCouplingUMesh("m",3) ; m1.allocateCells(0); m1.insertNextCell(NORM_PYRA5,[0,3,2,1,4]); #Not well oriented
         m2=MEDCouplingUMesh("m",3) ; m2.allocateCells(0); m2.insertNextCell(NORM_PENTA6,[0,2,1,3,5,4]); #Not well oriented
         m3=MEDCouplingUMesh("m",3) ; m3.allocateCells(0); m3.insertNextCell(NORM_HEXA8,[0,1,2,3,4,5,6,7]); #Well oriented
-        m4=MEDCouplingUMesh("m",3) ; m4.allocateCells(0); m4.insertNextCell(NORM_HEXGP12,range(12)); #Well oriented
+        m4 = MEDCouplingUMesh("m", 3) ; m4.allocateCells(0); m4.insertNextCell(NORM_HEXGP12, list(range(12)));  # Well oriented
         m0.setCoords(c0) ; m1.setCoords(c1) ; m2.setCoords(c2) ; m3.setCoords(c3) ; m4.setCoords(c4)
         m=MEDCouplingMesh.MergeMeshes([m0,m1,m2,m3,m4])
         expected3=DataArrayDouble([0.16666666666666666,-0.3333333333333333,-0.5,1.,1.])
         for v in vects:
-            for i in xrange(nbOfDisc):
+            for i in range(nbOfDisc):
                 mm=m.deepCopy()
                 mm.rotate([0.,0.,0.],[0.3,0.7,0.2],float(i)/float(nbOfDisc)*2*pi)
                 mm2=mm.deepCopy() ; mm3=mm.deepCopy() ; mm3.convertAllToPoly()
@@ -1904,7 +1942,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
     def testSwig2CellOrientation1(self):
         coords=DataArrayDouble([-0.21606,-0.10803,0.29999999999999999,-0.21606,-0.10803,0.37700000000000006,0,-0.10803,0.29999999999999999,0,-0.10803,0.37700000000000006,0,0.10803,0.29999999999999999,0,0.10803,0.37700000000000006,-0.21606,0.10803,0.29999999999999999,-0.21606,0.10803,0.37700000000000006,0,0.03601,0.29999999999999999,0,0.03601,0.37700000000000006,0,-0.03601,0.29999999999999999,0,-0.03601,0.37700000000000006],12,3)
         conn=[[0,2,10,8,4,6],[1,3,11,9,5,7],[0,1,3,2],[2,3,11,10],[10,11,9,8],[8,9,5,4],[4,5,7,6],[6,7,1,0]]
-        for i in xrange(256):
+        for i in range(256):
             mesh=MEDCouplingUMesh("FluidMesh_1",3);
             mesh.allocateCells(0)
             conn2=[elt[:] for elt in conn]
@@ -1963,10 +2001,10 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         m.insertNextCell(NORM_TRI3,[0,1,2])
         a,b=m.distanceToPoint([-0.335,2.27,1.21])
         self.assertEqual(0,b)
-        self.assertAlmostEqual(0.022360988100374124,a,14);
+        self.assertAlmostEqual(0.0223609881003,a,12);
         a,b=m.distanceToPoint(DataArrayDouble([-0.335,2.27,1.21],1,3))
         self.assertEqual(0,b)
-        self.assertAlmostEqual(0.022360988100374124,a,14);
+        self.assertAlmostEqual(0.0223609881003,a,12);
         a,b=coords.distanceToTuple([-0.335,2.27,1.21])
         self.assertAlmostEqual(5.243302871282566,a,14)
         self.assertEqual(0,b)
@@ -2005,6 +2043,27 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         self.assertAlmostEqual(0.07071067811865482,a,14) ; self.assertEqual(1,b) # self.assertEqual(2,c)
         pass
 
+    def testSwig2UMeshDistanceToMesh2(self):
+        mesh = MEDCouplingUMesh('Solid_3', 2)
+        coo = DataArrayDouble([(99.75,-1.42109e-14,102.75),(99.75,200,102.75),(2.5,0,200),(2.5,200,200),(197,0,200),(197,200,200)])
+        mesh.setCoords(coo)
+        c = DataArrayInt([3, 4, 0, 1, 3, 4, 1, 5, 3, 1, 0, 3, 3, 3, 0, 2])
+        cI = DataArrayInt([0, 4, 8, 12, 16])
+        mesh.setConnectivity(c, cI)
+        mesh.checkConsistency()
+        pt = [125.0, 175.0, 175.0]
+        # Values computed from GEOM:
+        exp1, exp2, exp3, exp4 = 54.0633707597, 33.2340187158, 68.9429111657, 99.5221476482
+        d1, _ = mesh[0].distanceToPoint(pt)
+        d2, _ = mesh[1].distanceToPoint(pt)
+        d3, _ = mesh[2].distanceToPoint(pt)
+        d4, _ = mesh[3].distanceToPoint(pt)
+        self.assertAlmostEqual(exp1,d1,10)
+        self.assertAlmostEqual(exp2,d2,10)
+        self.assertAlmostEqual(exp3,d3,10)
+        self.assertAlmostEqual(exp4,d4,10)
+        pass
+
     def testSwig2NonRegressionPartitionBySpreadZone1(self):
         m=MEDCouplingCMesh()
         arr=DataArrayDouble(6) ; arr.iota(0.)
@@ -2035,7 +2094,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         coords=DataArrayDouble([0.,0.,1.,1.,1.,0.]) ; m.setCoords(coords)
         da=DataArrayInt([0,1,2])
         m.allocateCells(0)
-        for i in xrange(5):
+        for i in range(5):
             m.insertNextCell(NORM_TRI3,da)
             pass
         self.assertTrue(m.getNodalConnectivity().isEqual(DataArrayInt([3,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2])))
@@ -2043,7 +2102,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         #
         da=DataArrayInt([0,1,2,3])
         m.allocateCells(0)
-        for i in xrange(5):
+        for i in range(5):
             m.insertNextCell(NORM_TRI3,3,da)
             pass
         self.assertTrue(m.getNodalConnectivity().isEqual(DataArrayInt([3,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2])))
@@ -2359,8 +2418,8 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         m3D.convertLinearCellsToQuadratic(0)
         m3D.checkConsistency()
         # check of new m3D content
-        coordsExp2=[coordsExp.changeNbOfComponents(3,i) for i in xrange(4)]
-        coordsExp3=[DataArrayDouble.Meld(cooTmp[:,[0,1]],cooTmp[:,2]+(0.5+float(i))) for i in xrange(3)]
+        coordsExp2 = [coordsExp.changeNbOfComponents(3, i) for i in range(4)]
+        coordsExp3 = [DataArrayDouble.Meld(cooTmp[:, [0, 1]], cooTmp[:, 2] + (0.5 + float(i))) for i in range(3)]
         coordsExp4=DataArrayDouble.Aggregate([coordsExp2[0],coordsExp3[0],coordsExp2[1],coordsExp3[1],coordsExp2[2],coordsExp3[2],coordsExp2[3]])
         c=DataArrayDouble.Aggregate(m3D.getCoords(),coordsExp4)
         self.assertEqual(len(coordsExp4),115)
@@ -2561,12 +2620,22 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
             ids3=ptsi.findClosestTupleId(d2i)
             idsExpected3=idsExpected2.deepCopy() ; idsExpected3.reverse()
             self.assertTrue(idsExpected3.isEqual(ids3))
+            
+            #
+            ones = [1.0]*nbPt
+            twos = [2.0]*nbPt
+            d3=DataArrayDouble.Meld( DataArrayDouble(ones), DataArrayDouble(twos) )
+            d4=DataArrayDouble.Meld( DataArrayDouble(ones), DataArrayDouble(ones) )
+            idsExpected4 = DataArrayInt([0]*nbPt)
+            ids4 = d3.findClosestTupleId(d4)
+            self.assertTrue(idsExpected.isEqual(ids))
             pass
+    
 
     def testSwig2DataArrayAsciiChar1(self):
         alpha=DataArrayInt(26) ; alpha.iota(ord("A"))
         d=DataArrayAsciiChar(alpha.getValues(),2,13)
-        d.setInfoOnComponents(["c%i"%(v) for v in xrange(13)])
+        d.setInfoOnComponents(["c%i" % (v) for v in range(13)])
         self.assertEqual('ABCDEFGHIJKLM',d.getTuple(0))
         self.assertEqual('NOPQRSTUVWXYZ',d.getTuple(1))
         self.assertEqual(2,d.getNumberOfTuples())
@@ -2696,18 +2765,18 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         ft=MEDCouplingDataForTest.buildFieldOnGauss_1()
         mea=ft.buildMeasureField(False)
         mea.checkConsistencyLight()
-        self.assertTrue(mea.getArray().isEqual(DataArrayDouble([-0.08504076274779823,-0.06378057206084897,-0.08504076274779869,-0.10630095343474463,-0.12756114412169625,-0.10630095343474734,-0.0637805720608491,-0.0850407627477968,-0.1063009534347449,-0.0850407627477994,-0.10630095343474809,-0.1275611441216954,-0.037205333702161475,-0.037205333702161475,-0.037205333702161475,-0.037205333702161475,-0.047835429045636084,-0.047835429045636084,-0.047835429045636084,-0.047835429045636084,-0.05846552438911087,-0.05846552438911087,-0.05846552438911087,-0.05846552438911087,-0.037205333702161725,-0.037205333702161725,-0.037205333702161725,-0.037205333702161725,-0.047835429045635834,-0.047835429045635834,-0.047835429045635834,-0.047835429045635834,-0.05846552438911058,-0.05846552438911058,-0.05846552438911058,-0.05846552438911058,-0.03879154890291829,-0.03879154890291829,-0.03879154890291829,-0.04120270848015563,-0.04120270848015563,-0.04120270848015563,-0.03393028948486933,-0.03393028948486933,-0.03393028948486933,-0.03151955746491709,-0.03151955746491709,-0.03151955746491709,-0.02424752187358276,-0.02424752187358276,-0.02424752187358276,-0.026657914642918758,-0.026657914642918758,-0.026657914642918758,-0.04120270848015456,-0.04120270848015456,-0.04120270848015456,-0.03879154890291757,-0.03879154890291757,-0.03879154890291757,-0.031519557464916595,-0.031519557464916595,-0.031519557464916595,-0.03393028948487046,-0.03393028948487046,-0.03393028948487046,-0.0266579146429191,-0.0266579146429191,-0.0266579146429191,-0.024247521873582645,-0.024247521873582645,-0.024247521873582645,-0.01851718920904466,-0.01851718920904466,-0.01851718920904466,-0.01851718920904466,-0.029627502734471456,-0.029627502734471456,-0.029627502734471456,-0.029627502734471456,-0.04740400437515433,-0.015150427534672922,-0.015150427534672922,-0.015150427534672922,-0.015150427534672922,-0.024240684055476674,-0.024240684055476674,-0.024240684055476674,-0.024240684055476674,-0.038785094488762675,-0.011783665860301345,-0.011783665860301345,-0.011783665860301345,-0.011783665860301345,-0.018853865376482152,-0.018853865376482152,-0.018853865376482152,-0.018853865376482152,-0.030166184602371443,-0.018517189209044892,-0.018517189209044892,-0.018517189209044892,-0.018517189209044892,-0.029627502734471827,-0.029627502734471827,-0.029627502734471827,-0.029627502734471827,-0.04740400437515492,-0.015150427534672776,-0.015150427534672776,-0.015150427534672776,-0.015150427534672776,-0.02424068405547644,-0.02424068405547644,-0.02424068405547644,-0.02424068405547644,-0.03878509448876231,-0.011783665860301277,-0.011783665860301277,-0.011783665860301277,-0.011783665860301277,-0.01885386537648204,-0.01885386537648204,-0.01885386537648204,-0.01885386537648204,-0.030166184602371266]),1e-14))
+        self.assertTrue(mea.getArray().isEqual(DataArrayDouble([0.08504076274779823, 0.06378057206084897, 0.08504076274779869, 0.10630095343474463, 0.12756114412169625, 0.10630095343474734, 0.0637805720608491, 0.0850407627477968, 0.1063009534347449, 0.0850407627477994, 0.10630095343474809, 0.1275611441216954, 0.034136689498128064, 0.04027397790619449, 0.04027397790619487, 0.034136689498128446, 0.04476678484160338, 0.05090407324967005, 0.050904073249668745, 0.04476678484160208, 0.05539688018507733, 0.061534168593143805, 0.06153416859314442, 0.055396880185077955, 0.03413668949812847, 0.04027397790619517, 0.04027397790619497, 0.03413668949812827, 0.04476678484160235, 0.05090407324966857, 0.05090407324966929, 0.044766784841603076, 0.05539688018507761, 0.06153416859314382, 0.06153416859314359, 0.05539688018507738, 0.04109914601299856, 0.03748636227195687, 0.03771775769378482, 0.03872147624188224, 0.042334259982919814, 0.04261193448911228, 0.03507783977793162, 0.031465056036892154, 0.0353092351997554, 0.03041505840443063, 0.030229942066968697, 0.03384272580800827, 0.02658630560301859, 0.022973521861980706, 0.02311235911507622, 0.02420863583190326, 0.027821419572943488, 0.02800653591040381, 0.04233425998291915, 0.038721476241882075, 0.04261193448911155, 0.0377177576937831, 0.03748636227195874, 0.041099146012996766, 0.03384272580800756, 0.030229942066968624, 0.030415058404430012, 0.03146505603689226, 0.035077839777932385, 0.035309235199757406, 0.0278214195729437, 0.024208635831903073, 0.02800653591040439, 0.023112359115075753, 0.02297352186197992, 0.026586305603019535, 0.019921063519116766, 0.01730003285741078, 0.017300032857410663, 0.019921063519115587, 0.029776877101222114, 0.027364571036248495, 0.0297768771012211, 0.03151042326217079, 0.04709999543873555, 0.016537327484887662, 0.013916296823180364, 0.0139162968231802, 0.01653732748488678, 0.024362899446454346, 0.022012298827300398, 0.02436289944645354, 0.026158151053224943, 0.038536359904420205, 0.013153591450657661, 0.01053256078895069, 0.010532560788950497, 0.013153591450657937, 0.018948921791686592, 0.016660026618353183, 0.01894892179168666, 0.020805878844278196, 0.029972724370104942, 0.01992106351911645, 0.017300032857410823, 0.017300032857409463, 0.01992106351911769, 0.029776877101221757, 0.027364571036247978, 0.029776877101221573, 0.03151042326217261, 0.047099995438736386, 0.016537327484886743, 0.013916296823180036, 0.013916296823180596, 0.0165373274848873, 0.024362899446453434, 0.022012298827300106, 0.024362899446454343, 0.026158151053224426, 0.038536359904419636, 0.013153591450657875, 0.010532560788950653, 0.010532560788951054, 0.013153591450656942, 0.018948921791686835, 0.016660026618353606, 0.01894892179168645, 0.020805878844277627, 0.029972724370105074]),1e-8))
         f=MEDCouplingFieldDouble(ft)
         arr=DataArrayDouble(126,2)
-        arr[:,0]=range(126)
-        arr[:,1]=range(126)
+        arr[:, 0] = list(range(126))
+        arr[:, 1] = list(range(126))
         arr[:,1]+=1000
         f.setArray(arr)
         f.checkConsistencyLight()
-        self.assertTrue(DataArrayDouble(f.integral(False)).isEqual(DataArrayDouble([-211.66121638700983,-4863.9563007698835]),1e-11))
-        self.assertTrue(DataArrayDouble(f.getWeightedAverageValue()).isEqual(DataArrayDouble([45.4960858131136,1045.496085813114]),1e-11))
-        self.assertTrue(DataArrayDouble(f.normL1()).isEqual(DataArrayDouble([45.49608581311362,1045.496085813114]),1e-11))
-        self.assertTrue(DataArrayDouble(f.normL2()).isEqual(DataArrayDouble([58.16846378340898,1046.1241521947334]),1e-11))
+        self.assertTrue(DataArrayDouble(f.integral(False)).isEqual(DataArrayDouble([211.67679879443182, 4863.855680512835]),1e-11))
+        self.assertTrue(DataArrayDouble(f.getWeightedAverageValue()).isEqual(DataArrayDouble([45.50057170549804, 1045.5005717054983]),1e-11))
+        self.assertTrue(DataArrayDouble(f.normL1()).isEqual(DataArrayDouble([45.50057170549804, 1045.5005717054983]),1e-11))
+        self.assertTrue(DataArrayDouble(f.normL2()).isEqual(DataArrayDouble([58.175073473810194, 1046.1288078361474]),1e-11))
         pass
 
     def testSwig2FieldDiscretizationComputeMeshRestrictionFromTupleIds1(self):
@@ -2747,7 +2816,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
 
     @unittest.skipUnless(checkFreeMemory((223456789*16)/(1024)), "Not enough memory")
     def testSwig2BigMem(self):
-        if MEDCouplingSizeOfVoidStar()==64:
+        if MEDCouplingSizeOfVoidStar()==64 and MEDCouplingSizeOfIDs()==32:
             d=DataArrayAsciiChar(223456789,16)
             self.assertTrue(d.getNumberOfTuples(),223456789)
             self.assertTrue(d.getNumberOfComponents(),16)
@@ -2761,24 +2830,24 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
 
     def testSwig2DAReverseMultiCompo1(self):
         d=DataArrayDouble(6,2)
-        d[:,0]=range(6)
-        d[:,1]=range(10,16)
+        d[:, 0] = list(range(6))
+        d[:, 1] = list(range(10, 16))
         d.reverse()
         self.assertTrue(d.isEqual(DataArrayDouble([5.,15.,4.,14.,3.,13.,2.,12.,1.,11.,0.,10.],6,2),1e-14))
         d=DataArrayDouble(7,2)
-        d[:,0]=range(7)
-        d[:,1]=range(10,17)
+        d[:, 0] = list(range(7))
+        d[:, 1] = list(range(10, 17))
         d.reverse()
         self.assertTrue(d.isEqual(DataArrayDouble([6.,16.,5.,15.,4.,14.,3.,13.,2.,12.,1.,11.,0.,10.],7,2),1e-14))
         #
         d=DataArrayInt(6,2)
-        d[:,0]=range(6)
-        d[:,1]=range(10,16)
+        d[:, 0] = list(range(6))
+        d[:, 1] = list(range(10, 16))
         d.reverse()
         self.assertTrue(d.isEqual(DataArrayInt([5,15,4,14,3,13,2,12,1,11,0,10],6,2)))
         d=DataArrayInt(7,2)
-        d[:,0]=range(7)
-        d[:,1]=range(10,17)
+        d[:, 0] = list(range(7))
+        d[:, 1] = list(range(10, 17))
         d.reverse()
         self.assertTrue(d.isEqual(DataArrayInt([6,16,5,15,4,14,3,13,2,12,1,11,0,10],7,2)))
         pass
@@ -2855,16 +2924,16 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         d=DataArrayDouble()
         self.assertTrue(len(d.__repr__())<120)
         d.alloc(1000,0) ; self.assertTrue(len(d.__repr__())<100)
-        for i in xrange(100):
+        for i in range(100):
             d.alloc(i,1) ; d.iota(1.1234567890123456) ; d*=1e123
             self.assertTrue(len(d.__repr__())<500)
             pass
-        for i in xrange(50):
+        for i in range(50):
             d.alloc(i,2) ; d.rearrange(1) ; d.iota(1.1234567890123456) ; d.rearrange(2) ; d*=1e123
             self.assertTrue(len(d.__repr__())<500)
             pass
         d.alloc(4000,1) ; d.iota() ; self.assertTrue(len(d.__repr__())<500)
-        for i in xrange(2,4):
+        for i in range(2, 4):
             d.alloc(362880,1) ; d.iota() ; d.rearrange(i) ; self.assertTrue(len(d.__repr__())<500)
             pass
         d.alloc(0,9)
@@ -2873,16 +2942,16 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         d=DataArrayInt()
         self.assertTrue(len(d.__repr__())<100)
         d.alloc(1000,0) ; self.assertTrue(len(d.__repr__())<100)
-        for i in xrange(100):
+        for i in range(100):
             d.alloc(i,1) ; d.iota(123456789)
             self.assertTrue(len(d.__repr__())<500)
             pass
-        for i in xrange(50):
+        for i in range(50):
             d.alloc(i,2) ; d.rearrange(1) ; d.iota(123456789) ; d.rearrange(2)
             self.assertTrue(len(d.__repr__())<500)
             pass
         d.alloc(4000,1) ; d.iota() ; self.assertTrue(len(d.__repr__())<500)
-        for i in xrange(2,10):
+        for i in range(2, 10):
             d.alloc(362880,1) ; d.iota() ; d.rearrange(i) ; self.assertTrue(len(d.__repr__())<500)
             pass
         d.alloc(0,9)
@@ -2948,7 +3017,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         m2.allocateCells(0)
         m2.setCoords(coo)
         conn2=[[0,3,5,1,7,4,6,2],[12,14,16,18,13,15,17,19],[0,12,18,3,8,19,11,7],[3,18,16,5,11,17,10,4],[5,16,14,1,10,15,9,6],[1,14,12,0,9,13,8,2]]
-        for i in xrange(6):
+        for i in range(6):
             m2.insertNextCell(NORM_QUAD8,conn2[i])
             pass
         self.assertTrue(m2.isEqual(a,1e-12))
@@ -2971,7 +3040,7 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         conn4=[[0,2,3,1,8,9,10,11,20],[4,5,6,7,15,14,13,12,25],[0,4,7,2,16,12,17,8,21],[2,7,6,3,17,13,18,9,22],[3,6,5,1,18,14,19,10,23],[1,5,4,0,19,15,16,11,24]]
         m4=MEDCouplingUMesh("mesh",2)
         m4.allocateCells(0)
-        for i in xrange(6):
+        for i in range(6):
             m4.insertNextCell(NORM_QUAD9,conn4[i])
             pass
         m4.setCoords(coo2)
@@ -3048,20 +3117,20 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         f=MEDCouplingFieldDouble(ON_CELLS)
         f.setMesh(m)
         arr=DataArrayDouble(5,2)
-        arr[:,0]=range(5) ; arr[:,1]=2*arr[:,0]
+        arr[:, 0] = list(range(5)) ; arr[:, 1] = 2 * arr[:, 0]
         f2=f.clone(True)
         self.assertRaises(InterpKernelException,f.__add__,2)
-        self.assertRaises(InterpKernelException,f.__add__,range(5))
+        self.assertRaises(InterpKernelException, f.__add__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__add__,arr)
         self.assertRaises(InterpKernelException,f.__add__,f2)
         f.setArray(DataArrayDouble())
         self.assertRaises(InterpKernelException,f.__add__,2)
-        self.assertRaises(InterpKernelException,f.__add__,range(5))
+        self.assertRaises(InterpKernelException, f.__add__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__add__,arr)
         self.assertRaises(InterpKernelException,f.__add__,f2)
         self.assertRaises(InterpKernelException,f.__getitem__,(slice(None),0))
         f.getArray().alloc(5,2)
-        f.getArray()[:,0]=range(5) ; f.getArray()[:,1]=f.getArray()[:,0]+7
+        f.getArray()[:, 0] = list(range(5)) ; f.getArray()[:, 1] = f.getArray()[:, 0] + 7
         ff=f+2
         ff.checkConsistencyLight()
         self.assertTrue(ff.getArray().isEqual(DataArrayDouble([(2,9),(3,10),(4,11),(5,12),(6,13)]),1e-12))
@@ -3080,20 +3149,20 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         f=MEDCouplingFieldDouble(ON_CELLS)
         f.setMesh(m)
         arr=DataArrayDouble(5,2)
-        arr[:,0]=range(5) ; arr[:,1]=2*arr[:,0]
+        arr[:, 0] = list(range(5)) ; arr[:, 1] = 2 * arr[:, 0]
         f2=f.clone(True)
         self.assertRaises(InterpKernelException,f.__sub__,2)
-        self.assertRaises(InterpKernelException,f.__sub__,range(5))
+        self.assertRaises(InterpKernelException, f.__sub__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__sub__,arr)
         self.assertRaises(InterpKernelException,f.__sub__,f2)
         f.setArray(DataArrayDouble())
         self.assertRaises(InterpKernelException,f.__sub__,2)
-        self.assertRaises(InterpKernelException,f.__sub__,range(5))
+        self.assertRaises(InterpKernelException, f.__sub__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__sub__,arr)
         self.assertRaises(InterpKernelException,f.__sub__,f2)
         self.assertRaises(InterpKernelException,f.__getitem__,(slice(None),0))
         f.getArray().alloc(5,2)
-        f.getArray()[:,0]=range(5) ; f.getArray()[:,1]=f.getArray()[:,0]+7
+        f.getArray()[:, 0] = list(range(5)) ; f.getArray()[:, 1] = f.getArray()[:, 0] + 7
         ff=f-2
         ff.checkConsistencyLight()
         self.assertTrue(ff.getArray().isEqual(DataArrayDouble([(-2,5),(-1,6),(0,7),(1,8),(2,9)]),1e-12))
@@ -3112,20 +3181,20 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         f=MEDCouplingFieldDouble(ON_CELLS)
         f.setMesh(m)
         arr=DataArrayDouble(5,2)
-        arr[:,0]=range(5) ; arr[:,1]=2*arr[:,0]
+        arr[:, 0] = list(range(5)) ; arr[:, 1] = 2 * arr[:, 0]
         f2=f.clone(True)
         self.assertRaises(InterpKernelException,f.__mul__,2)
-        self.assertRaises(InterpKernelException,f.__mul__,range(5))
+        self.assertRaises(InterpKernelException, f.__mul__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__mul__,arr)
         self.assertRaises(InterpKernelException,f.__mul__,f2)
         f.setArray(DataArrayDouble())
         self.assertRaises(InterpKernelException,f.__mul__,2)
-        self.assertRaises(InterpKernelException,f.__mul__,range(5))
+        self.assertRaises(InterpKernelException, f.__mul__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__mul__,arr)
         self.assertRaises(InterpKernelException,f.__mul__,f2)
         self.assertRaises(InterpKernelException,f.__getitem__,(slice(None),0))
         f.getArray().alloc(5,2)
-        f.getArray()[:,0]=range(5) ; f.getArray()[:,1]=f.getArray()[:,0]+7
+        f.getArray()[:, 0] = list(range(5)) ; f.getArray()[:, 1] = f.getArray()[:, 0] + 7
         ff=f*2
         ff.checkConsistencyLight()
         self.assertTrue(ff.getArray().isEqual(DataArrayDouble([(0,14),(2,16),(4,18),(6,20),(8,22)]),1e-12))
@@ -3144,20 +3213,20 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         f=MEDCouplingFieldDouble(ON_CELLS)
         f.setMesh(m)
         arr=DataArrayDouble(5,2)
-        arr[:,0]=range(1,6) ; arr[:,1]=2*arr[:,0]
+        arr[:, 0] = list(range(1, 6)) ; arr[:, 1] = 2 * arr[:, 0]
         f2=f.clone(True)
         self.assertRaises(InterpKernelException,f.__div__,2)
-        self.assertRaises(InterpKernelException,f.__div__,range(5))
+        self.assertRaises(InterpKernelException, f.__div__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__div__,arr)
         self.assertRaises(InterpKernelException,f.__div__,f2)
         f.setArray(DataArrayDouble())
         self.assertRaises(InterpKernelException,f.__div__,2)
-        self.assertRaises(InterpKernelException,f.__div__,range(5))
+        self.assertRaises(InterpKernelException, f.__div__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__div__,arr)
         self.assertRaises(InterpKernelException,f.__div__,f2)
         self.assertRaises(InterpKernelException,f.__getitem__,(slice(None),0))
         f.getArray().alloc(5,2)
-        f.getArray()[:,0]=range(5) ; f.getArray()[:,1]=f.getArray()[:,0]+7
+        f.getArray()[:, 0] = list(range(5)) ; f.getArray()[:, 1] = f.getArray()[:, 0] + 7
         self.assertRaises(InterpKernelException,f.__div__,0)
         ff=f/2
         ff.checkConsistencyLight()
@@ -3180,17 +3249,17 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         arr[:]=[1,1,3,2,0]
         f2=f.clone(True)
         self.assertRaises(InterpKernelException,f.__div__,2)
-        self.assertRaises(InterpKernelException,f.__div__,range(5))
+        self.assertRaises(InterpKernelException, f.__div__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__div__,arr)
         self.assertRaises(InterpKernelException,f.__div__,f2)
         f.setArray(DataArrayDouble())
         self.assertRaises(InterpKernelException,f.__div__,2)
-        self.assertRaises(InterpKernelException,f.__div__,range(5))
+        self.assertRaises(InterpKernelException, f.__div__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__div__,arr)
         self.assertRaises(InterpKernelException,f.__div__,f2)
         self.assertRaises(InterpKernelException,f.__getitem__,(slice(None),0))
         f.getArray().alloc(5,1)
-        f.getArray()[:]=range(2,7)
+        f.getArray()[:] = list(range(2, 7))
         ff=f**2
         ff.checkConsistencyLight()
         self.assertTrue(ff.getArray().isEqual(DataArrayDouble([4,9,16,25,36]),1e-12))
@@ -3206,19 +3275,19 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         f=MEDCouplingFieldDouble(ON_CELLS)
         f.setMesh(m)
         arr=DataArrayDouble(5,2)
-        arr[:,0]=range(5) ; arr[:,1]=2*arr[:,0]
+        arr[:, 0] = list(range(5)) ; arr[:, 1] = 2 * arr[:, 0]
         f2=f.clone(True)
         self.assertRaises(InterpKernelException,f.__iadd__,2)
-        self.assertRaises(InterpKernelException,f.__iadd__,range(5))
+        self.assertRaises(InterpKernelException, f.__iadd__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__iadd__,arr)
         self.assertRaises(InterpKernelException,f.__iadd__,f2)
         f.setArray(DataArrayDouble())
         self.assertRaises(InterpKernelException,f.__iadd__,2)
-        self.assertRaises(InterpKernelException,f.__iadd__,range(5))
+        self.assertRaises(InterpKernelException, f.__iadd__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__iadd__,arr)
         self.assertRaises(InterpKernelException,f.__iadd__,f2)
         f.getArray().alloc(5,2)
-        f.getArray()[:,0]=range(5) ; f.getArray()[:,1]=f.getArray()[:,0]+7
+        f.getArray()[:, 0] = list(range(5)) ; f.getArray()[:, 1] = f.getArray()[:, 0] + 7
         f.checkConsistencyLight()
         f+=2
         f.checkConsistencyLight()
@@ -3238,19 +3307,19 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         f=MEDCouplingFieldDouble(ON_CELLS)
         f.setMesh(m)
         arr=DataArrayDouble(5,2)
-        arr[:,0]=range(5) ; arr[:,1]=2*arr[:,0]
+        arr[:, 0] = list(range(5)) ; arr[:, 1] = 2 * arr[:, 0]
         f2=f.clone(True)
         self.assertRaises(InterpKernelException,f.__isub__,2)
-        self.assertRaises(InterpKernelException,f.__isub__,range(5))
+        self.assertRaises(InterpKernelException, f.__isub__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__isub__,arr)
         self.assertRaises(InterpKernelException,f.__isub__,f2)
         f.setArray(DataArrayDouble())
         self.assertRaises(InterpKernelException,f.__isub__,2)
-        self.assertRaises(InterpKernelException,f.__isub__,range(5))
+        self.assertRaises(InterpKernelException, f.__isub__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__isub__,arr)
         self.assertRaises(InterpKernelException,f.__isub__,f2)
         f.getArray().alloc(5,2)
-        f.getArray()[:,0]=range(5) ; f.getArray()[:,1]=f.getArray()[:,0]+7
+        f.getArray()[:, 0] = list(range(5)) ; f.getArray()[:, 1] = f.getArray()[:, 0] + 7
         f.checkConsistencyLight()
         f-=2
         f.checkConsistencyLight()
@@ -3270,19 +3339,19 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         f=MEDCouplingFieldDouble(ON_CELLS)
         f.setMesh(m)
         arr=DataArrayDouble(5,2)
-        arr[:,0]=range(5) ; arr[:,1]=2*arr[:,0]
+        arr[:, 0] = list(range(5)) ; arr[:, 1] = 2 * arr[:, 0]
         f2=f.clone(True)
         self.assertRaises(InterpKernelException,f.__imul__,2)
-        self.assertRaises(InterpKernelException,f.__imul__,range(5))
+        self.assertRaises(InterpKernelException, f.__imul__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__imul__,arr)
         self.assertRaises(InterpKernelException,f.__imul__,f2)
         f.setArray(DataArrayDouble())
         self.assertRaises(InterpKernelException,f.__imul__,2)
-        self.assertRaises(InterpKernelException,f.__imul__,range(5))
+        self.assertRaises(InterpKernelException, f.__imul__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__imul__,arr)
         self.assertRaises(InterpKernelException,f.__imul__,f2)
         f.getArray().alloc(5,2)
-        f.getArray()[:,0]=range(5) ; f.getArray()[:,1]=f.getArray()[:,0]+7
+        f.getArray()[:, 0] = list(range(5)) ; f.getArray()[:, 1] = f.getArray()[:, 0] + 7
         f.checkConsistencyLight()
         f*=2
         f.checkConsistencyLight()
@@ -3302,19 +3371,19 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         f=MEDCouplingFieldDouble(ON_CELLS)
         f.setMesh(m)
         arr=DataArrayDouble(5,2)
-        arr[:,0]=range(1,6) ; arr[:,1]=2*arr[:,0]
+        arr[:, 0] = list(range(1, 6)) ; arr[:, 1] = 2 * arr[:, 0]
         f2=f.clone(True)
         self.assertRaises(InterpKernelException,f.__idiv__,2)
-        self.assertRaises(InterpKernelException,f.__idiv__,range(5))
+        self.assertRaises(InterpKernelException, f.__idiv__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__idiv__,arr)
         self.assertRaises(InterpKernelException,f.__idiv__,f2)
         f.setArray(DataArrayDouble())
         self.assertRaises(InterpKernelException,f.__idiv__,2)
-        self.assertRaises(InterpKernelException,f.__idiv__,range(5))
+        self.assertRaises(InterpKernelException, f.__idiv__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__idiv__,arr)
         self.assertRaises(InterpKernelException,f.__idiv__,f2)
         f.getArray().alloc(5,2)
-        f.getArray()[:,0]=range(5) ; f.getArray()[:,1]=f.getArray()[:,0]+7
+        f.getArray()[:, 0] = list(range(5)) ; f.getArray()[:, 1] = f.getArray()[:, 0] + 7
         f.checkConsistencyLight()
         f/=2
         f.checkConsistencyLight()
@@ -3334,19 +3403,19 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         f=MEDCouplingFieldDouble(ON_CELLS)
         f.setMesh(m)
         arr=DataArrayDouble(5,2)
-        arr[:,0]=range(1,6) ; arr[:,1]=2*arr[:,0]
+        arr[:, 0] = list(range(1, 6)) ; arr[:, 1] = 2 * arr[:, 0]
         f2=f.clone(True)
         self.assertRaises(InterpKernelException,f.__ipow__,2)
-        self.assertRaises(InterpKernelException,f.__ipow__,range(5))
+        self.assertRaises(InterpKernelException, f.__ipow__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__ipow__,arr)
         self.assertRaises(InterpKernelException,f.__ipow__,f2)
         f.setArray(DataArrayDouble())
         self.assertRaises(InterpKernelException,f.__ipow__,2)
-        self.assertRaises(InterpKernelException,f.__ipow__,range(5))
+        self.assertRaises(InterpKernelException, f.__ipow__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__ipow__,arr)
         self.assertRaises(InterpKernelException,f.__ipow__,f2)
         f.getArray().alloc(5,2)
-        f.getArray()[:,0]=range(5) ; f.getArray()[:,1]=f.getArray()[:,0]+7
+        f.getArray()[:, 0] = list(range(5)) ; f.getArray()[:, 1] = f.getArray()[:, 0] + 7
         f.checkConsistencyLight()
         f**=2
         f.checkConsistencyLight()
@@ -3356,20 +3425,20 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         f=MEDCouplingFieldDouble(ON_CELLS)
         f.setMesh(m)
         arr=DataArrayDouble(5,2)
-        arr[:,0]=range(5) ; arr[:,1]=2*arr[:,0]
+        arr[:, 0] = list(range(5)) ; arr[:, 1] = 2 * arr[:, 0]
         f2=f.clone(True)
         self.assertRaises(InterpKernelException,f.__radd__,2)
-        self.assertRaises(InterpKernelException,f.__radd__,range(5))
+        self.assertRaises(InterpKernelException, f.__radd__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__radd__,arr)
         self.assertRaises(InterpKernelException,f.__radd__,f2)
         f.setArray(DataArrayDouble())
         self.assertRaises(InterpKernelException,f.__radd__,2)
-        self.assertRaises(InterpKernelException,f.__radd__,range(5))
+        self.assertRaises(InterpKernelException, f.__radd__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__radd__,arr)
         self.assertRaises(InterpKernelException,f.__radd__,f2)
         self.assertRaises(InterpKernelException,f.__getitem__,(slice(None),0))
         f.getArray().alloc(5,2)
-        f.getArray()[:,0]=range(5) ; f.getArray()[:,1]=f.getArray()[:,0]+7
+        f.getArray()[:, 0] = list(range(5)) ; f.getArray()[:, 1] = f.getArray()[:, 0] + 7
         ff=2+f
         ff.checkConsistencyLight()
         self.assertTrue(ff.getArray().isEqual(DataArrayDouble([(2,9),(3,10),(4,11),(5,12),(6,13)]),1e-12))
@@ -3384,20 +3453,20 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         f=MEDCouplingFieldDouble(ON_CELLS)
         f.setMesh(m)
         arr=DataArrayDouble(5,2)
-        arr[:,0]=range(5) ; arr[:,1]=2*arr[:,0]
+        arr[:, 0] = list(range(5)) ; arr[:, 1] = 2 * arr[:, 0]
         f2=f.clone(True)
         self.assertRaises(InterpKernelException,f.__rsub__,2)
-        self.assertRaises(InterpKernelException,f.__rsub__,range(5))
+        self.assertRaises(InterpKernelException, f.__rsub__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__rsub__,arr)
         self.assertRaises(InterpKernelException,f.__rsub__,f2)
         f.setArray(DataArrayDouble())
         self.assertRaises(InterpKernelException,f.__rsub__,2)
-        self.assertRaises(InterpKernelException,f.__rsub__,range(5))
+        self.assertRaises(InterpKernelException, f.__rsub__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__rsub__,arr)
         self.assertRaises(InterpKernelException,f.__rsub__,f2)
         self.assertRaises(InterpKernelException,f.__getitem__,(slice(None),0))
         f.getArray().alloc(5,2)
-        f.getArray()[:,0]=range(5) ; f.getArray()[:,1]=f.getArray()[:,0]+7
+        f.getArray()[:, 0] = list(range(5)) ; f.getArray()[:, 1] = f.getArray()[:, 0] + 7
         ff=2-f
         ff.checkConsistencyLight()
         self.assertTrue(ff.getArray().isEqual(DataArrayDouble([(2,-5),(1,-6),(0,-7),(-1,-8),(-2,-9)]),1e-12))
@@ -3410,20 +3479,20 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         f=MEDCouplingFieldDouble(ON_CELLS)
         f.setMesh(m)
         arr=DataArrayDouble(5,2)
-        arr[:,0]=range(5) ; arr[:,1]=2*arr[:,0]
+        arr[:, 0] = list(range(5)) ; arr[:, 1] = 2 * arr[:, 0]
         f2=f.clone(True)
         self.assertRaises(InterpKernelException,f.__rmul__,2)
-        self.assertRaises(InterpKernelException,f.__rmul__,range(5))
+        self.assertRaises(InterpKernelException, f.__rmul__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__rmul__,arr)
         self.assertRaises(InterpKernelException,f.__rmul__,f2)
         f.setArray(DataArrayDouble())
         self.assertRaises(InterpKernelException,f.__rmul__,2)
-        self.assertRaises(InterpKernelException,f.__rmul__,range(5))
+        self.assertRaises(InterpKernelException, f.__rmul__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__rmul__,arr)
         self.assertRaises(InterpKernelException,f.__rmul__,f2)
         self.assertRaises(InterpKernelException,f.__getitem__,(slice(None),0))
         f.getArray().alloc(5,2)
-        f.getArray()[:,0]=range(5) ; f.getArray()[:,1]=f.getArray()[:,0]+7
+        f.getArray()[:, 0] = list(range(5)) ; f.getArray()[:, 1] = f.getArray()[:, 0] + 7
         ff=2*f
         ff.checkConsistencyLight()
         self.assertTrue(ff.getArray().isEqual(DataArrayDouble([(0,14),(2,16),(4,18),(6,20),(8,22)]),1e-12))
@@ -3438,20 +3507,20 @@ class MEDCouplingBasicsTest4(unittest.TestCase):
         f=MEDCouplingFieldDouble(ON_CELLS)
         f.setMesh(m)
         arr=DataArrayDouble(5,2)
-        arr[:,0]=range(1,6) ; arr[:,1]=2*arr[:,0]
+        arr[:, 0] = list(range(1, 6)) ; arr[:, 1] = 2 * arr[:, 0]
         f2=f.clone(True)
         self.assertRaises(InterpKernelException,f.__rdiv__,2)
-        self.assertRaises(InterpKernelException,f.__rdiv__,range(5))
+        self.assertRaises(InterpKernelException, f.__rdiv__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__rdiv__,arr)
         self.assertRaises(InterpKernelException,f.__rdiv__,f2)
         f.setArray(DataArrayDouble())
         self.assertRaises(InterpKernelException,f.__rdiv__,2)
-        self.assertRaises(InterpKernelException,f.__rdiv__,range(5))
+        self.assertRaises(InterpKernelException, f.__rdiv__, list(range(5)))
         self.assertRaises(InterpKernelException,f.__rdiv__,arr)
         self.assertRaises(InterpKernelException,f.__rdiv__,f2)
         self.assertRaises(InterpKernelException,f.__getitem__,(slice(None),0))
         f.getArray().alloc(5,2)
-        f.getArray()[:,0]=range(1,6) ; f.getArray()[:,1]=f.getArray()[:,0]+7
+        f.getArray()[:, 0] = list(range(1, 6)) ; f.getArray()[:, 1] = f.getArray()[:, 0] + 7
         ff=2/f
         ff.checkConsistencyLight()
         self.assertTrue(ff.getArray().isEqual(DataArrayDouble([(2,0.25),(1,0.22222222222222221),(0.66666666666666663,0.20000000000000001),(0.5,0.18181818181818182),(0.40000000000000002,0.16666666666666666)]),1e-12))