The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Type: Package
Title: Extremely Fast Hashing of R Objects, Raw Data and Files using 'xxHash' Algorithms
Version: 0.2.2
Maintainer: Mike Cheng <mikefc@coolbutuseless.com>
Description: Extremely fast hashing of R objects using 'xxHash'. R objects are hashed via the standard serialization mechanism in R. Raw byte vectors and strings can be handled directly for compatibility with hashes created on other systems. This implementation is a wrapper around the 'xxHash' 'C' library which is available from https://github.com/Cyan4973/xxHash.
License: MIT + file LICENSE
URL: https://github.com/coolbutuseless/xxhashlite
BugReports: https://github.com/coolbutuseless/xxhashlite/issues
Encoding: UTF-8
RoxygenNote: 7.3.1
Suggests: testthat
Depends: R (≥ 3.5.0)
Copyright: This package includes code from the 'xxhash' written Yann Collet. See file 'inst/LICENSE-xxhash' for copyright information of the original library.
NeedsCompilation: yes
Packaged: 2024-03-12 07:12:31 UTC; mike
Author: Mike Cheng [aut, cre, cph], Yann Collet [ctb, cph] (Author of the embedded xxhash library)
Repository: CRAN
Date/Publication: 2024-03-12 20:10:02 UTC

Calculate the hash of an arbitrary R object.

Description

This function will calculate the hash of any object understood by base::serialize().

Usage

xxhash(robj, algo = "xxh128", as_raw = FALSE)

Arguments

robj

Any R object

algo

Select the specific xxhash algorithm. Default: 'xxh128'. (the latest algorithm in the xxhash family) Valid values: 'xxh32', 'xxh64', 'xxh128', 'xxh3'

as_raw

Return the hash as a raw vector of bytes instead of string? Default: FALSE. If TRUE, then the raw bytes are returned in big-endian order - which is what xxHash considers the canonical form.

Value

String representation of hash. If as_raw = TRUE then a raw vector is returned instead.

Examples

xxhash(mtcars)
xxhash(mtcars, algo = 'xxh3', as_raw = TRUE)

Calculate the hash of a file

Description

Calculate the hash of a file

Usage

xxhash_file(file, algo = "xxh128", as_raw = FALSE)

Arguments

file

filename

algo

Select the specific xxhash algorithm. Default: 'xxh128'. (the latest algorithm in the xxhash family) Valid values: 'xxh32', 'xxh64', 'xxh128', 'xxh3'

as_raw

Return the hash as a raw vector of bytes instead of string? Default: FALSE. If TRUE, then the raw bytes are returned in big-endian order - which is what xxHash considers the canonical form.

Value

String representation of hash. If as_raw = TRUE then a raw vector is returned instead.

Examples

filename <- system.file('DESCRIPTION', package = 'base', mustWork = TRUE)
xxhash_file(filename)

Calculate the hash of a raw vector or string

Description

This performs a hash of the raw bytes - not of the serialized representation.

Usage

xxhash_raw(vec, algo = "xxh128", as_raw = FALSE)

Arguments

vec

raw vector or single character string

algo

Select the specific xxhash algorithm. Default: 'xxh128'. (the latest algorithm in the xxhash family) Valid values: 'xxh32', 'xxh64', 'xxh128', 'xxh3'

as_raw

Return the hash as a raw vector of bytes instead of string? Default: FALSE. If TRUE, then the raw bytes are returned in big-endian order - which is what xxHash considers the canonical form.

Value

String representation of hash. If as_raw = TRUE then a raw vector is returned instead.

Examples

vec <- "hello"
xxhash_raw(vec)
vec <- as.raw(c(0x01, 0x02, 0x99))
xxhash_raw(vec)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.