diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2019-02-25 11:09:54 +0100 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2019-03-05 16:52:49 +0100 |
| commit | 02bbb30efea4980c9d133947cbbf69fb599071ad (patch) | |
| tree | 3fea6826fcc5354840a27cb1dc99ff31eef81896 /miasm2/analysis/modularintervals.py | |
| parent | eab809932871f91d6f4aa770fc321af9e156e0f5 (diff) | |
| download | miasm-02bbb30efea4980c9d133947cbbf69fb599071ad.tar.gz miasm-02bbb30efea4980c9d133947cbbf69fb599071ad.zip | |
Support python2/python3
Diffstat (limited to 'miasm2/analysis/modularintervals.py')
| -rw-r--r-- | miasm2/analysis/modularintervals.py | 11 |
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) |