Function: math-make-intv
math-make-intv is an autoloaded and byte-compiled function defined in
calc-forms.el.gz.
Signature
(math-make-intv MASK LO HI)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-forms.el.gz
;;;; Interval forms.
;;; Build an interval form. [X S X X]
(defun math-make-intv (mask lo hi)
(if (memq (car-safe lo) '(cplx polar mod sdev intv vec))
(math-reject-arg lo 'realp))
(if (memq (car-safe hi) '(cplx polar mod sdev intv vec))
(math-reject-arg hi 'realp))
(or (eq (eq (car-safe lo) 'date) (eq (car-safe hi) 'date))
(math-reject-arg (if (eq (car-safe lo) 'date) hi lo) 'datep))
(if (and (or (Math-realp lo) (eq (car lo) 'date))
(or (Math-realp hi) (eq (car hi) 'date)))
(let ((cmp (math-compare lo hi)))
(if (= cmp 0)
(if (= mask 3)
lo
(list 'intv mask lo hi))
(if (> cmp 0)
(if (= mask 3)
(list 'intv 2 lo lo)
(list 'intv mask lo lo))
(list 'intv mask lo hi))))
(list 'intv mask lo hi)))