about summary refs log tree commit diff stats
path: root/miasm2/analysis/modularintervals.py
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2019-02-25 11:09:54 +0100
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2019-03-05 16:52:49 +0100
commit02bbb30efea4980c9d133947cbbf69fb599071ad (patch)
tree3fea6826fcc5354840a27cb1dc99ff31eef81896 /miasm2/analysis/modularintervals.py
parenteab809932871f91d6f4aa770fc321af9e156e0f5 (diff)
downloadmiasm-02bbb30efea4980c9d133947cbbf69fb599071ad.tar.gz
miasm-02bbb30efea4980c9d133947cbbf69fb599071ad.zip
Support python2/python3
Diffstat (limited to 'miasm2/analysis/modularintervals.py')
-rw-r--r--miasm2/analysis/modularintervals.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/miasm2/analysis/modularintervals.py b/miasm2/analysis/modularintervals.py
index 83890f19..2195598b 100644
--- a/miasm2/analysis/modularintervals.py
+++ b/miasm2/analysis/modularintervals.py
@@ -1,4 +1,7 @@
 """Intervals with a maximum size, supporting modular arithmetic"""
+
+from future.builtins import range
+from builtins import int as int_types
 from itertools import product
 
 from miasm2.core.interval import interval
@@ -59,7 +62,7 @@ class ModularIntervals(object):
         """Check and promote the second argument from integer to
         ModularIntervals with one value"""
         def ret_func(self, target):
-            if isinstance(target, (int, long)):
+            if isinstance(target, int_types):
                 target = ModularIntervals(self.size, interval([(target, target)]))
             if not isinstance(target, ModularIntervals):
                 raise TypeError("Unsupported operation with %s" % target.__class__)
@@ -336,7 +339,7 @@ class ModularIntervals(object):
         shifter &= interval([(0, self.size)])
         ret = interval()
         for shift_range in shifter:
-            for shift in xrange(shift_range[0], shift_range[1] + 1):
+            for shift in range(shift_range[0], shift_range[1] + 1):
                 for x_min, x_max in self.intervals:
                     ret += self._range_shift_uniq(x_min, x_max, shift, operation)
         return self.__class__(self.size, ret)
@@ -372,7 +375,7 @@ class ModularIntervals(object):
         shifter %= self.size
         ret = interval()
         for shift_range in shifter:
-            for shift in xrange(shift_range[0], shift_range[1] + 1):
+            for shift in range(shift_range[0], shift_range[1] + 1):
                 for x_min, x_max in self.intervals:
                     ret += self._range_rotate_uniq(x_min, x_max, shift,
                                                    operation)
@@ -446,7 +449,7 @@ class ModularIntervals(object):
         @modulo: integer
         """
 
-        if not isinstance(modulo, (int, long)):
+        if not isinstance(modulo, int_types):
             raise TypeError("Modulo with %s is not supported" % modulo.__class__)
         return self._integer_modulo(modulo)