about summary refs log tree commit diff stats
path: root/miasm2/analysis/modularintervals.py
diff options
context:
space:
mode:
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)