This file is indexed.

/usr/share/common-lisp/source/metatilities-base/dev/l0-arrays.lisp is in cl-metatilities-base 20170403-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
(in-package #:metatilities)
        
(defun linearize-array (array)
  (make-array (array-total-size array) 
              :displaced-to array
              :element-type (array-element-type array)))

(defun copy-array (array)
  (let ((storage (copy-seq (linearize-array array))))
    (make-array (array-dimensions array) :displaced-to storage)))

(defun maparray (array fn)
  (loop for x across (linearize-array array)  do
        (funcall fn x))
  array)

(defun maparray! (array fn)
  (let ((temp (linearize-array array)))
    (loop for i from 0 to (1- (array-total-size temp)) do
          (setf (aref temp i) (funcall fn (aref temp i))))
    array))

(defun array-row (array row)
  "Returns the row'th row of array. Array is assumed to be two dimensional and row 
is assumed to be in range. The returned array shared structure with the array parameter."
  (make-array (array-dimension array 1)
              :displaced-to (linearize-array array)
              :displaced-index-offset (* row (array-dimension array 1))))