Function: math-swap-rows

math-swap-rows is a byte-compiled function defined in calc-mtx.el.gz.

Signature

(math-swap-rows M R1 R2)

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-mtx.el.gz
(defun math-swap-rows (m r1 r2)
  (or (= r1 r2)
      (let* ((r1prev (nthcdr (1- r1) m))
	     (row1 (cdr r1prev))
	     (r2prev (nthcdr (1- r2) m))
	     (row2 (cdr r2prev))
	     (r2next (cdr row2)))
	(setcdr r2prev row1)
	(setcdr r1prev row2)
	(setcdr row2 (cdr row1))
	(setcdr row1 r2next)))
  m)