[pypy-commit] pypy can_cast: fix translation
rlamy
noreply at buildbot.pypy.org
Thu Apr 30 13:53:10 CEST 2015
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: can_cast
Changeset: r76952:af8b59de3288
Date: 2015-04-30 12:52 +0100
http://bitbucket.org/pypy/pypy/changeset/af8b59de3288/
Log: fix translation
diff --git a/pypy/module/micronumpy/types.py b/pypy/module/micronumpy/types.py
--- a/pypy/module/micronumpy/types.py
+++ b/pypy/module/micronumpy/types.py
@@ -2494,35 +2494,37 @@
smaller_types = unrolling_iterable(
[(tp, tp.Unsigned) for tp in smaller_types])
def min_dtype(self):
+ value = rffi.cast(UInt64.T, self.value)
for Small, USmall in smaller_types:
- signed_max = rffi.cast(UInt_t.T, Small.max_value)
- unsigned_max = rffi.cast(UInt_t.T, USmall.max_value)
- if self.value <= unsigned_max:
- if self.value <= signed_max:
+ signed_max = rffi.cast(UInt64.T, Small.max_value)
+ unsigned_max = rffi.cast(UInt64.T, USmall.max_value)
+ if value <= unsigned_max:
+ if value <= signed_max:
return Small.num, USmall.num
else:
return USmall.num, USmall.num
- if self.value <= rffi.cast(UInt_t.T, Int_t.max_value):
+ if value <= rffi.cast(UInt64.T, Int_t.max_value):
return Int_t.num, UInt_t.num
else:
return UInt_t.num, UInt_t.num
UInt_t.BoxType.min_dtype = min_dtype
def min_dtype(self):
- if self.value >= 0:
+ value = rffi.cast(Int64.T, self.value)
+ if value >= 0:
for Small, USmall in smaller_types:
- signed_max = rffi.cast(UInt_t.T, Small.max_value)
- unsigned_max = rffi.cast(UInt_t.T, USmall.max_value)
- if self.value <= unsigned_max:
- if self.value <= signed_max:
+ signed_max = rffi.cast(Int64.T, Small.max_value)
+ unsigned_max = rffi.cast(Int64.T, USmall.max_value)
+ if value <= unsigned_max:
+ if value <= signed_max:
return Small.num, USmall.num
else:
return USmall.num, USmall.num
return Int_t.num, UInt_t.num
else:
for Small, USmall in smaller_types:
- signed_min = rffi.cast(UInt_t.T, Small.min_value)
- if self.value >= signed_max:
+ signed_min = rffi.cast(Int64.T, Small.min_value)
+ if value >= signed_min:
return Small.num, Small.num
return Int_t.num, Int_t.num
Int_t.BoxType.min_dtype = min_dtype
More information about the pypy-commit
mailing list