Function: calcFunc-vmask

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

Signature

(calcFunc-vmask MASK VEC)

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-vec.el.gz
;;; Compress a vector according to a mask vector.
(defun calcFunc-vmask (mask vec)
  (if (math-numberp mask)
      (if (math-zerop mask)
	  '(vec)
	vec)
    (or (math-vectorp mask) (math-reject-arg mask 'vectorp))
    (or (math-constp mask) (math-reject-arg mask 'constp))
    (or (math-vectorp vec) (math-reject-arg vec 'vectorp))
    (or (= (length mask) (length vec)) (math-dimension-error))
    (let ((new nil))
      (while (setq mask (cdr mask) vec (cdr vec))
	(or (math-zerop (car mask))
	    (setq new (cons (car vec) new))))
      (cons 'vec (nreverse new)))))