summaryrefslogtreecommitdiff
path: root/vendor/github.com/tmthrgd/go-hex/hex.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/tmthrgd/go-hex/hex.go')
-rw-r--r--vendor/github.com/tmthrgd/go-hex/hex.go137
1 files changed, 0 insertions, 137 deletions
diff --git a/vendor/github.com/tmthrgd/go-hex/hex.go b/vendor/github.com/tmthrgd/go-hex/hex.go
deleted file mode 100644
index f4eca0e84..000000000
--- a/vendor/github.com/tmthrgd/go-hex/hex.go
+++ /dev/null
@@ -1,137 +0,0 @@
-// Copyright 2016 Tom Thorogood. All rights reserved.
-// Use of this source code is governed by a
-// Modified BSD License license that can be found in
-// the LICENSE file.
-//
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package hex is an efficient hexadecimal implementation for Golang.
-package hex
-
-import (
- "errors"
- "fmt"
-)
-
-var errLength = errors.New("go-hex: odd length hex string")
-
-var (
- lower = []byte("0123456789abcdef")
- upper = []byte("0123456789ABCDEF")
-)
-
-// InvalidByteError values describe errors resulting from an invalid byte in a hex string.
-type InvalidByteError byte
-
-func (e InvalidByteError) Error() string {
- return fmt.Sprintf("go-hex: invalid byte: %#U", rune(e))
-}
-
-// EncodedLen returns the length of an encoding of n source bytes.
-func EncodedLen(n int) int {
- return n * 2
-}
-
-// DecodedLen returns the length of a decoding of n source bytes.
-func DecodedLen(n int) int {
- return n / 2
-}
-
-// Encode encodes src into EncodedLen(len(src))
-// bytes of dst. As a convenience, it returns the number
-// of bytes written to dst, but this value is always EncodedLen(len(src)).
-// Encode implements lowercase hexadecimal encoding.
-func Encode(dst, src []byte) int {
- return RawEncode(dst, src, lower)
-}
-
-// EncodeUpper encodes src into EncodedLen(len(src))
-// bytes of dst. As a convenience, it returns the number
-// of bytes written to dst, but this value is always EncodedLen(len(src)).
-// EncodeUpper implements uppercase hexadecimal encoding.
-func EncodeUpper(dst, src []byte) int {
- return RawEncode(dst, src, upper)
-}
-
-// EncodeToString returns the lowercase hexadecimal encoding of src.
-func EncodeToString(src []byte) string {
- return RawEncodeToString(src, lower)
-}
-
-// EncodeUpperToString returns the uppercase hexadecimal encoding of src.
-func EncodeUpperToString(src []byte) string {
- return RawEncodeToString(src, upper)
-}
-
-// RawEncodeToString returns the hexadecimal encoding of src for a given
-// alphabet.
-func RawEncodeToString(src, alpha []byte) string {
- dst := make([]byte, EncodedLen(len(src)))
- RawEncode(dst, src, alpha)
- return string(dst)
-}
-
-// DecodeString returns the bytes represented by the hexadecimal string s.
-func DecodeString(s string) ([]byte, error) {
- src := []byte(s)
- dst := make([]byte, DecodedLen(len(src)))
-
- if _, err := Decode(dst, src); err != nil {
- return nil, err
- }
-
- return dst, nil
-}
-
-// MustDecodeString is like DecodeString but panics if the string cannot be
-// parsed. It simplifies safe initialization of global variables holding
-// binary data.
-func MustDecodeString(str string) []byte {
- dst, err := DecodeString(str)
- if err != nil {
- panic(err)
- }
-
- return dst
-}
-
-func encodeGeneric(dst, src, alpha []byte) {
- for i, v := range src {
- dst[i*2] = alpha[v>>4]
- dst[i*2+1] = alpha[v&0x0f]
- }
-}
-
-func decodeGeneric(dst, src []byte) (uint64, bool) {
- for i := 0; i < len(src)/2; i++ {
- a, ok := fromHexChar(src[i*2])
- if !ok {
- return uint64(i * 2), false
- }
-
- b, ok := fromHexChar(src[i*2+1])
- if !ok {
- return uint64(i*2 + 1), false
- }
-
- dst[i] = (a << 4) | b
- }
-
- return 0, true
-}
-
-// fromHexChar converts a hex character into its value and a success flag.
-func fromHexChar(c byte) (byte, bool) {
- switch {
- case '0' <= c && c <= '9':
- return c - '0', true
- case 'a' <= c && c <= 'f':
- return c - 'a' + 10, true
- case 'A' <= c && c <= 'F':
- return c - 'A' + 10, true
- }
-
- return 0, false
-}