anchor.diff:      ((:type vec3)
        (:return-type mat3)
        (:omit-destructive-version t)
  -     (:documentation "Construct a rotation matrix from an axis and an angle. 
  -Assume the axis port is already normalized."))
  +     (:documentation "Construct a rotation matrix from an axis and an angle.
  +Assume the axis vector is already normalized."))
  +  (declare (type (single-float 0.0 6.3) angle))
     (let* ((cos (cos angle))
            (sin (sin angle))
            (omc (invert cos))
  
positive.code: ;;; matrix.lisp --- Simple vector and matrix math for 3d graphics
  ;;;                  _        _      
  ;;;  _ __ ___   __ _| |_ _ __(_)_  __
  ;;; | '_ ` _ \ / _` | __| '__| \ \/ /
  ;;; | | | | | | (_| | |_| |  | |>  < 
  ;;; |_| |_| |_|\__,_|\__|_|  |_/_/\_\
  ;;;
  ;;; Copyright (C) 2007 Ole Arndt <ole@sugarshark.com>
  
negative.code:     (loop for i from 0 below rows do
           (loop for j from 0 below rows do
                (setf (row-major-aref dst (+ (* i rows) j))
                      (loop for k from 0 below rows
                         sum (* (row-major-aref m (+ (* i rows) k))
                                (row-major-aref n (+ (* k rows) j))))))
           finally (return dst))))
  