Class AbstractArray

java.lang.Object
org.armedbear.lisp.LispObject
org.armedbear.lisp.AbstractArray
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
AbstractVector, ComplexArray, ComplexArray_ByteBuffer, ComplexArray_IntBuffer, ComplexArray_UnsignedByte32, ComplexArray_UnsignedByte8, SimpleArray_ByteBuffer, SimpleArray_CharBuffer, SimpleArray_IntBuffer, SimpleArray_T, SimpleArray_UnsignedByte16, SimpleArray_UnsignedByte32, SimpleArray_UnsignedByte8, ZeroRankArray

public abstract class AbstractArray extends LispObject implements Serializable
See Also:
  • Constructor Details

    • AbstractArray

      public AbstractArray()
  • Method Details

    • typep

      public LispObject typep(LispObject type)
      Overrides:
      typep in class LispObject
    • equalp

      public boolean equalp(LispObject obj)
      Overrides:
      equalp in class LispObject
    • isDisplaced

      public boolean isDisplaced()
    • arrayDisplacement

      public LispObject arrayDisplacement()
    • hasFillPointer

      public boolean hasFillPointer()
    • getFillPointer

      public int getFillPointer()
    • setFillPointer

      public void setFillPointer(LispObject fillPointer)
    • setFillPointer

      public void setFillPointer(int fillPointer)
    • isAdjustable

      public boolean isAdjustable()
    • getRank

      public abstract int getRank()
    • getDimensions

      public abstract LispObject getDimensions()
    • getDimension

      public abstract int getDimension(int n)
    • getElementType

      public abstract LispObject getElementType()
    • getTotalSize

      public abstract int getTotalSize()
    • aset

      public abstract void aset(int index, LispObject newValue)
      Overrides:
      aset in class LispObject
    • computeTotalSize

      protected static final int computeTotalSize(int[] dimensions)
    • getRowMajorIndex

      public int getRowMajorIndex(LispObject[] subscripts)
    • getRowMajorIndex

      public int getRowMajorIndex(int[] subscripts)
    • get

      public LispObject get(int[] subscripts)
    • set

      public void set(int[] subscripts, LispObject newValue)
    • fill

      public abstract void fill(LispObject obj)
    • printObject

      public String printObject(int[] dimv)
    • psxhash

      public int psxhash()
      Overrides:
      psxhash in class LispObject
    • adjustArray

      public abstract AbstractArray adjustArray(int[] dims, LispObject initialElement, LispObject initialContents)
      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
    • adjustArray

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