Class WeakHashTable
java.lang.Object
org.armedbear.lisp.LispObject
org.armedbear.lisp.WeakHashTable
- All Implemented Interfaces:
Hashtable, LispObject
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classprotected static classprotected static classprotected static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.armedbear.lisp.WeakHashTable.HashEntry[]Array containing the actual key-value mappings.protected intThe actual current number of key-value pairs.protected static final floatprotected final LispObjectprotected final LispObjectprotected intThe rounded product of the capacity and the load factor. -
Method Summary
Modifier and TypeMethodDescriptionprotected static intcalculateInitialCapacity(int size) classOf()voidclear()ENTRIES()Deprecated.booleanequalp(LispObject obj) get(LispObject key) intgetCount()Number of entries stored in the hash buckets.protected org.armedbear.lisp.WeakHashTable.HashEntrygetEntry(LispObject key) gethash(LispObject key) gethash(LispObject key, LispObject defaultValue) gethash1(LispObject key) getParts()Implementing the getParts() protocol will allow INSPECT to return information about the substructure of a descendent of LispObject.final LispObjectfinal LispObjectintgetSize()How many hash buckets exist in the underlying data structure.getTest()MAPHASH(LispObject function) static WeakHashTablenewEqHashTable(int size, LispObject rehashSize, LispObject rehashThreshold, LispObject weakness) static WeakHashTablenewEqlHashTable(int size, LispObject rehashSize, LispObject rehashThreshold, LispObject weakness) static WeakHashTablenewEqualHashTable(int size, LispObject rehashSize, LispObject rehashThreshold, LispObject weakness) static WeakHashTablenewEqualpHashTable(int size, LispObject rehashSize, LispObject rehashThreshold, LispObject weakness) intpsxhash()voidput(LispObject key, LispObject value) puthash(LispObject key, LispObject newValue) protected voidrehash()remhash(LispObject key) remove(LispObject key) typeOf()typep(LispObject type) Methods inherited from class LispObject
ABS, add, add, aref, AREF, AREF, aref_long, aset, aset, aset, ash, ash, atom, ATOM, caddr, cadr, car, cddr, cdr, CHAR, characterp, CHARACTERP, chars, COMPLEXP, constantp, CONSTANTP, copyToArray, decr, DENOMINATOR, dispatch, divideBy, doubleValue, elt, endp, ENDP, EQ, eql, eql, eql, EQL, equal, equal, EQUAL, equalp, evenp, EVENP, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, floatp, FLOATP, floatValue, getBooleanValue, getCallCount, getDescription, getDocumentation, getFixnumSlotValue, getHotCount, getInstance, getPropertyList, getSlotValue, getSlotValue_0, getSlotValue_1, getSlotValue_2, getSlotValue_3, getSlotValueAsBoolean, getStringChars, getStringValue, getSymbolFunction, getSymbolFunctionOrDie, getSymbolSetfFunction, getSymbolSetfFunctionOrDie, getSymbolValue, incr, incrementCallCount, incrementHotCount, integerp, INTEGERP, intValue, IS_E, IS_GE, IS_GT, IS_LE, IS_LT, IS_NE, isEqualTo, isEqualTo, isGreaterThan, isGreaterThan, isGreaterThanOrEqualTo, isGreaterThanOrEqualTo, isLessThan, isLessThan, isLessThanOrEqualTo, isLessThanOrEqualTo, isNotEqualTo, isNotEqualTo, isSpecialOperator, isSpecialVariable, javaInstance, javaInstance, LDB, length, LENGTH, listp, LISTP, lockableInstance, LOGAND, LOGAND, LOGIOR, LOGIOR, LOGNOT, LOGXOR, LOGXOR, longValue, minusp, MINUSP, MOD, MOD, multiplyBy, multiplyBy, negate, noFillPointer, NOT, nreverse, NTH, NTH, nthcdr, numberp, NUMBERP, NUMERATOR, oddp, ODDP, plusp, PLUSP, princToString, psxhash, push, rationalp, RATIONALP, realp, REALP, resolve, reverse, RPLACA, RPLACD, SCHAR, setCallCount, setCar, setCdr, setDocumentation, setHotCount, setPropertyList, setSlotValue, setSlotValue, setSlotValue_0, setSlotValue_1, setSlotValue_2, setSlotValue_3, SIMPLE_STRING_P, SLOT_VALUE, STRING, stringp, STRINGP, subtract, subtract, SVREF, svset, sxhash, SYMBOLP, truncate, unreadableString, unreadableString, VECTOR_PUSH_EXTEND, VECTOR_PUSH_EXTEND, vectorp, VECTORP, vectorPushExtend, zerop, ZEROP
-
Field Details
-
loadFactor
protected static final float loadFactor- See Also:
-
rehashSize
-
rehashThreshold
-
threshold
protected int thresholdThe rounded product of the capacity and the load factor. When the number of elements exceeds the threshold, the implementation calls rehash(). -
buckets
protected volatile org.armedbear.lisp.WeakHashTable.HashEntry[] bucketsArray containing the actual key-value mappings. -
count
protected volatile int countThe actual current number of key-value pairs.
-
-
Method Details
-
calculateInitialCapacity
protected static int calculateInitialCapacity(int size) -
newEqHashTable
public static WeakHashTable newEqHashTable(int size, LispObject rehashSize, LispObject rehashThreshold, LispObject weakness) -
newEqlHashTable
public static WeakHashTable newEqlHashTable(int size, LispObject rehashSize, LispObject rehashThreshold, LispObject weakness) -
newEqualHashTable
public static WeakHashTable newEqualHashTable(int size, LispObject rehashSize, LispObject rehashThreshold, LispObject weakness) -
newEqualpHashTable
public static WeakHashTable newEqualpHashTable(int size, LispObject rehashSize, LispObject rehashThreshold, LispObject weakness) -
getRehashSize
-
getRehashThreshold
-
getSize
public int getSize()How many hash buckets exist in the underlying data structure. -
getCount
public int getCount()Number of entries stored in the hash buckets. -
typeOf
- Specified by:
typeOfin interfaceLispObject- Overrides:
typeOfin classLispObject
-
classOf
- Overrides:
classOfin classLispObject
-
typep
- Overrides:
typepin classLispObject
-
equalp
- Overrides:
equalpin classLispObject
-
getParts
Description copied from class:LispObjectImplementing the getParts() protocol will allow INSPECT to return information about the substructure of a descendent of LispObject. The protocol is to return a List of Cons pairs, where the car of each pair contains a decriptive string, and the cdr returns a subobject for inspection.- Overrides:
getPartsin classLispObject
-
clear
public void clear() -
gethash
-
gethash
-
gethash1
-
puthash
-
remhash
-
printObject
- Overrides:
printObjectin classLispObject
-
getTest
-
getWeakness
-
getEntry
-
get
-
put
-
remove
-
rehash
protected void rehash() -
ENTRIES
-
getEntries
- Specified by:
getEntriesin interfaceHashtable
-
MAPHASH
-
psxhash
public int psxhash()- Overrides:
psxhashin classLispObject
-