identity-hashcode ( obj -- code ) (original) (raw)
identity-hashcode ( obj -- code )
Factor handbook » The language » Collections » Hashtables » Hashtable keys
Prev: | hashcode* ( depth obj -- code ) |
---|
Vocabulary
kernel
Inputs
obj | an object |
---|
Outputs
code | a fixnum |
---|
Word description
Outputs the identity hashcode of an object. The identity hashcode is not guaranteed to be unique, however it will not change during the object's lifetime.
Definition
: identity-hashcode ( obj -- code )
dup tag 0 eq? [
dup tag 1 eq?
[ drop 0 ] [
dup (identity-hashcode) dup 0 eq? [
drop dup compute-identity-hashcode
(identity-hashcode)
] [ nip ] if
] if
] unless ; inline