XHashTable(Key, Entry)
xhash.spad line 1
[edit on github]
An implementation of a hash table that uses equality of the key domain to decide upon equality of keys.
- # : % -> NonNegativeInteger
- from Aggregate
- = : (%, %) -> Boolean if Record(key : Key, entry : Entry) has BasicType or Entry has BasicType
- from BasicType
- any? : (Mapping(Boolean, Entry), %) -> Boolean
- from HomogeneousAggregate(Entry)
- any? : (Mapping(Boolean, Record(key : Key, entry : Entry)), %) -> Boolean
- from HomogeneousAggregate(Record(key : Key, entry : Entry))
- coerce : % -> OutputForm if Record(key : Key, entry : Entry) has CoercibleTo(OutputForm) or Entry has CoercibleTo(OutputForm)
- from CoercibleTo(OutputForm)
- construct : List(Record(key : Key, entry : Entry)) -> %
- from Collection(Record(key : Key, entry : Entry))
- convert : % -> InputForm if Record(key : Key, entry : Entry) has ConvertibleTo(InputForm)
- from ConvertibleTo(InputForm)
- copy : % -> %
- from Aggregate
- count : (Entry, %) -> NonNegativeInteger if Entry has BasicType
- from HomogeneousAggregate(Entry)
- count : (Mapping(Boolean, Entry), %) -> NonNegativeInteger
- from HomogeneousAggregate(Entry)
- count : (Mapping(Boolean, Record(key : Key, entry : Entry)), %) -> NonNegativeInteger
- from HomogeneousAggregate(Record(key : Key, entry : Entry))
- count : (Record(key : Key, entry : Entry), %) -> NonNegativeInteger if Record(key : Key, entry : Entry) has BasicType
- from HomogeneousAggregate(Record(key : Key, entry : Entry))
- dictionary : () -> %
- from DictionaryOperations(Record(key : Key, entry : Entry))
- dictionary : List(Record(key : Key, entry : Entry)) -> %
- from DictionaryOperations(Record(key : Key, entry : Entry))
- elt : (%, Key) -> Entry
- from Eltable(Key, Entry)
- elt : (%, Key, Entry) -> Entry
- from EltableAggregate(Key, Entry)
- empty : () -> %
- from Aggregate
- empty? : % -> Boolean
- from Aggregate
- entries : % -> List(Entry)
- from IndexedAggregate(Key, Entry)
- entry? : (Entry, %) -> Boolean if Entry has BasicType
- from IndexedAggregate(Key, Entry)
- eq? : (%, %) -> Boolean
- from Aggregate
- eval : (%, Entry, Entry) -> % if Entry has SetCategory and Entry has Evalable(Entry)
- from InnerEvalable(Entry, Entry)
- eval : (%, Equation(Entry)) -> % if Entry has SetCategory and Entry has Evalable(Entry)
- from Evalable(Entry)
- eval : (%, Equation(Record(key : Key, entry : Entry))) -> % if Record(key : Key, entry : Entry) has Evalable(Record(key : Key, entry : Entry)) and Record(key : Key, entry : Entry) has SetCategory
- from Evalable(Record(key : Key, entry : Entry))
- eval : (%, List(Entry), List(Entry)) -> % if Entry has SetCategory and Entry has Evalable(Entry)
- from InnerEvalable(Entry, Entry)
- eval : (%, List(Equation(Entry))) -> % if Entry has SetCategory and Entry has Evalable(Entry)
- from Evalable(Entry)
- eval : (%, List(Equation(Record(key : Key, entry : Entry)))) -> % if Record(key : Key, entry : Entry) has Evalable(Record(key : Key, entry : Entry)) and Record(key : Key, entry : Entry) has SetCategory
- from Evalable(Record(key : Key, entry : Entry))
- eval : (%, List(Record(key : Key, entry : Entry)), List(Record(key : Key, entry : Entry))) -> % if Record(key : Key, entry : Entry) has Evalable(Record(key : Key, entry : Entry)) and Record(key : Key, entry : Entry) has SetCategory
- from InnerEvalable(Record(key : Key, entry : Entry), Record(key : Key, entry : Entry))
- eval : (%, Record(key : Key, entry : Entry), Record(key : Key, entry : Entry)) -> % if Record(key : Key, entry : Entry) has Evalable(Record(key : Key, entry : Entry)) and Record(key : Key, entry : Entry) has SetCategory
- from InnerEvalable(Record(key : Key, entry : Entry), Record(key : Key, entry : Entry))
- every? : (Mapping(Boolean, Entry), %) -> Boolean
- from HomogeneousAggregate(Entry)
- every? : (Mapping(Boolean, Record(key : Key, entry : Entry)), %) -> Boolean
- from HomogeneousAggregate(Record(key : Key, entry : Entry))
- extract! : % -> Record(key : Key, entry : Entry)
- from BagAggregate(Record(key : Key, entry : Entry))
- fill! : (%, Entry) -> %
- from IndexedAggregate(Key, Entry)
- find : (Mapping(Boolean, Record(key : Key, entry : Entry)), %) -> Union(Record(key : Key, entry : Entry), "failed")
- from Collection(Record(key : Key, entry : Entry))
- first : % -> Entry if Key has OrderedSet
- from IndexedAggregate(Key, Entry)
- index? : (Key, %) -> Boolean
- from IndexedAggregate(Key, Entry)
- indices : % -> List(Key)
- from IndexedAggregate(Key, Entry)
- insert! : (Record(key : Key, entry : Entry), %) -> %
- from BagAggregate(Record(key : Key, entry : Entry))
- inspect : % -> Record(key : Key, entry : Entry)
- from BagAggregate(Record(key : Key, entry : Entry))
- key? : (Key, %) -> Boolean
- from KeyedDictionary(Key, Entry)
- keys : % -> List(Key)
- from KeyedDictionary(Key, Entry)
- latex : % -> String if Record(key : Key, entry : Entry) has SetCategory or Entry has SetCategory
- from SetCategory
- less? : (%, NonNegativeInteger) -> Boolean
- from Aggregate
- map : (Mapping(Entry, Entry), %) -> %
- from HomogeneousAggregate(Entry)
- map : (Mapping(Entry, Entry, Entry), %, %) -> %
- from TableAggregate(Key, Entry)
- map : (Mapping(Record(key : Key, entry : Entry), Record(key : Key, entry : Entry)), %) -> %
- from HomogeneousAggregate(Record(key : Key, entry : Entry))
- map! : (Mapping(Entry, Entry), %) -> %
- from HomogeneousAggregate(Entry)
- map! : (Mapping(Record(key : Key, entry : Entry), Record(key : Key, entry : Entry)), %) -> %
- from HomogeneousAggregate(Record(key : Key, entry : Entry))
- max : % -> Entry if Entry has OrderedSet
- from HomogeneousAggregate(Entry)
- max : (Mapping(Boolean, Entry, Entry), %) -> Entry
- from HomogeneousAggregate(Entry)
- max : % -> Record(key : Key, entry : Entry) if Record(key : Key, entry : Entry) has OrderedSet
- from HomogeneousAggregate(Record(key : Key, entry : Entry))
- max : (Mapping(Boolean, Record(key : Key, entry : Entry), Record(key : Key, entry : Entry)), %) -> Record(key : Key, entry : Entry)
- from HomogeneousAggregate(Record(key : Key, entry : Entry))
- maxIndex : % -> Key if Key has OrderedSet
- from IndexedAggregate(Key, Entry)
- member? : (Entry, %) -> Boolean if Entry has BasicType
- from HomogeneousAggregate(Entry)
- member? : (Record(key : Key, entry : Entry), %) -> Boolean if Record(key : Key, entry : Entry) has BasicType
- from HomogeneousAggregate(Record(key : Key, entry : Entry))
- members : % -> List(Entry)
- from HomogeneousAggregate(Entry)
- members : % -> List(Record(key : Key, entry : Entry))
- from HomogeneousAggregate(Record(key : Key, entry : Entry))
- min : % -> Entry if Entry has OrderedSet
- from HomogeneousAggregate(Entry)
- min : % -> Record(key : Key, entry : Entry) if Record(key : Key, entry : Entry) has OrderedSet
- from HomogeneousAggregate(Record(key : Key, entry : Entry))
- minIndex : % -> Key if Key has OrderedSet
- from IndexedAggregate(Key, Entry)
- more? : (%, NonNegativeInteger) -> Boolean
- from Aggregate
- parts : % -> List(Entry)
- from HomogeneousAggregate(Entry)
- parts : % -> List(Record(key : Key, entry : Entry))
- from HomogeneousAggregate(Record(key : Key, entry : Entry))
- qelt : (%, Key) -> Entry
- from EltableAggregate(Key, Entry)
- qsetelt! : (%, Key, Entry) -> Entry
- from EltableAggregate(Key, Entry)
- reduce : (Mapping(Record(key : Key, entry : Entry), Record(key : Key, entry : Entry), Record(key : Key, entry : Entry)), %) -> Record(key : Key, entry : Entry)
- from Collection(Record(key : Key, entry : Entry))
- reduce : (Mapping(Record(key : Key, entry : Entry), Record(key : Key, entry : Entry), Record(key : Key, entry : Entry)), %, Record(key : Key, entry : Entry)) -> Record(key : Key, entry : Entry)
- from Collection(Record(key : Key, entry : Entry))
- reduce : (Mapping(Record(key : Key, entry : Entry), Record(key : Key, entry : Entry), Record(key : Key, entry : Entry)), %, Record(key : Key, entry : Entry), Record(key : Key, entry : Entry)) -> Record(key : Key, entry : Entry) if Record(key : Key, entry : Entry) has BasicType
- from Collection(Record(key : Key, entry : Entry))
- remove : (Mapping(Boolean, Record(key : Key, entry : Entry)), %) -> %
- from Collection(Record(key : Key, entry : Entry))
- remove : (Record(key : Key, entry : Entry), %) -> % if Record(key : Key, entry : Entry) has BasicType
- from Collection(Record(key : Key, entry : Entry))
- remove! : (Mapping(Boolean, Record(key : Key, entry : Entry)), %) -> %
- from DictionaryOperations(Record(key : Key, entry : Entry))
- remove! : (Record(key : Key, entry : Entry), %) -> % if Record(key : Key, entry : Entry) has BasicType
- from DictionaryOperations(Record(key : Key, entry : Entry))
- remove! : (Key, %) -> Union(Entry, "failed")
- from KeyedDictionary(Key, Entry)
- removeDuplicates : % -> % if Record(key : Key, entry : Entry) has BasicType
- from Collection(Record(key : Key, entry : Entry))
- sample : () -> %
- from Aggregate
- search : (Key, %) -> Union(Entry, "failed")
- from KeyedDictionary(Key, Entry)
- select : (Mapping(Boolean, Record(key : Key, entry : Entry)), %) -> %
- from Collection(Record(key : Key, entry : Entry))
- select! : (Mapping(Boolean, Record(key : Key, entry : Entry)), %) -> %
- from DictionaryOperations(Record(key : Key, entry : Entry))
- setelt! : (%, Key, Entry) -> Entry
- from TableAggregate(Key, Entry)
- size? : (%, NonNegativeInteger) -> Boolean
- from Aggregate
- swap! : (%, Key, Key) -> Void
- from IndexedAggregate(Key, Entry)
- table : () -> %
- from TableAggregate(Key, Entry)
- table : List(Record(key : Key, entry : Entry)) -> %
- from TableAggregate(Key, Entry)
- table : Mapping(SingleInteger, Key) -> %
table(h)
creates an empty hash table that uses h
instead of hash$Key. Note that h
should be a mathematical function in the sense that from k1=k2
follows h
(k1
)=h
(k2
). If that is not the case, k1
and k2
will internally be considered as being different keys. For XHashTable to work correctly, the function h
must only yield non-negative values.
- ~= : (%, %) -> Boolean if Record(key : Key, entry : Entry) has BasicType or Entry has BasicType
- from BasicType
ConvertibleTo(InputForm)
shallowlyMutable
Aggregate
HomogeneousAggregate(Record(key : Key, entry : Entry))
BasicType
Collection(Record(key : Key, entry : Entry))
KeyedDictionary(Key, Entry)
HomogeneousAggregate(Entry)
InnerEvalable(Record(key : Key, entry : Entry), Record(key : Key, entry : Entry))
BagAggregate(Record(key : Key, entry : Entry))
DictionaryOperations(Record(key : Key, entry : Entry))
Evalable(Record(key : Key, entry : Entry))
Evalable(Entry)
SetCategory
Dictionary(Record(key : Key, entry : Entry))
Eltable(Key, Entry)
IndexedAggregate(Key, Entry)
InnerEvalable(Entry, Entry)
EltableAggregate(Key, Entry)
CoercibleTo(OutputForm)
finiteAggregate
TableAggregate(Key, Entry)