eq_hash(obj)
eqv_hash(obj)
equal_hash(obj)
string_hash(str)
string_ci_hash(str)
symbol_hash(sym)
Return an exact nonnegative integer hash value generated from the argument object.
These hash function are suitable for use with the appropriate predicate: is_eq for
eq_hash and symbol_hash, is_eqv for eqv_hash,
is_equal for equal_hash,
string_is_eq for string_hash, and
string_is_ci_eq for string_ci_hash. In other words,
eq_hash(a) == eq_hash(b) implies is_eq(a, b) == , trueeqv_hash(a) == eqv_hash(b) implies
is_eqv(a, b) == , trueequal_hash(a) == equal_hash(b) implies is_equal(a, b) == ,
truestring_hash(s1) == string_hash(s2) implies string_is_eq(s1, s2) == ,
and truestring_ci_hash(s1) == string_ci_hash(s2) implies string_is_eq(s1, s2) == .true
For symbol_hash, when sym is an interned symbol the value returned is the same as:
string_hash(symbol_to_string(sym)).
The hash values returned by equal_hash, string_hash, and string_ci_hash are typically
dependent on the current structure and contents of the input values and are thus unsuitable
if keys are modified while they have associations in a hash table.
string_hash("car")
// 444471047
string_hash("car") == symbol_hash('car)
// true