bits

package
v0.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 10, 2015 License: ISC Imports: 2 Imported by: 0

README

bits

This package provides bit reading operations and binary decoding algorithms.

Documentation

Documentation provided by GoDoc.

  • bits: provides bit reading operations and binary decoding algorithms.

public domain

This code is hereby released into the public domain.

Documentation

Overview

Package bits provides bit reading operations and binary decoding algorithms.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ZigZag

func ZigZag(x int32) int32

ZigZag decodes a ZigZag encoded integer and returns it.

Examples of ZigZag encoded values on the left and decoded values on the right:

0 =>  0
1 => -1
2 =>  1
3 => -2
4 =>  2
5 => -3
6 =>  3

ref: https://developers.google.com/protocol-buffers/docs/encoding

Types

type Reader

type Reader struct {
	// contains filtered or unexported fields
}

A Reader handles bit reading operations. It buffers bits up to the next byte boundary.

func NewReader

func NewReader(r io.Reader) (br *Reader)

NewReader returns a new Reader that reads bits from r.

func (*Reader) Read

func (br *Reader) Read(n uint) (x uint64, err error)

Read reads and returns the next n bits, at most 64. It buffers bits up to the next byte boundary.

func (*Reader) ReadUnary

func (br *Reader) ReadUnary() (x uint64, err error)

ReadUnary decodes and returns an unary coded integer, whose value is represented by the number of leading zeros before a one.

Examples of unary coded binary on the left and decoded decimal on the right:

1       => 0
01      => 1
001     => 2
0001    => 3
00001   => 4
000001  => 5
0000001 => 6

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL