13 lines
491 B
Common Lisp
13 lines
491 B
Common Lisp
(defun mmul (A B)
|
|
(let* ((m (car (array-dimensions A)))
|
|
(n (cadr (array-dimensions A)))
|
|
(l (cadr (array-dimensions B)))
|
|
(C (make-array `(,m ,l) :initial-element 0)))
|
|
(loop for i from 0 to (- m 1) do
|
|
(loop for k from 0 to (- l 1) do
|
|
(setf (aref C i k)
|
|
(loop for j from 0 to (- n 1)
|
|
sum (* (aref A i j)
|
|
(aref B j k))))))
|
|
C))
|