(self)
return (n >> 1) ^ -(n & 1)
int and long values are written using variable-length, zig-zag
        coding.
int and long values are written using variable-length, zig-zag
        coding.
int and long values are written using variable - length zig - zag coding .
def read_long(self):
        """int and long values are written using variable-length, zig-zag
        coding."""
        c = self.fo.read(1)

        # We do EOF checking only here, since most reader start here
        if not c:
            raise StopIteration

        b = ord(c)
        n = b & 0x7F
        shift = 7

        while (b & 0x80) != 0:
            b = ord(self.fo.read(1))
            n |= (b & 0x7F) << shift
            shift += 7

        return (n >> 1) ^ -(n & 1)
def read_long ( self ) : c = self . fo . read ( 1 ) # We do EOF checking only here, since most reader start here if not c : raise StopIteration b = ord ( c ) n = b & 0x7F shift = 7 while ( b & 0x80 ) != 0 : b = ord ( self . fo . read ( 1 ) ) n |= ( b & 0x7F ) << shift shift += 7 return ( n >> 1 ) ^ - ( n & 1 )