calendarDuration.keyHash
calendarDuration: key = keyHash (calD)
calendarDuration: key = keyHash (calD, base)
Generate a hash code for a calendarDuration array.
key = keyHash (calD) generates a uint64 scalar
that represents the input array calD. keyHash utilizes the
64-bit FNV-1a variant of the Fowler-Noll-Vo non-cryptographic hash
function.
key = keyHash (calD, base) also generates a
64-bit hash code using base as the offset basis for the FNV-1a
hash algorithm. base must be a uint64 integer type
scalar. Use this syntax to cascade keyHash on multiple objects
for which a single hash code is required.
A calendarDuration array is keyed on its months, days and time
components, so calendar units that are interchangeable share a key:
calmonths (12) hashes as calyears (1), and
calweeks (1) as caldays (7). Units that are not
interchangeable stay distinct, calmonths (1) and
caldays (30) among them. The Format property is display
only and is not part of the key. Two arrays that keyMatch
reports as the same key always hash alike.
Note that unlike MATLAB, this implementation does not use any random
seed. As a result, keyHash will always generate the exact same
hash key for any particular input across different workers and Octave
sessions.
Source Code: calendarDuration