Function: comp--cstr-union-homogeneous
comp--cstr-union-homogeneous is a byte-compiled function defined in
comp-cstr.el.gz.
Signature
(comp--cstr-union-homogeneous RANGE DST &rest SRCS)
Documentation
Combine SRCS by union set operation setting the result in DST.
Do range propagation when RANGE is non-nil. All SRCS constraints must be homogeneously negated or non-negated. DST is returned.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/comp-cstr.el.gz
(defun comp--cstr-union-homogeneous (range dst &rest srcs)
"Combine SRCS by union set operation setting the result in DST.
Do range propagation when RANGE is non-nil.
All SRCS constraints must be homogeneously negated or non-negated.
DST is returned."
(apply #'comp--cstr-union-homogeneous-no-range dst srcs)
;; Range propagation.
(setf (comp-cstr-neg dst)
(when srcs
(comp-cstr-neg (car srcs)))
(comp-cstr-range dst)
(when (cl-notany (lambda (x)
(comp-subtype-p 'integer x))
(comp-cstr-typeset dst))
(if range
(apply #'comp--range-union
(mapcar #'comp-cstr-range srcs))
'((- . +)))))
dst)