org.armedbear.lisp
Class HashTable

java.lang.Object
  extended by org.armedbear.lisp.Lisp
      extended by org.armedbear.lisp.LispObject
          extended by org.armedbear.lisp.HashTable
Direct Known Subclasses:
EqHashTable, EqlHashTable, EqualHashTable, EqualpHashTable

public abstract class HashTable
extends LispObject


Nested Class Summary
protected static class HashTable.HashEntry
           
 
Field Summary
protected  HashTable.HashEntry[] buckets
           
protected  int count
           
protected static float loadFactor
           
protected  LispObject rehashSize
           
protected  LispObject rehashThreshold
           
protected  int threshold
           
 
Fields inherited from class org.armedbear.lisp.Lisp
_AUTOLOAD_VERBOSE_, _BACKQUOTE_COUNT_, _BATCH_MODE_, _BQ_VECTOR_FLAG_, _CL_PACKAGE_, _COMPILE_FILE_ENVIRONMENT_, _COMPILE_FILE_TYPE_, _COMPILE_FILE_ZIP_, _CURRENT_PRINT_LENGTH_, _CURRENT_PRINT_LEVEL_, _DEBUG_, _DISASSEMBLER_, _ENABLE_INLINE_EXPANSION_, _EXPLAIN_, _KEYWORD_PACKAGE_, _LOAD_DEPTH_, _LOAD_STREAM_, _NOINFORM_, _PRINT_FASL_, _PRINT_STRUCTURE_, _REQUIRE_STACK_FRAME_, _SAFETY_, _SAVED_BACKTRACE_, _SLOT_UNBOUND_, _SOURCE_, _SOURCE_POSITION_, _SPACE_, _SPEED_, _TRACED_NAMES_, _WARN_ON_REDEFINITION_, ARRAY_DIMENSION_MAX, CALL_REGISTERS_LIMIT, CALL_REGISTERS_MAX, CHAR_MAX, cold, COMPILE_FILE_TYPE, debug, EOF, FUNCTION_NAME, initialized, interrupted, NIL, NULL_VALUE, PACKAGE_CL, PACKAGE_CL_USER, PACKAGE_EXT, PACKAGE_JAVA, PACKAGE_JVM, PACKAGE_KEYWORD, PACKAGE_LOOP, PACKAGE_MOP, PACKAGE_PROF, PACKAGE_SYS, PACKAGE_TPL, profiling, REMEMBER, sampleNow, sampling, STANDARD_READTABLE, T, TRAP_OVERFLOW, TRAP_UNDERFLOW, UNBOUND_VALUE, UNSIGNED_BYTE_16, UNSIGNED_BYTE_32, UNSIGNED_BYTE_32_MAX_VALUE, UNSIGNED_BYTE_8
 
Constructor Summary
protected HashTable()
           
protected HashTable(int size, LispObject rehashSize, LispObject rehashThreshold)
           
 
Method Summary
protected static int calculateInitialCapacity(int size)
           
 LispObject classOf()
           
 void clear()
           
 LispObject ENTRIES()
           
 boolean equalp(LispObject obj)
           
abstract  LispObject get(LispObject key)
           
 int getCount()
           
 LispObject gethash(LispObject key)
           
 LispObject gethash(LispObject key, LispObject defaultValue)
           
 LispObject gethash1(LispObject key)
           
 LispObject getParts()
           
 LispObject getRehashSize()
           
 LispObject getRehashThreshold()
           
 int getSize()
           
abstract  Symbol getTest()
           
 LispObject MAPHASH(LispObject function)
           
 int psxhash()
           
abstract  void put(LispObject key, LispObject value)
           
 LispObject puthash(LispObject key, LispObject newValue)
           
protected abstract  void rehash()
           
 LispObject remhash(LispObject key)
           
abstract  LispObject remove(LispObject key)
           
 LispObject typeOf()
           
 LispObject typep(LispObject type)
           
 java.lang.String writeToString()
           
 
Methods inherited from class org.armedbear.lisp.LispObject
ABS, add, add, aref_long, aref, AREF, AREF, 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, getInstance, getPropertyList, getSlotValue_0, getSlotValue_1, getSlotValue_2, getSlotValue_3, getSlotValue, getSlotValueAsBoolean, getStringChars, getStringValue, getSymbolFunction, getSymbolFunctionOrDie, getSymbolValue, incr, incrementCallCount, 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, 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, psxhash, push, rationalp, RATIONALP, realp, REALP, reverse, RPLACA, RPLACD, SCHAR, setCallCount, setCar, setCdr, setDocumentation, setPropertyList, setSlotValue_0, setSlotValue_1, setSlotValue_2, setSlotValue_3, setSlotValue, setSlotValue, 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
 
