Function: rng-xsd-compare-decimal
rng-xsd-compare-decimal is a byte-compiled function defined in
rng-xsd.el.gz.
Signature
(rng-xsd-compare-decimal N1 N2)
Documentation
Return a < 0, 0, > 0 according as n1 < n2, n1 = n2 or n1 > n2.
Source Code
;; Defined in /usr/src/emacs/lisp/nxml/rng-xsd.el.gz
(defun rng-xsd-compare-decimal (n1 n2)
"Return a < 0, 0, > 0 according as n1 < n2, n1 = n2 or n1 > n2."
(let* ((sign1 (aref n1 0))
(sign2 (aref n2 0))
(sign (- sign1 sign2)))
(if (= sign 0)
(* sign1
(let* ((int1 (aref n1 1))
(int2 (aref n2 1))
(len1 (length int1))
(len2 (length int2))
(lencmp (- len1 len2)))
(if (eq lencmp 0)
(if (string= int1 int2)
(rng-xsd-strcmp (aref n1 2) (aref n2 2))
(rng-xsd-strcmp int1 int2))
lencmp)))
sign)))