Author: Armin Rigo <[email protected]>
Branch: jitypes2
Changeset: r44187:1eb5b21b489d
Date: 2011-05-15 19:00 +0200
http://bitbucket.org/pypy/pypy/changeset/1eb5b21b489d/
Log: Kill from here; it now lives in rlib/longlong2float.py.
diff --git a/pypy/rlib/libffi.py b/pypy/rlib/libffi.py
--- a/pypy/rlib/libffi.py
+++ b/pypy/rlib/libffi.py
@@ -9,6 +9,7 @@
push_arg_as_ffiptr, c_ffi_call, FFI_TYPE_STRUCT
from pypy.rlib.rdynload import dlopen, dlclose, dlsym, dlsym_byordinal
from pypy.rlib.rdynload import DLLHANDLE
+from pypy.rlib.longlong2float import longlong2float, float2longlong
class types(object):
"""
@@ -216,48 +217,6 @@
func._push_longlong(self.floatval, ll_args, i)
-# -------- implement longlong2float and float2longlong --------
-DOUBLE_ARRAY_PTR = lltype.Ptr(lltype.Array(rffi.DOUBLE))
-LONGLONG_ARRAY_PTR = lltype.Ptr(lltype.Array(rffi.LONGLONG))
-
-# these definitions are used only in tests, when not translated
-def longlong2float_emulator(llval):
- d_array = lltype.malloc(DOUBLE_ARRAY_PTR.TO, 1, flavor='raw')
- ll_array = rffi.cast(LONGLONG_ARRAY_PTR, d_array)
- ll_array[0] = llval
- floatval = d_array[0]
- lltype.free(d_array, flavor='raw')
- return floatval
-
-def float2longlong_emulator(floatval):
- d_array = lltype.malloc(DOUBLE_ARRAY_PTR.TO, 1, flavor='raw')
- ll_array = rffi.cast(LONGLONG_ARRAY_PTR, d_array)
- d_array[0] = floatval
- llval = ll_array[0]
- lltype.free(d_array, flavor='raw')
- return llval
-
-from pypy.translator.tool.cbuild import ExternalCompilationInfo
-eci = ExternalCompilationInfo(post_include_bits=["""
-static double pypy__longlong2float(long long x) {
- return *((double*)&x);
-}
-static long long pypy__float2longlong(double x) {
- return *((long long*)&x);
-}
-"""])
-
-longlong2float = rffi.llexternal(
- "pypy__longlong2float", [rffi.LONGLONG], rffi.DOUBLE,
- _callable=longlong2float_emulator, compilation_info=eci,
- _nowrapper=True, pure_function=True)
-
-float2longlong = rffi.llexternal(
- "pypy__float2longlong", [rffi.DOUBLE], rffi.LONGLONG,
- _callable=float2longlong_emulator, compilation_info=eci,
- _nowrapper=True, pure_function=True)
-
-
# ======================================================================
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit