本文整理汇总了Python中pypy.objspace.std.register_all.register_all函数的典型用法代码示例。如果您正苦于以下问题:Python register_all函数的具体用法?Python register_all怎么用?Python register_all使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了register_all函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: formatd
return "nan"
else:
return formatd(x, code, precision)
def repr_format(x):
return format_float(x, 'r', 0)
def str_format(x):
return format_float(x, 'g', DTSF_STR_PRECISION)
def repr__Complex(space, w_complex):
if w_complex.realval == 0 and copysign(1., w_complex.realval) == 1.:
return space.wrap(repr_format(w_complex.imagval) + 'j')
sign = (copysign(1., w_complex.imagval) == 1. or
isnan(w_complex.imagval)) and '+' or ''
return space.wrap('(' + repr_format(w_complex.realval)
+ sign + repr_format(w_complex.imagval) + 'j)')
def str__Complex(space, w_complex):
if w_complex.realval == 0 and copysign(1., w_complex.realval) == 1.:
return space.wrap(str_format(w_complex.imagval) + 'j')
sign = (copysign(1., w_complex.imagval) == 1. or
isnan(w_complex.imagval)) and '+' or ''
return space.wrap('(' + str_format(w_complex.realval)
+ sign + str_format(w_complex.imagval) + 'j)')
def format__Complex_ANY(space, w_complex, w_format_spec):
return newformat.run_formatter(space, w_format_spec, "format_complex", w_complex)
from pypy.objspace.std import complextype
register_all(vars(), complextype)
示例2: SMM
doc='L.count(value) -> integer -- return number of'
' occurrences of value')
list_reverse = SMM('reverse',1,
doc='L.reverse() -- reverse *IN PLACE*')
list_sort = SMM('sort', 4, defaults=(None, None, False), argnames=['cmp', 'key', 'reverse'],
doc='L.sort(cmp=None, key=None, reverse=False) -- stable'
' sort *IN PLACE*;\ncmp(x, y) -> -1, 0, 1')
list_reversed = SMM('__reversed__', 1,
doc='L.__reversed__() -- return a reverse iterator over'
' the list')
def list_reversed__ANY(space, w_list):
from pypy.objspace.std.iterobject import W_ReverseSeqIterObject
return W_ReverseSeqIterObject(space, w_list, -1)
register_all(vars(), globals())
# ____________________________________________________________
def descr__new__(space, w_listtype, __args__):
if space.config.objspace.std.withmultilist:
from pypy.objspace.std.listmultiobject import W_ListMultiObject
w_obj = space.allocate_instance(W_ListMultiObject, w_listtype)
W_ListMultiObject.__init__(w_obj, space)
else:
from pypy.objspace.std.listobject import W_ListObject
w_obj = space.allocate_instance(W_ListObject, w_listtype)
W_ListObject.__init__(w_obj, [])
return w_obj
# ____________________________________________________________
示例3: delegate_buf2str
# ____________________________________________________________
def delegate_buf2str(space, w_strbuf):
w_strbuf.force()
return w_strbuf.w_str
def delegate_buf2unicode(space, w_strbuf):
w_strbuf.force()
return delegate_String2Unicode(space, w_strbuf.w_str)
def len__StringBuffer(space, w_self):
return space.wrap(w_self.length)
def add__StringBuffer_String(space, w_self, w_other):
if w_self.builder.getlength() != w_self.length:
builder = StringBuilder()
builder.append(w_self.force())
else:
builder = w_self.builder
builder.append(w_other._value)
return W_StringBufferObject(builder)
def str__StringBuffer(space, w_self):
# you cannot get subclasses of W_StringBufferObject here
assert type(w_self) is W_StringBufferObject
return w_self
from pypy.objspace.std import stringtype
register_all(vars(), stringtype)
示例4: unicode_format__Unicode
def unicode_format__Unicode(space, w_unicode, __args__):
return newformat.format_method(space, w_unicode, __args__, True)
def format__Unicode_ANY(space, w_unicode, w_format_spec):
if not space.isinstance_w(w_format_spec, space.w_unicode):
w_format_spec = space.call_function(space.w_unicode, w_format_spec)
from pypy.objspace.std.unicodetype import unicode_from_object
w_unicode = unicode_from_object(space, w_unicode)
spec = space.unicode_w(w_format_spec)
formatter = newformat.unicode_formatter(space, spec)
return formatter.format_string(space.unicode_w(w_unicode))
from pypy.objspace.std import unicodetype
register_all(vars(), unicodetype)
# str.strip(unicode) needs to convert self to unicode and call unicode.strip we
# use the following magic to register strip_string_unicode as a String
# multimethod.
# XXX couldn't string and unicode _share_ the multimethods that make up their
# methods?
class str_methods:
from pypy.objspace.std import stringtype
W_UnicodeObject = W_UnicodeObject
from pypy.objspace.std.stringobject import W_StringObject
from pypy.objspace.std.ropeobject import W_RopeObject
def str_strip__String_Unicode(space, w_self, w_chars):
from pypy.objspace.std.unicodetype import unicode_from_string
示例5: new_bytearray
if right:
while rpos > lpos and u_self[rpos - 1] in u_chars:
rpos -= 1
assert rpos >= 0
return new_bytearray(space, space.w_bytearray, u_self[lpos:rpos])
# __________________________________________________________
# Buffer interface
class BytearrayBuffer(RWBuffer):
def __init__(self, data):
self.data = data
def getlength(self):
return len(self.data)
def getitem(self, index):
return self.data[index]
def setitem(self, index, char):
self.data[index] = char
def buffer__Bytearray(space, self):
b = BytearrayBuffer(self.data)
return space.wrap(b)
from pypy.objspace.std import bytearraytype
register_all(vars(), bytearraytype)
示例6: float_is_integer__Float
w_exp = space.lshift(w_den, w_exp)
if exp > 0:
w_num = space.mul(w_num, w_exp)
else:
w_den = w_exp
# Try to return int.
return space.newtuple([space.int(w_num), space.int(w_den)])
def float_is_integer__Float(space, w_float):
v = w_float.floatval
if not rfloat.isfinite(v):
return space.w_False
return space.wrap(math.floor(v) == v)
from pypy.objspace.std import floattype
register_all(vars(), floattype)
# pow delegation for negative 2nd arg
def pow_neg__Long_Long_None(space, w_int1, w_int2, thirdarg):
w_float1 = delegate_Long2Float(space, w_int1)
w_float2 = delegate_Long2Float(space, w_int2)
return pow__Float_Float_ANY(space, w_float1, w_float2, thirdarg)
model.MM.pow.register(pow_neg__Long_Long_None, W_LongObject, W_LongObject,
W_NoneObject, order=1)
def pow_neg__Int_Int_None(space, w_int1, w_int2, thirdarg):
w_float1 = delegate_Int2Float(space, w_int1)
w_float2 = delegate_Int2Float(space, w_int2)
return pow__Float_Float_ANY(space, w_float1, w_float2, thirdarg)
示例7: tuple_count__Tuple_ANY
return space.newtuple([space.newtuple(w_tuple.wrappeditems)])
def tuple_count__Tuple_ANY(space, w_tuple, w_obj):
count = 0
for w_item in w_tuple.wrappeditems:
if space.eq_w(w_item, w_obj):
count += 1
return space.wrap(count)
def tuple_index__Tuple_ANY_ANY_ANY(space, w_tuple, w_obj, w_start, w_stop):
start = slicetype._Eval_SliceIndex(space, w_start)
stop = slicetype._Eval_SliceIndex(space, w_stop)
length = len(w_tuple.wrappeditems)
if start < 0:
start += length
if start < 0:
start = 0
if stop < 0:
stop += length
if stop < 0:
stop = 0
for i in range(start, min(stop, length)):
w_item = w_tuple.wrappeditems[i]
if space.eq_w(w_item, w_obj):
return space.wrap(i)
raise OperationError(space.w_ValueError,
space.wrap("tuple.index(x): x not in tuple"))
from pypy.objspace.std import tupletype
register_all(vars(), tupletype)
示例8: range
# perform the sort
sorter.sort()
# reverse again
if has_reverse:
sorter.list.reverse()
finally:
# unwrap each item if needed
if has_key:
for i in range(sorter.listlength):
w_obj = sorter.list[i]
if isinstance(w_obj, KeyContainer):
sorter.list[i] = w_obj.w_item
# check if the user mucked with the list during the sort
mucked = len(w_list.wrappeditems) > 0
# put the items back into the list
w_list.wrappeditems = sorter.list
if mucked:
raise OperationError(space.w_ValueError,
space.wrap("list modified during sort"))
return space.w_None
from pypy.objspace.std import listtype
register_all(vars(), listtype)
示例9: lt__Slice_Slice
return space.w_True
else:
return space.w_False
def lt__Slice_Slice(space, w_slice1, w_slice2):
if space.is_w(w_slice1, w_slice2):
return space.w_False # see comments in eq__Slice_Slice()
if space.eq_w(w_slice1.w_start, w_slice2.w_start):
if space.eq_w(w_slice1.w_stop, w_slice2.w_stop):
return space.lt(w_slice1.w_step, w_slice2.w_step)
else:
return space.lt(w_slice1.w_stop, w_slice2.w_stop)
else:
return space.lt(w_slice1.w_start, w_slice2.w_start)
# indices impl
def slice_indices__Slice_ANY(space, w_slice, w_length):
length = space.getindex_w(w_length, space.w_OverflowError)
start, stop, step = w_slice.indices3(space, length)
return space.newtuple([space.wrap(start), space.wrap(stop), space.wrap(step)])
# register all methods
from pypy.objspace.std import slicetype
register_all(vars(), slicetype)