Function: calcFunc-diag

calcFunc-diag is an autoloaded and byte-compiled function defined in calc-vec.el.gz.

Signature

(calcFunc-diag A &optional N)

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-vec.el.gz
;;; Convert a scalar or vector into an NxN diagonal matrix.  [Public]
(defun calcFunc-diag (a &optional n)
  (and n (not (integerp n))
       (setq n (math-check-fixnum n)))
  (if (math-vectorp a)
      (if (and n (/= (length a) (1+ n)))
	  (list 'calcFunc-diag a n)
	(if (math-matrixp a)
	    (if (and n (/= (length (elt a 1)) (1+ n)))
		(list 'calcFunc-diag a n)
	      a)
	  (cons 'vec (math-diag-step (cdr a) 0 (1- (length a))))))
    (if n
	(cons 'vec (math-diag-step (make-list n a) 0 n))
      (list 'calcFunc-diag a))))