org.armedbear.lisp
Class AbstractArray

java.lang.Object
  extended by org.armedbear.lisp.Lisp
      extended by org.armedbear.lisp.LispObject
          extended by org.armedbear.lisp.AbstractArray
Direct Known Subclasses:
AbstractVector, ComplexArray, ComplexArray_UnsignedByte32, ComplexArray_UnsignedByte8, SimpleArray_T, SimpleArray_UnsignedByte16, SimpleArray_UnsignedByte32, SimpleArray_UnsignedByte8, ZeroRankArray

public abstract class AbstractArray
extends LispObject


Field Summary
 
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
AbstractArray()
           
 
Method Summary
abstract  AbstractArray adjustArray(int[] dims, AbstractArray displacedTo, int displacement)
           
abstract  AbstractArray adjustArray(int[] dims, LispObject initialElement, LispObject initialContents)
          Returns a newly allocated array or the current array with adjusted dimensions.
 LispObject arrayDisplacement()
           
abstract  void aset(int index, LispObject newValue)
           
protected static int computeTotalSize(int[] dimensions)
           
 boolean equalp(LispObject obj)
           
abstract  void fill(LispObject obj)
           
 LispObject get(int[] subscripts)
           
abstract  int getDimension(int n)
           
abstract  LispObject getDimensions()
           
abstract  LispObject getElementType()
           
 int getFillPointer()
           
abstract  int getRank()
           
 int getRowMajorIndex(int[] subscripts)
           
 int getRowMajorIndex(LispObject[] subscripts)
           
abstract  int getTotalSize()
           
 boolean hasFillPointer()
           
 boolean isAdjustable()
           
 boolean isDisplaced()
           
 int psxhash()
           
 void set(int[] subscripts, LispObject newValue)
           
 void setFillPointer(int fillPointer)
           
 void setFillPointer(LispObject fillPointer)
           
 LispObject typep(LispObject type)
           
 java.lang.String writeToString(int[] dimv)
           
 
Methods inherited from class org.armedbear.lisp.LispObject
ABS, add, add, aref_long, aref, AREF, AREF, aset, aset, ash, ash, atom, ATOM, caddr, cadr, car, cddr, cdr, CHAR, characterp, CHARACTERP, chars, classOf, 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, getParts, 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, typeOf, unreadableString, unreadableString, VECTOR_PUSH_EXTEND, VECTOR_PUSH_EXTEND, vectorp, VECTORP, vectorPushExtend, writeToString, 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
 

Constructor Detail

AbstractArray

public AbstractArray()
Method Detail

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

isDisplaced

public boolean isDisplaced()

arrayDisplacement

public LispObject arrayDisplacement()
                             throws ConditionThrowable
Throws:
ConditionThrowable

hasFillPointer

public boolean hasFillPointer()

getFillPointer

public int getFillPointer()
                   throws ConditionThrowable
Throws:
ConditionThrowable

setFillPointer

public void setFillPointer(LispObject fillPointer)
                    throws ConditionThrowable
Throws:
ConditionThrowable

setFillPointer

public void setFillPointer(int fillPointer)
                    throws ConditionThrowable
Throws:
ConditionThrowable

isAdjustable

public boolean isAdjustable()

getRank

public abstract int getRank()

getDimensions

public abstract LispObject getDimensions()

getDimension

public abstract int getDimension(int n)
                          throws ConditionThrowable
Throws:
ConditionThrowable

getElementType

public abstract LispObject getElementType()

getTotalSize

public abstract int getTotalSize()

aset

public abstract void aset(int index,
                          LispObject newValue)
                   throws ConditionThrowable
Overrides:
aset in class LispObject
Throws:
ConditionThrowable

computeTotalSize

protected static final int computeTotalSize(int[] dimensions)

getRowMajorIndex

public int getRowMajorIndex(LispObject[] subscripts)
                     throws ConditionThrowable
Throws:
ConditionThrowable

getRowMajorIndex

public int getRowMajorIndex(int[] subscripts)
                     throws ConditionThrowable
Throws:
ConditionThrowable

get

public LispObject get(int[] subscripts)
               throws ConditionThrowable
Throws:
ConditionThrowable

set

public void set(int[] subscripts,
                LispObject newValue)
         throws ConditionThrowable
Throws:
ConditionThrowable

fill

public abstract void fill(LispObject obj)
                   throws ConditionThrowable
Throws:
ConditionThrowable

writeToString

public java.lang.String writeToString(int[] dimv)
                               throws ConditionThrowable
Throws:
ConditionThrowable

psxhash

public int psxhash()
Overrides:
psxhash in class LispObject

adjustArray

public abstract AbstractArray adjustArray(int[] dims,
                                          LispObject initialElement,
                                          LispObject initialContents)
                                   throws ConditionThrowable
Returns a newly allocated array or the current array with adjusted dimensions.

Parameters:
dims -
initialElement - @c null if none
initialContents - @c null if none
Returns:
@c this or a new array
Throws:
ConditionThrowable

adjustArray

public abstract AbstractArray adjustArray(int[] dims,
                                          AbstractArray displacedTo,
                                          int displacement)
                                   throws ConditionThrowable
Parameters:
dims -
displacedTo -
displacement -
Returns:
Throws:
ConditionThrowable