This is intended to be used within the Cache
function, but can be used to evaluate what
a simList
would look like once it is converted to a repeatably digestible object.
# S4 method for class 'simList'
.robustDigest(object, .objects, length, algo, quick, classOptions)
an object to digest.
Character vector of objects to be digested. This is only applicable if there is a list, environment (or similar) with named objects within it. Only this/these objects will be considered for caching, i.e., only use a subset of the list, environment or similar objects. In the case of nested list-type objects, this will only be applied outermost first.
Numeric. If the element passed to Cache is a Path
class
object (from e.g., asPath(filename)
) or it is a Raster
with
file-backing, then this will be
passed to digest::digest
, essentially limiting the number of bytes
to digest (for speed). This will only be used if quick = FALSE
.
Default is getOption("reproducible.length")
, which is set to Inf
.
The algorithms to be used; currently available choices are
md5
, which is also the default, sha1
, crc32
,
sha256
, sha512
, xxhash32
, xxhash64
,
murmur32
, spookyhash
, blake3
, crc32c
,
xxh3_64
, and xxh3_128
.
Logical or character. If TRUE
,
no disk-based information will be assessed, i.e., only
memory content. See Details section about quick
in Cache()
.
Optional list. This will pass into .robustDigest
for
specific classes. Should be options that the .robustDigest
knows what
to do with.
See reproducible::.robustDigest()
.
This method strips out stuff from a simList
class object that would make it otherwise not
reproducibly digestible between sessions, operating systems, or machines.
This will likely still not allow identical digest results across R versions.