(defun multiply-vector-in-place (initial-state function-name) (declare (type (array (complex double-float) *) initial-state) (ftype (function (integer) (complex double-float)) function-name)) (loop for i from 0 below (length initial-state) do (setf (aref initial-state i) (* (aref initial-state i) (funcall function-name i)))))