Beispiel #1
0
def pack_double(fmtiter):
    doubleval = fmtiter.accept_float_arg()
    if std.pack_fastpath(rffi.DOUBLE)(fmtiter, doubleval):
        return
    # slow path
    value = longlong2float.float2longlong(doubleval)
    pack_float_to_buffer(fmtiter.wbuf, fmtiter.pos, value, 8, fmtiter.bigendian)
    fmtiter.advance(8)
Beispiel #2
0
def pack_float(fmtiter):
    doubleval = fmtiter.accept_float_arg()
    floatval = r_singlefloat(doubleval)
    if std.pack_fastpath(rffi.FLOAT)(fmtiter, floatval):
        return
    # slow path
    value = longlong2float.singlefloat2uint(floatval)
    value = widen(value)
    value = intmask(value)
    pack_float_to_buffer(fmtiter.wbuf, fmtiter.pos, value, 4, fmtiter.bigendian)
    fmtiter.advance(4)