Mercurial > emacs
comparison lisp/emacs-lisp/cl.el @ 62424:ecbd5b866b1d
(eql, floatp-safe, plusp, minusp, oddp, evenp, list*): Doc fixes.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Tue, 17 May 2005 00:26:26 +0000 |
parents | 817362bee028 |
children | 970aed705a2a f042e7c0fe20 |
comparison
equal
deleted
inserted
replaced
62423:a46a0ca0ed71 | 62424:ecbd5b866b1d |
---|---|
113 (error "Cannot unload the feature `cl'")) | 113 (error "Cannot unload the feature `cl'")) |
114 | 114 |
115 ;;; Predicates. | 115 ;;; Predicates. |
116 | 116 |
117 (defun eql (a b) ; See compiler macro in cl-macs.el | 117 (defun eql (a b) ; See compiler macro in cl-macs.el |
118 "T if the two args are the same Lisp object. | 118 "Return t if the two args are the same Lisp object. |
119 Floating-point numbers of equal value are `eql', but they may not be `eq'." | 119 Floating-point numbers of equal value are `eql', but they may not be `eq'." |
120 (if (numberp a) | 120 (if (numberp a) |
121 (equal a b) | 121 (equal a b) |
122 (eq a b))) | 122 (eq a b))) |
123 | 123 |
299 | 299 |
300 | 300 |
301 ;;; Numbers. | 301 ;;; Numbers. |
302 | 302 |
303 (defun floatp-safe (x) | 303 (defun floatp-safe (x) |
304 "T if OBJECT is a floating point number. | 304 "Return t if OBJECT is a floating point number. |
305 On Emacs versions that lack floating-point support, this function | 305 On Emacs versions that lack floating-point support, this function |
306 always returns nil." | 306 always returns nil." |
307 (and (numberp x) (not (integerp x)))) | 307 (and (numberp x) (not (integerp x)))) |
308 | 308 |
309 (defun plusp (x) | 309 (defun plusp (x) |
310 "T if NUMBER is positive." | 310 "Return t if NUMBER is positive." |
311 (> x 0)) | 311 (> x 0)) |
312 | 312 |
313 (defun minusp (x) | 313 (defun minusp (x) |
314 "T if NUMBER is negative." | 314 "Return t if NUMBER is negative." |
315 (< x 0)) | 315 (< x 0)) |
316 | 316 |
317 (defun oddp (x) | 317 (defun oddp (x) |
318 "T if INTEGER is odd." | 318 "Return t if INTEGER is odd." |
319 (eq (logand x 1) 1)) | 319 (eq (logand x 1) 1)) |
320 | 320 |
321 (defun evenp (x) | 321 (defun evenp (x) |
322 "T if INTEGER is even." | 322 "Return t if INTEGER is even." |
323 (eq (logand x 1) 0)) | 323 (eq (logand x 1) 0)) |
324 | 324 |
325 (defvar *random-state* (vector 'cl-random-state-tag -1 30 (cl-random-time))) | 325 (defvar *random-state* (vector 'cl-random-state-tag -1 30 (cl-random-time))) |
326 | 326 |
327 ;;; The following are actually set by cl-float-limits. | 327 ;;; The following are actually set by cl-float-limits. |
501 ;; (if (< n m) (nthcdr (- m n) x) x))) | 501 ;; (if (< n m) (nthcdr (- m n) x) x))) |
502 ;; (while (consp (cdr x)) (pop x)) | 502 ;; (while (consp (cdr x)) (pop x)) |
503 ;; x)) | 503 ;; x)) |
504 | 504 |
505 (defun list* (arg &rest rest) ; See compiler macro in cl-macs.el | 505 (defun list* (arg &rest rest) ; See compiler macro in cl-macs.el |
506 "Return a new list with specified args as elements, cons'd to last arg. | 506 "Return a new list with specified args as elements, consed to last arg. |
507 Thus, `(list* A B C D)' is equivalent to `(nconc (list A B C) D)', or to | 507 Thus, `(list* A B C D)' is equivalent to `(nconc (list A B C) D)', or to |
508 `(cons A (cons B (cons C D)))'." | 508 `(cons A (cons B (cons C D)))'." |
509 (cond ((not rest) arg) | 509 (cond ((not rest) arg) |
510 ((not (cdr rest)) (cons arg (car rest))) | 510 ((not (cdr rest)) (cons arg (car rest))) |
511 (t (let* ((n (length rest)) | 511 (t (let* ((n (length rest)) |