예제 #1
0
파일: ctypeprim.py 프로젝트: kipras/pypy
 def convert_to_object(self, cdata):
     if self.value_fits_long:
         value = misc.read_raw_long_data(cdata, self.size)
         return self.space.wrap(value)
     else:
         value = misc.read_raw_signed_data(cdata, self.size)
         return self.space.wrap(value)  # r_longlong => on 32-bit, 'long'
예제 #2
0
 def test_it_writes_nothing_and_returns_None(self, space):
     data = lltype.malloc(rffi.CCHARP.TO, 1, flavor='raw')
     misc.write_raw_signed_data(data, 11, 1)
     w_void_type = ffitype.VoidRWStrategy()
     res = w_void_type.write(space, data, 0)
     assert misc.read_raw_signed_data(data, 1) == 11
     assert res is None
     lltype.free(data, flavor='raw')
예제 #3
0
파일: test_type.py 프로젝트: mswart/topaz
 def test_it_writes_nothing_and_returns_None(self, space):
     data = lltype.malloc(rffi.CCHARP.TO, 1, flavor='raw')
     misc.write_raw_signed_data(data, 11, 1)
     w_void_type = ffitype.VoidRWStrategy()
     res = w_void_type.write(space, data, 0)
     assert misc.read_raw_signed_data(data, 1) == 11
     assert res is None
     lltype.free(data, flavor='raw')
예제 #4
0
 def test_it_writes_signed_types_to_buffer(self, space):
     for t in [
             ffitype.INT8, ffitype.INT16, ffitype.INT32, ffitype.INT64,
             ffitype.LONG
     ]:
         w_signed_type = ffitype.SignedRWStrategy(t)
         size = w_signed_type.typesize
         # make new buffer for every t
         data = lltype.malloc(rffi.CCHARP.TO, size, flavor='raw')
         w_i = space.newint(-18)
         w_signed_type.write(space, data, w_i)
         raw_res = misc.read_raw_signed_data(data, size)
         assert raw_res == -18
         lltype.free(data, flavor='raw')
예제 #5
0
파일: test_type.py 프로젝트: mswart/topaz
 def test_it_writes_signed_types_to_buffer(self, space):
     for t in [ffitype.INT8,
               ffitype.INT16,
               ffitype.INT32,
               ffitype.INT64,
               ffitype.LONG]:
         w_signed_type = ffitype.SignedRWStrategy(t)
         size = w_signed_type.typesize
         # make new buffer for every t
         data = lltype.malloc(rffi.CCHARP.TO, size, flavor='raw')
         w_i = space.newint(-18)
         w_signed_type.write(space, data, w_i)
         raw_res = misc.read_raw_signed_data(data, size)
         assert raw_res == -18
         lltype.free(data, flavor='raw')
예제 #6
0
파일: ctypeprim.py 프로젝트: zielmicha/pypy
 def _convert_to_object_longlong(self, cdata):
     # in its own function: LONGLONG may make the whole function jit-opaque
     value = misc.read_raw_signed_data(cdata, self.size)
     return self.space.wrap(value)    # r_longlong => on 32-bit, 'long'
예제 #7
0
파일: type.py 프로젝트: mswart/topaz
 def read(self, space, data):
     result = misc.read_raw_signed_data(data, self.typesize)
     return space.newint(intmask(result))
예제 #8
0
파일: type.py 프로젝트: mswart/topaz
 def read(self, space, data):
     result = bool(misc.read_raw_signed_data(data, self.typesize))
     return space.newbool(result)
예제 #9
0
 def _nonzero_longlong(self, cdata):
     # in its own function: LONGLONG may make the whole function jit-opaque
     value = misc.read_raw_signed_data(cdata, self.size)
     return bool(value)
예제 #10
0
파일: ctypeprim.py 프로젝트: mozillazg/pypy
 def _nonzero_longlong(self, cdata):
     # in its own function: LONGLONG may make the whole function jit-opaque
     value = misc.read_raw_signed_data(cdata, self.size)
     return bool(value)