Methods inherited from class org.armedbear.lisp.Lisp
assq, bindArg, checkArray, checkBinaryInputStream, checkBounds, checkCharacter, checkCharacterInputStream, checkCharacterOutputStream, checkEnvironment, checkFunction, checkList, checkPackage, checkReadtable, checkStream, checkSymbol, checkVector, coerceJavaByteToLispObject, coerceLispObjectToJavaByte, coerceToFunction, coerceToPackage, coerceToPathname, currentReadtable, designator_readtable, error, error, eval, eval, evalCall, exit, exportConstant, exportSpecial, format, funcall, gensym, gensym, get, get, getCurrentPackage, getf, getStandardInput, getStandardOutput, getTerminalIO, getUpgradedArrayElementType, handleInterrupt, inSynonymOf, intern, internConstant, internInPackage, internKeyword, internSpecial, isValidSetfFunctionName, javaString, list, list1, list2, list3, list4, list5, list6, list7, list8, list9, loadCompiledFunction, loadTimeValue, macroexpand_1, macroexpand, makeCompiledClosure, memq, memql, mix, mod, multipleValueCall1, multipleValueList, number, number, number, progn, progvBindVars, put, putf, readObjectFromString, recall, remprop, resetIO, resetIO, safeWriteToString, setInterrupted, type_error, writeByte
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

loadFactor

protected static final float loadFactor
See Also:
Constant Field Values

rehashSize

protected final LispObject rehashSize

rehashThreshold

protected final LispObject rehashThreshold

threshold

protected int threshold

buckets

protected HashTable.HashEntry[] buckets

count

protected int count
Constructor Detail

HashTable

protected HashTable()

HashTable

protected HashTable(int size,
                    LispObject rehashSize,
                    LispObject rehashThreshold)
Method Detail

calculateInitialCapacity

protected static int calculateInitialCapacity(int size)

getRehashSize

public final LispObject getRehashSize()

getRehashThreshold

public final LispObject getRehashThreshold()

getSize

public int getSize()

getCount

public int getCount()

getTest

public abstract Symbol getTest()

typeOf

public LispObject typeOf()
Overrides:
typeOf in class LispObject

classOf

public LispObject classOf()
Overrides:
classOf in class LispObject

typep

public LispObject typep(LispObject type)
                 throws ConditionThrowable
Overrides:
typep in class LispObject
Throws:
ConditionThrowable

equalp

public boolean equalp(LispObject obj)
               throws ConditionThrowable
Overrides:
equalp in class LispObject
Throws:
ConditionThrowable

getParts

public LispObject getParts()
                    throws ConditionThrowable
Overrides:
getParts in class LispObject
Throws:
ConditionThrowable

clear

public void clear()

gethash

public LispObject gethash(LispObject key)
                   throws ConditionThrowable
Throws:
ConditionThrowable

gethash

public LispObject gethash(LispObject key,
                          LispObject defaultValue)
                   throws ConditionThrowable
Throws:
ConditionThrowable

gethash1

public LispObject gethash1(LispObject key)
                    throws ConditionThrowable
Throws:
ConditionThrowable

puthash

public LispObject puthash(LispObject key,
                          LispObject newValue)
                   throws ConditionThrowable
Throws:
ConditionThrowable

remhash

public LispObject remhash(LispObject key)
                   throws ConditionThrowable
Throws:
ConditionThrowable

writeToString

public java.lang.String writeToString()
                               throws ConditionThrowable
Overrides:
writeToString in class LispObject
Throws:
ConditionThrowable

get

public abstract LispObject get(LispObject key)

put

public abstract void put(LispObject key,
                         LispObject value)
                  throws ConditionThrowable
Throws:
ConditionThrowable

remove

public abstract LispObject remove(LispObject key)
                           throws ConditionThrowable
Throws:
ConditionThrowable

rehash

protected abstract void rehash()

ENTRIES

public LispObject ENTRIES()

MAPHASH

public LispObject MAPHASH(LispObject function)
                   throws ConditionThrowable
Throws:
ConditionThrowable

psxhash

public int psxhash()
Overrides:
psxhash in class LispObject