7次元以内の行列が許可されている。
1次元の行列は、ベクトルと呼ばれる。
ベクトルとリストは、列としてグループ化される。
もし、行列の要素がいろんな型であったとき、その行列は一般化されていると言う。
もし、行列がfill-pointerを持ってなく、他の行列で置き換えられなく、
拡張不可能であるなら、その行列は簡略化されたと言う。
全ての行列要素は、arefにより取り出すことができ、arefを用いてsetf
により設定することができる。
しかし、一次元ベクトルのために簡単で高速なアクセス関数がある。
svrefは一次元一般ベクトル、charとscharは
一次元文字ベクトル(文字列)、bitとsbitは
一次元ビットベクトルのための高速関数である。
これらの関数はコンパイルされたとき、
アクセスはin-lineを拡張し、型チェックと境界チェックなしに実行される。
ベクトルもまたオブジェクトであるため、
別のベクトルクラスを派生させることができる。
5種類の内部ベクトルクラスがある。
vector, string, float-vector, integer-vectorとbit-vectorである。
ベクトルの作成を容易にするために、make-array関数がある。
要素の型は、:integer, :bit, :character, :float, :foreign
かあるいはユーザーが定義したベクトルクラスの内の一つでなければならない。
:initial-elementと:initial-contentsのキーワード引数は、
行列の初期値を設定するために役に立つ。
array-rank-limit [定数]
-
- 7。行列の最大次元を示す。
array-dimension-limit [定数]
-
- #x1fffffff。各次元の最大要素数を示す。
論理的な数であって、システムの物理メモリあるいは仮想メモリの大きさによって
制限される。
vectorp object [関数]
-
-
行列は1次元であってもベクトルではない。
objectがvector, integer-vector, float-vector, string, bit-vector
あるいはユーザーで定義したベクトルならTを返す。
vector &rest elements [関数]
-
-
elementsからなる一次元ベクトルを作る。
-
- ベクトルか行列を作る。
dimsは、整数かリストである。
もしdimsが整数なら、一次元ベクトルが作られる。
svref vector pos [関数]
-
-
vectorのpos番目の要素を返す。
vectorは、一次元一般ベクトルでなければならない。
aref vector &rest (indices) [関数]
-
-
vectorのindicesによってインデックスされる要素を返す。
indicesは、整数であり、vectorの次元の数だけ指定する。
arefは、非効率的である。なぜなら、vectorの型に従うように
変更する必要があるためである。コンパイルコードの速度を改善する
ため、できるだけ型の宣言を与えるべきである。
vector-push val array [関数]
-
-
arrayのfill-pointer番目のスロットにvalを保管する。
arrayは、fill-pointerを持っていなければならない。
valが保管された後、
fill-pointerは、次の位置にポイントを1つ進められる。
もし、行列の境界よりも大きくなったとき、エラーが報告される。
vector-push-extend val array [関数]
-
-
arrayのfill-pointerが最後に到達したとき、自動的にarrayのサイズが
拡張されることを除いては、vector-pushと同じである。
arrayp obj [関数]
-
- もしobjが行列またはベクトルのインスタンスであるならTを返す。
array-total-size array [関数]
-
-
arrayの要素数の合計を返す。
fill-pointer array [関数]
-
- arrayのfill-pointerを返す。
file-pointerを持っていなければNILを返す。
array-rank array [関数]
-
- arrayの次元数を返す。
array-dimensions array [関数]
-
-
arrayの各次元の要素数をリストで返す。
array-dimension array axis [関数]
-
-
array-dimensionは、arrayのaxis
番目の次元を返す。axisはゼロから始まる。
bit bitvec index [関数]
-
-
bitvecのindex番目の要素を返す。
ビットベクトルの要素を変更するには、setfとbitを使用すること。
bit-and bits1 bits2 &optional result [関数]
-
-
bit-ior bits1 bits2 &optional result [関数]
-
-
bit-xor bits1 bits2 &optional result [関数]
-
-
bit-eqv bits1 bits2 &optional result [関数]
-
-
bit-nand bits1 bits2 &optional result [関数]
-
-
bit-nor bits1 bits2 &optional result [関数]
-
-
bit-not bits1 &optional result [関数]
-
-
同じ長さのbits1とbits2というビットベクトルにおいて、
それらのand, inclusive-or,
exclusive-or, 等価, not-and, not-orとnotがそれぞれ返される。
2016-04-05