|  | ANSI Common Lisp  15 Arrays  15.2 Dictionary of Arrays 
 
| 15.2.18  array-row-major-index | Function |  
 Syntax:
array-row-major-index
array &rest subscripts
   index 
Arguments and Values:
array - an array.
subscripts - a list of valid array indices for the array.
 
index - a valid array row-major index for the array.
 
Description:
Computes the position according to the row-major ordering of array
for the element that is specified by subscripts, and returns the
offset of the element in the computed position from the beginning of array.
For a one-dimensional array, 
the result of array-row-major-index
equals subscript.
 
array-row-major-index ignores fill pointers.
 
Examples:
 (setq a (make-array '(4 7) :element-type '(unsigned-byte 8)))
 (array-row-major-index a 1 2)  9
 (array-row-major-index 
    (make-array '(2 3 4) 
                :element-type '(unsigned-byte 8)
                :displaced-to a
                :displaced-index-offset 4)
    0 2 1)  9 
Notes:
A possible definition of array-row-major-index, 
with no error-checking, is
 
 (defun array-row-major-index (a &rest subscripts)
   (apply #'+ (maplist #'(lambda (x y)
                            (* (car x) (apply #'* (cdr y))))
                       subscripts
                       (array-dimensions a))))
Allegro CL Implementation Details:
 None. |