package bytealg
import "internal/bytealg"
Index ¶
- Constants
- Variables
- func Compare(a, b []byte) int
- func CompareString(a, b string) int
- func Count(b []byte, c byte) int
- func CountString(s string, c byte) int
- func Cutover(n int) int
- func Equal(a, b []byte) bool
- func HashStr[T string | []byte](sep T) (uint32, uint32)
- func HashStrRev[T string | []byte](sep T) (uint32, uint32)
- func Index(a, b []byte) int
- func IndexByte(b []byte, c byte) int
- func IndexByteString(s string, c byte) int
- func IndexRabinKarp[T string | []byte](s, sep T) int
- func IndexString(a, b string) int
- func LastIndexByte(s []byte, c byte) int
- func LastIndexByteString(s string, c byte) int
- func LastIndexRabinKarp[T string | []byte](s, sep T) int
- func MakeNoZero(n int) []byte
Constants ¶
const MaxBruteForce = 64
const PrimeRK = 16777619
PrimeRK is the prime base used in Rabin-Karp algorithm.
Variables ¶
var MaxLen int
MaxLen is the maximum length of the string to be searched for (argument b) in Index. If MaxLen is not 0, make sure MaxLen >= 4.
Functions ¶
func Compare ¶
func CompareString ¶
func Count ¶
func CountString ¶
func Cutover ¶
Cutover reports the number of failures of IndexByte we should tolerate before switching over to Index. n is the number of bytes processed so far. See the bytes.Index implementation for details.
func Equal ¶
Equal reports whether a and b are the same length and contain the same bytes. A nil argument is equivalent to an empty slice.
Equal is equivalent to bytes.Equal. It is provided here for convenience, because some packages cannot depend on bytes.
func HashStr ¶
HashStr returns the hash and the appropriate multiplicative factor for use in Rabin-Karp algorithm.
func HashStrRev ¶
HashStrRev returns the hash of the reverse of sep and the appropriate multiplicative factor for use in Rabin-Karp algorithm.
func Index ¶
Index returns the index of the first instance of b in a, or -1 if b is not present in a. Requires 2 <= len(b) <= MaxLen.
func IndexByte ¶
func IndexByteString ¶
func IndexRabinKarp ¶
IndexRabinKarp uses the Rabin-Karp search algorithm to return the index of the first occurrence of sep in s, or -1 if not present.
func IndexString ¶
IndexString returns the index of the first instance of b in a, or -1 if b is not present in a. Requires 2 <= len(b) <= MaxLen.
func LastIndexByte ¶
func LastIndexByteString ¶
func LastIndexRabinKarp ¶
LastIndexRabinKarp uses the Rabin-Karp search algorithm to return the last index of the occurrence of sep in s, or -1 if not present.
func MakeNoZero ¶
MakeNoZero makes a slice of length n and capacity of at least n Bytes without zeroing the bytes (including the bytes between len and cap). It is the caller's responsibility to ensure uninitialized bytes do not leak to the end user.
Source Files ¶
bytealg.go compare_native.go count_native.go equal_generic.go equal_native.go index_amd64.go index_native.go indexbyte_native.go lastindexbyte_generic.go
- Version
- v1.24.0
- Published
- Feb 10, 2025
- Platform
- windows/amd64
- Imports
- 2 packages
- Last checked
- 4 minutes ago –
Tools for package owners.