[pypy-svn] r21309 - in pypy/dist/pypy: annotation rpython
ac at codespeak.net
ac at codespeak.net
Mon Dec 19 14:31:28 CET 2005
Author: ac
Date: Mon Dec 19 14:31:28 2005
New Revision: 21309
Modified:
pypy/dist/pypy/annotation/builtin.py
pypy/dist/pypy/rpython/rbuiltin.py
Log:
Imporve on r_ulonglong support.
Modified: pypy/dist/pypy/annotation/builtin.py
==============================================================================
--- pypy/dist/pypy/annotation/builtin.py (original)
+++ pypy/dist/pypy/annotation/builtin.py Mon Dec 19 14:31:28 2005
@@ -89,6 +89,10 @@
return constpropagate(pypy.rpython.rarithmetic.r_longlong, [s_obj],
SomeInteger(size=2))
+def restricted_ulonglong(s_obj): # for r_uint
+ return constpropagate(pypy.rpython.rarithmetic.r_ulonglong, [s_obj],
+ SomeInteger(size=2, nonneg=True, unsigned=True))
+
def builtin_float(s_obj):
return constpropagate(float, [s_obj], SomeFloat())
@@ -335,6 +339,7 @@
BUILTIN_ANALYZERS[pypy.rpython.rarithmetic.r_uint] = restricted_uint
BUILTIN_ANALYZERS[pypy.rpython.rarithmetic.r_longlong] = restricted_longlong
+BUILTIN_ANALYZERS[pypy.rpython.rarithmetic.r_ulonglong] = restricted_ulonglong
##BUILTIN_ANALYZERS[pypy.rpython.rarithmetic.ovfcheck] = rarith_ovfcheck
##BUILTIN_ANALYZERS[pypy.rpython.rarithmetic.ovfcheck_lshift] = rarith_ovfcheck_lshift
BUILTIN_ANALYZERS[pypy.rpython.rarithmetic.intmask] = rarith_intmask
Modified: pypy/dist/pypy/rpython/rbuiltin.py
==============================================================================
--- pypy/dist/pypy/rpython/rbuiltin.py (original)
+++ pypy/dist/pypy/rpython/rbuiltin.py Mon Dec 19 14:31:28 2005
@@ -167,6 +167,10 @@
vlist = hop.inputargs(lltype.SignedLongLong)
return vlist[0]
+def rtype_r_ulonglong(hop):
+ vlist = hop.inputargs(lltype.UnsignedLongLong)
+ return vlist[0]
+
def rtype_builtin_min(hop):
rint1, rint2 = hop.args_r
assert isinstance(rint1, IntegerRepr)
@@ -319,6 +323,7 @@
BUILTIN_TYPER[rarithmetic.intmask] = rtype_intmask
BUILTIN_TYPER[rarithmetic.r_uint] = rtype_r_uint
BUILTIN_TYPER[rarithmetic.r_longlong] = rtype_r_longlong
+BUILTIN_TYPER[rarithmetic.r_ulonglong] = rtype_r_ulonglong
BUILTIN_TYPER[objectmodel.r_dict] = rtype_r_dict
BUILTIN_TYPER[objectmodel.we_are_translated] = rtype_we_are_translated
BUILTIN_TYPER[objectmodel.cast_object_to_int] = rtype_cast_object_to_int
More information about the Pypy-commit
mailing list