(f)
r"""
    >>> import StringIO, struct
    >>> raw = struct.pack(">d", -1.25)
    >>> raw
    '\xbf\xf4\x00\x00\x00\x00\x00\x00'
    >>> read_float8(StringIO.StringIO(raw + "\n"))
    -1.25
r"""
    >>> import StringIO, struct
    >>> raw = struct.pack(">d", -1.25)
    >>> raw
    '\xbf\xf4\x00\x00\x00\x00\x00\x00'
    >>> read_float8(StringIO.StringIO(raw + "\n"))
    -1.25
r >>> import StringIO struct >>> raw = struct . pack ( > d - 1 . 25 ) >>> raw \ xbf \ xf4 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 >>> read_float8 ( StringIO . StringIO ( raw + \ n )) - 1 . 25
def read_float8(f):
    r"""
    >>> import StringIO, struct
    >>> raw = struct.pack(">d", -1.25)
    >>> raw
    '\xbf\xf4\x00\x00\x00\x00\x00\x00'
    >>> read_float8(StringIO.StringIO(raw + "\n"))
    -1.25
    """

    data = f.read(8)
    if len(data) == 8:
        return _unpack(">d", data)[0]
    raise ValueError("not enough data in stream to read float8")
def read_float8 ( f ) : data = f . read ( 8 ) if len ( data ) == 8 : return _unpack ( ">d" , data ) [ 0 ] raise ValueError ( "not enough data in stream to read float8" )