This can be used by a user to pre-test their arguments before running Cache, for example to determine whether there is a cached copy.

CacheDigest(objsToDigest, algo = "xxhash64", calledFrom = "Cache", ...)

Arguments

objsToDigest

A list of all the objects (e.g., arguments) to be digested

algo

The algorithms to be used; currently available choices are md5, which is also the default, sha1, crc32, sha256, sha512, xxhash32, xxhash64, murmur32 and spookyhash.

calledFrom

a Character string, length 1, with the function to compare with. Default is "Cache". All other values may not produce robust CacheDigest results.

...

passed to .robustDigest; this is generally empty except for advanced use.

Value

A list of length 2 with the outputHash, which is the digest that Cache uses for cacheId and also preDigest, which is the digest of each sub-element in objsToDigest.

Examples

if (FALSE) { a <- Cache(rnorm, 1) CacheDigest(list(rnorm, 1)) }